SA-MP Forums Archive
Funciуn Car Jack - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Funciуn Car Jack (/showthread.php?tid=539497)



Funciуn Car Jack - MrNatrio - 28.09.2014

Buenas,

He mirado un par de tutoriales de como hacer una funciуn para que congele a un jugador cuando intenta entrar a un vehнculo cuando ya hay alguien dentro (como conductor).

Asн es como me ha quedado:

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   for(new i=0; i<MAX_PLAYERS; i++)
   {
       if(ispassenger) return 1;
       {
           if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
           {
           new Float:x, Float:y, Float:z;
           GetPlayerPos(playerid,x,y,z);
           SetPlayerPos(playerid,x,y,z);
           GameTextForPlayer(playerid,"~r~NO HAGAS CAR JACK",2000,3);
           TogglePlayerControllable(playerid,0);
           SetTimerEx("Congelado",3000,false,"i",playerid);
           }
       }
   }
   return 1;
}

//----------------------------------------
forward Congelado(playerid);
public Congelado(playerid)
{
   TogglePlayerControllable(playerid,1);
   return 1;
}
El problema es que al probarlo dentro del juego, no funciona. El jugador saca al otro y entra sin problemas.

Espero que me puedan ayudar, gracias.


Re: Funciуn Car Jack - LiMPiTo - 28.09.2014

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if( ! ispassenger )
    {
        for(new i; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
            {
                new Float:PLY_POS[3];
                GetPlayerPos(playerid, PLY_POS[0], PLY_POS[1], PLY_POS[2]);
                SetPlayerPos(playerid, PLY_POS[0], PLY_POS[1], PLY_POS[2] + 0.5);
                return GameTextForPlayer(playerid,"~R~NO HAGAS CAR JACK", 2000, 3);
            }
        }
    }
    return 1;
}



Respuesta: Funciуn Car Jack - MrNatrio - 28.09.2014

Sigue sacando al conductor del vehнculo...


Respuesta: Funciуn Car Jack - [J]ulian - 28.09.2014

Quote:
Originally Posted by MrNatrio
Посмотреть сообщение
Sigue sacando al conductor del vehнculo...
Por que es ese evento es llamado cuando se sienta en el asiento. Habrнa que ver si en OnPlayerStateChange "PLAYER_STATE_ENTER_VEHICLE_DRIVER" es cuando abre la puerta o es cuando se sientan tambiйn.

Tambiйn podrнas probar con PutPlayerInVehicle para el que sacaron.


Re: Funciуn Car Jack - LiMPiTo - 28.09.2014

Entonces asн, pero OnPlayerStateChange es cuando cambia el estado del jugador, ejemplo: estaba a pie y paso a estar como conductor. OnPlayerEnterVehicle es cuando ingresa al vehнculo (sin estar sentado).

pawn Код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if( ! ispassenger )
    {
        for(new i; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
            {
                new Float:PLY_POS[3];
                GetPlayerPos(playerid, PLY_POS[0], PLY_POS[1], PLY_POS[2]);
                SetPlayerPos(playerid, PLY_POS[0], PLY_POS[1], PLY_POS[2] + 2.0);
                return GameTextForPlayer(playerid,"~R~NO HAGAS CAR JACK", 2000, 3);
            }
        }
    }
    return 1;
}



Respuesta: Re: Funciуn Car Jack - [J]ulian - 28.09.2014

Quote:
Originally Posted by LiMPiTo
Посмотреть сообщение
Entonces asн, pero OnPlayerStateChange es cuando cambia el estado del jugador, ejemplo: estaba a pie y paso a estar como conductor. OnPlayerEnterVehicle es cuando ingresa al vehнculo (sin estar sentado).
Pensй que era al revйs xD Si es llamado cuando habre la puerta entonces con un "ClearAnimations" deberнa bastar.


Re: Funciуn Car Jack - MrNatrio - 28.09.2014

Si lo pongo en: OnPlayerStateChange y agrego esta funciуn: PLAYER_STATE_ENTER_VEHICLE_DRIVER, entonces al querer entrar a un vehнculo con alguien dentro, lo saca y el jugador que estaba dentro, se queda encima del vehнculo...


Re: Funciуn Car Jack - LiMPiTo - 28.09.2014

Intentб con la ъltima manera que te pase, ahн levanta la posiciуn 2.0, se supone que termina con la animaciуn de sacar del vehнculo a la otra persona.


Respuesta: Re: Funciуn Car Jack - MrNatrio - 28.09.2014

Quote:
Originally Posted by LiMPiTo
Посмотреть сообщение
Intentб con la ъltima manera que te pase, ahн levanta la posiciуn 2.0, se supone que termina con la animaciуn de sacar del vehнculo a la otra persona.
Es que justamente me pasa esto con la manera que me has dicho... :/


Re: Funciуn Car Jack - LiMPiTo - 28.09.2014

Entonces no sabrнa que decirte, yo lo tengo de esa manera y me funciona sin problemas (a menos que estй completamente lag, ya que ni siquiera mueve la posiciуn del jugador).

Otra soluciуn es utilizar RemovePlayerFromVehicle para cuando el jugador se suba lo baje por CJ.