SA-MP Forums Archive
[Duvida] SimplesІ - 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: [Duvida] SimplesІ (/showthread.php?tid=278995)



[Duvida] SimplesІ - Lуs - 24.08.2011

Pessoal, como faзo para um SendClientMessage nгo ficar se repetindo em um SetTimer? Exemplo:

pawn Код:
new Float: Lataria;
                new PCar = GetPlayerVehicleID(i);
                GetVehicleHealth(GetPlayerVehicleID(i), Lataria);
                if(Lataria < 350)
                {
                    new mot, lu, alar, por, cap, porma, ob;
                    GetVehicleParamsEx(PCar, mot, lu, alar, por, cap, porma, ob);
                    SetVehicleParamsEx(PCar, mot, lu, alar, por, VEHICLE_PARAMS_ON, porma, ob);
                    TogglePlayerControllable(i, 0);
                    SendClientMessage(i, AMARELO,"Seu carro estб quebrado, digite /sair para sair dele e em seguida chame um mecвnico.");
                }
Nгo quero que a mensagem:
Quote:

SendClientMessage(i, AMARELO,"Seu carro estб quebrado, digite /sair para sair dele e em seguida chame um mecвnico.");

Fique se repetindo... Alguem sabe?


Re: [Duvida] SimplesІ - [R] ousenber [K] - 24.08.2011

Deve ter Loop entгo (nгo sei se funfa) tenta:

PHP код:
SendClientMessage(playeridAMARELO,"Seu carro estб quebrado, digite /sair para sair dele e em seguida chame um mecвnico."); 
Depende do resto do seu code.


Re: [Duvida] SimplesІ - Lуs - 24.08.2011

O unico loop que tem й o de players:

pawn Код:
public LatariaUpdate()
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        if(IsPlayerInAnyVehicle(i))
        {
            if(IsPlayerConnected(i))
            {
                new Float: Lataria;
                new PCar = GetPlayerVehicleID(i);
                GetVehicleHealth(GetPlayerVehicleID(i), Lataria);
                if(Lataria < 350)
                {
                    new mot, lu, alar, por, cap, porma, ob;
                    GetVehicleParamsEx(PCar, mot, lu, alar, por, cap, porma, ob);
                    SetVehicleParamsEx(PCar, mot, lu, alar, por, VEHICLE_PARAMS_ON, porma, ob);
                    TogglePlayerControllable(i, 0);
                    SendClientMessage(i, AMARELO,"Seu carro estб quebrado, digite /sair para sair dele e em seguida chame um mecвnico.");
                }
            }
        }
    }
}



Re: [Duvida] SimplesІ - CocaC0la - 24.08.2011

Retire a mensagem do loop


Re: [Duvida] SimplesІ - ViniBorn - 24.08.2011

Basta ejetб-lo do carro.

pawn Код:
public LatariaUpdate()
{
    for(new i=0;i<MAX_PLAYERS;i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInAnyVehicle(i))
            {
                new Float: Lataria;
                new PCar = GetPlayerVehicleID(i);
                GetVehicleHealth(GetPlayerVehicleID(i), Lataria);
                if(Lataria < 350)
                {
                    new mot, lu, alar, por, cap, porma, ob;
                    GetVehicleParamsEx(PCar, mot, lu, alar, por, cap, porma, ob);
                    SetVehicleParamsEx(PCar, mot, lu, alar, por, VEHICLE_PARAMS_ON, porma, ob);
                    RemovePlayerFromVehicle(i);
                    TogglePlayerControllable(i, 1);
                    SendClientMessage(i, AMARELO,"Seu carro estб quebrado, digite /sair para sair dele e em seguida chame um mecвnico.");
                }
            }
        }
    }
}



Re: [Duvida] SimplesІ - [R] ousenber [K] - 24.08.2011

Se tira nгo vai funcionar, a public nгo usa playerid


Re: [Duvida] SimplesІ - Lуs - 24.08.2011

Mais aн ainda tem o SetTimer, se eu botar no StateChange ele vai acontecer a mesma coisa pq ele fica checando sem parar o (Lataria < 350)


Re: [Duvida] SimplesІ - Skoll - 24.08.2011

KillTimer("nome do timer"); Sem aspas;


Re: [Duvida] SimplesІ - CocaC0la - 24.08.2011

Retire o loop acho que nгo й necessario.


Re: [Duvida] SimplesІ - [R] ousenber [K] - 24.08.2011

/\ eu tambem acho que nгo , й so colocar playerid , dentro dos () na public e na forward tb, e depois mudar os i pra playerid.