[Pedido] Comando de Prisгo para Adms
#1

Eae Galera estou a procura de um FS jб procurei em Muitos sites mais nгo Achei =\ Sou novato em PAWN.
Bom este FS й assim /Prender [ ID ] [ Minutos ] Sу para Admins Logado na Rcon.
Podem me Ajudar?
Reply
#2

Na parte do 'sу para admins logados na rcon', estude IsPlayerAdmin
Reply
#3

Para conseguir extrair os parвmetros, estude sscanf
Reply
#4

Exemplo:

PHP код:
new bool:tapreso[MAX_PLAYERS];
CMD:prender(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"Vocк nгo й um administrador.");
    new 
p2;
    
foipreso[p2] = true;
    
SetPlayerPos(p2xyz);
    
SetPlayerInterior(p26);
    return 
1;

Explicaзгo:

PHP код:
new bool:tapreso[MAX_PLAYERS]; // Booleana global, true and false.
if(!IsPlayerAdmin(playerid)) // Irб verificar se o jogador que executou o comando й um administrador.
new p2// Variбvel criada que representarб o player prejudicado, ou seja, o que vai preso.
foipreso[p2] = 1// Poderб criar uma bool global, onde verificarб se o player estб ou nгo preso.
SetPlayerPos(p2xyz); // Posiзгo onde o player preso irб se localizar apуs a prisгo.
SetPlayerInterior(p2, ?); // Interior do local. 
Reply
#5

Tenta esse:

pawn Код:
CMD:prender(playerid, params[])
{
    new Tempo, Motivo[70];
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Vocк precisa ser admin nivel 3 para usar este comando!");
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Vocк precisa /trabalhar para usar esse comando!");
    if(sscanf(params, "uis", ID, Tempo, Motivo)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /prender [ID] [Tempo] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para prender um jogador na cadeia");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Prendeu {1B95E0}%s{00C2EC} por %d Segundos pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Tempo, Motivo);
    SendClientMessageToAll(AZUL_CLARO, String);
    new File:Presos = fopen("LLADMIN/Logs/Presos.log", io_append);
    fwrite(Presos, String);
    fclose(Presos);
    SetPlayerPos(ID, 264.6288,77.5742,1001.0391);
    SetPlayerInterior(ID, 6);
    PlayerDados[ID][Preso] = Tempo;
    TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", ID);
    return 1;
}
Reply
#6

Quote:
Originally Posted by HatedS
Посмотреть сообщение
Tenta esse:

pawn Код:
CMD:prender(playerid, params[])
{
    new Tempo, Motivo[70];
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Vocк precisa ser admin nivel 3 para usar este comando!");
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Vocк precisa /trabalhar para usar esse comando!");
    if(sscanf(params, "uis", ID, Tempo, Motivo)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /prender [ID] [Tempo] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para prender um jogador na cadeia");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Prendeu {1B95E0}%s{00C2EC} por %d Segundos pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Tempo, Motivo);
    SendClientMessageToAll(AZUL_CLARO, String);
    new File:Presos = fopen("LLADMIN/Logs/Presos.log", io_append);
    fwrite(Presos, String);
    fclose(Presos);
    SetPlayerPos(ID, 264.6288,77.5742,1001.0391);
    SetPlayerInterior(ID, 6);
    PlayerDados[ID][Preso] = Tempo;
    TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", ID);
    return 1;
}
Vai imprimir erros.

-

@Edit: Vai imprimir alguns erros porque alguns sнmbolos nгo estгo definidos. Ou seja, a enum "pode" nгo ter no GM dele.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)