SA-MP Forums Archive
[Ajuda] OnPlayerText - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] OnPlayerText (/showthread.php?tid=555744)



OnPlayerText - Justing3 - 08.01.2015

Bom, eu criei o sistema de telefone no meu servidor, mas quando eu falo alguma coisa, mesmo estando no telefone, ele fala no chat tbm, a msm coisa

codigo:

pawn Код:
public OnPlayerText(playerid, text[])
{
    new string[144];

    if(Telefonando[playerid] == 3 || Telefonando[playerid] == 4)
    {
        format(str, sizeof str, "[Celular] %s: %s", PlayerName(playerid), text);
        SendClientMessage(Jogador[playerid], 0xF2AAFAFF, str);
        format(str, sizeof str, "[Celular] %s: %s", PlayerName(playerid), text);
        SendClientMessage(playerid, 0xF2AAFAFF, str);
    }

    format(string, sizeof(string), "%s Diz: {FFFFFF}%s", PlayerName(playerid), text);
    ProxDetector(6, playerid, string, 0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF);

    return 0;
}
Qual seria a soluзгo? colocar uma else if verificando se o player estб no telefone ou no chat? Agradeзo quem puder me ajudar..


Re: OnPlayerText - mau.tito - 08.01.2015

tenta usar um return


Re: OnPlayerText - WLSF - 08.01.2015

Use um return 0, para quebrar a fala dentro do IF do telefonema...

Assim evitarб que o cуdigo abaixo seja executado.

Abraзos.


Re: OnPlayerText - MatheusDalZot - 08.01.2015

tenta assim
pawn Код:
public OnPlayerText(playerid, text[])
{
    new string[144];

    if(Telefonando[playerid] == 3 || Telefonando[playerid] == 4)
    {
        format(str, sizeof str, "[Celular] %s: %s", PlayerName(playerid), text);
        SendClientMessage(Jogador[playerid], 0xF2AAFAFF, str);
        format(str, sizeof str, "[Celular] %s: %s", PlayerName(playerid), text);
        SendClientMessage(playerid, 0xF2AAFAFF, str);
        return 0;
    }
    format(string, sizeof(string), "%s Diz: {FFFFFF}%s", PlayerName(playerid), text);
    ProxDetector(6, playerid, string, 0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF);
    return 1;
}



Re: OnPlayerText - WLSF - 08.01.2015

Quote:
Originally Posted by MatheusDalZot
Посмотреть сообщение
tenta assim
pawn Код:
public OnPlayerText(playerid, text[])
{
    new string[144];

    if(Telefonando[playerid] == 3 || Telefonando[playerid] == 4)
    {
        format(str, sizeof str, "[Celular] %s: %s", PlayerName(playerid), text);
        SendClientMessage(Jogador[playerid], 0xF2AAFAFF, str);
        format(str, sizeof str, "[Celular] %s: %s", PlayerName(playerid), text);
        SendClientMessage(playerid, 0xF2AAFAFF, str);
        return 0;
    }
    format(string, sizeof(string), "%s Diz: {FFFFFF}%s", PlayerName(playerid), text);
    ProxDetector(6, playerid, string, 0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF,0x8B8B8BFF);
    return 1;
}
O seu return 1 no fim da callback, vai fazer com que a fala original seja permitida tambйm... Logo terгo duas falas na tela, a personalizada criada por ele, e a padrгo do sa-mp.


Para chegar ao resultado esperado, basta colocar um return 0 dentro do IF, como explicado acima.


Re: OnPlayerText - Justing3 - 08.01.2015

Funcionou do jeito que o William disse, adicionei um return 0 dentro da verificaзгo

Obrigado a todos vocкs


Re: OnPlayerText - MatheusDalZot - 08.01.2015

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
O seu return 1 no fim da callback, vai fazer com que a fala original seja permitida tambйm... Logo terгo duas falas na tela, a personalizada criada por ele, e a padrгo do sa-mp.


Para chegar ao resultado esperado, basta colocar um return 0 dentro do IF, como explicado acima.
Ta certo Willian nгo me liguei nisso hehe