[DUDA]Como ago para cuando se suban a un vehiculo....
#1

Buenas quisiera saber como hacer para cuando se suban a algun vehiculo, salga un textdraw que diga el nombre del vehiculoo alque se monto, les agradeceria mucho, gracias !
Reply
#2

Tambien lo puedes usar en un GameTextForPlayer ._. para que no se te acumulen textdraw
Quote:

public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == 2 || newstate == 3)
{
new strH[240];
format(strH, sizeof(strH), "~w~%s",VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]); GameTextForPlayer(playerid, strH, 4000, 1); }
Tus demas Codes etc......

Reply
#3

Hace un tiempo usй йsto para saber el nombre del vehнculo en el cual el jugador se montaba.

Te dejarй una simple base:


pawn Код:
new VehicleNames[][] =
{
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
    "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
    "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
    "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
    "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
    "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
    "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
    "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
    "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
    "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
    "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
    "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
    "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
    "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
    "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin",
    "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
    "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
    "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
    "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
    "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
    "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
    "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
    "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
    "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
    "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
    "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
    "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
    "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
    "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
    "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
    "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
    "Tiller", "Utility Trailer"
};

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        new Message[78];
        format(Message, sizeof(Message), "Te has montado en un %s.", VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]);
        return SendClientMessage(playerid, -1, Message);
    }
    return 1;
}
Si no entendiste el script, te lo explico:

1є - VehicleNames tiene el nombre de todos los 211 vehнculos disponibles, es un array con 211 strings, cada string tiene un "nъmero", por lo que el string "Landstalker" serнa 0, Bravura serнa 1, y asн sucesivamente.


2є -
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    //Cуdigo...
}
OnPlayerStateChange es una CallBack que se llama cada vez que el "estado" de un jugador cambia, como por ejemplo, si estб caminando, dentro de un vehнculo, si estб espectando, etc...

En esta CallBack, le enviaremos el mensaje al jugador diciendo el nombre del carro en el cual se montу.

3є -

pawn Код:
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
Como dije anteriormente, en esta CallBack podemos saber en quй estado estб el jugador, en este "if", podremos saber si el jugador estб en un vehнculo o no (Ya sea como conductor o como pasajero).

Si el jugador estб en un vehнculo, entonces procederemos a formatear y enviar el mensaje.

4є -

pawn Код:
new Message[78];
Supongo que esto es simple de entender, una simple variable llamada "Message" con un tamaсo mбximo de 78 (Exacto para lo que necesitamos) caracteres.

5є -

pawn Код:
format(Message, sizeof(Message), "Te has montado en un %s.", VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]);
Ok, esto es lo que es importante, vamos a formatear el string, haciendo que el resultado termine en "Message".

Como nosotros queremos saber el nombre del vehнculo en el que nos montamos, usaremos el array "VehicleNames" del inicio, por lo que haremos lo siguiente:

1є - Obtenemos la ID del vehнculo en el que el jugador se ha montado (GetPlayerVehicleID(playerid) es la funciуn que retornarб la ID del vehнculo en el cual el jugador estб montado, por ejemplo, 3).

2є - Obtenemos el modelo de la ID del vehнculo, la cual fue retornada por GetPlayerVehicleID(playerid), como por ejemplo, la ID del modelo del vehнculo ID 7 es 400.

3є - Una vez que tenemos el modelo del vehнculo ID 7, que serнa 400 (Por ejemplo), tendremos que restar 400 a ese valor.

їPor quй?
Porque como dije desde un inicio, "VehicleNames" tiene todos los nombres de todos los vehнculos, comenzando por 0 hasta terminar en 211.

Haciendo asн que al restarle 400, obtendremos el string exacto de VehicleNames, que serнa en este caso, "Landstalker".

Bбsicamente, obtenemos la ID del vehнculo en el cual estб el jugador, para asн obtener la ID del modelo del vehнculo del jugador y luego, obtener el nombre del vehнculo en el cual estб.

Un resultado serнa: "Te has montado en un Landstalker.".

6є -

pawn Код:
return SendClientMessage(playerid, -1, Message);
Simple, como indicamos que el resultado de format se almacenara en "Message", enviamos el string "Message" al jugador, notificбndole asн, el nombre de su vehнculo.

