06.07.2012, 16:35
Quote:
|
pawn Код:
pawn Код:
pawn Код:
Explicaзгo do CHAR. pawn Код:
|
PHP код:
new array[10 char];
PHP код:
array[1];
Logo
array[5] nгo irб ser acessada ..
Por este motivo, ao usar CHAR devemos obrigatoriamente usar:
PHP код:
array{0}
--------
Ficaria assim:
pawn Код:
// Aqui. Como usamos muitas variaves vocк pode usar "CHAR" em Spree e Timer"
// Tenho certeza que o cara nгo mataria 255 em menos de 5 segundos e tambйm seu servidor nгo teria 255 timers
new Spree[MAX_PLAYERS], Kills[MAX_PLAYERS], Timer[MAX_PLAYERS];
public OnPlayerDeath(playerid, killerid, reason)
{
// AQUI. Por questгo de "arrumaзгo" vocк pode dar MAX_PLAYER_NAME. Imagina se a SA:MP muda o tamanho total do nick. seu cуdigo iria bugar
new String[32], PlayerName[24], MatouName[24];
++Spree[killerid];
++Kills[killerid];
// Nгo use SIZEOF ARRAY. Pra que medir o tamanho de uma array se vocк pode colocar MAX_PLAYER_NAME
GetPlayerName(playerid, PlayerName, sizeof(PlayerName)), GetPlayerName(killerid, MatouName, sizeof(MatouName));
format(String, sizeof(String), "MORTO: %s", MatouName);
GameTextForPlayer(playerid, String, 2000, 0);
format(String, sizeof(String), "MATOU: %s", PlayerName);
GameTextForPlayer(killerid, String, 2000, 0);
// Gustavo aqui vocк DEVE usar switch case por ser muito mais rбpido que ELSES ou IF
/// APENAS FORMATE A STRING NAS CONDICIONAIS. Deixe o GameText por ultimo.
///
if(Spree[killerid] == 1) format(String, sizeof(String), "%d KILLS", Spree[killerid]), GameTextForPlayer(killerid, String, 2000, 3);
else if(Spree[killerid] == 2) GameTextForPlayer(killerid, "DOUBLE KILL", 2000, 1);
else if(Spree[killerid] == 3) GameTextForPlayer(killerid, "TRIPLE KILL", 2000, 1);
else if(Spree[killerid] == 4) GameTextForPlayer(killerid, "MULTI KILL", 2000, 1);
else if(Spree[killerid] == 5) GameTextForPlayer(killerid, "FANTASTIC!", 2000, 1);
else if(Spree[killerid] >= 6) format(String, sizeof(String), "INCRIVEL %d!!!", Spree[killerid]), GameTextForPlayer(killerid, String, 2000, 3);
KillTimer(Timer[killerid]);
SetTimerEx("PassarTempoKill", 5000, false, "i", playerid);
return 1;
}
// Nгo precisa especificar o tipo de variбvel pъblica. Tire o forward, deixe apenas o nome dela
forward PassarTempoKill(playerid);
// PassarTempoKill(playerid); <- assim
public PassarTempoKill(playerid)
{
Spree[playerid] = 0;
return 1;
}


