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();
}