Ayuda con OnPlayerEnterVehicle y Operadores... -
OTACON - 17.01.2013
Buenas a Todos, Ayuda con esto...
Asi funciona Perfectamente:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger)
{
if(vehicleid == variablevehiculo)
{
if(!Variable[playerid]) //<------------
{
//SendClientMessage ...
}
return 0;
}
}
return 1;
}
y aca cuando kiero agregar otra variable para ke compruebe si tiene una variable y otra, con los opeadores
&& hay ya me causa problema y no chekea nada y deja subir al vehiculos siempre:
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger)
{
if(vehicleid == variablevehiculo)
{
if(!Variable[playerid] && !VariableNueva[playerid]) //<------------
{
//SendClientMessage ...
}
return 0;
}
}
return 1;
}
Me pueden decir ke sucede?.
Desde ya muchas Gracias.
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
Daniel-92 - 17.01.2013
Ambas variables deben ser igual a 0 (! es lo mismo que == 0)
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
OTACON - 17.01.2013
Quote:
Originally Posted by Daniel-92
Ambas variables deben ser igual a 0 (! es lo mismo que == 0)
|
ya lo se, y tambien comprobe y pasa lo mismo :S.
las variables son bool.
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
Daniel-92 - 17.01.2013
no hay ningъn error en cуdigo, si lo que querйs es que el jugador evite entrar al vehiculo con retornar 0 o 1 no haces nada, tal vez cambiandolo de posiciуn funcione.
probб poniendo un printf arriba del if
printf("(%d && %d) == %d",!Variable[playerid],!VariableNueva[playerid],!Variable[playerid] && !VariableNueva[playerid]);
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
OTACON - 17.01.2013
aver...
estoy medio confuso

XD.
tengo 2 tipos de vehiculos vefinidos con variabla, ahora creare 2 comandos, uno sera para usar un tipo de vehiculo y el otro para usar el otro.
la primer variable seria para poder usar los comando en general, y la segunda para no permitir usar el otro itpo de vehiculo si ya esta usando el otro.
Com podria hacer eso?.
PD: osea no permitirlo entrar con OnPlayerEnterVehicle .
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
CaptainMactavish - 17.01.2013
OnPlayerEnterVehicle se llama cuando apretas el botуn para entrar al vehнculo, puede que hayas entrado o no, la callback se llamarб igual. Lo que tenйs que usar es OnPlayerStateChange y comprar newstate con PLAYER_STATE_DRIVER.
pawn Код:
if(!Variable[playerid] && !VariableNueva[playerid])
Traducido serнa:
pawn Код:
si Variable[playerid] esta en false y VariableNueva[playerid] esta en false entonces
Tambiйn podйs hacer la inversa, con la condiciуn contraria y poniendo un return para terminar la ejecuciуn de la callback.
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
OTACON - 17.01.2013
Quote:
Originally Posted by CaptainMactavish
OnPlayerEnterVehicle se llama cuando apretas el botуn para entrar al vehнculo, puede que hayas entrado o no, la callback se llamarб igual. Lo que tenйs que usar es OnPlayerStateChange y comprar newstate con PLAYER_STATE_DRIVER.
pawn Код:
if(!Variable[playerid] && !VariableNueva[playerid])
Traducido serнa:
pawn Код:
si Variable[playerid] esta en false y VariableNueva[playerid] esta en false entonces
Tambiйn podйs hacer la inversa, con la condiciуn contraria y poniendo un return para terminar la ejecuciуn de la callback.
|
es ke lo coloco en OnPlayerEnterVehicle por ke le pongo dento un GetPlayerPos y un SetPlayerPos con z+2.0 asi cuando intenta entrar con entero con g salta el player pero afuera del vehiculo, y en OnPlayerStateChange el player entrar al vehiculo y sale y se kedaria arriba del techo :S.
Pero no tengo problema con eso, es con las variables y operadores.
y lo estoy poniendo bien , y los ejemplo ke me dan explicando es como lo estoy colocando ¬¬.
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
OTACON - 18.01.2013
alguien me da un ejemplo de como harian esto ?
http://forum.sa-mp.com/showpost.php?...50&postcount=5
Re: Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
Daniel-92 - 18.01.2013
Quote:
Originally Posted by bytytus
tengo 2 tipos de vehiculos vefinidos con variabla, ahora creare 2 comandos, uno sera para usar un tipo de vehiculo y el otro para usar el otro.
|
Ahi crearias una variable que almacene el tipo de vehiculo permitido
Permitido[playerid] = 1; //en el primer comando
Permitido[playerid] = 2; //en el segundos
Quote:
Originally Posted by bytytus
la primer variable seria para poder usar los comando en general, y la segunda para no permitir usar el otro itpo de vehiculo si ya esta usando el otro.
|
mmm como que para usar comandos en general?
al crear una sola variable no tendrias problemas de poder usar los dos tipos de vehiculos, ya que si usas el primero la variable seria 1 y si usas el segundo la variable seria 2,
Respuesta: Ayuda con OnPlayerEnterVehicle y Operadores... -
RcoNs! - 18.01.2013
Prueba asi
pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger)
{
if(vehicleid == variablevehiculo)
{
if(Variable[playerid] == 1 && VariableNueva[playerid] == 0) //<------------
{
//SendClientMessage ...
}
return 0;
}
}
return 1;
}
yo que sepa ! va antes de una funcion, no variable, es para que una funcion ejecute esa funcion de forma inversa o si algo es lo contrario
si quieres que una variable se evalue como falso o verdadero es como lo puse
esto es un claro ejemplo para lo que se usa el !
pawn Код:
if(!IsPlayerConnected(playerid)) //no esta conectado
if(IsPlayerConnected(playerid)) // esta conectado
| Operador | Accion | |
| = | Para darle un nuevo valor a una variable |
| - | Restar |
| + | Sumar |
| / | Divide |
| * | Multiplica |
| ++ | Aumenta el valor de la variable en 1 |
| -- | Disminuye el valor de la variable en 1 |
| -= | Disminuye el valor especificado a una variable |
| += | Aumenta el valor especificado a una variable |
| == | Usado para comparar si 2 variables son iguales |
| != | Usado para comprobar si 2 variables son distintas |
| < | Usado para comprobar si una variable es menor que otra |
| > | Usado para comprobar si una variable es mayor que otra |
| <= | Comprueba para comprobar si una variable es menor o igual que otra |
| >= | Comprueba si una variable es mayor o igual que otra |