[TUT]Command report


Započeo Simić, Avgust 04, 2019, 14:35:33 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Pozdrav svima, danas cu vam pokazati kako da napravite Komandu /report.

Potrebni Includovi

ZCMD -> Klikni me
SSCANF -> Klikni me


Prvi Korak:
Definisemo potrebne Includove

#include <a_samp>
#include <zcmd>
#include <sscanf>


Drugi Korak:
Definisemo potrebne boje

#define COLOR_ORANGE 0xFF9900AA
#define COLOR_LIME 0x10F441AA


Treci Korak:
Pravimo Komandu report pomocu ZCMD-a

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


Cetvrti Korak:
Definisemo ID i Razlog

new id;
 new razlog[128];


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

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


Sesti Korak:
Pravimo sad da adminu stigne report

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


Sedmi Korak:
Igracu stize poruka da je uspesno reportovao igraca

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


Osmi Korak:
Definisemo SendMessageToAdmins

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



Ovako treba da izgleda cela Komanda

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


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!