mirror of
https://github.com/ineedbots/t4_bot_warfare.git
synced 2025-04-21 23:45:43 +00:00
Completed wp editor
This commit is contained in:
parent
bdbfff0e73
commit
03ca1e44ce
@ -1,3 +1,10 @@
|
|||||||
|
/*
|
||||||
|
_wp_editor
|
||||||
|
Author: INeedGames
|
||||||
|
Date: 09/26/2020
|
||||||
|
The ingame waypoint editor. Designed to be ran on the client (not the server)
|
||||||
|
*/
|
||||||
|
|
||||||
#include common_scripts\utility;
|
#include common_scripts\utility;
|
||||||
#include maps\mp\_utility;
|
#include maps\mp\_utility;
|
||||||
#include maps\mp\gametypes\_hud_util;
|
#include maps\mp\gametypes\_hud_util;
|
||||||
@ -8,48 +15,48 @@ init()
|
|||||||
setDvar("bots_main_debug", 0);
|
setDvar("bots_main_debug", 0);
|
||||||
|
|
||||||
if(!getDVarint("bots_main_debug"))
|
if(!getDVarint("bots_main_debug"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(!getDVarint("developer"))
|
if(!getDVarint("developer"))
|
||||||
{
|
{
|
||||||
setdvar("developer_script", 1);
|
setdvar("developer_script", 1);
|
||||||
setdvar("developer", 1);
|
setdvar("developer", 1);
|
||||||
|
|
||||||
setdvar("sv_mapRotation", "map "+getDvar("mapname"));
|
setdvar("sv_mapRotation", "map "+getDvar("mapname"));
|
||||||
exitLevel(false);
|
exitLevel(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
setDvar("bots_main", 0);
|
setDvar("bots_main", 0);
|
||||||
setdvar("bots_main_menu", 0);
|
setdvar("bots_main_menu", 0);
|
||||||
setdvar("bots_manage_fill_mode", 0);
|
setdvar("bots_manage_fill_mode", 0);
|
||||||
setdvar("bots_manage_fill", 0);
|
setdvar("bots_manage_fill", 0);
|
||||||
setdvar("bots_manage_add", 0);
|
setdvar("bots_manage_add", 0);
|
||||||
setdvar("bots_manage_fill_kick", 1);
|
setdvar("bots_manage_fill_kick", 1);
|
||||||
setDvar("bots_manage_fill_spec", 1);
|
setDvar("bots_manage_fill_spec", 1);
|
||||||
|
|
||||||
if (getDvar("bots_main_debug_distance") == "")
|
|
||||||
setDvar("bots_main_debug_distance", 512.0);
|
|
||||||
|
|
||||||
if (getDvar("bots_main_debug_cone") == "")
|
if (getDvar("bots_main_debug_distance") == "")
|
||||||
setDvar("bots_main_debug_cone", 0.65);
|
setDvar("bots_main_debug_distance", 512.0);
|
||||||
|
|
||||||
if (getDvar("bots_main_debug_minDist") == "")
|
if (getDvar("bots_main_debug_cone") == "")
|
||||||
setDvar("bots_main_debug_minDist", 32.0);
|
setDvar("bots_main_debug_cone", 0.65);
|
||||||
|
|
||||||
if (getDvar("bots_main_debug_drawThrough") == "")
|
if (getDvar("bots_main_debug_minDist") == "")
|
||||||
setDvar("bots_main_debug_drawThrough", false);
|
setDvar("bots_main_debug_minDist", 32.0);
|
||||||
|
|
||||||
if(getDvar("bots_main_debug_commandWait") == "")
|
if (getDvar("bots_main_debug_drawThrough") == "")
|
||||||
|
setDvar("bots_main_debug_drawThrough", false);
|
||||||
|
|
||||||
|
if(getDvar("bots_main_debug_commandWait") == "")
|
||||||
setDvar("bots_main_debug_commandWait", 0.5);
|
setDvar("bots_main_debug_commandWait", 0.5);
|
||||||
|
|
||||||
setDvar("player_sustainAmmo", 1);
|
setDvar("player_sustainAmmo", 1);
|
||||||
|
|
||||||
level.waypoints = [];
|
level.waypoints = [];
|
||||||
level.waypointCount = 0;
|
level.waypointCount = 0;
|
||||||
|
|
||||||
level waittill( "connected", player);
|
level waittill( "connected", player);
|
||||||
|
|
||||||
player thread onPlayerSpawned();
|
player thread onPlayerSpawned();
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerSpawned()
|
onPlayerSpawned()
|
||||||
@ -75,8 +82,8 @@ beginDebug()
|
|||||||
self clearPerks();
|
self clearPerks();
|
||||||
self takeAllWeapons();
|
self takeAllWeapons();
|
||||||
self.specialty = [];
|
self.specialty = [];
|
||||||
self giveWeapon("m16_gl_mp");
|
self giveWeapon("m1garand_gl_mp");
|
||||||
self SetActionSlot( 3, "altMode" );
|
self SetActionSlot( 3, "altMode" );
|
||||||
self giveWeapon("frag_grenade_mp");
|
self giveWeapon("frag_grenade_mp");
|
||||||
self freezecontrols(false);
|
self freezecontrols(false);
|
||||||
|
|
||||||
@ -112,14 +119,14 @@ debug()
|
|||||||
|
|
||||||
closest = -1;
|
closest = -1;
|
||||||
myEye = self getTagOrigin( "j_head" );
|
myEye = self getTagOrigin( "j_head" );
|
||||||
myAngles = self GetPlayerAngles();
|
myAngles = self GetPlayerAngles();
|
||||||
|
|
||||||
for(i = 0; i < level.waypointCount; i++)
|
for(i = 0; i < level.waypointCount; i++)
|
||||||
{
|
{
|
||||||
if(closest == -1 || closer(self.origin, level.waypoints[i].origin, level.waypoints[closest].origin))
|
if(closest == -1 || closer(self.origin, level.waypoints[i].origin, level.waypoints[closest].origin))
|
||||||
closest = i;
|
closest = i;
|
||||||
|
|
||||||
wpOrg = level.waypoints[i].origin + (0, 0, 25);
|
wpOrg = level.waypoints[i].origin + (0, 0, 25);
|
||||||
|
|
||||||
if(distance(level.waypoints[i].origin, self.origin) < getDvarFloat("bots_main_debug_distance") && (bulletTracePassed(myEye, wpOrg, false, self) || getDVarint("bots_main_debug_drawThrough")))
|
if(distance(level.waypoints[i].origin, self.origin) < getDvarFloat("bots_main_debug_distance") && (bulletTracePassed(myEye, wpOrg, false, self) || getDVarint("bots_main_debug_drawThrough")))
|
||||||
{
|
{
|
||||||
@ -129,7 +136,7 @@ debug()
|
|||||||
if(getConeDot(wpOrg, myEye, myAngles) > getDvarFloat("bots_main_debug_cone"))
|
if(getConeDot(wpOrg, myEye, myAngles) > getDvarFloat("bots_main_debug_cone"))
|
||||||
print3d(wpOrg, i, (1,0,0), 2);
|
print3d(wpOrg, i, (1,0,0), 2);
|
||||||
|
|
||||||
if (isDefined(level.waypoints[i].angles) && level.waypoints[i].type != "stand")
|
if (isDefined(level.waypoints[i].angles) && level.waypoints[i].type != "stand")
|
||||||
line(wpOrg, wpOrg + AnglesToForward(level.waypoints[i].angles) * 64, (1,1,1));
|
line(wpOrg, wpOrg + AnglesToForward(level.waypoints[i].angles) * 64, (1,1,1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -277,32 +284,34 @@ watchSaveWaypointsCommand()
|
|||||||
}
|
}
|
||||||
logprint("*/return waypoints;\n}\n\n\n\n");
|
logprint("*/return waypoints;\n}\n\n\n\n");
|
||||||
|
|
||||||
PrintLn(level.waypointCount);
|
PrintLn("********* Start Bot Warfare WPDump *********");
|
||||||
for(i = 0; i < level.waypointCount; i++)
|
PrintLn(level.waypointCount);
|
||||||
{
|
for(i = 0; i < level.waypointCount; i++)
|
||||||
str = "";
|
{
|
||||||
wp = level.waypoints[i];
|
str = "";
|
||||||
|
wp = level.waypoints[i];
|
||||||
|
|
||||||
str += wp.origin[0] + " " + wp.origin[1] + " " + wp.origin[2] + ",";
|
str += wp.origin[0] + " " + wp.origin[1] + " " + wp.origin[2] + ",";
|
||||||
|
|
||||||
for(h = 0; h < wp.childCount; h++)
|
for(h = 0; h < wp.childCount; h++)
|
||||||
{
|
{
|
||||||
str += wp.children[h];
|
str += wp.children[h];
|
||||||
|
|
||||||
if (h < wp.childCount - 1)
|
if (h < wp.childCount - 1)
|
||||||
str += " ";
|
str += " ";
|
||||||
}
|
}
|
||||||
str += "," + wp.type + ",";
|
str += "," + wp.type + ",";
|
||||||
|
|
||||||
if (isDefined(wp.angles))
|
if (isDefined(wp.angles))
|
||||||
str += wp.angles[0] + " " + wp.angles[1] + " " + wp.angles[2] + ",";
|
str += wp.angles[0] + " " + wp.angles[1] + " " + wp.angles[2] + ",";
|
||||||
else
|
else
|
||||||
str += ",";
|
str += ",";
|
||||||
|
|
||||||
str += ",";
|
str += ",";
|
||||||
|
|
||||||
PrintLn(str);
|
PrintLn(str);
|
||||||
}
|
}
|
||||||
|
PrintLn("\n\n\n\n\n\n");
|
||||||
|
|
||||||
self iprintln("Saved!!!");
|
self iprintln("Saved!!!");
|
||||||
}
|
}
|
||||||
@ -312,13 +321,13 @@ watchSaveWaypointsCommand()
|
|||||||
{
|
{
|
||||||
self iPrintlnBold("Auto link disabled");
|
self iPrintlnBold("Auto link disabled");
|
||||||
level.autoLink = false;
|
level.autoLink = false;
|
||||||
level.wpToLink = -1;
|
level.wpToLink = -1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self iPrintlnBold("Auto link enabled");
|
self iPrintlnBold("Auto link enabled");
|
||||||
level.autoLink = true;
|
level.autoLink = true;
|
||||||
level.wpToLink = self.nearest;
|
level.wpToLink = self.nearest;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -567,20 +576,20 @@ textScroll(string)
|
|||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
//thanks ActionScript
|
//thanks ActionScript
|
||||||
|
|
||||||
back = createBar((0,0,0), 1000, 30);
|
back = createBar((0,0,0), 1000, 30);
|
||||||
back setPoint("CENTER", undefined, 0, 220);
|
back setPoint("CENTER", undefined, 0, 220);
|
||||||
self thread destroyOnDeath(back);
|
self thread destroyOnDeath(back);
|
||||||
|
|
||||||
text = createFontString("default", 1.5);
|
text = createFontString("default", 1.5);
|
||||||
text setText(string);
|
text setText(string);
|
||||||
self thread destroyOnDeath(text);
|
self thread destroyOnDeath(text);
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
text setPoint("CENTER", undefined, 1200, 220);
|
text setPoint("CENTER", undefined, 1200, 220);
|
||||||
text setPoint("CENTER", undefined, -1200, 220, 20);
|
text setPoint("CENTER", undefined, -1200, 220, 20);
|
||||||
wait 20;
|
wait 20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
waittill_either(not, not1)
|
waittill_either(not, not1)
|
||||||
@ -614,48 +623,52 @@ getMapName(map)
|
|||||||
{
|
{
|
||||||
switch(map)
|
switch(map)
|
||||||
{
|
{
|
||||||
case "mp_convoy":
|
case "mp_airfield":
|
||||||
return "Ambush";
|
return "Airfield";
|
||||||
case "mp_backlot":
|
case "mp_asylum":
|
||||||
return "Backlot";
|
return "Asylum";
|
||||||
case "mp_bloc":
|
case "mp_kwai":
|
||||||
return "Bloc";
|
return "Banzai";
|
||||||
case "mp_bog":
|
case "mp_drum":
|
||||||
return "Bog";
|
return "Battery";
|
||||||
case "mp_countdown":
|
case "mp_castle":
|
||||||
return "Countdown";
|
return "Castle";
|
||||||
case "mp_crash":
|
case "mp_shrine":
|
||||||
return "Crash";
|
return "Cliffside";
|
||||||
case "mp_crash_snow":
|
case "mp_stalingrad":
|
||||||
return "Winter Crash";
|
return "Corrosion";
|
||||||
case "mp_crossfire":
|
case "mp_courtyard":
|
||||||
return "Crossfire";
|
return "Courtyard";
|
||||||
case "mp_citystreets":
|
case "mp_dome":
|
||||||
return "District";
|
return "Dome";
|
||||||
case "mp_farm":
|
case "mp_downfall":
|
||||||
return "Downpour";
|
return "Downfall";
|
||||||
case "mp_overgrown":
|
case "mp_hangar":
|
||||||
return "Overgrown";
|
return "Hangar";
|
||||||
case "mp_pipeline":
|
case "mp_kneedeep":
|
||||||
return "Pipeline";
|
return "Knee Deep";
|
||||||
case "mp_shipment":
|
case "mp_makin":
|
||||||
return "Shipment";
|
return "Makin";
|
||||||
case "mp_showdown":
|
case "mp_makin_day":
|
||||||
return "Showdown";
|
return "Makin Day";
|
||||||
case "mp_strike":
|
case "mp_nachtfeuer":
|
||||||
return "Strike";
|
return "Nightfire";
|
||||||
case "mp_vacant":
|
case "mp_outskirts":
|
||||||
return "Vacant";
|
return "Outskirts";
|
||||||
case "mp_cargoship":
|
case "mp_vodka":
|
||||||
return "Wetwork";
|
return "Revolution";
|
||||||
case "mp_broadcast":
|
case "mp_roundhouse":
|
||||||
return "Broadcast";
|
return "Roundhouse";
|
||||||
case "mp_creek":
|
case "mp_seelow":
|
||||||
return "Creek";
|
return "Seelow";
|
||||||
case "mp_carentan":
|
case "mp_subway":
|
||||||
return "Chinatown";
|
return "Station";
|
||||||
case "mp_killhouse":
|
case "mp_docks":
|
||||||
return "Killhouse";
|
return "Sub Pens";
|
||||||
|
case "mp_suburban":
|
||||||
|
return "Upheaval";
|
||||||
|
case "mp_bgate":
|
||||||
|
return "Breach";
|
||||||
}
|
}
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
@ -670,67 +683,72 @@ load_waypoints()
|
|||||||
|
|
||||||
switch(mapname)
|
switch(mapname)
|
||||||
{
|
{
|
||||||
case "mp_convoy":
|
case "mp_airfield":
|
||||||
level.waypoints = maps\mp\bots\waypoints\ambush::Ambush();
|
level.waypoints = maps\mp\bots\waypoints\airfield::Airfield();
|
||||||
break;
|
break;
|
||||||
case "mp_backlot":
|
case "mp_asylum":
|
||||||
level.waypoints = maps\mp\bots\waypoints\backlot::Backlot();
|
level.waypoints = maps\mp\bots\waypoints\asylum::Asylum();
|
||||||
break;
|
break;
|
||||||
case "mp_bloc":
|
case "mp_kwai":
|
||||||
level.waypoints = maps\mp\bots\waypoints\bloc::Bloc();
|
level.waypoints = maps\mp\bots\waypoints\banzai::Banzai();
|
||||||
break;
|
break;
|
||||||
case "mp_bog":
|
case "mp_drum":
|
||||||
level.waypoints = maps\mp\bots\waypoints\bog::Bog();
|
level.waypoints = maps\mp\bots\waypoints\battery::Battery();
|
||||||
break;
|
break;
|
||||||
case "mp_countdown":
|
case "mp_bgate":
|
||||||
level.waypoints = maps\mp\bots\waypoints\countdown::Countdown();
|
level.waypoints = maps\mp\bots\waypoints\breach::Breach();
|
||||||
break;
|
break;
|
||||||
case "mp_crash":
|
case "mp_castle":
|
||||||
case "mp_crash_snow":
|
level.waypoints = maps\mp\bots\waypoints\castle::Castle();
|
||||||
level.waypoints = maps\mp\bots\waypoints\crash::Crash();
|
|
||||||
break;
|
break;
|
||||||
case "mp_crossfire":
|
case "mp_shrine":
|
||||||
level.waypoints = maps\mp\bots\waypoints\crossfire::Crossfire();
|
level.waypoints = maps\mp\bots\waypoints\cliffside::Cliffside();
|
||||||
break;
|
break;
|
||||||
case "mp_citystreets":
|
case "mp_stalingrad":
|
||||||
level.waypoints = maps\mp\bots\waypoints\district::District();
|
level.waypoints = maps\mp\bots\waypoints\corrosion::Corrosion();
|
||||||
break;
|
break;
|
||||||
case "mp_farm":
|
case "mp_courtyard":
|
||||||
level.waypoints = maps\mp\bots\waypoints\downpour::Downpour();
|
level.waypoints = maps\mp\bots\waypoints\courtyard::Courtyard();
|
||||||
break;
|
break;
|
||||||
case "mp_overgrown":
|
case "mp_dome":
|
||||||
level.waypoints = maps\mp\bots\waypoints\overgrown::Overgrown();
|
level.waypoints = maps\mp\bots\waypoints\dome::Dome();
|
||||||
break;
|
break;
|
||||||
case "mp_pipeline":
|
case "mp_downfall":
|
||||||
level.waypoints = maps\mp\bots\waypoints\pipeline::Pipeline();
|
level.waypoints = maps\mp\bots\waypoints\downfall::Downfall();
|
||||||
break;
|
break;
|
||||||
case "mp_shipment":
|
case "mp_hangar":
|
||||||
level.waypoints = maps\mp\bots\waypoints\shipment::Shipment();
|
level.waypoints = maps\mp\bots\waypoints\hangar::Hangar();
|
||||||
break;
|
break;
|
||||||
case "mp_showdown":
|
case "mp_kneedeep":
|
||||||
level.waypoints = maps\mp\bots\waypoints\showdown::Showdown();
|
level.waypoints = maps\mp\bots\waypoints\kneedeep::KneeDeep();
|
||||||
break;
|
break;
|
||||||
case "mp_strike":
|
case "mp_makin":
|
||||||
level.waypoints = maps\mp\bots\waypoints\strike::Strike();
|
case "mp_makin_day":
|
||||||
|
level.waypoints = maps\mp\bots\waypoints\makin::Makin();
|
||||||
break;
|
break;
|
||||||
case "mp_vacant":
|
case "mp_nachtfeuer":
|
||||||
level.waypoints = maps\mp\bots\waypoints\vacant::Vacant();
|
level.waypoints = maps\mp\bots\waypoints\nightfire::Nightfire();
|
||||||
break;
|
break;
|
||||||
case "mp_cargoship":
|
case "mp_outskirts":
|
||||||
level.waypoints = maps\mp\bots\waypoints\wetwork::Wetwork();
|
level.waypoints = maps\mp\bots\waypoints\outskirts::Outskirts();
|
||||||
break;
|
break;
|
||||||
|
case "mp_vodka":
|
||||||
case "mp_broadcast":
|
level.waypoints = maps\mp\bots\waypoints\revolution::Revolution();
|
||||||
level.waypoints = maps\mp\bots\waypoints\broadcast::Broadcast();
|
|
||||||
break;
|
break;
|
||||||
case "mp_creek":
|
case "mp_roundhouse":
|
||||||
level.waypoints = maps\mp\bots\waypoints\creek::Creek();
|
level.waypoints = maps\mp\bots\waypoints\roundhouse::Roundhouse();
|
||||||
break;
|
break;
|
||||||
case "mp_carentan":
|
case "mp_seelow":
|
||||||
level.waypoints = maps\mp\bots\waypoints\chinatown::Chinatown();
|
level.waypoints = maps\mp\bots\waypoints\seelow::Seelow();
|
||||||
break;
|
break;
|
||||||
case "mp_killhouse":
|
case "mp_subway":
|
||||||
level.waypoints = maps\mp\bots\waypoints\killhouse::Killhouse();
|
level.waypoints = maps\mp\bots\waypoints\station::Station();
|
||||||
|
break;
|
||||||
|
case "mp_docks":
|
||||||
|
level.waypoints = maps\mp\bots\waypoints\subpens::SubPens();
|
||||||
|
break;
|
||||||
|
case "mp_suburban":
|
||||||
|
level.waypoints = maps\mp\bots\waypoints\upheaval::Upheaval();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -17,6 +17,8 @@ CodeCallback_StartGameType()
|
|||||||
level.gametypestarted = true; // so we know that the gametype has been started up
|
level.gametypestarted = true; // so we know that the gametype has been started up
|
||||||
|
|
||||||
level thread maps\mp\bots\_bot::init();
|
level thread maps\mp\bots\_bot::init();
|
||||||
|
level thread maps\mp\bots\_menu::init();
|
||||||
|
level thread maps\mp\bots\_wp_editor::init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user