Code: Select all
#library "request"
#include "zcommon.acs"
//Yeah its a big mess... i know there is a better way to do this, but this works anyway
int Request[4];
str Requestitem[4];
int ItemCost[4];
int ItemTravel[4];
int PlayerCurrency[4];
int PlayerIdenty[4];
str Itemtogive[4];
int Givenumber[4];
int Moreitem[4];
int FlameKills[4];
int TotalFlameKills[4];
str FlameReward[4];
int Flareonsight;
int titlemap;
script 350 enter
{
If(PlayerInGame (0) ==true)
{
acs_execute(300,0,0,0,0);
acs_execute(149,0,0,0,0);
}
else
{
}
}
Script 300 (void)
{
Request[PlayerNumber()] = 1;
Playeridenty[PlayerNumber()] = PlayerNumber();
ItemCost[PlayerNumber()] = 5;
ItemTravel[PlayerNumber()] = 0;
Thing_ChangeTID(0, 1000+PlayerNumber());
}
Script 130 (void)
{
If(Request[PlayerNumber()] ==1)
{
RequestItem[PlayerNumber()] = "Baricades";
ItemCost[PlayerNumber()] = 5*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "explosivebarrelspawner";
Givenumber[PlayerNumber()] = 1*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==2)
{
RequestItem[PlayerNumber()] = "Landmines";
ItemCost[PlayerNumber()] = 30*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "Mines";
Givenumber[PlayerNumber()] =1*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==3)
{
RequestItem[PlayerNumber()] = "Gasoline can";
ItemCost[PlayerNumber()] = 40*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "Gas";
Givenumber[PlayerNumber()] = 5*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==4)
{
RequestItem[PlayerNumber()] = "Stimpack";
ItemCost[PlayerNumber()] = 45*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "Healthkit";
Givenumber[PlayerNumber()] = 1*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==5)
{
RequestItem[PlayerNumber()] = "Ammo Box";
ItemCost[PlayerNumber()] = 50*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "ammobox";
Givenumber[PlayerNumber()] = 1*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==6)
{
RequestItem[PlayerNumber()] = "Medikit";
ItemCost[PlayerNumber()] = 70*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "LargeHealthkit";
Givenumber[PlayerNumber()] = 1*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==7)
{
RequestItem[PlayerNumber()] = "Pipebomb";
ItemCost[PlayerNumber()] = 80*MoreItem[PlayerNumber()];
Itemtogive[PlayerNumber()] = "D2C_Pipebombammo";
Givenumber[PlayerNumber()] = 1*MoreItem[PlayerNumber()];
}
If(Request[PlayerNumber()] ==8)
{
MoreItem[PlayerNumber()]=1;
RequestItem[PlayerNumber()] = "Shotgun";
ItemCost[PlayerNumber()] = 120;
Itemtogive[PlayerNumber()] = "Mosenberg";
Givenumber[PlayerNumber()] = 1;
}
If(Request[PlayerNumber()] ==9)
{
MoreItem[PlayerNumber()]=1;
RequestItem[PlayerNumber()] = "Sniper rifle";
ItemCost[PlayerNumber()] = 250;
Itemtogive[PlayerNumber()] = "PSG1";
Givenumber[PlayerNumber()] = 1;
}
If(Request[PlayerNumber()] ==10)
{
MoreItem[PlayerNumber()]=1; //Here's what i changed.
RequestItem[PlayerNumber()] = "Support Beacon";
ItemCost[PlayerNumber()] = 450;
Itemtogive[PlayerNumber()] = "SupportBeacon";
Givenumber[PlayerNumber()] = 1;
}
If(Request[PlayerNumber()] ==11)
{
MoreItem[PlayerNumber()]=1;
RequestItem[PlayerNumber()] = "Grenade Launcher";
ItemCost[PlayerNumber()] = 400;
Itemtogive[PlayerNumber()] = "M40";
Givenumber[PlayerNumber()] = 1;
}
}
Script 301 (void)//Original code for the flametrower request
{
If(Playeridenty[PlayerNumber()] ==0)
{
Itemtogive[PlayerNumber()] = "Flametrower";
Givenumber[PlayerNumber()] = 1;
}
Else if (Playeridenty[PlayerNumber()] ==1)
{
Itemtogive[PlayerNumber()] = "Flametrower2";
Givenumber[PlayerNumber()] = 1;
}
if (Playeridenty[PlayerNumber()] ==2)
{
Itemtogive[PlayerNumber()] = "Flametrower3";
Givenumber[PlayerNumber()] = 1;
}
if (Playeridenty[PlayerNumber()] ==3)
{
Itemtogive[PlayerNumber()] = "Flametrower4";
Givenumber[PlayerNumber()] = 1;
}
}
Script 149 (void)
{
Setfont("Bigfont");
hudmessage (s:"Score:";
HUDMSG_PLAIN, 2, CR_GREEN, 0.0, 0.0, 0);
hudmessage (s:" ", d:GetActorProperty(0, APROP_Score);
HUDMSG_PLAIN, 1, CR_RED, 0.1, 0.0, 2);
hudmessage (s:"Soldier points:";
HUDMSG_PLAIN, 3, CR_GREEN, 0.0, 0.1, 0);
hudmessage (s:" ", d:CheckInventory("Currency");
HUDMSG_PLAIN, 4, CR_RED, 0.28, 0.1, 0);
hudmessage (s:"Current Request:";
HUDMSG_PLAIN, 5, CR_GREEN, 1.0, 0.0, 0);
If(ItemTravel[PlayerNumber()] ==1)
{
hudmessage (s:Requestitem[PlayerNumber()];
HUDMSG_PLAIN, 6, CR_BLUE, 1.0,0.1, 2);
hudmessage (d:ItemCost[PlayerNumber()];
HUDMSG_PLAIN, 7, CR_BLUE, 1.0,0.15, 2);
If(MoreItem[PlayerNumber()] >=2)
{
hudmessage (s: "X",d:MoreItem[PlayerNumber()];
HUDMSG_PLAIN, 8, CR_BLUE, 0.9,0.15, 2);
}
Else
{
hudmessage (s: " ";
HUDMSG_PLAIN, 8, CR_BLUE, 0.9,0.15, 2);
}
Delay(1);
Restart;
}
Else
{
hudmessage (s:Requestitem[PlayerNumber()];
HUDMSG_PLAIN, 6, CR_RED, 1.0,0.1, 2);
hudmessage (d:ItemCost[PlayerNumber()];
HUDMSG_PLAIN, 7, CR_RED, 1.0,0.15, 2);
If(MoreItem[PlayerNumber()] >=2)
{
hudmessage (s: "X",d:MoreItem[PlayerNumber()];
HUDMSG_PLAIN, 8, CR_RED, 0.9,0.15, 2);
}
Else
{
hudmessage (s: " ";
HUDMSG_PLAIN, 8, CR_RED, 0.9,0.15, 2);
}
Delay(1);
Restart;
}
}
Script 150 (void) Net
{
If(ItemTravel[PlayerNumber()] ==1)
{
}
Else If(Request[PlayerNumber()] ==1)
{
MoreItem[PlayerNumber()]=1;
Request[PlayerNumber()] = 10;
ACS_ExecuteAlways(130,0,0,0,0);
}
Else
{
MoreItem[PlayerNumber()]=1;
Request[PlayerNumber()] -=1;
ACS_ExecuteAlways(130,0,0,0,0);
}
}
Script 151 (void) Net
{
If(ItemTravel[PlayerNumber()] ==1)
{
}
Else If(Request[PlayerNumber()] ==10)
{
MoreItem[PlayerNumber()]=1;
Request[PlayerNumber()] = 1;
ACS_ExecuteAlways(130,0,0,0,0);
}
Else
{
MoreItem[PlayerNumber()]=1;
Request[PlayerNumber()] += 1;
ACS_ExecuteAlways(130,0,0,0,0);
}
}
Script 152 (void) Net
{
If(ItemTravel[PlayerNumber()] ==1)
{
}
Else If(Moreitem[PlayerNumber()] ==6)
{
MoreItem[PlayerNumber()] = 1;
ACS_ExecuteAlways(130,0,0,0,0);
}
Else
{
MoreItem[PlayerNumber()] += 1;
ACS_ExecuteAlways(130,0,0,0,0);
}
}
Script 153 (void) Net
{
If(ItemTravel[PlayerNumber()] ==1)
{
}
Else If(MoreItem[PlayerNumber()] ==1)
{
MoreItem[PlayerNumber()] = 6;
ACS_ExecuteAlways(130,0,0,0,0);
}
Else
{
MoreItem[PlayerNumber()] -=1;
ACS_ExecuteAlways(130,0,0,0,0);
}
}
Script 200 (void) Net
{
ItemTravel[PlayerNumber()] = 1;
Thing_SpawnNofog(1000+PlayerNumber(),55,0,2000+PlayerNumber());
Thing_SetSpecial(2000+PlayerNumber(), 226, 201, 0,0);
SetFont("Smallfont");
hudmessage (s:"Flare launched";
HUDMSG_FADEINOUT, 11, CR_GREEN, 0.5, 0.3,4.0,1.0,1.0);
Delay(35*2);
Setfont("Bigfont");
hudmessage (s:"Waiting for response";
HUDMSG_FADEINOUT, 10, CR_GREEN, 0.5, 0.4, 5.0,2.0,4.0);
delay(35*3);
If(Flareonsight ==1)
{
ACS_ExecuteAlways(201,0,0,0,0);
}
delay(35*2);
ItemTravel[PlayerNumber()] = 0;
}
Script 202 (void)
{
Flareonsight = 1;
}
Script 201 (void)
{
Flareonsight = 0;
PlayerCurrency[PlayerNumber()] = CheckInventory("Currency");
If(PlayerCurrency[PlayerNumber()] >= ItemCost[PlayerNumber()])
{
ACS_ExecuteAlways(270,0,0,0,0);
GiveInventory(Itemtogive[PlayerNumber()], Givenumber[PlayerNumber()]);
TakeInventory("Currency",ItemCost[PlayerNumber()]);
}
Else
{
ACS_ExecuteAlways(271,0,0,0,0);
}
}
Script 260 (void)
{
Thing_ChangeTID(0,800);
Delay(1);
SetActivatorToTarget (0);
Delay(1);
If(Playeridenty[PlayerNumber()] ==0)
{
Thing_ChangeTID(800,901);
SpawnSpot ("Fire", 901);
}
Else If(Playeridenty[PlayerNumber()] ==1)
{
Thing_ChangeTID(800,902);
SpawnSpot ("Fire2", 902);
}
Else If(Playeridenty[PlayerNumber()] ==2)
{
Thing_ChangeTID(800,903);
SpawnSpot ("Fire3", 903);
}
Else If(Playeridenty[PlayerNumber()] ==3)
{
Thing_ChangeTID(800,904);
SpawnSpot ("Fire4", 904);
}
}
Script 261 (void)
{
SetActivator (1000);
Delay(1);
FlameKills[PlayerNumber()] += 1;
TotalFlameKills[PlayerNumber()] += 1;
GiveInventory("Score", 15);
While (ThingCountName("Fire", 0) > 0)
{
If (FlameKills[PlayerNumber()] >=5)
{
Print(s:"\cgFire Bonus!");
Delay(35);
}
Else
{
Delay(35);
}
}
If (FlameKills[PlayerNumber()] >=50)
{
hudmessage (s:"You sick pyromaniac!\nYour homemade inferno tortured the souls of ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 600 Points\nhope you dont burn yourself the next time!";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 600);
}
Else If (FlameKills[PlayerNumber()] >=30)
{
hudmessage (s:"You made quite a huge fire\nbecause of that, you burned ",d:FlameKills[PlayerNumber()],s:" Zombies down to the ashes\nWe are rewarding you with 400 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 400);
}
Else If (FlameKills[PlayerNumber()] >=20)
{
hudmessage (s:"you made quite some fire!\n not to mention that you killed ",d:FlameKills[PlayerNumber()],s:" Zombies in the process\nWe are rewarding you with 250 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 250);
}
Else If (FlameKills[PlayerNumber()] >=15)
{
hudmessage (s:"Looks like you been having some fun\nthat fire you made killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 150 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 150);
}
Else If (FlameKills[PlayerNumber()] >=5)
{
hudmessage (s:"Nice job Marine\nyou killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 80 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 80);
}
FlameKills[PlayerNumber()] = 0;
ACS_ExecuteAlways(269,0,0,0,0);
}
Script 262 (void)
{
SetActivator (1001);
Delay(1);
FlameKills[PlayerNumber()] += 1;
TotalFlameKills[PlayerNumber()] += 1;
GiveInventory("Score", 15);
While (ThingCountName("Fire", 0) > 0)
{
If (FlameKills[PlayerNumber()] >=5)
{
Print(s:"\cgFire Bonus!");
Delay(35);
}
Else
{
Delay(35);
}
}
If (FlameKills[PlayerNumber()] >=50)
{
hudmessage (s:"You sick pyromaniac!\nYour homemade inferno tortured the souls of ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 600 Points\nhope you dont burn yourself the next time!";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 600);
}
Else If (FlameKills[PlayerNumber()] >=30)
{
hudmessage (s:"You made quite a huge fire\nbecause of that, you burned ",d:FlameKills[PlayerNumber()],s:" Zombies down to the ashes\nWe are rewarding you with 400 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 400);
}
Else If (FlameKills[PlayerNumber()] >=20)
{
hudmessage (s:"you made quite some fire!\n not to mention that you killed ",d:FlameKills[PlayerNumber()],s:" Zombies in the process\nWe are rewarding you with 250 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 250);
}
Else If (FlameKills[PlayerNumber()] >=10)
{
hudmessage (s:"Looks like you are having some fun\nthat fire you made killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 150 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 150);
}
Else If (FlameKills[PlayerNumber()] >=5)
{
hudmessage (s:"Nice job Marine\nyou killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 80 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 80);
}
FlameKills[PlayerNumber()] = 0;
ACS_ExecuteAlways(269,0,0,0,0);
}
Script 263 (void)
{
SetActivator (1002);
Delay(1);
FlameKills[PlayerNumber()] += 1;
TotalFlameKills[PlayerNumber()] += 1;
GiveInventory("Score", 15);
While (ThingCountName("Fire", 0) > 0)
{
If (FlameKills[PlayerNumber()] >=5)
{
Print(s:"\cgFire Bonus!");
Delay(35);
}
Else
{
Delay(35);
}
}
If (FlameKills[PlayerNumber()] >=50)
{
hudmessage (s:"You sick pyromaniac!\nYour homemade inferno tortured the souls of ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 600 Points\nhope you dont burn yourself the next time!";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 600);
}
Else If (FlameKills[PlayerNumber()] >=30)
{
hudmessage (s:"You made quite a huge fire\nbecause of that, you burned ",d:FlameKills[PlayerNumber()],s:" Zombies down to the ashes\nWe are rewarding you with 400 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 400);
}
Else If (FlameKills[PlayerNumber()] >=20)
{
hudmessage (s:"you made quite some fire!\n not to mention that you killed ",d:FlameKills[PlayerNumber()],s:" Zombies in the process\nWe are rewarding you with 250 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 250);
}
Else If (FlameKills[PlayerNumber()] >=15)
{
hudmessage (s:"Looks like you been having some fun\nthat fire you made killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 150 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 150);
}
Else If (FlameKills[PlayerNumber()] >=5)
{
hudmessage (s:"Nice job Marine\nyou killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 80 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 80);
}
FlameKills[PlayerNumber()] = 0;
ACS_ExecuteAlways(269,0,0,0,0);
}
Script 264 (void)
{
SetActivator (1003);
Delay(1);
FlameKills[PlayerNumber()] += 1;
TotalFlameKills[PlayerNumber()] += 1;
GiveInventory("Score", 15);
While (ThingCountName("Fire", 0) > 0)
{
If (FlameKills[PlayerNumber()] >=5)
{
Print(s:"\cgFire Bonus!");
Delay(35);
}
Else
{
Delay(35);
}
}
If (FlameKills[PlayerNumber()] >=50)
{
hudmessage (s:"You sick pyromaniac!\nYour homemade inferno tortured the souls of ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 600 Points\nhope you dont burn yourself the next time!";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 600);
}
Else If (FlameKills[PlayerNumber()] >=30)
{
hudmessage (s:"You made quite a huge fire\nbecause of that, you burned ",d:FlameKills[PlayerNumber()],s:" Zombies down to the ashes\nWe are rewarding you with 400 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 400);
}
Else If (FlameKills[PlayerNumber()] >=20)
{
hudmessage (s:"you made quite some fire!\n not to mention that you killed ",d:FlameKills[PlayerNumber()],s:" Zombies in the process\nWe are rewarding you with 250 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 250);
}
Else If (FlameKills[PlayerNumber()] >=15)
{
hudmessage (s:"Looks like you been having some fun\nthat fire you made killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 150 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 150);
}
Else If (FlameKills[PlayerNumber()] >=5)
{
hudmessage (s:"Nice job Marine\nyou killed ",d:FlameKills[PlayerNumber()],s:" Zombies\nWe are rewarding you with 80 Points, keep up the good work";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
GiveInventory("Currency", 80);
}
FlameKills[PlayerNumber()] = 0;
ACS_ExecuteAlways(269,0,0,0,0);
}
Script 269 (void) //FlameTrower
{
If(FlameReward[PlayerNumber()] =="True")
{
TotalFlameKills[PlayerNumber()] = 0;
}
Else If (TotalFlameKills[PlayerNumber()] >=50)
{
Delay(35*10);
FlameReward[PlayerNumber()] = "True";
hudmessage (s:"Looks like you are having a lot of fun burning zombies\nsince that is producing results we are rewarding you with a\nFlametrower!, keep in mind that that stuff runs out of gas quickly\nso you may want to keep requesting fuel, Good job and stay alive!";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
If(Playeridenty[PlayerNumber()] ==0)
{
GiveInventory ("Flametrower",1);
}
Else if (Playeridenty[PlayerNumber()] ==1)
{
GiveInventory ("Flametrower2",1);
}
if (Playeridenty[PlayerNumber()] ==2)
{
GiveInventory ("Flametrower3",1);
}
if (Playeridenty[PlayerNumber()] ==3)
{
GiveInventory ("Flametrower4",1);
}
}
}
Script 270 (void)
{
hudmessage (s:"All right Marine.... \nWe have seen your flare and you seem to have al the requisites \nto give you the goods you have requested \nWe are giving them right away";
HUDMSG_TYPEON, 10, CR_GREEN, 0.5, 0.025, 3.0,0.05,3.0);
}
Script 271 (void)
{
hudmessage (s:"We have seen your flare marine \nhowever we feel that you have not \nearned yet the items you requested \njust keep doing your job and try again later";
HUDMSG_TYPEON, 10, CR_RED, 0.4, 0.0, 3.0,0.05,3.0);
}
//This is were the whole ACS Mess ends