GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: ~BlackStyler~ - 2011. november 02. - 22:03:47

Cím: Rendõr rádió..
Írta: ~BlackStyler~ - 2011. november 02. - 22:03:47
Sziasztok mpst egy kicsi kerdesem lenne. Valaki tudd adni nekem egy egy fs ami gteam all megyen vagyis egy radio csakis a rendorok hasznalhasak ez a parancsot a gteamban ez legyen TEAM_COP es a radio parancsa /r koszonom a jutalmat megadom! :D
Cím: Rendõr rádió..
Írta: ]XziBiT[ - 2011. november 03. - 07:12:11
Mód elejére:
 
#include <a_samp>
#define COLOR_LIGHTBLUE   0xF6BB0AA
#define TEAM_COP 100
new gTeam[MAX_PLAYERS];

 
A többi public közé.
 
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, \"/r\", true, 3)) // 3 is the length of /me
    {
if(gTeam[playerid] == TEAM_COP)
{
    if(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, \"Használd: /r [szöveg]\");
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), \"R Rádió %s: %s\", str, cmdtext[4]);
        SendClientMessageToAll(COLOR_LIGHTBLUE, str);
}else{
SendClientMessage(playerid, 0xE60000FF, \"Te nem vagy rendõr!\");
}
        return 1;
    }
    return 0;
}

 
Nem teszteltem remélem jó. :)
Cím: Rendõr rádió..
Írta: Kovacs_Bela - 2011. november 03. - 12:57:03
úr isten. a játékos nevét formázod majd elküldöd? szép!
Off: copy? \"3 is the length of /me\"
Amúgy
[pawn]
#include <a_samp>
#include <zcmd>
#include <sscanf2>
new gTeam[MAX_PLAYERS];
#define TEAM_COP 52[/pawn]
akárhova csak ne publicba hanem mondjuk a mod végére:
[pawn]CMD:r(playerid,params[])
{
    if(gTeam[playerid]==TEAM_COP)
    {
        new uzenet[128];
        if(sscanf(params,\"s[128]\",uzenet)) return SendClientMessage(playerid,0xff0000ff,\"Használd: /r (üzenet)\");
        new name[24],msg[128];
        GetPlayerName(playerid,name,24);
        format(msg,128,\"RendõrRádió {ffffff}%s{ff0000}: %s\",name,uzenet);
        for(new i; i < MAX_PLAYERS; i++)
        {
            if(gTeam == TEAM_COP)

            {


                SendClientMessage(i,0xff0000ff,msg);


            }


        }


    }


    else SendClientMessage(playerid,0xff0000ff,\"Nem vagy rendõr!!\");


    return 1;


}


[/pawn]


a szineket megváltoztathatod..
Cím: Rendõr rádió..
Írta: ~BlackStyler~ - 2011. november 03. - 18:34:09
Van egy kiss bajj robot azt írja nekem hogy undefined \"params\" ?
Cím: Rendõr rádió..
Írta: kadaradam - 2011. november 03. - 18:37:25
Gondolom nem zcmd-be vagy dcmd-be másoltad be!
Cím: Rendõr rádió..
Írta: ~BlackStyler~ - 2011. november 03. - 18:38:24
igen jól gondoltad :P Hogyan csináljam másképpen mert ha cmdtext teszek a params helyére akkor unknow commandot ír a szerveren :(
Cím: Rendõr rádió..
Írta: kadaradam - 2011. november 03. - 19:37:51
[pawn]#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == \'\\0\') && (dcmd_%1(playerid, \"\"))) || (((%3)[(%2) + 1] == \' \') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1[/pawn]
OnPLayerCommandText:
[pawn]dcmd(r,1,cmdtext);[/pawn]
Mindegy hogy hova,csak ne lógjon bele más callback-be,akár a GM végére is rakhatod:
[pawn]dcmd_r(playerid,params[])
   {
   if(gTeam[playerid]==TEAM_COP)
    {
        new uzenet[128];
        if(sscanf(params,\"s[128]\",uzenet)) return SendClientMessage(playerid,0xff0000ff,\"Használd: /r (üzenet)\");
        new name[24],msg[128];
        GetPlayerName(playerid,name,24);
        format(msg,128,\"RendõrRádió {ffffff}%s{ff0000}: %s\",name,uzenet);
        for(new i; i < MAX_PLAYERS; i++)
        {
            if(gTeam == TEAM_COP)

            {


                SendClientMessage(i,0xff0000ff,msg);


            }


        }


    }


    else SendClientMessage(playerid,0xff0000ff,\"Nem vagy rendõr!!\");


    return 1;


}[/pawn]
Cím: Rendõr rádió..
Írta: ~BlackStyler~ - 2011. november 03. - 19:40:34
Hm kossz szepen megyen megyen a +