[Duvida] SimplesІ
#1

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?
Reply
#2

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.
Reply
#3

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.");
                }
            }
        }
    }
}
Reply
#4

Retire a mensagem do loop
Reply
#5

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.");
                }
            }
        }
    }
}
Reply
#6

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

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)
Reply
#8

KillTimer("nome do timer"); Sem aspas;
Reply
#9

Retire o loop acho que nгo й necessario.
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)