switch(event[eType]) { case 3: { print("checking event 1..."); new BestScore[3],BestID[3],string[194]; Event[eStarted] = 0; Event[eStartTime] = 0; Event[eTimeLeft] = 0; foreach(InSTC,i) { print("checking event 2..."); if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; return true; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; } print("checking event 3..."); PlayerInfo[i][PlayerEventScore] = 0; PlayerInfo[i][PlayerInEvent] = 0; Iter_Remove(InSTC,i); print("checking event 4..."); switch(PlayerPos[i]) { case 1: { print("checking event 5..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"WINNER"); format(string,sizeof(string),"You won the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[0]); PlayerTextDrawSetString(BestID[0],CriminalDamage[BestID[0]][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[0]][pMoney] +=9500; } case 2: { print("checking event 6..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"Challenge Over"); format(string,sizeof(string),"You came second in the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[1]); PlayerTextDrawSetString(i,CriminalDamage[i][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[1]][pMoney] +=4500; } } print("checking event 7..."); PlayerPos[i] = 0; SetTimerEx("HideCD", 10000, 0, "i",i); } print("checking event 8..."); } }
switch(event[eType]) { case 3: { print("checking event 1..."); new BestScore[3],BestID[3],string[194]; Event[eStarted] = 0; Event[eStartTime] = 0; Event[eTimeLeft] = 0; foreach(InSTC,i) { print("checking event 2..."); if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; return true; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; } print("checking event 3..."); PlayerInfo[i][PlayerEventScore] = 0; PlayerInfo[i][PlayerInEvent] = 0; Iter_Remove(InSTC,i); print("checking event 4..."); switch(PlayerPos[i]) { case 1: { print("checking event 5..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"WINNER"); format(string,sizeof(string),"You won the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[0]); PlayerTextDrawSetString(BestID[0],CriminalDamage[BestID[0]][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[0]][pMoney] +=9500; } case 2: { print("checking event 6..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"Challenge Over"); format(string,sizeof(string),"You came second in the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[1]); PlayerTextDrawSetString(i,CriminalDamage[i][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[1]][pMoney] +=4500; } } print("checking event 7..."); PlayerPos[i] = 0; SetTimerEx("HideCD", 10000, 0, "i",i); } print("checking event 8..."); } }
switch(event[eType]) { case 3: { print("checking event 1..."); new BestScore[3],BestID[3],string[194]; Event[eStarted] = 0; Event[eStartTime] = 0; Event[eTimeLeft] = 0; foreach(InSTC,i) { print("checking event 2..."); if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; } print("checking event 3..."); PlayerInfo[i][PlayerEventScore] = 0; PlayerInfo[i][PlayerInEvent] = 0; Iter_Remove(InSTC,i); print("checking event 4..."); switch(PlayerPos[i]) { case 1: { print("checking event 5..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"WINNER"); format(string,sizeof(string),"You won the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[0]); PlayerTextDrawSetString(BestID[0],CriminalDamage[BestID[0]][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[0]][pMoney] +=9500; } case 2: { print("checking event 6..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"Challenge Over"); format(string,sizeof(string),"You came second in the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[1]); PlayerTextDrawSetString(i,CriminalDamage[i][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[1]][pMoney] +=4500; } } print("checking event 7..."); PlayerPos[i] = 0; SetTimerEx("HideCD", 10000, 0, "i",i); } print("checking event 8..."); } }
Код:
switch(event[eType]) { case 3: { print("checking event 1..."); new BestScore[3],BestID[3],string[194]; Event[eStarted] = 0; Event[eStartTime] = 0; Event[eTimeLeft] = 0; foreach(InSTC,i) { print("checking event 2..."); if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; return true; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; } print("checking event 3..."); PlayerInfo[i][PlayerEventScore] = 0; PlayerInfo[i][PlayerInEvent] = 0; Iter_Remove(InSTC,i); print("checking event 4..."); switch(PlayerPos[i]) { case 1: { print("checking event 5..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"WINNER"); format(string,sizeof(string),"You won the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[0]); PlayerTextDrawSetString(BestID[0],CriminalDamage[BestID[0]][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[0]][pMoney] +=9500; } case 2: { print("checking event 6..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"Challenge Over"); format(string,sizeof(string),"You came second in the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[1]); PlayerTextDrawSetString(i,CriminalDamage[i][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[1]][pMoney] +=4500; } } print("checking event 7..."); PlayerPos[i] = 0; SetTimerEx("HideCD", 10000, 0, "i",i); } print("checking event 8..."); } } Try removing it: Код:
switch(event[eType]) { case 3: { print("checking event 1..."); new BestScore[3],BestID[3],string[194]; Event[eStarted] = 0; Event[eStartTime] = 0; Event[eTimeLeft] = 0; foreach(InSTC,i) { print("checking event 2..."); if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; } print("checking event 3..."); PlayerInfo[i][PlayerEventScore] = 0; PlayerInfo[i][PlayerInEvent] = 0; Iter_Remove(InSTC,i); print("checking event 4..."); switch(PlayerPos[i]) { case 1: { print("checking event 5..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"WINNER"); format(string,sizeof(string),"You won the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[0]); PlayerTextDrawSetString(BestID[0],CriminalDamage[BestID[0]][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[0]][pMoney] +=9500; } case 2: { print("checking event 6..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"Challenge Over"); format(string,sizeof(string),"You came second in the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[1]); PlayerTextDrawSetString(i,CriminalDamage[i][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[1]][pMoney] +=4500; } } print("checking event 7..."); PlayerPos[i] = 0; SetTimerEx("HideCD", 10000, 0, "i",i); } print("checking event 8..."); } } |
I'm not pretty sure but what's that IntSTC from foreach? ( Sorry if it's a dumb question, I got a break of SA:MP scripting and I totally forgot some basic stuff )
|
CMD:event(playerid,params[]) { if(PlayerInfo[playerid][PlayerMode] != 2) return GameTextForPlayer(playerid,"~g~you are not in freeroam",4000,3); if(PlayerInfo[playerid][PlayerInEvent] != 0) return GameTextForPlayer(playerid,"~g~you already in event",4000,3); switch(Event[eType]) { case 1: //removed case 2: //removed case 3: { PlayerInfo[playerid][pInCriminalFight] = 0; PlayerInfo[playerid][pCriminalMoney] = 0; PlayerInfo[playerid][PlayerEventScore] = 0; PlayerInfo[playerid][PlayerInEvent] = 3; Iter_Add(InSTC,playerid); SendClientMessage(playerid,-1,"The Vehicles Stolen Challenge will begin shortly. Steal the most vehicles."); } } return true; }
if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; return true; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; }
print("checking event 1..."); new string[194]; Event[eStarted] = 0; Event[eStartTime] = 0; Event[eTimeLeft] = 0; foreach(new i : InSTC) { print("checking event 2..."); if(PlayerInfo[i][PlayerEventScore] > BestScore[0]) { BestScore[0] = PlayerInfo[i][PlayerEventScore]; BestID[0] = i; PlayerPos[BestID[0]] = 1; } else if(PlayerInfo[i][PlayerEventScore] > BestScore[1] && PlayerInfo[i][PlayerEventScore] < BestScore[0]) { BestScore[1] = PlayerInfo[i][PlayerEventScore]; BestID[1] = i; PlayerPos[BestID[1]] = 2; } print("checking event 3..."); PlayerInfo[i][PlayerEventScore] = 0; PlayerInfo[i][PlayerInEvent] = 0; print("checking event 4..."); switch(PlayerPos[i]) { case 1: { print("checking event 5..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"WINNER"); format(string,sizeof(string),"You won the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[0]); PlayerTextDrawSetString(BestID[0],CriminalDamage[BestID[0]][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[0]][pMoney] +=9500; } case 2: { print("checking event 6..."); PlayerTextDrawSetString(i,CriminalDamage[i][1],"Challenge Over"); format(string,sizeof(string),"You came second in the Vehicles Stolen Challenge with a score of %d vehicles",BestScore[1]); PlayerTextDrawSetString(i,CriminalDamage[i][2],string); for(new sh = 0; sh < 3; sh++) PlayerTextDrawShow(i,CriminalDamage[i][sh]); PlayerInfo[BestID[1]][pMoney] +=4500; } } print("checking event 7..."); PlayerPos[i] = 0; SetTimerEx("HideCD", 10000, 0, "i",i); Iter_Remove(InSTC,i); } print("checking event 8...");
[01:28:44] checking event 1... [01:28:44] checking event 2... [01:28:44] checking event 3... [01:28:44] checking event 4... [01:28:44] checking event 5... [01:28:44] checking event 7... [01:28:44] checking event 2... [01:28:44] [debug] Run time error 4: "Array index out of bounds" [01:28:44] [debug] Accessing element at index 1001 past array upper bound 999 [01:28:44] [debug] AMX backtrace: [01:28:44] [debug] #0 0026a674 in ?? () from new.amx [01:28:44] [debug] #1 0026b514 in public OneMinute () from new.amx
if(Event[eStarted] == 1 && Event[eTimeLeft] > 0) { Event[eTimeLeft]--; if(Event[eTimeLeft] == 0) EndEvent(); }