Portal SAMP
[Ajuda] Msg fica repetindo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Msg fica repetindo (/showthread.php?tid=692)

Páginas: 1 2


Msg fica repetindo - LeleziiN - 26/01/2021

Bom galera blz, bem venho aqui em meio a esse tópico pedir um ajuda a todos vocês, como o titulo mesmo se diz estou com um problema no meu sistema da profissão de motorista de ônibus que estou desenvolvendo! Bom o sistema é asse quando eu passo por um CP do percurso da profssão eu automaticamente paraliso no CP (Para á entrada dos passageiros) ai quando sou liberado aparece essa msg.

Código PHP:
format(msgsizeof(msg),"| INFO | Você recebeu R$%d! Siga o ícone vermelho no mapa para chegar ao próximo ponto de ônibus [ %d / 25 ]"quantiaBusJob[playerid]); 

Bom essa msg fica se repetindo quando sou liberado do checkpoint, e ela era para aparecer apenas uma vez em cada CP. Poderiam mim ajuda pfvr?

[Imagem: sa-mp-258.png?width=756&height=427]

Aqui estas a variável da msg
Código PHP:
public RotaBus(playerid)
{
    new quantia 80;
    new msg[256];
    if(
CartaoDeCredito[playerid] == 2)
    {
        
Banco[playerid] = Banco[playerid] + quantia;
    }
    else 
DinheiroUG[playerid] = DinheiroUG[playerid] + quantia;
    
TogglePlayerControllable(playerid,1);
    
format(msgsizeof(msg),"| INFO | Você recebeu R$%d! Siga o ícone vermelho no mapa para chegar ao próximo ponto de ônibus [ %d / 25 ]"quantiaBusJob[playerid]);
    
SendClientMessage(playeridCOR_MARA2msg);
    return 
1;




RE: Msg fica repetindo - iAplle - 26/01/2021

Me manda onde você esta usando essa public da mensagem


RE: Msg fica repetindo - xbruno1000x - 27/01/2021

Essa public está sendo chamada várias vezes, você usou timer? Confira se o Timer não está configurado para repetir infinitamente.


RE: Msg fica repetindo - LeleziiN - 27/01/2021

(26/01/2021 21:11)iAplle Escreveu: Me manda onde você esta usando essa public da mensagem

Estou usando ela aqui para ser chamada

Código PHP:
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
    {
        if(BusJob[playerid] == 1)
        {
            BusJob[playerid] = 2;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,2820.3552,-1858.5712,10.6727,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);//false
            return 1;
        }
        if(BusJob[playerid] == 2)
        {
            BusJob[playerid] = 3;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,2368.2834,-1729.3740,13.0877,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 3)
        {
            BusJob[playerid] = 4;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1972.7858,-1748.8569,13.0875,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 4)
        {
            BusJob[playerid] = 5;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1959.1470,-2003.4414,13.4911,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 5)
        {
            BusJob[playerid] = 6;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1852.8616,-2163.9006,13.4670,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 6)
        {
            BusJob[playerid] = 7;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1861.1265,-2054.8013,13.4853,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 7)
        {
            BusJob[playerid] = 8;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1964.8824,-1991.0596,13.4783,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 8)
        {
            BusJob[playerid] = 9;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1876.0845,-1749.7296,13.4803,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 9)
        {
            BusJob[playerid] = 10;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1762.5198,-1601.1992,13.4750,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 10)
        {
            BusJob[playerid] = 11;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1322.9019,-1530.4489,13.4821,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 11)
        {
            BusJob[playerid] = 12;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1297.8114,-1036.2102,30.9605,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 12)
        {
            BusJob[playerid] = 13;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1079.9907,-1103.7042,24.7284,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 13)
        {
            BusJob[playerid] = 14;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1007.1638,-1317.7025,13.4871,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 14)
        {
            BusJob[playerid] = 15;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,546.7247,-1329.1465,13.9163,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 15)
        {
            BusJob[playerid] = 16;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,405.5697,-1435.2429,32.6065,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 16)
        {
            BusJob[playerid] = 17;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,527.1749,-1505.6691,14.4675,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 17)
        {
            BusJob[playerid] = 18;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,579.5047,-1719.1418,13.5526,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 18)
        {
            BusJob[playerid] = 19;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,111.6177,-1625.9139,10.2945,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 19)
        {
            BusJob[playerid] = 20;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,412.6951,-1775.5480,5.3778,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 20)
        {
            BusJob[playerid] = 21;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,985.4912,-1804.6318,14.1698,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 21)
        {
            BusJob[playerid] = 22;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,1174.2615,-2433.2119,10.2976,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 22)
        {
            BusJob[playerid] = 23;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,2232.3755,-2347.3105,13.4782,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 23)
        {
            BusJob[playerid] = 24;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,2571.9612,-2173.9805,13.0171,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 24)
        {
            BusJob[playerid] = 25;
            TogglePlayerControllable(playerid,0);
            SetPlayerCheckpoint(playerid,2859.4756,-1741.8085,10.9767,10);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Os passageiros estão saindo e/ou entrando no ônibus! Aguarde...");
            TimerBus[playerid] = SetTimerEx("RotaBus"10000false"i",playerid);
            return 1;
        }
        if(BusJob[playerid] == 25)
        {
            BusJob[playerid] = 0;
            DisablePlayerCheckpoint(playerid);
            SendClientMessage(playeridCOR_MARA2,"| INFO | Serviço finalizado! Você recebeu R$300 por ter completado todo o percurso [ 25 / 25 ]");
            SendClientMessage(playeridCOR_MARA2,"| INFO | Volte ao spawn da profissão e inicie o serviço para fazer o percurso novamente!");
            GivePlayerMoneyEx(playerid,300);
        }
    }
    return 1;




RE: Msg fica repetindo - LeleziiN - 27/01/2021

Podem mim ajuda pfvr?


RE: Msg fica repetindo - iAplle - 27/01/2021

Talvez possa ser problema no timer, como o amigo mesmo disse acima. Verifique o seu timer!


RE: Msg fica repetindo - xbruno1000x - 28/01/2021

(27/01/2021 20:17)iAplle Escreveu: Talvez possa ser problema no timer, como o amigo mesmo disse acima. Verifique o seu timer!

O Timer parece estar certinho. Só não tinha necessidade de criar uma váriavel por player e o valor de 10 segundos pra chamar a public é meio longo, mas está tudo nos conformes.


RE: Msg fica repetindo - LeleziiN - 28/01/2021

Oq poderá ser??


RE: Msg fica repetindo - xbruno1000x - 28/01/2021

(28/01/2021 15:40)LeleziiN Escreveu: Oq poderá ser??

Só está mandando a mensagem várias vezes ou o dinheiro está sendo dado também? Se for só a mensagem, pode ser o string. Se for mensagem e dinheiro, a public está sendo chamada várias vezes mesmo, e pode ser erro na public ou timer.


RE: Msg fica repetindo - LeleziiN - 28/01/2021

o dinheiro tbm está sendo dado varias vezes
tipo
toda vez q a mensagem aparece o dinheiro é dado