12.08.2011, 22:43
galera, acabei de criar um anti-db simples, porйm eficiente, mas tenho uma dъvida que preciso tirar, para acabar com um pequeno bug.
como eu faзo uma pausa(timer) na leitura do script sem usar uma nova callback e settimer ou settimer ex; a nao ser que vcs tenham uma forma de usar settimer(killerid), porque esse linha...
... estб funcionando para o playerid e killerid, fazendo com que o killerid seja restaurado junto com o playerid, assim fazendo o map nao carregar e ele ficar com todo o server "invisivel", podendo ver soh a skin dele.
como eu faзo isso?
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
new vitima[MAX_PLAYER_NAME], acusado[MAX_PLAYER_NAME], string[115];
if(IsPlayerInAnyVehicle(killerid))
{
if(GetVehicleModel(GetPlayerVehicleID(killerid)) != 425 || GetVehicleModel(GetPlayerVehicleID(killerid)) != 520 || GetVehicleModel(GetPlayerVehicleID(killerid)) != 447)
{
SendClientMessage(killerid, COLOR_ADMIN,"Vos hice drive-by, no hagas mas eso, puede ser expulsado.");
GetPlayerPos(playerid, Xp, Yp, Zp);
SpawnPlayer(playerid);
timerdb = SetTimer("SetPos", 3000, 0);
SetPlayerArmour(playerid, 20);
SendClientMessage(playerid, COLOR_ADMIN, "Gaсaste un chaleco con 20 de cantidad, y fuiste restaurado, Cuidate!");
GetPlayerName(killerid, acusado, sizeof(acusado));
GetPlayerName(playerid, vitima, sizeof(vitima));
format(string, sizeof(string), "SERVER:%s fue encarcelado por hacer drive-by en %s[tiempo: 2 minutos].", acusado, vitima);
SendClientMessageToAll(COLOR_RED, string);
SerPreso(killerid);
}
}
return 1;
}
forward SetPos(playerid);
public SetPos(playerid)
{
SetPlayerPos(playerid, Xp, Yp, Zp);
KillTimer(timerdb);
return 0;
}
forward SerPreso(playerid);
public SerPreso(playerid)
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 198.2359,174.5948,1003.0234);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 12, 1);
SendClientMessage(playerid, COLOR_ADMIN, "!Disfruta del consolador mientras que estas en la carcel.");
SetTimer("SerSolto", 120000, 0);
return 0;
}
forward SerSolto(playerid);
public SerSolto(playerid)
{
GivePlayerMoney(playerid, -500);
SpawnPlayer(playerid);
SendClientMessage(playerid, COLOR_YELLOW, "INFO: Vos fuistes liberado, no hagas mas drive-by");
return 0;
}
pawn Код:
timerdb = SetTimer("SetPos", 3000, 0);
como eu faзo isso?