Samp Mods
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Tutorial | Como crear el interior de algun vehiculo o avion.

Ir abajo

Tutorial | Como crear el interior de algun vehiculo o avion. Empty Tutorial | Como crear el interior de algun vehiculo o avion.

Mensaje  Opa. Mar Abr 24, 2012 7:45 pm

1- primero tnemos que poner la variable para que identifiq que el jugador esta en el interior del coche:

Código:
new EnBus[MAX_PLAYERS];

2- primero vamos a crear el interior del coche (para crearlo se puede con mta y es como crear cualquier mapa solo que usando interiores adecuados), ejemplo de un FS de Bus hecho por el Scripter ''Trenico'':

Código:
public OnFilterScriptInit()
{
   CreateObject(18007, 1792.196533, -2255.970459, -7.175301, 0.000000, 0.000000, 0.000000); //
   CreateObject(1523, 1787.670532, -2258.713623, -9.304996, 0.000000, 0.000000, 0.000000); //
   CreateObject(2291, 1799.160400, -2256.206787, -9.293932, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1799.128540, -2257.231201, -9.293932, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1796.727295, -2256.428467, -9.172997, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1796.717407, -2257.417725, -9.153989, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1794.400269, -2256.129639, -9.292213, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1794.429810, -2257.118896, -9.266294, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1791.975708, -2256.217285, -9.293932, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2291, 1791.959839, -2257.283936, -9.293932, 0.000000, 0.000000, -89.999981276); //
   CreateObject(1495, 1798.796387, -2259.153076, -9.298645, 0.000000, 0.000000, -89.999981276); //
   CreateObject(2366, 1783.632568, -2257.529785, -8.241543, 0.000000, 77.3493023427, -3.66973738203); //
   CreateObject(2343, 1786.216309, -2257.381836, -8.709729, 0.000000, 0.000000, 179.999962552); //
   return 1;
}

3- luego nos vamos al calback public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
y hacemos esto:

Código:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   if (ispassenger)
   {
      if (GetVehicleModel(vehicleid) == 437)
      {
         EnBus[playerid]=vehicleid;
         SetPlayerPos(playerid, 1797.8512,-2259.9136,-8.2925);
         SetPlayerFacingAngle(playerid, 0);
         SetCameraBehindPlayer(playerid);
         SetPlayerInterior(playerid, 0);
      }
   }
   return 1;
}

- ahora les explico, el GetVehicleModel es para definir el modelo del vehiculo en est caso es 437 porq es la id o el modelo del bus

- el EnBus el SetPlayerPos es para teletransportarse al interior que hicieron

- el SetPlayerInterior es para cambiar el interior del coche, ak lo djammos en 0 porq no ahy interior definido, (el dl shamal es 1 porq el interior ya esta diseñado)

4- ahora nos vamos a OnPlayerKeyStateChange

Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if (newkeys == 16)
   {
      if(EnBus[playerid] > 0)
      {
         new Float:X,Float:Y,Float:Z;
         GetVehiclePos(EnBus[playerid], X, Y, Z);
         SetPlayerPos(playerid, X+4, Y, Z);
         SetPlayerInterior(playerid, 0);
         EnBus[playerid]=0;
      }
   }
   return 1;
}

- ahora el if (newkeys == 16) define la tecla Enter que es para salir del bus
- el if(EnBus[playerid] > 0) es para definir que ya salimos del bus
-El resto ya espara salir al lado del bus

5. ahora nos vamos a OnPlayerDeath

Código:
public OnVehicleDeath(vehicleid)
{
   if(GetVehicleModel(vehicleid) == 437)
  {
     for(new i=0; i<MAX_PLAYERS; i++)
      {
         if(EnBus[i] != 0)
       {
            SetPlayerHealth(i, 0);
            SendClientMessage(i, COLOR_RED, "El coche se ha explotado y todos los pasajeros han muerto");
         }
      }
   }
  return 1;
}

- eso es para que cuando el bus explote tdos los pasajeros mueran.

6. y por ultimo nos vamos a OnPlayerDisconnect y a OnPlayerDeath

Código:
public OnPlayerDisconnect(playerid, reason)
{
   EnBus[playerid] = 0;
   return 1;
}

Código:
public OnPlayerDeath(playerid, killerid, reason)
{
   EnBus[playerid] = 0;
   return 1;
}

- esto es para por si te mueres que aparezca que salistes del bus.

Opa.
Opa.
Ayudante de script
Ayudante de script

Mensajes : 87
Fecha de inscripción : 22/04/2012
Edad : 33
Localización : Idlewood
*Soy : Walter_Chilavert

https://www.facebook.com/luqitasdc

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.