[Ajuda] Chat family
#1

A um tempo to tentando fazer um chat de famlia tentei de todos os jeitos que eu achava que ia dar, mas nгo deu, funciona assim:
pega seu sobrenome, Eu Gm_Strikker falo OOOOOOOI, todos que tem Nome_Strikker vгo ver esse OOOOOI os outros nгo

Tentei assim:
pawn Код:
if(strcmp(cmd, "/familia", true) == 0 || strcmp(cmd, "/fa", true) == 0)
    {
        if(PlayerInfo[playerid][pMuted] == 1)
        {
            SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo pode falar, pois foi calado");
            return 1;
        }
        if(radio[playerid] == 0)
        {
            SendClientMessage(playerid, TEAM_CYAN_COLOR, "Vocк nгo tem um rбdio vб atй uma 24-7 (/gps)");
            return 1;
        }
        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_R, "USE: (/fa)milia [radio chat]");
                return 1;
            }
            if(TentouDivulgar(result))
            {
                if(cdivulgar[playerid] >= 6)
                {
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Mano aque e o Seguinte vc nгo Divulga Server!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu servidor й uma merda, nгo divulgue-o aqui!");
                    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Seu noob peguei esse IP e vou Derrubar ele HAHAHA");
                    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 1;
            }
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(strcmp(GetPlayerLastName(i), GetPlayerLastName2(i), true) == 0)
                    {
                        format(string, sizeof(string), "** Familia %s: %s over. **", sendername, result);
                        SendClientMessage(playerid, COLOR_BLUE, string);
                    }
                }
                printf("%s", string);
                format(string, sizeof(string), "%s (rбdio): %s", sendername, result);
                ProxDetector(20.0, playerid, string, COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY,COLOR_GREY);
                return 1;
        }

        return 1;
    }
pawn Код:
stock GetPlayerLastName(playerid)
{
    new namestring[2][MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    split(name, namestring, '_');
    return namestring[1];
}
stock GetPlayerLastName2(playerid)
{
    new namestring[2][MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    split(name, namestring, '_');
    return namestring[1];
}
Mas o que ta acontecendo й que quando eu falo /fa OOOI sai uns 50 OIs (max_players) e ninguem com sobrenome ve, sу eu =( alguem ajuda ai
Reply
#2

Nгo testei, muito menos compilei.

pawn Код:
stock getLastName(nome_completo) {

    strdel(nome_completo, 0, strfind(nome_completo, "_"));
    return nome_completo;
}

CMD:fa(playerid, params[])
    return cmd_familia(playerid, params);
   
CMD:familia(playerid, params[]) {

    if ( isnull(params))
        return SendClientMessage(playerid, -1, "Uso correto: /fa(milia) [mensagem]");


    static
        i,
        e,
        minha_familia[20],
        nome[24],
        str[128]
    ;
   
    GetPlayerName(playerid, nome, 24);
   
    format ( minha_familia, 20, getLastName(nome) );
    format (str, 128, "CHAT DA FAMНLIA %s: %s diz %s", minha_familia, nome, params);
   
   
    for ( i = 0, e = GetMaxPlayers(); i < e; ++i ) {
   
        if ( IsPlayerConnected(i) ) {
       
            GetPlayerName(i, nome, 24);
           
            if ( !strcmp(minha_familia, getLastName(nome) ) )
                SendClientMessage(i, -1, str);
        }
    }
   
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)