28.02.2015, 17:42
Eaн, tranquilo?! Enfim, estou codando um game-mode porйm deu um certo bug no /prender.. Ao efetuar, ele prende certinho, spawna e tal mas na hora do tempo de ficar preso, ele fica por segundos.. Ou seja, eu dф /prender [id] 100 e ao invйs de ele ficar 100 minutos, ele vai ficar 100 segundos. Se alguйm puder me ajudar, agradeзo.
Код:
COMMAND:prisao(playerid, params[])
{
new timefixfix = timefix 60*60;
new targetid,timefix,string[128],price,sendername[MAX_PLAYER_NAME],giveplayer[MAX_PLAYER_NAME];
if(sscanf(params, "uiii", targetid, timefix,price)) SendClientMessage(playerid, COLOR_LIGHTRED, "USE: /prisao [id] [tempo(minutos)] [fianзa($2000-$80000)-($0 Nenhuma)]");
else
{
if (GetPVarInt(playerid, "PlayerLogged") == 0) return SendClientMessage(playerid, COLOR_WHITE, "Vocк deve estar logado para utilizar este comando.");
if (PlayerInfo[playerid][pdSuspensionDay] > 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Vocк estб atualmente suspenso da LSPD!");
// if (playerid == targetid) return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode prender vocк mesmo.");
if (!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_WHITE, "Este jogador nгo estб conectado !");
if(timefix < 1 || timefix > 3000) return SendClientMessage(playerid, COLOR_GREY, "O tempo nгo pode ser menor que 1 ou maior que 3000.");
if(price != 0)
{
if(price < 2000 || price > 80000) return SendClientMessage(playerid, COLOR_GREY, "A fianзa nгo pode ser menos que 2000 ou maior que 80000.");
}
if(GetPVarInt(playerid, "Member") == 6 || GetPVarInt(playerid, "Member") == 7)
{
if(PlayerToPlayer(playerid,targetid,5.0))
{
if(IsPlayerInRangeOfPoint(playerid,10.0,321.9542,314.4457,999.1484))
{
new timefixfix = timefix 60*60;
// if(GetPVarInt(targetid, "Strikes") >= 3) timefixfix = 999999999, SetPVarInt(targetid, "Changes", GetPVarInt(targetid, "Changes")+1);
format(sendername, sizeof(sendername), "%s", PlayerName(playerid)), format(giveplayer, sizeof(giveplayer), "%s", PlayerName(targetid));
GiveNameSpace(sendername), GiveNameSpace(giveplayer);
format(string, sizeof(string), "[Prisгo]: O oficial %s prendeu %s na San Andreas High Facility Prison.", sendername, giveplayer);
SendFactionMessage(7,COLOR_RED,string);
if(price == 0) format(string, sizeof(string), "Vocк foi preso por %d minutos, Fianзa: Nenhuma.", timefix);
else format(string, sizeof(string), "Vocк foi preso por %d minutos, Fianзa: $%d.", timefix, price);
SendClientMessage(targetid, COLOR_LIGHTRED, string);
// if(timefixfix == 999999999) SendClientMessage(playerid, COLOR_LIGHTRED, "Vocк foi preso perpetuamente, digite (/mudarnome) para sair.");
SetPVarInt(targetid, "Jailed", 3);
SetPlayerPos(targetid, 257.6676,1425.4663,10.5930);
SetPlayerInterior(targetid,0);
SetPlayerVirtualWorld(targetid,0);
SetPVarInt(targetid, "WantedLevel", 0);
// else SetPVarInt(targetid, "Jailed", 4), SetPlayerPos(targetid,257.6676,1425.4663,10.5930);
SetPVarInt(targetid, "Jailtime", timefix), SetPVarInt(targetid, "Arrest", GetPVarInt(targetid, "Arrest")+1);
SetPVarInt(targetid, "Cuffed", 60), SetPVarInt(targetid, "Cuffedtimefix", 60);
SetPVarInt(targetid, "InvWeapon", 0), SetPVarInt(targetid, "InvAmmo", 0);
SetPVarInt(targetid, "DuffleBag", 0), SetPVarInt(targetid, "Bomb", 0);
ResetPlayerWeaponsEx(targetid), RemovePlayerAttachedObject(targetid, HOLDOBJECT_GUN2);
TogglePlayerControllable(targetid,true);
for(new i = 0; i < 5; i++)
{
if(PlayerInfo[targetid][pTicket][i] > 0)
{
PlayerInfo[targetid][pTicket][i]=0;
strmid(TicketReason[targetid][i], "None", 0, strlen("None"), 255);
}
}
}
else SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб prуximo da prisгo.");
}
else SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб prуximo suficiente deste jogador.");
}
}
return 1;
}

