31.03.2014, 22:42
oque tem de errado nessa public ? fica aparecendo [19:46:04] [debug] Run time error 4: "Array index out of bounds"
[19:46:04] [debug] Accessing element at index 65535 past array upper bound 499
[19:46:04] [debug] AMX backtrace:
[19:46:04] [debug] #0 0001e6a0 in ?? (0x00000000, 0x00000001) from SystemCasas.amx
[19:46:04] [debug] #1 000106c8 in public OnPlayerStateChange (0x00000000, 0x00000002, 0x00000001) from SystemCasas.amx
[19:46:04] [debug] Accessing element at index 65535 past array upper bound 499
[19:46:04] [debug] AMX backtrace:
[19:46:04] [debug] #0 0001e6a0 in ?? (0x00000000, 0x00000001) from SystemCasas.amx
[19:46:04] [debug] #1 000106c8 in public OnPlayerStateChange (0x00000000, 0x00000002, 0x00000001) from SystemCasas.amx
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
for(new car; car < sizeof(cInfo); car++)
{
if(GetPlayerVehicleID(playerid) == cInfo[car][HouseCar])
{
new str3[128];
new morador[256];
format(str3, sizeof(str3), "Casas/Casaid%d", cInfo[car][HouseCar]);
morador = dini_Get(str3, "Name");
format(hInfo[car][Name],256,morador);
new str1[256], msg[256];
format(str1, sizeof(str1), "Casas/Casaid%d", cInfo[car][HouseCar]);
new vehicleid = GetPlayerVehicleID(playerid);
if(VeiculoDono(playerid, vehicleid) == -1)
{
return 1;
}
if(VeiculoDono(playerid, vehicleid))
{
format(msg, 256, "{00BFFF}[INFO]{87CEFF} Seja bem vindo '%s' ao seu veiculo '%s'.", hInfo[car][Name], dini_Get(str1, "mensagemv"));
SendClientMessage(playerid, 0xFFFF00AA, msg);
return 1;
}
if(VeiculoRenter(playerid, vehicleid))
{
format(msg, 256, "{00BFFF}[INFO]{87CEFF} Morador '%s' Seja bem vindo ao veiculo '%s'.", hInfo[car][Renter], dini_Get(str1, "mensagemv"));
SendClientMessage(playerid, 0xFFFF00AA, msg);
}
else
{
if(dini_Int(str1, "liberado") == 1)
{
if(dini_Int(str1, "alarme") == 1)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
PlayerPlaySound(playerid, 1147, pos[0], pos[1], pos[2]);
format(msg, 256, "{00BFFF}[INFO]{87CEFF} Esse veнculo %s й de '%s', e ele deixou liberado e vocк pode dirigн-lo.", dini_Get(str1, "mensagemv"), hInfo[car][Name]);
SendClientMessage(playerid, 0xFF8000AA, msg);
TogglePlayerControllable(playerid, 1);
}
else if(dini_Int(str1, "alarme") == 0)
{
format(msg, 256, "{00BFFF}[INFO]{87CEFF} Esse veнculo %s й de '%s', e ele deixou liberado e vocк pode dirigн-lo.", dini_Get(str1, "mensagemv"), hInfo[car][Name]);
SendClientMessage(playerid, 0xFF8000AA, msg);
TogglePlayerControllable(playerid, 1);
}
}
else if(dini_Int(str1, "liberado") == 0)
{
if(dini_Int(str1, "alarme") == 1)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
PlayerPlaySound(playerid, 1147, pos[0], pos[1], pos[2]);
format(msg, 256, "{00BFFF}[INFO]{87CEFF} Esse veнculo %s й de '%s', e nгo estб liberado portanto vocк nгo pode dirigн-lo.", dini_Get(str1, "mensagemv"), hInfo[car][Name]);
SendClientMessage(playerid, 0xFF8000AA, msg);
RemovePlayerFromVehicle(playerid);
new NomeDono = GetPlayerIdFromName(hInfo[car][Name]);
if(IsPlayerConnected(NomeDono))
{
new StrRoubo[128];
format(StrRoubo, sizeof(StrRoubo), "(ALARME) %s tentou roubar seu veнculo, mas nгo obeteve sucesso pois estб trancado!", PlayerName(playerid));
SendClientMessage(NomeDono, 0xC0C0C0AA, StrRoubo);
}
}
else if(dini_Int(str1, "alarme") == 0)
{
format(msg, 256, "{00BFFF}[INFO]{87CEFF} Esse veнculo %s й de '%s', e nгo estб liberado portanto vocк nгo pode dirigн-lo.", dini_Get(str1, "mensagemv"), hInfo[car][Name]);
SendClientMessage(playerid, 0xFF8000AA, msg);
RemovePlayerFromVehicle(playerid);
new NomeDono = GetPlayerIdFromName(hInfo[car][Name]);
if(IsPlayerConnected(NomeDono))
{
new StrRoubo[128];
format(StrRoubo, sizeof(StrRoubo), "(ALARME) %s tentou roubar seu veнculo, mas nгo obeteve sucesso pois estб trancado!", PlayerName(playerid));
SendClientMessage(NomeDono, 0xC0C0C0AA, StrRoubo);
return 1;
}
}
}
}
}
}
}
return 1;
}