[PEDIDO] Chat
#1

Boas malta,queriavos pedir uma ajudinha,bem,eu queria que no chat das pessoas apareзece Desconhecido diz: "fala". Exemplo,eu falo algo,e entao apareзe caoraivoso3 diz: "ajudame por favor",mas se fosse outra pessoa,apareзe-se "Desconhecido diz: "ajudame por favor". E um lpayer podesse usar o cmd de /pediramizade [id] e /aceitaramizade [id]

Vou me explicar melhor,pois eu tenho tudo em mente,mas nao sei trabalhar bem pwn e й para min um script lixado

Tipo,criar forward,arrays,isso tudo,e depois no script,se tivesse Conheзer = 0,apareзese caoraivoso3 diz : "ajudame por favor" e todos os outros players Desconhecido diz: "ajudame por favor". Se tivesse Conheзer = 1,apareзese caoraivoso3 diz: "ajudame por favor" e o player que tivesse conheзido,no entanto o caoraivoso3 fez /pediramizade 5,e o player id 5 tivesse feito /aceitaramizade,apareзia caoraivoso3 diz : "ajudame por favor" e o nome do player id 5 (nome_do_player_id_5 diz :"ajduame por favor",mas o resto dos players apareзessem como Desconhecido.

Entenderam? aff estou farto de tentar criar e nunca consigo nada
Reply
#2

Desenvolvi um sistema + ou -.
Por via das dъvidas, teste antes de botar no servidor.

pawn Код:
#include a_samp

new bool:Conhece[MAX_PLAYERS char][MAX_PLAYERS char];


public OnPlayerText(playerid, text[])
{
    static
        string[128],
        Nome[24],
        Float:_X,
        Float:_Y,
        Float:_Z
    ;

    string[0] = '\0';
    GetPlayerName(playerid, Nome, 24);
   
    GetPlayerPos(playerid, _X, _Y, _Z);
    for(new i, e = GetMaxPlayers(); i != e; ++i){
        if(IsPlayerConnected(i)){
            if(IsPlayerInRangeOfPoint(i, 30.0,  _X, _Y, _Z)){
                format(string, sizeof(string),"%s: %s", Conhece[playerid][i] ? Nome :("Desconhecido"));
                SendClientMessage(i, -1, string);
            }
        }
    }
    return 1;
}
Reply
#3

Tenho Uma Duvida Nada Aver Com o Tуpico Mais Ja Que O Luxurion Posto

Para Que Server "?" Ponto De Interrogaзгo Ali ;S
Reply
#4

Quote:
Originally Posted by ReDKiiL
Посмотреть сообщение
Tenho Uma Duvida Nada Aver Com o Tуpico Mais Ja Que O Luxurion Posto

Para Que Server "?" Ponto De Interrogaзгo Ali ;S
Sгo os operadores ternбrios.
Reply
#5

olhem,obrigado pela ajuda,mas olhe,ta aki a maioria da parte dessa public no meu GM
pawn Код:
if((strcmp("/b", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("/b")))
    {
        if(text[1] != 0)
        {
            format(string, sizeof(string), "(( %s diz: %s ))", PlayerName(playerid),text[1]);
            ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
            OOCLog(string);
            return 0;
        }
    }
    if(Mobile[playerid] == 112)
    {
        new idx2;
        tmp = strtok(text, idx2);
        if((strcmp("PSP", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("PSP")))
        {
            SendClientMessage(playerid, COLOR_LSPD, "Operadora: Olб, fala da PSP, por favor explique com calma o que se passa e informe-nos da sua localizaзгo actual.");
            SendClientMessage(playerid, COLOR_LSPD, " Por favor nгo desligue a sua chamada, para podemos ajudб-lo.");
            Mobile[playerid] = 113;
            return 0;
        }
        else if((strcmp("Hospital", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Hospital")))
        {
            SendClientMessage(playerid, COLOR_HOSP, "Operadora: Olб, fala do Hospital, por favor explique com calma o que se passa e informe-nos da sua localizaзгo actual.");
            SendClientMessage(playerid, COLOR_HOSP, " Por favor nгo desligue a sua chamada, para podemos ajudб-lo.");
            Mobile[playerid] = 114;
            return 0;
        }
        else
        {
            SendClientMessage(playerid, COLOR_RED, "Operadora: Desculpe, mas nгo entendi.");
        }
        return 0;
    }
    if(Mobile[playerid] == 113)
    {
        format(string, sizeof(string), "[112 Telefone:] %s(ID:%d) diz: %s",GetPlayerNameEx(playerid),playerid,text);
        SendFactionTypeMessage(1, COLOR_LSPD, string);
        SendClientMessage(playerid,COLOR_WHITE,"Operadora: A sua chamada ficou registada. Por favor aguarde uma resposta da nossa parte.");
        Mobile[playerid] = 255;
        format(string, sizeof(string), "[Telemovel] %s diz: %s", GetPlayerNameEx(playerid), text);
        ProxDetector(25.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        TalkLog(string);
        return 0;
    }
    if(Mobile[playerid] == 114)
    {
        format(string, sizeof(string), "[112 Telefone:] %s(ID:%d) diz: %s",GetPlayerNameEx(playerid),playerid,text);
        SendFactionTypeMessage(2, COLOR_RED, string);
        SendClientMessage(playerid,COLOR_HOSP,"Operadora: A sua chamada ficou registada. Por favor aguarde uma resposta da nossa parte.");
        Mobile[playerid] = 255;
        format(string, sizeof(string), "[Telemovel] %s diz: %s", GetPlayerNameEx(playerid), text);
        ProxDetector(25.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        TalkLog(string);
        return 0;
    }
    if(Mobile[playerid] == 666)
    {
        format(string, sizeof(string), "[Sindicato dos Mecвnicos Telefone:] %s(ID:%d) diz: %s",GetPlayerNameEx(playerid),playerid,text);
        MecanicMessage(COLOR_NEWOOC, string);
        SendClientMessage(playerid,COLOR_MEC,"Operadora: Operadora: A sua chamada ficou registada. Por favor aguarde uma resposta da nossa parte.");
        Mobile[playerid] = 255;
        format(string, sizeof(string), "[Telemovel] %s diz: %s", GetPlayerNameEx(playerid), text);
        ProxDetector(25.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        TalkLog(string);
        return 0;
    }
    if(Mobile[playerid] == 555)
    {
        format(string, sizeof(string), "[Sindicato dos Transportes Telefone:] %s(ID:%d) diz: %s",GetPlayerNameEx(playerid),playerid,text);
        TaxiMessage(COLOR_YELLOW, string);
        SendClientMessage(playerid,COLOR_YELLOW,"Operadora: A sua chamada ficou registada. Por favor aguarde uma resposta da nossa parte.");
        Mobile[playerid] = 255;
        format(string, sizeof(string), "[Telemovel] %s diz: %s", GetPlayerNameEx(playerid), text);
        ProxDetector(25.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        TalkLog(string);
        return 0;
    }
    if(Mobile[playerid] != 255)
    {
        format(string, sizeof(string), "[Telemovel] %s diz: %s", GetPlayerNameEx(playerid), text);
        ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
        TalkLog(string);

        if(IsPlayerConnected(Mobile[playerid]))
        {
            if(Mobile[Mobile[playerid]] == playerid)
            {
                new Float:SpeakerX,Float:SpeakerY,Float:SpeakerZ;
                GetPlayerPos(playerid,SpeakerX,SpeakerY,SpeakerZ);
                if(!PlayerToPoint(20.0,Mobile[playerid],SpeakerX,SpeakerY,SpeakerZ))
                {
                    SendClientMessage(Mobile[playerid], COLOR_LIGHTGREEN,string);
                    SendClientMessage(playerid, COLOR_LIGHTGREEN,string);
                }
                if(SpeakerPhone[Mobile[playerid]])
                {
                    format(string, sizeof(string), "[Altifalante] %s diz: %s", GetPlayerNameEx(playerid), text);
                    ProxDetector(25.0, Mobile[playerid], string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                }
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_WHITE,"Actualmente nгo se encontra ninguйm disponнvel");
        }
        return 0;
    }
    if(ComOnDuty[playerid] == 1)
    {
        new faction = PlayerInfo[playerid][msFaction];
        format(string, sizeof(string), "%s %s: %s", DynamicFactions[faction][fRank1],GetPlayerNameEx(playerid), text);
        RadioMessage(COLOR_NEWOOC,string);
        TalkLog(string);
    }
    if(NewOnDuty[playerid] == 1)
    {
        format(string, sizeof(string), "[Rбdio de LasVenturas] %s: %s ",GetPlayerNameEx(playerid),text);
        RadioMessage(COLOR_LIGHTGREEN,string);
        TalkLog(string);
    }
    if (realchat)
    {
        if(gPlayerLogged[playerid] == 0)
        {
            return 0;
        }
        if(!IsPlayerInAnyVehicle(playerid) && AdminDuty[playerid] != 1 && GMDuty[playerid] != 10 || IsABike(GetPlayerVehicleID(playerid)) && AdminDuty[playerid] != 25 && GMDuty[playerid] != 10)
        {
            format(string, sizeof(string), "%s diz: %s", GetPlayerNameEx(playerid), text);
            ProxDetector(25.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
            TalkLog(string);
            format(strings, sizeof(strings), "diz: %s", text);
            SetPlayerChatBubble(playerid, strings, COLOR_FADE1, 25.0, 4000);
            ApplyAnimation(playerid,"PED","IDLE_CHAT",2.0,1,0,0,1,1);
            SetTimerEx("Anim",1500, false, "d", playerid);
        }
        else if(AdminDuty[playerid] >= 1)
        {
            format(string, sizeof(string), "(([STAFF]%s diz: %s))", GetPlayerNameEx(playerid), text);
            ProxDetector(25.0, playerid, string,COLOR_BADMIN,COLOR_BADMIN,COLOR_BADMIN,COLOR_BADMIN,COLOR_BADMIN);
            TalkLog(string);
        }
        else if(GMDuty[playerid] >= 1)
        {
            format(string, sizeof(string), "(([STAFF]%s diz: %s))", GetPlayerNameEx(playerid), text);
            ProxDetector(25.0, playerid, string,COLOR_BADMIN,COLOR_BADMIN,COLOR_BADMIN,COLOR_BADMIN,COLOR_BADMIN);
            TalkLog(string);
        }
        else
        {
            if(CarWindowStatus[GetPlayerVehicleID(playerid)] == 1)
            {
                format(string, sizeof(string), "[Vidros Abertos] %s diz: %s", GetPlayerNameEx(playerid), text);
                ProxDetector(25.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                TalkLog(string);
            }
            else
            {
                format(string, sizeof(string), "[Vidros Fechados] %s diz: %s", GetPlayerNameEx(playerid), text);
                ProxDetector(10.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
                TalkLog(string);
            }
        }
        return 0;
    }
    return 1;
}
eu queria que nгo apareзe-se o nome,queria que apareзe-se toda a gente como "Desconhecido" e se o player id 4,fizesse /conheзer 5,o player 5 aceita-se,o player 4 ja comeзava a ver o nome do player 5 no chat =) mas o resto continua "desconheзido"
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)