[Ayuda] Problema con PlayerState
#1

Hola a todos serй breve con mi problema, lo que pasa es que no me quiere funcionar este pedazo de cуdigo que les dejare a continuaciуn:

pawn Код:
if (newstate == PLAYER_STATE_DRIVER)
    {
        if(GetPlayerVehicleID(playerid) == 456 || GetPlayerVehicleID(playerid) == 498)
        {
            if(Informacion[playerid][Trabajo] == 1)
            {
                SendClientMessage(playerid,-1,"Usa {FFF000}/cargar camion{FFFFFF} para comenzar a trabajar.");
                }else{
                    RemovePlayerFromVehicle(playerid);
                    SendClientMessage(playerid,-1,"Necesitas tener el trabajo de camionero.");
                    }
                }
        return 1;
}
Lo tengo en OnPlayerStateChange pero no me quiere funcionar, espero y me puedan corregir, un saludo y gracias de antemano.
Reply
#2

Al leer tu cуdigo, lo entiendo perfectamente.
Pero tienes que dar detalles de que es lo que buscar hacer, y que es lo que te falla.
Se mбs especнfico.
Reply
#3

Quote:
Originally Posted by lDarkeen
Посмотреть сообщение
Al leer tu cуdigo, lo entiendo perfectamente.
Pero tienes que dar detalles de que es lo que buscar hacer, y que es lo que te falla.
Se mбs especнfico.
No me funciona, no me saca del camiуn revise si era el variable pero nada.
Reply
#4

Entonces para resumir, cuando el estado del jugador cambia al estado de conductor de un vehiculo, si el carkey es
456 o 498, luego evaluamos su trabajo y si tiene por trabajo el de id 1, entonces le permite permanecer en el. De lo contrario lo remueve y le muestra el mensaje "Necesitas tener el trabajo de camionero."


Imprime por consola que ID te estб retornando el GetPlayerVehicleID(playerid) y luego el valor de la variable Informacion[playerid][Trabajo]. De este modo te aseguras en primer lugar que estas en el vehiculo correcto y que la variable que almacena el id de trabajo realmente estб almacenando el valor que asignaste en los codigos que le anteceden.


pawn Код:
printf("El valor de GetPlayerVehicleID(playerid): %d", GetPlayerVehicleID(playerid));
printf("El valor de Informacion[playerid][Trabajo]: %d", Informacion[playerid][Trabajo]);
Reply
#5

Ese cуdigo solo va a funcionar para el vehнculo 456 y 498, no va a funcionar para todos los vehнculos en el rango 456.... hasta el 498.
Reply
#6

Quote:
Originally Posted by JeffreyG
Посмотреть сообщение
Ese cуdigo solo va a funcionar para el vehнculo 456 y 498, no va a funcionar para todos los vehнculos en el rango 456.... hasta el 498.
Exactamente, funciona solo para los vehiculos 456 y 498. Porque asi fue programado en el IF con el operador lуgico OR (||). Ahora, lo que no sabemos es si realmente lo quiere asн o lo quiere en un rango, porque no lo ha especificado.
Reply
#7

[13:06:16] El valor de GetPlayerVehicleID(playerid): 0
[13:06:16] El valor de Informacion[playerid][Trabajo]: 0

No esta agarrando el id del vehнculo, porque?

Edit: Que solo funcione en esos 2 vehнculos, por algo esta el "||" no?
Reply
#8

Quote:
Originally Posted by armandozetaxx
Посмотреть сообщение
[13:06:16] El valor de GetPlayerVehicleID(playerid): 0
[13:06:16] El valor de Informacion[playerid][Trabajo]: 0

No esta agarrando el id del carro, porque?
GetPlayerVehicleID retorna 0 cuando el jugador no estб en un vehнculo.
Asegurate de poner el print antes de RemovePlayerFromVehicle.
Reply
#9

Quote:
Originally Posted by armandozetaxx
Посмотреть сообщение
[13:06:16] El valor de GetPlayerVehicleID(playerid): 0
[13:06:16] El valor de Informacion[playerid][Trabajo]: 0

No esta agarrando el id del vehнculo, porque?

Edit: Que solo funcione en esos 2 vehнculos, por algo esta el "||" no?
Quizб tъ querнas usar https://sampwiki.blast.hk/wiki/GetVehicleModel y te confundiste xD
Reply
#10

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
Quizб tъ querнas usar https://sampwiki.blast.hk/wiki/GetVehicleModel y te confundiste xD
Me puedes explicar cual es la diferencia? pues nada de lo que me han sugerido parece funcionar :/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)