Sй que lo querнas en TextDraw, pero como dije desde un inicio, esto es una simple base, luego lo modificas a tu gusto.
Reply
#4

Quote:
Originally Posted by Edugta.
Посмотреть сообщение
Hace un tiempo usй йsto para saber el nombre del vehнculo en el cual el jugador se montaba.

Te dejarй una simple base:


pawn Код:
new VehicleNames[][] =
{
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
    "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
    "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
    "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
    "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
    "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
    "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
    "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
    "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
    "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
    "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
    "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
    "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
    "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
    "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin",
    "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
    "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
    "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
    "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
    "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
    "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
    "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
    "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
    "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
    "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
    "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
    "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
    "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
    "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
    "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
    "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
    "Tiller", "Utility Trailer"
};

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {
        new Message[78];
        format(Message, sizeof(Message), "Te has montado en un %s.", VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]);
        return SendClientMessage(playerid, -1, Message);
    }
    return 1;
}
Si no entendiste el script, te lo explico:

1є - VehicleNames tiene el nombre de todos los 211 vehнculos disponibles, es un array con 211 strings, cada string tiene un "nъmero", por lo que el string "Landstalker" serнa 0, Bravura serнa 1, y asн sucesivamente.


2є -
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    //Cуdigo...
}
OnPlayerStateChange es una CallBack que se llama cada vez que el "estado" de un jugador cambia, como por ejemplo, si estб caminando, dentro de un vehнculo, si estб espectando, etc...

En esta CallBack, le enviaremos el mensaje al jugador diciendo el nombre del carro en el cual se montу.

3є -

pawn Код:
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
Como dije anteriormente, en esta CallBack podemos saber en quй estado estб el jugador, en este "if", podremos saber si el jugador estб en un vehнculo o no (Ya sea como conductor o como pasajero).

Si el jugador estб en un vehнculo, entonces procederemos a formatear y enviar el mensaje.

4є -

pawn Код:
new Message[78];
Supongo que esto es simple de entender, una simple variable llamada "Message" con un tamaсo mбximo de 78 (Exacto para lo que necesitamos) caracteres.

5є -

pawn Код:
format(Message, sizeof(Message), "Te has montado en un %s.", VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400]);
Ok, esto es lo que es importante, vamos a formatear el string, haciendo que el resultado termine en "Message".

Como nosotros queremos saber el nombre del vehнculo en el que nos montamos, usaremos el array "VehicleNames" del inicio, por lo que haremos lo siguiente:

1є - Obtenemos la ID del vehнculo en el que el jugador se ha montado (GetPlayerVehicleID(playerid) es la funciуn que retornarб la ID del vehнculo en el cual el jugador estб montado, por ejemplo, 3).

2є - Obtenemos el modelo de la ID del vehнculo, la cual fue retornada por GetPlayerVehicleID(playerid), como por ejemplo, la ID del modelo del vehнculo ID 7 es 400.

3є - Una vez que tenemos el modelo del vehнculo ID 7, que serнa 400 (Por ejemplo), tendremos que restar 400 a ese valor.

їPor quй?
Porque como dije desde un inicio, "VehicleNames" tiene todos los nombres de todos los vehнculos, comenzando por 0 hasta terminar en 211.

Haciendo asн que al restarle 400, obtendremos el string exacto de VehicleNames, que serнa en este caso, "Landstalker".

Bбsicamente, obtenemos la ID del vehнculo en el cual estб el jugador, para asн obtener la ID del modelo del vehнculo del jugador y luego, obtener el nombre del vehнculo en el cual estб.

Un resultado serнa: "Te has montado en un Landstalker.".

6є -

pawn Код:
return SendClientMessage(playerid, -1, Message);
Simple, como indicamos que el resultado de format se almacenara en "Message", enviamos el string "Message" al jugador, notificбndole asн, el nombre de su vehнculo.

Sй que lo querнas en TextDraw, pero como dije desde un inicio, esto es una simple base, luego lo modificas a tu gusto.
Wow Muchas Gracias, Te Fajaste! +Reputacion.

Gracias Por Dedicarte, Y Ademas, Me Sirvio Mucho Salu2

PostData: Si Habia Entendido El Script.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)