[Ajuda] Erro
#1

Code:
3:33:45] [debug] Run time error 4: "Array index out of bounds"
[23:33:45] [debug]  Accessing element at index 56 past array upper bound 49
[23:33:45] [debug] AMX backtrace:
[23:33:45] [debug] #0 0001a3bc in public ab_GivePlayerWeapon (2, 56, 900) from OLA.amx
[23:33:45] [debug] #1 002c2d80 in public cmd_dararma (2, 14216372) from OLA.amx
[23:33:45] [debug] #2 native CallLocalFunction () from samp03svr
[23:33:45] [debug] #3 0000f7f4 in ?? (2, 14216300) from OLA.amx
[23:33:45] [debug] #4 000068f0 in public OnPlayerCommandText (2, 14216300) from OLA.amx
Cada hora aparece um erro desse so que cada vez aparece em um comando, ja tentei arrumar de todo jeito , alguem saiba oque pode ser? ta causando crash em meu servidor...
Reply
#2

o erro ta no CMD:dararma

Poste ele.
Reply
#3

ja tem um bom tempo, acha que o problema seja em algum comando?, ja coloquei muitas coisas ai nгo sei oque pode ser
Reply
#4

Quote:
Originally Posted by BrunoLuiz
View Post
ja tem um bom tempo, acha que o problema seja em algum comando?, ja coloquei muitas coisas ai nгo sei oque pode ser
#0 0001a3bc in public ab_GivePlayerWeapon (2, 56, 900) from OLA.amx
[23:33:45] [debug] #1 002c2d80 in public cmd_dararma (2, 14216372) from OLA.amx
[23:33:45] [debug] #2 native CallLocalFunction () from samp03svr
[23:33:45] [debug] #3 0000f7f4 in ?? (2, 14216300) from OLA.amx
[23:33:45] [debug] #4 000068f0 in public OnPlayerCommandText (2, 14216300) from OLA.amx

Poste tudo relacionado ao comando DARARMA ..
todas as defines publics etc.. que vocк usou para criar ele.
Reply
#5

Code:
	CMD:dararma(playerid, params[])
	{
			new playa;
			new gun;
			new ammo;
			if(sscanf(params, "udd", playa, gun, ammo))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /dararma [id] [arma id(ex. 24 = Eagle)] [muniзгo]");
				return true;
			}
    	    new string[128];
			if(ammo < 1 || ammo > 999)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   O minimo de muniзгo й 1 e o mбximo й 999!");
				return true;
			}
			if (PlayerInfo[playerid][pAdmin] >= 4)
			{
       			if(!admtrampando[playerid])
					return SendClientMessage(playerid, COLOR_GRAD1, " Vocк nгo pode usar este comando, pois nгo estб em modo trabalho!");

			    if(IsPlayerConnected(playa))
			    {
	        		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					GivePlayerWeapon(playa, gun, ammo);
					format(string, sizeof(string), "Admin: %s deu arma (%s com %d balas) para %s", sendername, NomeArma(gun), ammo, giveplayer);
                    ABroadCast(COLOR_LIGHTGREEN,string,1);
					BPFLogs("comandosadmin", string);
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo esta autorizado a usar este comando!");
			}
			return true;
	}
