[POMOC' public OnPlayerDeath!


Započeo sch, Novembar 10, 2014, 01:04:25 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

sch

*

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):
Pawn Scripting Arbaiter
Willfried Schafer