[Ajuda] Mostrar atualizar texto ao passageiro
#1

Olб Pessoal estou com um problema e irei falar o que houve, Primeiro coloquei um sistema de Motor(Engine) Isso funciona para quando o player entrar em um veнculo ele ira precisar digitar /motor Para ligar o veiculo atй ai tudo bem , o problema й que coloquei um text para verificar se o veiculo esta ligado ou desligado, Como assim text? Tipo quando o player entrar no veнculo ira aparecer no velocнmetro Veiculo: desligado
Se o player digitar motor, o Veiculo: desligado Ira mudar para Veiculo: Ligado
Bom ai blz, pro motorista do veнculo o text muda normal, Mais pro passageiro continua desligado tipo

se o veнculo estiver desligado e o motorista digita /motor ai ira aparecer pro motorista Veiculo: Ligado

Se o motorista do veнculo tiver com passageiro , ira aparecer Veiculo: ligado
Pro motorista e Veiculo: Desligado Pro passageiro

Olhem o print



Final do GM
PHP код:
forward sismotor(vehicleid);
public 
sismotor(vehicleid)
{
    new 
velopet5[128];
    for (new 
i=0i<MAX_PLAYERSi++)
     if(
GetPlayerState(i))
     {
    if(
motor[i] == 1)
    {
        
format(velopet5,sizeof(velopet5),"~d~~w~~h~Motor~p~: ~p~ligado");
        
motor[i] = 1// ligado
    
}
    else if(
motor[i] == 0)
    {
        
format(velopet5,sizeof(velopet5),"~d~~w~~h~Motor~p~: ~p~Desligado");
        
motor[i] = 0// desligado
    
}
    
TextDrawSetString(MotorOnOFF[i], velopet5);
    }
    return 
1;

Na public OnPlayerStateChange(playerid, newstate, oldstate)
PHP код:
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        if(
motor[playerid] == 1){ sismotor(playerid); }
    }
    else if(
oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
    {
        
TextDrawHideForPlayer(playeridMotorOnOFF[playerid]);
        
motor[playerid] = 0;
    } 
Na public OnGameModeInit()
PHP код:
SetTimer("sismotor"5001); 
Sistema de engine

PHP код:
    if (strcmp("/motor"cmdtexttrue10) == 0)
    {
    new 
State;
    new 
motlualarporcappormaob;
    new 
carro GetPlayerVehicleID(playerid);
    if(
carro != INVALID_VEHICLE_ID)
    {
        if(
IsPlayerInAnyVehicle(playerid))
        {
            
State=GetPlayerState(playerid);
            if(
State!=PLAYER_STATE_DRIVER)
            {
                
MSGPLAYER(playerid,COLOR_GREY,"   Vocк nгo й o motorista/piloto do veнculo");
                return 
1;
            }
            if(
motor[playerid] == 0)
            {
                
GetVehicleParamsEx(carromotlualarporcappormaob);
                
SetVehicleParamsEx(carroVEHICLE_PARAMS_ONlualarporcappormaob);
                
motor[playerid] = 1;
                
SendClientMessage(playerid0xFFFFFFAA"Veiculo {2F991A}Ligado, {FFFFFF}Digite /motor para desliga-lo");
            }
            else if(
motor[playerid] == 1)
            {
                
GetVehicleParamsEx(carromotlualarporcappormaob);
                
SetVehicleParamsEx(carroVEHICLE_PARAMS_OFFlualarporcappormaob);
                
motor[playerid] = 0;
                
SendClientMessage(playerid0xFFFFFFAA"Veiculo {E31919}Desligado, {FFFFFF}Digite /motor para liga-lo");
            }
        }
    }
    return 
1;

Reply
#2

Quando for ligar/desligar o motor sу passar um loop por todos os players, e ver quem estб no mesmo veнculo.

pawn Код:
// GetVehicleParams...
for(new a; a < MAX_PLAYERS; ++a)
{
    if(IsPlayerConnected(a) && GetPlayerVehicleID(playerid) == GetPlayerVehicleID(a))
        PlayerTextDrawSetString(a,texto[a],engine == 1 ? ("Motor: ligado") : ("Motor: desligado"));
}
Reply
#3

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Quando for ligar/desligar o motor sу passar um loop por todos os players, e ver quem estб no mesmo veнculo.

pawn Код:
// GetVehicleParams...
for(new a; a < MAX_PLAYERS; ++a)
{
    if(IsPlayerConnected(a) && GetPlayerVehicleID(playerid) == GetPlayerVehicleID(a))
        PlayerTextDrawSetString(a,texto[a],engine == 1 ? ("Motor: ligado") : ("Motor: desligado"));
}
Cara nгo sei muito isso de loop, Tem como explicar detalhadamente?
Reply
#4

Quote:
Originally Posted by petrick_schoba
Посмотреть сообщение
Cara nгo sei muito isso de loop, Tem como explicar detalhadamente?
e so usar aquele code que ele passou

mas acho um pouco estranho mostrar o velocimetro ao passageiro tbm, acho que isso e so quem vai a dirigir que deveria ver, mas vc que sabe.
Reply
#5

Quote:
Originally Posted by PT
Посмотреть сообщение
e so usar aquele code que ele passou

mas acho um pouco estranho mostrar o velocimetro ao passageiro tbm, acho que isso e so quem vai a dirigir que deveria ver, mas vc que sabe.
Nгo quer me ajudar nгo PT?, estou confuso pq nгo sei o que retirar e onde colocar o
PHP код:
for(new aMAX_PLAYERS; ++a)
{
    if(
IsPlayerConnected(a) && GetPlayerVehicleID(playerid) == GetPlayerVehicleID(a))
        
PlayerTextDrawSetString(a,texto[a],engine == ? ("Motor: ligado") : ("Motor: desligado"));

Reply
#6

se nao tou em erro e aqui

pawn Код:
forward sismotor(vehicleid);
public sismotor(vehicleid)
{
    for(new a; a < MAX_PLAYERS; ++a)
    {
        if(IsPlayerConnected(a) && GetPlayerVehicleID(playerid) == GetPlayerVehicleID(a))
        PlayerTextDrawSetString(MotorOnOFF[a],texto[a],motor[a] == 1 ? ("Motor: ligado") : ("Motor: desligado"));
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by PT
Посмотреть сообщение
se nao tou em erro e aqui

pawn Код:
forward sismotor(vehicleid);
public sismotor(vehicleid)
{
    for(new a; a < MAX_PLAYERS; ++a)
    {
        if(IsPlayerConnected(a) && GetPlayerVehicleID(playerid) == GetPlayerVehicleID(a))
        PlayerTextDrawSetString(MotorOnOFF[a],texto[a],motor[a] == 1 ? ("Motor: ligado") : ("Motor: desligado"));
    }
    return 1;
}
PlayerTextDrawSetString(MotorOnOFF[a],texto[a],motor[a] == 1 ? ("Motor: ligado") : ("Motor: desligado"));
Reply
#8

Alguйm ?
Reply
#9

tenta por so assim

pawn Код:
PlayerTextDrawSetString(MotorOnOFF[a], motor[a] == 1 ? ("Motor: ligado") : ("Motor: desligado"));
Reply
#10

Tente isto,

pawn Код:
forward sismotor(vehicleid); public sismotor(vehicleid)
{
    for(new i, e = GetMaxPlayers(); (i ^ e); ++i){
        if((!(GetPlayerState(i) ^ 3) & !(GetPlayerVehicle(i) ^ vehicleid)) TextDrawSetString(MotorOnOFF[i], motor[i] ? ("~d~~w~~h~Motor~p~: ~p~ligado") : ("~d~~w~~h~Motor~p~: ~p~Desligado");
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)