Error crashdetect
#1

Hello, excuse me, I'm back, I'm having this problem with this command

Код:
debug] Run time error 4: "Array index out of bounds"
[debug]  Accessing element at negative index -1
[debug] AMX backtrace:
[debug] #0 002fec98 in public cmd_smaletero (0x00000008, 0x015a9000) from nlrp.amx
[debug] #1 native CallLocalFunction () [080dfac0] from samp03svr
[debug] #2 0002c388 in ?? (0x00000008, 0x015a8fb8) from nlrp.amx
[debug] #3 0000a250 in public OnPlayerCommandText (0x00000008, 0x015a8fb8) from nlrp.amx
Код:
[warning] client exceeded 'ackslimit' 181.27.203.158:62693 (6108) Limit: 5000/sec
CMD:

Код:
CMD:smaletero(playerid, params[])
{
	if(GetPVarInt(playerid, "IsInArena") == 1) {
		return SendClientMessageEx(playerid, ERROR, "Info: No puedes usar este comando mientras estбs en el paintball.");
	}
	else if(GetPVarInt( playerid, "EventToken") != 0) {
		return SendClientMessageEx(playerid, ERROR, "Info: No puedes usar este comando mientras estбs en un evento.");
	}
	else if(Info[playerid][pConnectTime] < 2 || Info[playerid][pWRestricted] > 0)
	{
		return SendClientMessageEx(playerid, ERROR, "Info: No puedes usar este comando ya que tienes restricciуn de armas.");
	}
	else if(GetPVarInt(playerid, "GiveWeaponTimer") >= 1) {

		/*new
			szMessage[59];*/

		format(szMessage, sizeof(szMessage), "   Necesitas esperar %d segundos despuйs de haber agarrado un arma.", GetPVarInt(playerid, "GiveWeaponTimer"));
		return SendClientMessageEx(playerid, ERROR, szMessage);
	}
	new
		Float: fVehPos[3],
		iWeaponSlot = strval(params);
	for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++) {
		if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) {
			GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], fVehPos[0], fVehPos[1], fVehPos[2]);
			if(IsPlayerInRangeOfPoint(playerid, 5.0, fVehPos[0], fVehPos[1], fVehPos[2])) {
				if(isnull(params)) {

					/*new
						szMessage[64];*/

					format(szMessage, sizeof(szMessage), "*** %s - %s ***", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]));
					SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
					for(new s = 0; s < 3; s++) if(PlayerVehicleInfo[playerid][d][pvWeapons][s] != 0) {

						new
							szWeapon[16];

						GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][s], szWeapon, sizeof(szWeapon));
						format(szMessage, sizeof(szMessage), "Ranura %d: %s", s+1, szWeapon);
						SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
					}
					return SendClientMessageEx(playerid, ERROR, "Uso: /smaletero (slot)");
				}
				else if(GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 509) {
					return SendClientMessageEx(playerid,COLOR_WHITE,"Ese vehiculo no tiene maletero.");
				}
				new
					engine, lights, alarm, doors, bonnet, boot, objective;
				GetVehicleParamsEx(PlayerVehicleInfo[playerid][d][pvId], engine, lights, alarm, doors, bonnet, boot, objective);

				if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET)
				{
					return SendClientMessageEx(playerid, ERROR, "Info: No puedes tomar armas del maletero, si estб cerrado {5ABAFF}/v maletero{FFFFFF} para abrirlo.");
				}
				else if(iWeaponSlot > PlayerVehicleInfo[playerid][d][pvWepUpgrade] + 1)
				{
					return SendClientMessageEx(playerid, COLOR_WHITE, "Ranura especнficada Invбlida {5ABAFF}/mejorarmaletero{FFFFFF}.");
				}
				else if(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] != 0) {
					/*new
						szMessage[128];*/
   				    if(Info[playerid][pManoDer] == 1) return SendClientMessageEx(playerid, ERROR, "Info: No puedes hacer esto si tienes algo en la mano derecha.");
    {
 		GivePlayerValidWeapon(playerid, PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]);
		PonerObjeto(playerid, 1, PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]);
					PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] = 0;
					format(szMessage, sizeof(szMessage), "Retiraste un %s del maletero de tu coche.", ObjetoInfo[PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]]);
					SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
					format(szMessage, sizeof(szMessage), "* %s ha retirado un objeto del maletero de su coche.", GetPlayerNameEx(playerid));
					return ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
				else return SendClientMessageEx(playerid, ERROR, "Info: No tienes un arma almacenada en esa ranura.");
			}
  }
  }
		return 1;
  }
Reply
#2

Can you please translate to english? So we can help you easily!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)