Cod2 mod problemer
Hej eksperter har fundet dette script til cod2 som der tilføjer bots de sutter godt nok men hvordan ændre jeg det så de joiner både Axis & Allies her er koden :init()
{
setCVar("g_antilag","0");
precacheItem("mp44_bot_far_mp");
precacheItem("mp44_bot_close_mp");
precacheItem("mp40_bot_far_mp");
precacheItem("mp40_bot_close_mp");
precacheItem("kar98k_bot_far_mp");
precacheItem("kar98k_bot_close_mp");
if(getcvar("scr_bots_number") == "")
setcvar("scr_bots_number", "5");
level.botsnumber = getcvarInt("scr_bots_number");
if(getCvar("scr_teambalance") == "")
setCvar("scr_teambalance", "1");
level.teambalance = getCvarInt("scr_teambalance");
if(getcvar("scr_bots_skill") == "")
setcvar("scr_bots_skill", "0.1");
level.botsskill = getcvarFloat("scr_bots_skill");
// if(getcvar("scr_bots_team") == "")
// setcvar("scr_bots_team", "mixed");
// if(getcvar("scr_bots_team") == "allies")
// level.botsteam = 2;
// else if(getcvar("scr_bots_team") == "axis")
level.botsteam = 1;
// else
// level.botsteam = 0;
level thread addBots();
}
addBots()
{
wait 5;
//iprintln(level.botsnumber);
for(i = 0; i < level.botsnumber; i++)
{
ent[i] = addtestclient();
if(level.botsteam == 1)
team = "axis";
else if(level.botsteam == 2)
team = "allies";
else
{
if(i & 1)
team = "axis";
else
team = "allies";
}
ent[i] thread spawnBots(team);
ent[i] thread botAim();
}
}
spawnBots(team)
{
while(!isdefined(self.pers["team"]))
wait .05;
self notify("menuresponse", game["menu_team"], team);
wait 0.5;
if(team == "allies")
{
if(game["allies"] == "american")
{
alliedguns[0] = "m1carbine_mp";
alliedguns[1] = "m1garand_mp";
alliedguns[2] = "thompson_mp";
alliedguns[3] = "bar_mp";
alliedguns[4] = "springfield_mp";
alliedguns[5] = "greasegun_mp";
alliedbotsweapon = alliedguns[randomInt(6)];
self notify("menuresponse", game["menu_team"], "allies");
wait 0.5;
if(alliedbotsweapon == "thompson_mp")
self notify("menuresponse", game["menu_weapon_allies"], "thompson_mp");
else if(alliedbotsweapon == "greasegun_mp")
self notify("menuresponse", game["menu_weapon_allies"], "greasegun_mp");
else if(alliedbotsweapon == "springfield_mp")
self notify("menuresponse", game["menu_weapon_allies"], "springfield_mp");
else if(alliedbotsweapon == "bar_mp")
self notify("menuresponse", game["menu_weapon_allies"], "bar_mp");
else if(alliedbotsweapon == "m1garand_mp")
self notify("menuresponse", game["menu_weapon_allies"], "m1garand_mp");
else if(alliedbotsweapon == "m1carbine_mp")
self notify("menuresponse", game["menu_weapon_allies"], "m1carbine_mp");
}
if(game["allies"] == "british")
{
alliedguns[0] = "enfield_mp";
alliedguns[1] = "sten_mp";
alliedguns[2] = "bren_mp";
alliedguns[3] = "enfield_scope_mp";
alliedguns[4] = "thompson_mp";
alliedguns[5] = "enfield_mp";
alliedbotsweapon = alliedguns[randomInt(6)];
self notify("menuresponse", game["menu_team"], "allies");
wait 0.5;
if(alliedbotsweapon == "sten_mp")
self notify("menuresponse", game["menu_weapon_allies"], "sten_mp");
else if(alliedbotsweapon == "bren_mp")
self notify("menuresponse", game["menu_weapon_allies"], "bren_mp");
else if(alliedbotsweapon == "enfield_mp")
self notify("menuresponse", game["menu_weapon_allies"], "enfield_mp");
else if(alliedbotsweapon == "enfield_scope_mp")
self notify("menuresponse", game["menu_weapon_allies"], "enfield_scope_mp");
else if(alliedbotsweapon == "thompson_mp")
self notify("menuresponse", game["menu_weapon_allies"], "thompson_mp");
}
if(game["allies"] == "russian")
{
alliedguns[0] = "mosin_nagant_mp";
alliedguns[1] = "ppsh_mp";
alliedguns[2] = "mosin_nagant_sniper_mp";
alliedguns[3] = "svt40_mp";
alliedguns[4] = "pps42_mp";
alliedguns[5] = "mosin_nagant_mp";
alliedbotsweapon = alliedguns[randomInt(6)];
self notify("menuresponse", game["menu_team"], "allies");
wait 0.5;
if(alliedbotsweapon == "pps42_mp")
self notify("menuresponse", game["menu_weapon_allies"], "pps42_mp");
else if(alliedbotsweapon == "svt40_mp")
self notify("menuresponse", game["menu_weapon_allies"], "svt40_mp");
else if(alliedbotsweapon == "mosin_nagant_sniper_mp")
self notify("menuresponse", game["menu_weapon_allies"], "mosin_nagant_sniper_mp");
else if(alliedbotsweapon == "ppsh_mp")
self notify("menuresponse", game["menu_weapon_allies"], "ppsh_mp");
else if(alliedbotsweapon == "mosin_nagant_mp")
self notify("menuresponse", game["menu_weapon_allies"], "mosin_nagant_mp");
}
}
else if(team == "axis")
{
axisguns[0] = "kar98k";
axisguns[1] = "mp40";
axisguns[2] = "mp44";
// axisguns[3] = "kar98k_sniper_mp";
// axisguns[4] = "g43_mp";
// axisguns[5] = "kar98k_mp";
self.botsweapon = axisguns[randomInt(3)];
self notify("menuresponse", game["menu_team"], "axis");
wait 0.5;
if(self.botsweapon == "mp40")
self notify("menuresponse", game["menu_weapon_axis"], "mp40_mp");
else if(self.botsweapon == "mp44")
self notify("menuresponse", game["menu_weapon_axis"], "mp44_mp");
else if(self.botsweapon == "kar98k")
self notify("menuresponse", game["menu_weapon_axis"], "kar98k_mp");
// else if(axisbotsweapon == "kar98k_sniper_mp")
// self notify("menuresponse", game["menu_weapon_axis"], "kar98k_sniper_mp");
// else if(axisbotsweapon == "g43_mp")
// self notify("menuresponse", game["menu_weapon_axis"], "gewehr43_mp");
}
}
changeWeapon(weapon)
{
// wait 5;
self takeallweapons();
self.pers["weapon"] = weapon;
// self notify("spawned");
// self notify("end_respawn");
self giveWeapon(self.pers["weapon"]);
// self notify("spawned_player");
// self giveWeapon(self.pers["weapon"]);
self giveMaxAmmo(self.pers["weapon"]);
self setSpawnWeapon(self.pers["weapon"]);
// self setWeaponSlotWeapon("primary", "mp40_mp");
// self setWeaponSlotWeapon("primaryb", "kar98k_mp");
// self GiveMaxAmmo("mp40_mp");
// self GiveMaxAmmo("kar98k_mp");
self switchToWeapon(self.pers["weapon"]);
}
botAim()
{
self.closestplayer = self;
enemyeye = self getEye();
self.eye = self getEye();
spray0 = 0;
spray1 = 0;
// vertical = 0;
horizontal = 0;
depth = 0;
i=0;
for(;;)
{
if(self.sessionstate == "dead")
{
self.movement = 0;
self waittill("spawned_player");
self takeallweapons();
}
enemyplayers = [];
players = getentarray("player", "classname");
for(i = 0; i < players.size; i++)
{
if(players[i].sessionstate == "spectator" || players[i].sessionstate == "dead" || players[i] == self || players[i].pers["team"] == self.pers["team"])
continue;
else
{
enemyplayers[enemyplayers.size] = players[i];
}
}
if(i==0)
{
depth = 0;
horizontal = 0;
// vertical = 15;
}
else if(i==1)
{
depth = -15;
horizontal = 15;
// vertical = 0;
}
else if(i==2)
{
horizontal = -15;
}
else if(i==3)
{
horizontal = 15;
depth = 15;
}
else if(i==4)
{
horizontal = -15;
i = -1;
}
for(i=0; i< enemyplayers.size; i++)
{
self.closestdist = 33554432;
self.closestplayer = self;
enemyeye = enemyplayers[i] getEye() + (0,0,15);
self.eye = self getEye() + (horizontal,depth,15);
dist = (distance(self.origin, enemyplayers[i].origin));
trace = bullettrace(self.eye, enemyeye, false, undefined);
if(dist < self.closestdist && trace["surfacetype"]=="none")
{
self.closestplayer = enemyplayers[i];
self.closestdist = dist;
}
}
if(self.closestplayer != self)
{
if(self.closestdist < 600)
{
changeWeapon(self.botsweapon + "_bot_close_mp");
self.movement = 2;
}
else
{
changeWeapon(self.botsweapon + "_bot_far_mp");
self.movement = 3;
}
if(!isdefined(self.closestplayer.ex_eyemarker) && isdefined(self.closestplayer))
{
//self.ex_eyemarker unlink();
//self.ex_eyemarker delete();
self.closestplayer.ex_eyemarker = spawn("script_origin",(0,0,0));
self.closestplayer.ex_eyemarker linkto (self.closestplayer, "tag_eye",(0,0,0),(0,0,0));
}
//self.aimfor = randomInt(2); //aim for head or body
for(i=0; i<6; i++)
{
if(self.closestdist < 600)
{
spray0 = randomInt(20)-10;
spray1 = randomInt(20)-10;
}
else
{
spray0 = 0;
spray1 = 0;
}
self.eye = self getEye();
target_direction = vectorNormalize( ( self.closestplayer.ex_eyemarker.origin[0] - self.eye[0] + spray0, self.closestplayer.ex_eyemarker.origin[1] - self.eye[1] +spray1, self.closestplayer.ex_eyemarker.origin[2] - self.eye[2] - 20)); // - (self.closestplayer getEye()[2] - self.closestplayer.origin[2])/2*self.aimfor) );
self setPlayerAngles(vectorToAngles( target_direction ));
}
}
else
{
self takeallweapons();
self.movement = 1;
}
wait level.botsskill;
i++;
}
}
botMove()
{
for(;;)
{
if(self.movement == 0)
self waittill("spawned_player");
if(self.movement == 1)
{
//pathfinding
}
if(self.movement == 2)
{
//jump
}
if(self.movement == 3)
{
//side step
}
wait level.botskill*3;
}
}
