if(strcmp(cmd, "/cadeia",true) == 0) { if(IsPlayerConnected(playerid)) { new tempo[20]; new tempo2; if(PlayerInfo[playerid][pAdmin] < 1) { SendClientMessage(playerid, COLOR_GREY, " Vocк nгo esta autorizado para usar este comando!"); return true; } tmp = strtok(cmdtext, idx); tempo = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [Tempo] [Motivo]"); return true; } if(!strlen(tempo)) { SendClientMessage(playerid, COLOR_GRAD2, "USE: /cadeia [id] [Tempo] [Motivo]"); return true; } if(PlayerInfo[giveplayerid][pAdmin] >= 1339 && PlayerInfo[playerid][pAdmin] < SUB_GERENTE) { SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode prender um Admin Dono !"); return true; } giveplayerid = ReturnUser(tmp); tempo2 = strval(tempo); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "O Admin %s prendeu %s por %s minutos, Motivo: %s",PlayerName(playerid), giveplayer, tempo, (result)); SendClientMessageToAll(COLOR_LIGHTRED, string); if(admtrampando[playerid] == 1 && admhide[playerid] == 1) { SendClientMessage(giveplayerid, COLOR_LIGHTRED, "* Vocк esta preso na cadeia do admin"); } else { format(string, sizeof(string), "* Vocк foi preso, Pelo Admin: %s.", PlayerName(playerid)); SendClientMessage(giveplayerid, COLOR_LIGHTRED, string); } ResetPlayerWeaponsBPH(giveplayerid); WantedPoints[giveplayerid] = 0; NaoPodeDigitar[giveplayerid] = 1; SetPlayerWantedLevel(giveplayerid, 0); PlayerInfo[giveplayerid][pJailed] = 9; PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60; SetPlayerInterior(giveplayerid, 1); XXAirBreak[giveplayerid] += 2;SetPlayerPos(giveplayerid, 963.418762,2108.292480,1011.030273); } } else { SendClientMessage(playerid, COLOR_GREY, " O jogador estб offline !"); return true; } } return true; }
pAdmin == 5
//No seu comando
SetTimerEx("TempoDaCadeia", 1000, true, "i", giveplayerid);
//Em algum lugar do gamemode, onde nгo esteja dentro de chaves "{ }"
forward TempoDaCadeia(giveplayerid);
public TempoDaCadeia(giveplayerid)
{
PlayerInfo[giveplayerid][pJailTime]--;
if (PlayerInfo[giveplayerid][pJailTime] == 0)
{
PlayerInfo[giveplayerid][pJailed] = 0; //Aqui voce poem a variavel que "desseta" o player da cadeia
//Agora, termine de deolver as cosias pro player, tipo o chat, etc etc que voce bloqueou quando ele foi preso, Ponha dentro dessas chaves aqui
}
return 1;
}
Variбvel como o colega de cima disse й um valor que se atribui a um sнmbolo, no caso ele atribuiu o valor de 5 ao sнmbolo pAdmin.
PlayerInfo[giveplayerid][pJailed] = 9; PlayerInfo[giveplayerid][pJailTime] = tempo2 * 60; Essas suas as suas certo? Faltou um SetTimerEx("TempoDaCadeia", 1000, true, "i", giveplayerid); pawn Код:
|
Leia os comentбrios em verde, tб explicado lб. Ponha no seu comando, dentro das mesmas chaves que tem as variбveis da cadeia. Essa forward e etc poem no fim do seu GM.
LEIA OS COMENTARIOS EM VERDE PARA NAO TER BUGS!!! |