Como crear el interior de algun vehiculo o avion -
Trenico - 19.05.2010
est tutorial sriv para crear un interior xD comenzamos:
1. primero tnemos q poner la variable para q identifiq q el jugador esta en el interior del coche:
Код:
new EnBus[MAX_PLAYERS];
2. primero vamos a crear el interior del coche (para crearlo c pued con mta y es cmo crear cualkkier mapa solo q usando interiores adecuados), ej de un fs de bus echo por mi:
Код:
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 acemos esto:
Код:
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 q 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
Код:
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 tcla
Enter q es para salir dl bus
- el
if(EnBus[playerid] > 0) es para definir q ya salimos del bus
-El resto ya espara salir al lado del bus
5. ahora nos vamos a
OnPlayerDeath
Код:
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 q cuando el bus explote tdos los pasajeros mueran
6. y por ultimo nos vamos a OnPlayerDisconnect y a
OnPlayerDeath
Код:
public OnPlayerDisconnect(playerid, reason)
{
EnBus[playerid] = 0;
return 1;
}
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
EnBus[playerid] = 0;
return 1;
}
- esto es para por si t mueres q apare<ca q salist del bus
eso es tdo espero q les sriva, esta probado y tdo.....
Re: [Tutorial] Como crear el interior de algun vehiculo o avion -
TheChaoz - 19.05.2010
esta bastante bien explicado, y el tuto a muchos seguramente les va a ser util o los va a inspirar.
Respuesta: [Tutorial] Como crear el interior de algun vehiculo o avion -
Treyfus - 28.12.2011
grasias amigo es lo que estaba buscando +rep
Re: [Tutorial] Como crear el interior de algun vehiculo o avion -
MrDeath537 - 29.12.2011
Muy bueno, sуlo recomiendo usar OnPlayerStateChange en vez de OnPlayerEnterVehicle.
Respuesta: [Tutorial] Como crear el interior de algun vehiculo o avion -
adri93 - 29.12.2011
El tutorial estб bastante bien, solo te voy a dar un consejo para dar el remate final. Te aconsejo que cambies las etiquetas de codigo y que lo pongas asн:
De esta manera te quedarнa asн:
pawn Код:
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;
}
Saludos,
Respuesta: [Tutorial] Como crear el interior de algun vehiculo o avion -
itsfree - 03.08.2012
siempre me surge una duda con los interiores de los vehнculos , ejemplo en mi server hay dos bus, en ese caso por mas que el player entre a uno u otro se irнa al mismo interior? cuando quiera salir en que bus saldria?
Respuesta: [Tutorial] Como crear el interior de algun vehiculo o avion -
TheChaoz - 04.08.2012
Quote:
Originally Posted by itsfree
siempre me surge una duda con los interiores de los vehнculos , ejemplo en mi server hay dos bus, en ese caso por mas que el player entre a uno u otro se irнa al mismo interior? cuando quiera salir en que bus saldria?
|
Si el sistema esta scripteado correctamente, serian interiores diferentes y al salir del mismo, regresaria al vehiculo correspondiente.
Sugerencias:
#Guardar la id del vehiculo al cual el jugador subio y luego utilizar la misma para localizar el vehiculo cuando este salga del interior.
#Utilizar mundos virtuales diferentes para cada vehiculo.