Posts: 4,930
Threads: 467
Joined: Dec 2010
buenas a todos, tengo problemas con OnPlayerExitVehicle, kiero ke cuando el vehiculo este cerrado con SetVehicleParamsEx ke no deje bajar a los pasajero ni conductor del vehiculo, hice esto, pero no me funciona :S.
pawn Код:
CALLBACK: OnPlayerExitVehicle(playerid, vehicleid)
{
GetVehicleParamsEx(vehicleid, Motor, Luces, Alarma, Puertas, Capo, Maletero, Objetivos);
if(IsPlayerInAnyVehicle(playerid) && Puertas == Activado && GetPlayerVehicleSeat(playerid) == 1 || GetPlayerVehicleSeat(playerid) == 1 || GetPlayerVehicleSeat(playerid) == 2 || GetPlayerVehicleSeat(playerid) == 3)
{
if(PutPlayerInVehicle(playerid, vehicleid, 0) || PutPlayerInVehicle(playerid, vehicleid, 1) || PutPlayerInVehicle(playerid, vehicleid, 2) || PutPlayerInVehicle(playerid, vehicleid, 3))
SendClientMessage(playerid, -1, ""B" [ ! ] "G"Йste Vehнculo Se Encuentra "B"Cerrado"G"!.");
return 1;
}
return 1;
}
Si alguien me puede ayudar se lo agradezco
![Wink](images/smilies/wink.png)
.
Desde ya muchas Gracias.
Posts: 4,930
Threads: 467
Joined: Dec 2010
Quote:
Originally Posted by Daniel-92
creo que no se puede impedir que un jugador salga de su vehiculo, lo que se me ocurre es poner un timer que lo vuelva a subir
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid) { GetVehicleParamsEx(vehicleid, Motor, Luces, Alarma, Puertas, Capo, Maletero, Objetivos); if(Puertas == Activado) { SetTimerEx("PutPlayerInVehicleEx",1500,false,"iii",playerid,vehicleid,GetPlayerVehicleSeat(playerid)); SendClientMessage(playerid,-1,"Este vehiculo se encuentra cerrado"); return 0; } return 1; }
forward PutPlayerInVehicleEx(playerid, vehicleid, seat); public PutPlayerInVehicleEx(playerid, vehicleid, seat) { return PutPlayerInVehicle(playerid, vehicleid, seat); }
|
Lo probe y hace lo mismo ke el mio, guarda el asiento ke estaba el player, pero lo deja salir :S
Intente cambien blokeando la tecla enter cuando el player esta en el vehiculo y estan cerradas la puertas, pero lo deja salir igual :S.
pawn Код:
if(pressed(KEY_SECONDARY_ATTACK))
{
new vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, Motor, Luces, Alarma, Puertas, Capo, Maletero, Objetivos);
if(IsPlayerInVehicle(playerid, vehicleid) && Puertas == Activado)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
SendClientMessage(playerid, -1, ""B" [ ! ] "G"Йste Vehнculo Se Encuentra "B"Cerrado"G"!.");
return 1;
}
}
}
yo me pregunto como hacen en algunos Servidores lo blokean
Posts: 4,930
Threads: 467
Joined: Dec 2010
Quote:
Originally Posted by Bu11Sh0t
Haz probado que en vez de retornar 1 (true) retorne 0 (false).
EDITO: no me fije, trata con esto:
pawn Код:
if(pressed(KEY_SECONDARY_ATTACK)) { new vehicleid = GetPlayerVehicleID(playerid); GetVehicleParamsEx(vehicleid, Motor, Luces, Alarma, Puertas, Capo, Maletero, Objetivos); if(IsPlayerInVehicle(playerid, vehicleid) && Puertas == Activado) { { new sitid = GetPlayerVehicleSeat(playerid), Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); SetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); PutPlayerInVehicle(playerid, vehicleid, sitid); return 1; } } }
|
Hace lo mismo ke los otros :S
Posts: 211
Threads: 32
Joined: Jul 2010
Reputation:
0
Bybytus, tengo un script que en cuanto llegue al pc lo posteos, pero en el conductor no deja, solamente deja en los otros
Posts: 4,930
Threads: 467
Joined: Dec 2010
Quote:
Originally Posted by TiNcH010
pawn Код:
forward ForcePutPlayerInVehicle(playerid, vehicleid, seat);
public OnPlayerExitVehicle(playerid, vehicleid) { GetVehicleParamsEx(vehicleid, Motor, Luces, Alarma, Puertas, Capo, Maletero, Objetivos); if(Puertas == Activado) { // Acб tu funciуn de lo que quieras que haga para que el jugador no baje. ForcePutPlayerInVehicle(playerid, vehicleid, seat); // Acб forzamos al jugador a volver a entrar el vehнculo. } return 1; }
public ForcePutPlayerInVehicle(playerid, vehicleid, seat) { if (!seat) { new Float:PlayerPos[3]; GetPlayerPos(playerid, PlayerPos[0], PlayerPos[1], PlayerPos[2]); SetPlayerPos(playerid, PlayerPos[0], PlayerPos[1], PlayerPos[2]); } PutPlayerInVehicle(playerid, vehicleid, seat); }
|
:S, sigue Haciendo l omismo ke los otros, ya, creo ke no se puede en OnPlayerEnterVehicle
pero lo ke no entiendo pro hacen en los servidores rp para hacer ke se blokee, me he fijado en algunos GMs en los comandos /Lock etc y solo tiene una variable ke blokea pero solo lo tiene alli o_O
Posts: 332
Threads: 10
Joined: Jun 2012
Reputation:
0
Bueno, entonces el problema no esta en este cуdigo, pasa el cуdigo de /lock