Code:
	CMD:pagar(playerid, params[])
	{
	        if(PlayerInfo[playerid][pJailed] >= 1)
	        {
	            SendClientMessage(playerid, COLOR_GRAD1, "  Vocк nгo pode usar este comando na cadeia");
	            return 1;
			}
			new dindin;
			if(sscanf(params, "ud", giveplayerid, dindin))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: /pagar [id] [quantidade]");
				return true;
			}
			if(admtrampando[giveplayerid] != 0 && PlayerInfo[giveplayerid][pAdmin] >= 1)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo pode pagar para admins em trabalho!");
			    return true;
			}
			if(dindin > 1000 && PlayerInfo[playerid][pLevel] < 2)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Vocк precisa ser nнvel 2 ou mais para pagar mais que R$ 1000");
				return true;
			}
			if(dindin < 1 || dindin > 100000)
			{
			    SendClientMessage(playerid, COLOR_GRAD1, "Pagamento mнnimo 1, mбximo 100000 por vez");
			    return true;
			}
   			new string[128];
			if (IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
			        if(PlayerInfo[giveplayerid][pLocal] == 106)
					{
						SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode usar este comando neste local");
						return true;
					}
					if (ProxDetectorS(5.0, playerid, giveplayerid))
					{
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						playerdinheiro = GetPlayerMoney(playerid);
						if (playerdinheiro >= dindin)
						{
							GivePlayerMoney(playerid, (0 - dindin));
							GivePlayerMoney(giveplayerid, dindin);
							format(string, sizeof(string), "   Vocк pagou %s(Para: %d), R$%d.", giveplayer,giveplayerid, dindin);
							PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
							SendClientMessage(playerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "   Vocк recebeu R$%d de %s(ID: %d).", dindin, sendername, playerid);
							SendClientMessage(giveplayerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "%s deu grana para %s", sendername, giveplayer);
							BPFLogs("pay", string);
							//ABroadCast(COLOR_YELLOW,string,1);
							PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
							format(string, sizeof(string), "* %s pagou para %s.", sendername ,giveplayer);
							SendClientMessageInRange(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						}
						else
						{
							SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo estб com essa grana no bolso.");
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "   Jogador estб longe.");
					}
				}//invalid id
			}
			else
			{
				format(string, sizeof(string), "   %d nгo й um jogador ativo.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
			return true;
	}
Ta dando nesses 2 , da em varios comandos...
Reply
#6

Quote:
Originally Posted by BrunoLuiz
View Post
Code:
	CMD:dararma(playerid, params[])
	{
			new playa;
			new gun;
			new ammo;
			if(sscanf(params, "udd", playa, gun, ammo))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /dararma [id] [arma id(ex. 24 = Eagle)] [muniзгo]");
				return true;
			}
    	    new string[128];
			if(ammo < 1 || ammo > 999)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   O minimo de muniзгo й 1 e o mбximo й 999!");
				return true;
			}
			if (PlayerInfo[playerid][pAdmin] >= 4)
			{
       			if(!admtrampando[playerid])
					return SendClientMessage(playerid, COLOR_GRAD1, " Vocк nгo pode usar este comando, pois nгo estб em modo trabalho!");

			    if(IsPlayerConnected(playa))
			    {
	        		GetPlayerName(playa, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					GivePlayerWeapon(playa, gun, ammo);
					format(string, sizeof(string), "Admin: %s deu arma (%s com %d balas) para %s", sendername, NomeArma(gun), ammo, giveplayer);
                    ABroadCast(COLOR_LIGHTGREEN,string,1);
					BPFLogs("comandosadmin", string);
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo esta autorizado a usar este comando!");
			}
			return true;
	}
Code:
	CMD:pagar(playerid, params[])
	{
	        if(PlayerInfo[playerid][pJailed] >= 1)
	        {
	            SendClientMessage(playerid, COLOR_GRAD1, "  Vocк nгo pode usar este comando na cadeia");
	            return 1;
			}
			new dindin;
			if(sscanf(params, "ud", giveplayerid, dindin))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USE: /pagar [id] [quantidade]");
				return true;
			}
			if(admtrampando[giveplayerid] != 0 && PlayerInfo[giveplayerid][pAdmin] >= 1)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo pode pagar para admins em trabalho!");
			    return true;
			}
			if(dindin > 1000 && PlayerInfo[playerid][pLevel] < 2)
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Vocк precisa ser nнvel 2 ou mais para pagar mais que R$ 1000");
				return true;
			}
			if(dindin < 1 || dindin > 100000)
			{
			    SendClientMessage(playerid, COLOR_GRAD1, "Pagamento mнnimo 1, mбximo 100000 por vez");
			    return true;
			}
   			new string[128];
			if (IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
			        if(PlayerInfo[giveplayerid][pLocal] == 106)
					{
						SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode usar este comando neste local");
						return true;
					}
					if (ProxDetectorS(5.0, playerid, giveplayerid))
					{
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						playerdinheiro = GetPlayerMoney(playerid);
						if (playerdinheiro >= dindin)
						{
							GivePlayerMoney(playerid, (0 - dindin));
							GivePlayerMoney(giveplayerid, dindin);
							format(string, sizeof(string), "   Vocк pagou %s(Para: %d), R$%d.", giveplayer,giveplayerid, dindin);
							PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
							SendClientMessage(playerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "   Vocк recebeu R$%d de %s(ID: %d).", dindin, sendername, playerid);
							SendClientMessage(giveplayerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "%s deu grana para %s", sendername, giveplayer);
							BPFLogs("pay", string);
							//ABroadCast(COLOR_YELLOW,string,1);
							PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
							format(string, sizeof(string), "* %s pagou para %s.", sendername ,giveplayer);
							SendClientMessageInRange(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						}
						else
						{
							SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo estб com essa grana no bolso.");
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "   Jogador estб longe.");
					}
				}//invalid id
			}
			else
			{
				format(string, sizeof(string), "   %d nгo й um jogador ativo.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
			return true;
	}
Ta dando nesses 2 , da em varios comandos...
Cara, dб pra vocк resumir bastante as funзхes. Existem muitos brackets desnecessбrios aн
Reply
#7

Dei uma reduzida vк se estб funcional, estou fazendo o /pagar agora.
PHP Code:
CMD:dararma(playeridparams[])
{
    new 
playagunammostring[128];
    if(
sscanf(params"udd"playagunammo)) return SendClientMessage(playeridCOLOR_GRAD2"USE: /dararma [id] [arma id(ex. 24 = Eagle)] [muniзгo]");
    if(
ammo || ammo 999) return SendClientMessage(playeridCOLOR_GRAD1"O minimo de muniзгo й 1 e o mбximo й 999!");
    if(
PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playeridCOLOR_GRAD1"   Vocк nгo esta autorizado a usar este comando!");
    if(!
admtrampando[playerid]) return SendClientMessage(playeridCOLOR_GRAD1" Vocк nгo pode usar este comando, pois nгo estб em modo trabalho!");
    if(
IsPlayerConnected(playa))
    {
        
GetPlayerName(playagiveplayersizeof(giveplayer));
        
GetPlayerName(playeridsendernamesizeof(sendername));
        
GivePlayerWeapon(playagunammo);
        
format(stringsizeof(string), "Admin: %s deu arma (%s com %d balas) para %s"sendernameNomeArma(gun), ammogiveplayer);
        
ABroadCast(COLOR_LIGHTGREEN,string,1);
        
BPFLogs("comandosadmin"string);
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)