SA-MP Forums Archive
їComo hacer diferentes interiores para el mismo vehiculo? - 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: їComo hacer diferentes interiores para el mismo vehiculo? (/showthread.php?tid=490633)



їComo hacer diferentes interiores para el mismo vehiculo? - xHanks - 27.01.2014

Bueno, os explicarй, estoy haciendo un GM de camioneros, y querнa que al pulsar G al remolque te entrara, la questiуn es que habrбn muchos remolques y si defino con X modelo, todos los que entren al remolque (Aun ser diferentes ID's de autos) Aparecerнan al mismo interior, lo que me gustarнa saber es como hacer que cada vehнculo tenga su interior y no aparezcan todos al mismo.


Respuesta: їComo hacer diferentes interiores para el mismo vehiculo? - OTACON - 27.01.2014

pawn Код:
#include <a_samp>

#define pressed(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

new bool:EstaDentro[MAX_PLAYERS],
GuardarEstaDentroID[MAX_PLAYERS];

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){

    new vehicleid = GetPlayerVehicleID(playerid);
    if(pressed(KEY_CROUCH) && EstaDentro[playerid] == false){ //para entrar
        if(GetVehicleModel(vehicleid) == ID_VEHICULO){ //aca el colocamos el modelo del vehiculo.
            GuardarEstaDentroID[playerid] = vehicleid; //aca guardamos el id del vehiculo al jugador.
            EstaDentro[playerid] = true; //aca le damos una variable para identificar que esntro al remolque.
            SetPlayerPos(playerid, Float:x, Float:y, Float:z); //aca la posicion del remolque.
            SetPlayerVirtualWorld(playerid, GuardarEstaDentroID[playerid]); //aca le damos Virtual World al jugador, que sera el id del vehiculo.
        }
    }
    if(pressed(KEY_CROUCH) && EstaDentro[playerid] == true){ //para salir
        if(!IsPlayerInAnyVehicle(playerid){
            new world = GetVehicleVirtualWorld(GuardarEstaDentroID[playerid]); //aca vehiculo camos el Virtual World en el que este el vehiculo id que guardamos con la variable.
            SetPlayerVirtualWorld(playerid, world); //aca le damos el Virtual World del vehiculo al jugador.
            new Float:pos[3];
            GetVehiclePos(GuardarEstaDentroID[playerid], pos[0], pos[1], pos[2]); //aca verificamos la posicion del vehiculo con la id guardara ocn la variable.
            SetPlayerPos(playerid, pos[0], pos[1], pos[2]); //aca le damos la posicion obtenidad anteriormente al jugador.
            GuardarEstaDentroID[playerid] = -1; //aca reseteamos la variable
            EstaDentro[playerid] = false; //aca reseteamos la variable
        }
    }
   
    return true;
}



Respuesta: їComo hacer diferentes interiores para el mismo vehiculo? - xHanks - 27.01.2014

Grande OTACON <3. їPero si cambio el VW el map seguirб visible?


Respuesta: їComo hacer diferentes interiores para el mismo vehiculo? - TheChaoz - 27.01.2014

Si utilizas el streamer de incognito, los objetos son visibles para el mundo virtual en el cual se los creo (para que sean visibles en todos los mundos virtuales utiliza -1).