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; }