[Ajuda] /chatfamilia (/cf)
#1

Bom, consegui fazer o sistema de familia de outra forma, definida pelo nome usado.

Enfim queria fazer um chat para a familia da mesma forma, sendo autorizado apenas para quem tem o nome.

Stock dafamilia.

pawn Код:
stock DaFamilia(playerid, familia[])
{
    new NickName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, NickName, MAX_PLAYER_NAME);
    strdel(NickName, 0, strfind(NickName, "_") + 1);
    return (strcmp(NickName, familia)) ? (false) : (true);
}
como fica nos cmds.
pawn Код:
if(!strcmp(cmdtext, "/kitams", true))
    {
        if(!DaFamilia(playerid, "AmS")) return SendClientMessage(playerid, 0xFFFFFFAA, "Vocк nгo й da famнlia AmS !");
        GivePlayerWeapon(playerid, 32, 500);
        GivePlayerWeapon(playerid, 22, 500);
        SendClientMessage(playerid, 0x33CCFFAA, "Vocк se equipou com o Kit AmS.");
        new name1[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name1, sizeof(name1));
        format(string, 128, " %s Pegou Seu Kit AmS.",name1);
        ProxDetector(30.0, playerid, string, COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE,COLOR_DBLUE);
        return true;
    }
Exemplo de chat admin

pawn Код:
if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
    {
        if(PlayerInfo[playerid][pMuted] == 1)
        {
            SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
            return true;
        }
        if(IsPlayerConnected(playerid))
        {
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: (/a)dmin [admin chat]");
                return true;
            }
            if(TentouDivulgar(result))
            {
                if(cdivulgar[playerid] >= 4)
                {
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Aqui vocк nгo pode anunciar servidores!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou divulgar nesse server tambйm, uaheuhaeuhaeahe!");
                    PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
                    Kick(playerid);
                }
                GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
                format(string, 128, "AdmAviso: [%d]%s tentou divulgar: %s.",playerid,playername,result);
                ABroadCast(COLOR_YELLOW,string,1);
                DivulgouLog(string);
                cdivulgar[playerid] += 1;
                return true;
            }
            if (PlayerInfo[playerid][pAdmin] >= 1)
            {
                format(string, sizeof(string), "*%d Admin %s: %s", PlayerInfo[playerid][pAdmin], PlayerName(playerid), result);
                ABroadCast(0xFBB8FFAA, string, 1);
            }
            format(string, sizeof(string), "[%d/%d/%d] [%d:%d:%d] *%d Admin %s: %s", v[2], v[1], v[0], v[3], v[4], v[5] , PlayerInfo[playerid][pAdmin], sendername, result);
            AChatLog(string);
        }
        return true;
    }
o que preciso criar й uma public do chat, para subistituir a ABroadCast correto ?
sу nгo sei fazer isto da forma que quero pelo name do player . obg desde jб
Reply
#2

ninguйm ._., up para ser visto :C
Reply
#3

desculpa os posts seguidos ...
mas ngm postou aq, faz umas 24 hrs.
n й possнvel que ninguйm saiba :C
up para ser revisto ~
Reply
#4

Chat .


pawn Код:
//===================================[Familia Chat]=============================//
if(strcmp(cmd, "/cf", true) == 0)
        {
        new pName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pName, sizeof(pName));
        if(strfind(pName, "_Familia", false) != -1)//Ali em _Familia voce coloca o sobrenome do cara.
            {
            new length = strlen(cmdtext);
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;

            if(strlen(result) == 0) return SendClientMessage(playerid, -1, "USO: /cf [Texto]");
            new str[128];
            format(str, sizeof(str), "[Nome Da Familia]%s %s", pName, result);
            new i = 0;
            while(i < MAX_PLAYERS)
                {
                new nick1[MAX_PLAYER_NAME];
                GetPlayerName(i, nick1, sizeof(nick1));
                if(strfind(nick1, "_DevianCe", false) != -1)
                    {
                    SendClientMessage(i, 0xFFAAFFAA, str);
                    }
                i++;
                }

            }
        return 1;
        }
Reply
#5

Com essa Funзгo, se eu logar com o nick _AmSaaaa
funfa tambйm.

eu criei uma stock para utilizar como !DaFamilia e difinir sу o AmS.

que vai ler sу o segundo nome, e AmS...

assim eu sei ;c
mas obg
Reply
#6

huuum dessa eu n sabia XD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)