Skripta koju koristim: NL
Opis problema o kojem se radi: ZnaÄi kad odem i bacim se npr sa brda, ili umrem na neki drugi naÄin samosttalno izbaci mi ovu greÅ¡ku u server_logu:
[00:31:08] [debug] Run time error 4: "Array index out of bounds"
[00:31:08] [debug] Accessing element at index 65535 past array upper bound 99
[00:31:08] [debug] AMX backtrace:
[00:31:08] [debug] #0 002d8b7c in ?? (65535) from NLRPGv2.amx
[00:31:08] [debug] #1 001047c4 in ?? (0, 65535, 54) from NLRPGv2.amx
[00:31:08] [debug] #2 0000593c in public OnPlayerDeath (0, 65535, 54) from NLRPGv2.amx
[00:31:08] [death] Test_Igrac died 54
Dio skripte:
public OnPlayerDeath(playerid, killerid, reason)
{
if(IgracUWaru[playerid] == 0)
{
ServerInfo[sDeaths]++;
SaveServerStats();
IgracSpawnan[playerid] = 0;
HealthSynced[playerid] = 0;
Pancir[playerid] = 0;
ResetPlayerWeaponsEx(playerid);
antifakekill[playerid] ++;
ClearAnimations(playerid);
SetTimerEx("antifakekill2", 5,false,"i",playerid);
if(AdminUbio[playerid] == 0)
{
PI[playerid][Smrti]++;
if(IsPlayerConnected(killerid)) PI[killerid][Ubistava]++, PostaviZlocin(killerid, "Prvostepeno ubistvo", "Nepoznato");
if(!IgracPolicajac(playerid) || !IgracZastitar(playerid) && IsPlayerConnected(killerid)) h_SetPlayerWantedLevel(killerid, h_GetPlayerWantedLevel(killerid)+3);
else if(IgracPolicajac(playerid) && IsPlayerConnected(killerid)) h_SetPlayerWantedLevel(killerid, 6);
if(IgracPolicajac(killerid) || IgracZastitar(playerid) || PI[killerid][Clan] == 7) h_SetPlayerWantedLevel(killerid, 0);
if(h_GetPlayerWantedLevel(playerid) > 0)
{
NovacMinus(playerid, h_GetPlayerWantedLevel(playerid)*50);
SCMF(playerid, CRVENA, "Izgubili ste {FF6347}$%d {FF0000}zbog umiranja sa Wanted levelom {FF6347}%d.", h_GetPlayerWantedLevel(playerid)*50, h_GetPlayerWantedLevel(playerid));
h_SetPlayerWantedLevel(playerid, 0);
}
if(PI[playerid][Zavezan] == 1)
{
new rand = random(sizeof(Celije)), imex[MAX_PLAYER_NAME];
RPIme(playerid, imex);
SetPlayerPos_H(playerid, Celije[rand][0], Celije[rand][1], Celije[rand][2]);
SetPlayerFacingAngle(playerid, Celije[rand][3]);
PI[playerid][Zatvoren] = 1;
PI[playerid][ZatvorenVreme] = 1800;
PI[playerid][Zavezan] = 0;
SCM(playerid, CRVENA, "System Security | {FF6347}Umrli ste dok ste bili zavezani/uhapseni, idete u zatvor!");
format(CmdString, sizeof CmdString, "| Komanda: /zatvor | Izvrsio: System Security | Igrac: %s | Razlog: Umiranje pri hapsenju/otmici", imex);
UpisiLog(FAJL_KAZNELOG, CmdString);
}
}
AdminUbio[playerid] = 0;
if(hSmetlar[playerid] == true)
{
DestroyObject(hSmece[playerid]);
hSmetlar[playerid] = false;
h_DisablePlayerCheckpoint(playerid);
}
if(gPlayerUsingLoopingAnim[playerid])
{
gPlayerUsingLoopingAnim[playerid] = 0;
TextDrawHideForPlayer(playerid,txtAnimHelper);
}
GMDuznost[playerid] = 0;
AdminDuznost[playerid] = 0;
new ime[2][MAX_PLAYER_NAME];
if(IsPlayerConnected(killerid)) RPIme(killerid, ime[0]);
RPIme(playerid, ime[1]);
if(IsPlayerConnected(killerid) && GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
{
format(CmdString, 228, "System Security | {FFFFFF}Igrac: %s[ID: %d] || Drive by || Zrtva: %s[ID: %d] || Koristite /recon", ime[0], killerid, ime[1], playerid);
AdminPoruka(CRVENA, CmdString);
}
if(IsPlayerConnected(killerid) && PI[playerid][Nivo] <= 3)
{
format(CmdString, 228, "System Security | {FFFFFF}Igrac: %s[ID: %d] || Ubistvo igraca sa malim levelom || Zrtva: %s[ID: %d, nivo: %d]", ime[0], killerid, ime[1], playerid, PI[playerid][Nivo]);
AdminPoruka(CRVENA, CmdString);
}
}
if(IsPlayerConnected(killerid) && WarAktivan == true && IgracUWaru[playerid] == 1 && IgracUWaru[killerid] == 1)
{
WarUbistava[killerid]++;
WarSmrti[playerid]++;
new ss[5], xs[100], hIme[2][MAX_PLAYER_NAME];
if(PI[playerid][Clan] == PI[killerid][Clan])
{
if(PI[killerid][Clan] == WarTim1)
{
Tim1Skor -= 3;
format(ss, sizeof ss, "%d", Tim1Skor);
TextDrawSetString(WarTD4, ss);
}
else
{
Tim2Skor -= 3;
format(ss, sizeof ss, "%d", Tim2Skor);
TextDrawSetString(WarTD5, ss);
}
RPIme(killerid, hIme[0]);
RPIme(playerid, hIme[1]);
format(xs, 100, "(war info) %s je ubio svog saigraca %s, te je njegov tim dobio -3 poena.", hIme[0], hIme[1]);
WarPoruka(0x800080FF, xs);
IgracUWaru[playerid] = 1;
}
if(PI[killerid][Clan] == WarTim1 && PI[playerid][Clan] == WarTim2)
{
Tim1Skor++;
format(ss, sizeof ss, "%d", Tim1Skor);
TextDrawSetString(WarTD4, ss);
RPIme(killerid, hIme[0]);
RPIme(playerid, hIme[1]);
format(xs, 80, "(war info) %s je ubio protivnika %s.", hIme[0], hIme[1]);
WarPoruka(0x800080FF, xs);
}
else if(PI[killerid][Clan] == WarTim2 && PI[playerid][Clan] == WarTim1)
{
Tim2Skor++;
format(ss, sizeof ss, "%d", Tim2Skor);
TextDrawSetString(WarTD5, ss);
RPIme(killerid, hIme[0]);
RPIme(playerid, hIme[1]);
format(xs, 80, "(war info) %s je ubio protivnika %s.", hIme[0], hIme[1]);
WarPoruka(0x800080FF, xs);
}
IgracUWaru[playerid] = 1;
}
if(WarAktivan == true && IgracUWaru[playerid] == 1 && killerid == INVALID_PLAYER_ID)
{
if(killerid == INVALID_PLAYER_ID)
{
Tim1Skor -= 3;
format(ss, sizeof ss, "%d", Tim1Skor);
TextDrawSetString(WarTD4, ss);
RPIme(killerid, hIme[0]);
RPIme(playerid, hIme[1]);
format(xs, 100, "(war info) %s je izvrsio samoubistvo, te je njegov tim dobio -3 poena.", hIme[0], hIme[1]);
WarPoruka(0x800080FF, xs);
}
IgracUWaru[playerid] = 1;
}
return 1;
}
Slika (neobavezno):