Pawn.CMD flags

22. Feb. 2019.
966
pregleda
6
postova
sTrumF
4
Enforcer
22. Feb. 2019.
Problem(error/warning): Pawn.CMD flags
Dio skripte:
public OnPlayerCommandReceived(playerid, cmd[], params[], flags) 
{
    if (!(flags & PlayerInfo))
    {
        printf("Ne možeÅ¡ koristiti ovu komandu!");
        return 0;
    }

    return 1;
}


Bezvezna komanda na kojoj testiram:
flags:time(CMD_ADMIN);
COMMAND:time(playerid, params[])
{
new hour, minute, second, name, string[256 + MAX_PLAYER_NAME];
gettime(hour, minute, second);
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), ""INFO"%s trenutno RL vrijeme je: %d:%d:%d", name, hour, minute, second);
SendClientMessage(playerid, -1, string);
return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):/
Slika/video ingame problema(obavezno ako je ingame problem): /

Kako da koristim Pawn.CMD flagove umjesto da u komandi provjeravam da li je igrač admin?

Početnik sam i ovo me zbunjuje.

Evo neki dijelovi skripte:

Kako se pravi? Zamolio bih moderatora, ukoliko sam fulio prefix da mi progleda kroz prste ovaj put. Hitno mi je ovo  🙂
Exnas.pwn
5
Godfather
22. Feb. 2019.
WTF je ova provera za admina bez uvrede ali ako procitas sta tu pise znacilo bi da ako igrac nije admin da u server logu ispisuje ne mozete koristiti ovu komandu  😕
sTrumF
4
Enforcer
22. Feb. 2019.
Znam to, nisam ni pokusao praviti jer sam skroz zbunjen

Ako mi može neko taj 1 flag napravit samo za admina bio bih mu zahvalan
Freddyâ„¢
4
Made Man
22. Feb. 2019.
Guglaj malo na SAMP forumu imas sve
#include  

enum (<<= 1)
{
    CMD_ADMIN = 1, // 0b00000000000000000000000000000001
    CMD_MODER,    // 0b00000000000000000000000000000010
    CMD_JR_MODER  // 0b00000000000000000000000000000100
};

new pPermissions;

flags:ban(CMD_ADMIN);
cmd:ban(playerid, params[])
{
    // code here
    return 1;
}
alias:ban("block");

flags:kick(CMD_ADMIN | CMD_MODER);
cmd:kick(playerid, params[])
{
    // code here
    return 1;
}

flags:jail(CMD_ADMIN | CMD_MODER | CMD_JR_MODER);
cmd:jail(playerid, params[])
{
    // code here
    return 1;
}

public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
{
    if (!(flags & pPermissions))
    {
        printf("player %d doesn’t have access to command '%s'", playerid, cmd);

        return 0;
    }

    return 1;
}

public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
{
    if(result == -1)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Unknown command.");

        return 0;
    }

    return 1;
}

public PC_OnInit()
{
    const testAdminPlayerId = 1, testModerPlayerId = 2, testJrModerPlayerId = 3, testSimplePlayerId = 4;

    pPermissions = CMD_ADMIN | CMD_MODER | CMD_JR_MODER;
    pPermissions = CMD_MODER | CMD_JR_MODER;
    pPermissions = CMD_JR_MODER;
    pPermissions = 0;

    PC_EmulateCommand(testAdminPlayerId, "/ban 4 some reason"); // ok
    PC_EmulateCommand(testModerPlayerId, "/ban 8 some reason"); // not ok, moder doesn’t have access to 'ban'
    PC_EmulateCommand(testModerPlayerId, "/kick 15 some reason"); // ok
    PC_EmulateCommand(testModerPlayerId, "/jail 16 some reason"); // ok, moder can use commands of junior moderator
    PC_EmulateCommand(testJrModerPlayerId, "/jail 23 some reason"); // ok
    PC_EmulateCommand(testSimplePlayerId, "/ban 42 some reason"); // not ok
sTrumF
4
Enforcer
22. Feb. 2019.
znam to care, ali ne kontam taj kod

i kako da ga primjenim u svojoj skripti
sTrumF
4
Enforcer
23. Feb. 2019.
Svi neki skripteri, a niko da konkretno pomogne.  😄

Napravio sam.  🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha