UPDATE: I don't think anyone is going to bother working on this, I am willing to come back (I had lost confidence in this Mod simply because of what people had said to me) but I would ask that some people put some effort into helping me, you can do this by reporting bugs and I will fix them as I go along, I already know something is wrong with the rocket launchers fire state that causes it not to reload, I know in Blood party there is a linedef I forgot to block players, I know that there is a problem with the mystery box spewing a certain weapon that takes away the players gun, I fixed the MaxAmmo (Turns out I forgot to set the arguement to 0, silly huh?) I don't want to ever see this project die I am actually kind of annoyed at how neglected this mod is and I feel that I am not the only one, so if someone could help in anyway, please do.
I am still very inexperienced in this area, someone who originally created this mod stopped helping and he doesn't seem to want to respond to anyone, I know me and Shiga were put in charge of it, but that doesn't cut it that story is for another time though.
Old Post: Do you think this problem could be entirely related to last stand? I mean there was a script in there that is supposed to kill the player in multiplayer should they try to respawn, also the player shouldn't be respawning at all, in 0.5 scripts the actual gameover code was found in script 1 which was an open script (Skip to the end of it, I was far too lazy to take out just that bit) I have always looked towards the old code for things like references, I really have no idea how this would work, I guess the script checks constantly if a player or player's are dead, I can only speculate that the work on the last stand code has resulted in nothing working.
Code: Select all
SCRIPT 1 OPEN
{
int hellOnEarthTime;
hellOnEarthTime=1050;
if(GameSkill()<4) {Music_Change("",0);}
else {if(random(0,1)==0) {Music_Change("DOOM641",0);}else{Music_Change("DOOM642",0);}}
SpawnSpot("zombie",161,99,random(0,359));
SpawnSpot("Sprinter",160,98,random(0,359));
zombie_speed[0]=GetActorProperty(99,APROP_SPEED);
zombie_speed[1]=GetActorProperty(98,APROP_SPEED);
Thing_ChangeTID(99,98);
Thing_Destroy(98,1);
for(int y=1; y<11; y++)
{
barricade_time[y]=40;
barricade_life[y]=3;
}
/*player_dead[1]=0;
if(PlayerCount()>1) {player_dead[2]=0;} else {player_dead[2]=1;}
if(PlayerCount()>2) {player_dead[3]=0;} else {player_dead[3]=1;}
if(PlayerCount()>3) {player_dead[4]=0;} else {player_dead[4]=1;}*/
for(y=0; y <3 2; y++)
{
player_dead[y]=0;
}
Light_ChangeToValue(1,100);
delay(35*2);
if(GameSkill()<4) {AmbientSound("game/HORDE",127);SetMusic("NACHT",0);}
delay(35*1);
if(GameSkill()<4) {AmbientSound("game/ROUND",127);}
SetFont("BIGFONT");
HudMessage(s:"round\n1";HUDMSG_FADEOUT,0,CR_WHITE,1.5,0.5,3.0,1.0);
delay(35);
SetFont("SMALLFONT");
HudMessage(s:" \nround 1";HUDMSG_FADEOUT,0,CR_ORANGE,0.8,3.0,1.0);
for(y=0; y <3 2; y++)
{
if(!PlayerInGame(y)) {player_dead[y]=1;}
}
insta_kill=0;
nuke=0;
healtime=32;
round_number=1;
round_monstersmax=random(PlayerCount()+5,PlayerCount()+6)*(GameSkill()+1);
round_monstersleft=round_monstersmax;
round_tonextround=100;
round_tildogs=4;
round_doground=0;
active_mysterybox=0;
mysterybox_items[1]="Colt45";
mysterybox_items[2]="TrenchGun";
mysterybox_items[3]="ElephantGun";
mysterybox_items[4]="Thompson";
mysterybox_items[5]="MP40";
mysterybox_items[6]="BAR";
mysterybox_items[7]="RayGun";
mysterybox_items[8]="M1Garand";
mysterybox_items[9]="M2FlameThrower";
mysterybox_items[10]="BrowningM1919";
room_unlocked[0]=1; // starting room
room_unlocked[1]=0; // "help" room, through starting room
room_unlocked[2]=0; // upstairs, through help room
room_unlocked[3]=0; // upstairs, through starting room
room_unlocked[4]=0; // "help" room, through upstairs
player_stepsound[1]="game/footstep1";
player_stepsound[2]="game/footstep2";
player_stepsound[3]="game/footstep3";
player_stepsound[4]="game/footstep4";
int a;
while(true)
{
if(GameSkill()==4) {hellOnEarthTime-=1;}
if(hellOnEarthTime<1) {hellOnEarthTime=1050; round_number+=1;}
nuke-=1;
insta_kill-=1;
if(insta_kill<0) {insta_kill=0;}
if(nuke<0) {nuke=0;}
ACS_ExecuteAlways(100,0,0,0,0);
for(y=1; y<11; y++)
{
barricade_time[y]-=1;
if(barricade_time[y]<0) {barricade_time[y]=0;}
}
if(round_tonextround>0) {round_tonextround-=1;}
else
{
if(round_doground==1 && random(1,25)==1)
{
a=random(104,109);
SpawnSpot("TeleMain",a,0,0);
}
if((random(1,30)==1 && ThingCountName("zombie",0)<24) && ThingCountName("Sprinter",0)<24 && ThingCountName("HellHoundNormal",98)<12 && ThingCountName("HellHoundFlamer",98)<12 && round_monstersleft>0)
{
int pass;
if(round_doground==1)
{
a=random(100,103);
if(a==100) {pass=1;}
else if(a==101 && (room_unlocked[1]==1 || room_unlocked[4]==1)) {pass=1;}
else if((a==102 || a==103) && (room_unlocked[2]==1 || room_unlocked[3]==1)) {pass=1;}
else {pass=0;}
if(pass==1)
{
SpawnSpot("TeleMain",a,0,0);
SpawnSpot("demon",a,99,random(0,359));
if(insta_kill>0)
{
SetActorProperty(99,APROP_Health,1);
}
else
{
if(round_number<25) {SetActorProperty(99,APROP_Health,125+round_number*15);}
else {SetActorProperty(99,APROP_HEALTH,425);}
}
Thing_SetGoal(99,a-100,0,1);
Thing_ChangeTID(99,100+round_monstersleft);
round_monstersleft-=2;
}
}
else
{
a=random(150,162);
if(a>149 && a<156) {pass=1;}
else if((a>155 && a<159) && room_unlocked[1]==1) {pass=1;}
else if((a>158 && a<163) && (room_unlocked[2]==1 || room_unlocked[3]==1)) {pass=1;}
else {pass=0;}
if(pass==1)
{
if(round_number<10)
{
if(round_number<5)
{
SpawnSpot("zombie",a,99,random(0,359));
}
else
{
if(random(1,15-round_number)==1) {SpawnSpot("Sprinter",a,99,random(0,359));}
else
{
SpawnSpot("zombie",a,99,random(0,359));
}
}
}
else {SpawnSpot("Sprinter",a,99,random(0,359));}
SetActorProperty(99,APROP_Health,(80+(GameSkill()*10))+round_number*14);
round_monstersleft-=1;
if(round_monstersleft<2 && GameSkill()==4) {round_monstersleft=100;}
Thing_ChangeTID(99,100+round_monstersleft);
}
}
}
if((ThingCountName("zombie",0)<1 && ThingCountName("Sprinter",0)<1 && (ThingCountName("HellHoundNormal",98)<1 && ThingCountName("HellHoundFlamer",98)<1)) && round_monstersleft<1)
{
delay(32);
for(int temporaryVariableB=0; temporaryVariableB <3 2; temporaryVariableB++) {GiveActorInventory(1000+temporaryVariableB,"GrenadeAmmo",2);player_dead[temporaryVariableB]=0;}
if(round_doground==1)
{
AmbientSound("game/DOGSOUTR",127);
delay(328);
round_doground=0;
}
else {AmbientSound("game/END",127);}
delay(200);
round_number+=1;
if(round_number>8) {zombie_speed[0]=zombie_speed[1];}
round_tonextround=400;
round_monstersmax+=random(4,PlayerCount()*5)+GameSkill();
round_monstersleft=round_monstersmax;
for(temporaryVariableB=0; temporaryVariableB <3 2; temporaryVariableB++)
{
if(!PlayerInGame(temporaryVariableB)) {player_dead[temporaryVariableB]=1;}
// if the player decides not to rejoin, we don't want them rejoining mid-round.
}
AmbientSound("game/ROUND",127);
}
}
healtime-=1;
if(healtime<0) {healtime=32;}
if(player_dead[0] && player_dead[1] && player_dead[2] && player_dead[3] && player_dead[4])
{
// all players have died.
if(PlayerCount()==0) {/*we do nothing; nobody's connected to the server, so don't restart/change the map.*/}
else
{
SetMusic("",0);
delay(35*2);
AmbientSound("game/GAMEOVER",127);
SetFont("SMALLFONT");
HudMessage(s:"GAME OVER!\nRounds survived: ",d:round_number;HUDMSG_FADEINOUT,0,CR_RED,1.5,0.1,24.0,1.0,1.0);
HudMessage(s:"name";HUDMSG_FADEINOUT,0,CR_RED,0.1,0.2,24.0,1.0,1.0);
HudMessage(s:"points";HUDMSG_FADEINOUT,0,CR_RED,0.5,0.2,24.0,1.0,1.0);
HudMessage(n:1;HUDMSG_FADEINOUT,0,CR_WHITE,0.1,0.3,24.0,1.0,1.0);
HudMessage(d:money[0];HUDMSG_FADEINOUT,0,CR_WHITE,0.5,0.3,24.0,1.0,1.0);
if(PlayerCount()>1) {HudMessage(n:2;HUDMSG_FADEINOUT,0,CR_WHITE,0.1,0.4,24.0,1.0,1.0);HudMessage(d:money[1];HUDMSG_FADEINOUT,0,CR_WHITE,0.5,0.4,24.0,1.0,1.0);}
if(PlayerCount()>2) {HudMessage(n:3;HUDMSG_FADEINOUT,0,CR_WHITE,0.1,0.5,24.0,1.0,1.0);HudMessage(d:money[2];HUDMSG_FADEINOUT,0,CR_WHITE,0.5,0.5,24.0,1.0,1.0);}
if(PlayerCount()>3) {HudMessage(n:4;HUDMSG_FADEINOUT,0,CR_WHITE,0.1,0.6,24.0,1.0,1.0);HudMessage(d:money[3];HUDMSG_FADEINOUT,0,CR_WHITE,0.5,0.6,24.0,1.0,1.0);}
//HudMessage(s:"";HUDMSG_FADEINOUT,0,CR_WHITE,1.5,0.2,24.0,1.0,1.0);
delay(35*30);
ConsoleCommand("map MAP01");
}
}
if(!PlayerCount()==0)
{
if(!PlayerInGame(0)) {player_dead[1]=1;}
if(!PlayerInGame(1)) {player_dead[2]=1;}
if(!PlayerInGame(2)) {player_dead[3]=1;}
if(!PlayerInGame(3)) {player_dead[4]=1;}
}
else {player_dead[0]=0;player_dead[1]=0;player_dead[2]=0;player_dead[3]=0;player_dead[4]=0;player_dead[5]=0;} // we don't want the map to restart
// if nobody's connected to the server, now, do we?
delay(1);
}
}
EDIT: That aside, how do you guys feel about a burst fire gun? I managed to finish up a working code for a burst-fire like gun, not as if it hasn't been done before but I think we should use this somewhere even if it's just in a pistol, we need more variety, also my rule (This was what I followed during my time helping update the wad) for adding in more guns like such as in black ops (No, no black ops 2 weapons, I didn't like having somewhat futuristic weapons that weren't wonder weapons) is that they don't have the same power or clip size as one of the weapons originally in the wad.