Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Simić poslato Avgust 04, 2019, 14:35:33 POSLE PODNE

Naslov: [TUT]Command report
Poruka od: Simić poslato Avgust 04, 2019, 14:35:33 POSLE PODNE
Pozdrav svima, danas cu vam pokazati kako da napravite Komandu /report.

Potrebni Includovi

ZCMD ->  Klikni me (https://www.mediafire.com/file/csrkgzlfwscr6bx/zcmd.inc/file)
SSCANF -> Klikni me (http://www.mediafire.com/folder/99842nmswg51e/SSCANF)


Prvi Korak:
Definisemo potrebne Includove

[pawn]
#include <a_samp>
#include <zcmd>
#include <sscanf>
[/pawn]

Drugi Korak:
Definisemo potrebne boje

[pawn]
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_LIME 0x10F441AA
[/pawn]

Treci Korak:
Pravimo Komandu report pomocu ZCMD-a

[pawn]
CMD:report(playerid, params[])
{
   return 1;
}
[/pawn]

Cetvrti Korak:
Definisemo ID i Razlog

[pawn]
new id;
new razlog[128];
[/pawn]

Peti Korak:
Sad koristimo include SSCANF da bi nam izasla poruka kako se koristi zeljena komanda

[pawn]
    if(sscanf(params, "us[128]", id, razlog)) return SendClientMessage(playerid, COLOR_ORANGE, "[SERVER] - Koristi: /report [ID] [razlog]");
    new string[150], sender[MAX_PLAYER_NAME], receiver[MAX_PLAYER_NAME];
[/pawn]

Sesti Korak:
Pravimo sad da adminu stigne report

[pawn]
    GetPlayerName(playerid, sender, sizeof(sender));
    GetPlayerName(id, receiver, sizeof(receiver));
    format(string, sizeof(string), "[ADMIN] - %s(%d) je reportovao igraca %s(%d)", sender, playerid, receiver, id);
    SendMessageToAdmins(string);
    format(string, sizeof(string), "[ADMIN] - Razlog: %s", razlog);
    SendMessageToAdmins(string);
[/pawn]

Sedmi Korak:
Igracu stize poruka da je uspesno reportovao igraca

[pawn]
SendClientMessage(playerid, COLOR_ORANGE, "Uspesno si reportovao igraca %s(%d], Razlog: %s.");
[/pawn]

Osmi Korak:
Definisemo SendMessageToAdmins

[pawn]
stock SendMessageToAdmins(text[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, COLOR_LIME, text);
        }
    }
}
[/pawn]


Ovako treba da izgleda cela Komanda

[pawn]
#include <a_samp>
#include <zcmd>
#include <sscanf>
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_LIME 0x10F441AA
////////////////////////////////////////////////////////////////////////////////
CMD:report(playerid, params[])
{
    new id;
    new razlog[128];
    if(sscanf(params, "us[128]", id, razlog)) return SendClientMessage(playerid, COLOR_ORANGE, "[SERVER] - : /report [ID] [razlog]");
    new string[150], sender[MAX_PLAYER_NAME], receiver[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sender, sizeof(sender));
    GetPlayerName(id, receiver, sizeof(receiver));
    format(string, sizeof(string), "[ADMIN] - %s(%d) je reportovao igraca %s(%d)", sender, playerid, receiver, id);
    SendMessageToAdmins(string);
    format(string, sizeof(string), "[ADMIN] - Razlog: %s", razlog);
    SendMessageToAdmins(string);
    SendClientMessage(playerid, COLOR_ORANGE, "Uspesno si reportovao igraca %s(%d], Razlog: %s.");
    return 1;
}
////////////////////////////////////////////////////////////////////////////////
stock SendMessageToAdmins(text[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerAdmin(i))
        {
            SendClientMessage(i, COLOR_LIME, text);
        }
    }
}
[/pawn]

To bi bilo to od ovog Tutoriala.
Ako vam bude izasao neki error ili warning slobodno napisite pa cu pokusati da resim.


P.S. Znam da sam pogresio Topic, ali ako neko zna de bi mogao da okacim ovaj TUT neka napise pa cu ga ja samo premestiti. Hvala unapred!
Naslov: Odg: [TUT]Command report
Poruka od: Simić poslato Avgust 04, 2019, 14:43:15 POSLE PODNE
Premesten u pravi Topic
http://balkan-samp.com/forum/index.php?topic=130374.0
LOCK!