Jump to content

Vozidla


Guest Frodo

Recommended Posts

Zdravím všechny co tohle čtou. Tenhle návod bude o vozidlech.

 

Obsah


  • [*:271rg27n] 1. Vložení vozidla
    ______a. Parametry funkcí
    [*:271rg27n] 2. Podmínky
    [*:271rg27n] 3. Callbacks
    [*:271rg27n] 4. Další funkce
    [*:271rg27n] 5. Závěr

1. Vložení vozidla

Na tvoření vozidel jsou základní DVĚ funkce.

AddStaticVehicle

CreateVehicle

 

V čem se liší?


  • Přes CreateVehicle nejdou tvořit vlaky.
    CreateVehicle lze použít kdykoliv, AddStaticVehicle jen v OnGameModeInit/OnFilterScriptInit.
    CreateVehicle má další parametr respawn_delay

 

1.a Parametry

AddStaticVehicle

modelid, - ID Modelu auta (není to vehicle ID!!!)

Float:spawn_x, - Souřadnice X kam se vozidlo spawne

Float:spawn_y, - Souřadnice Y kam se vozidlo spawne

Float:spawn_z, - Souřadnice Z kam se vozidlo spawne

Float:angle, - Rotace vozidla

color1, - Barva 1.

color2, - Barva 2.

 

CreateVehicle

Má stejné parametry jako AddStaticVehicle kromě toho posledního.

Přidaný parametr

  • respawn_delay - Zde se vepisuje čas (V sekundách!) který určuje, když řidič vystoupí z vozidla, za jakou dobu se vozidlo respawne.

 

2. Podmínky

Existují dvě podmínky pro vozidla.

IsPlayerInAnyVehicle - Zjistí pokud je hráč v jakémkoli vozidle.

Příklad -

if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid,0x00FF00AA,"Jsi v nějakém autě.");

 

IsPlayerInVehicle

Zjistí, jestli hráč sedí v autě s URČENOU ID.

if(IsPlayerInVehicle(playerid, ID_Vozidla))

Příklad -

        if(IsPlayerInVehicle(playerid, 32))
       {
           SendClientMessage(playerid,0xFFFFFFFFF,"You're in vehicle 32!");
       }

!!!!!!! Neplést si ID_Vozidla s Model ID !!!!!!

 

3. Callbacks

OnPlayerEnterVehicle

Spouští se když hráč u vozidla stiskne tlačítko pro nasednutí do auta (Enter / F)

Parametry

  • playerid, - playerid snad všichni známe.. :d
    vehicleid, - Zjištuje ID Vozidla (NE MODELID!!)
    ispassenger, - vrací hodnotu 0 (pokud je hráč řidič) a 1 (pokud je pasažér)

 

Příklad -

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   new string[128];
   format(string, sizeof(string), "Nastupuješ do vozidla s ID %i",vehicleid);
   SendClientMessage(playerid, 0xFFFFFFFF, string);
   return 1;
}

 

OnPlayerExitVehicle

Spouští se když hráč vystupuje z vozidla. Má stejné parametry jako předchozí public ale chybý mu ispassenger.

 

4. Další funkce

GetPlayerVehicleID

Parametr - playerid.

Zjistuje ID vozidla.

Příklad -

new id_vozidla = GetPlayerVehicleID(playerid);
if(id_vozidla == 1) return SCM(playerid, BARVA, "Jsi ve vozidle s ID 1");

 

GetVehicleModel

Parametr - vehicleid.

U této funkce musíme zjistit vehicleid (viz. funkce o pár řádku nad).

Zjistuje model id vozidla.

Příklad -

   if(GetVehicleModel(vehicleid) == 411) // 411 is the infernus model
   {
       SendClientMessage(playerid, 0xFFFFFFFF, "Nice Infernus!");
   }

 

PutPlayerInVehicle

Parametry -

 

  • playerid, - známe
    vehicleid, - ted uz taky známe
    seatid, - určuje na jaké sedadlo hráče dáme (viz. seznam)

0 - Řidič

1 - Spolujezdec ve předu

2 - Spolujezdec v levo v zadu

3 - Spolujezdec v pravo v zadu

4+ - Pokud je více sedadel. (Autobus atd.)

Vezme hráče a hodí ho do vozidla :)

 

RemovePlayerFromVehicle

Parametr - playerid

 

Vyhodí hráče z vozidla.

Příklad -

    if(GetPlayerVehicleID(playerid) == 1 && GetPlayerMoney(playerid) < 5000)
   {
       RemovePlayerFromVehicle(playerid);
   }

 

5. Závěr

Některé informace čerpány z wiki (názvy parametrů, příklady.)

Děkuji za přečtení :)

 

Těch funkcí je nespočet, na změnu barvy, pozice atd. Najdete je všechny ZDE -

Category:Scripting_Functions#Vehicles

Link to comment
Share on other sites

docela slusny tut 10/10

Takze co je lepsi ASV nebo CV??

ASV pouzivej na staticky vozidla, tedy ty co v modu budou furt.

CV pouzivej kdyz chces vytvorit treba admin auto (na par minut nez admin odejde).

 

Viz.

CreateVehicle lze použít kdykoliv, AddStaticVehicle jen v OnGameModeInit/OnFilterScriptInit.

Link to comment
Share on other sites

docela slusny tut 10/10

Takze co je lepsi ASV nebo CV??

ASV pouzivej na staticky vozidla, tedy ty co v modu budou furt.

CV pouzivej kdyz chces vytvorit treba admin auto (na par minut nez admin odejde).

 

Viz.

CreateVehicle lze použít kdykoliv, AddStaticVehicle jen v OnGameModeInit/OnFilterScriptInit.

 

AHa ok

Link to comment
Share on other sites

Pěkný tut, je to dobré mít to vše takto pohromadě.. měl bych jednu otázku (nechce se mi to testovat).. když tedy dám respawn u CreateVehicle na 0, tak se auto po nastopuení resp. zničení už neobjeví?

Tak to nevim, pokud to chceš zjistit jedině vyzkoušet nebo se zeptat někoho kdo s tím má větší zkušenosti. Ani na wiki to nemaj napsaný :d Teoreticky by to mělo bud zůstat na pořád a nebo hned zmizet :d

Link to comment
Share on other sites

hezky napsany tut ale preci jen sem nasel jednu chybku z nepozornosti :d

new id_vozidla = GetPlayerVehicleID;

chybi ti parametr

takt by to mnelo byt

new id_vozidla = GetPlayerVehicleID(playerid);

Link to comment
Share on other sites

hezky napsany tut ale preci jen sem nasel jednu chybku z nepozornosti :d

new id_vozidla = GetPlayerVehicleID;

chybi ti parametr

takt by to mnelo byt

new id_vozidla = GetPlayerVehicleID(playerid);

Opraveno díky :)

Link to comment
Share on other sites

když už se to téma rozjelo, tak bych ti taky chtěl říct, že je to pěkný TuT, nj musím tě pochválit :d akorát nic nového jsem nezjistil :p

Link to comment
Share on other sites

AddStaticVehicleEx snad psát nemusím, já to v životě netestoval a podle wiki ta funkce je stejná jak klasický AddStaticV, jen má parametr respawn_delay, který jsem popsal u CreateVehicle.

 

Děkuji všem za podporu, když budu mít náladu napíšu něco dalšího :)

Link to comment
Share on other sites

  • 2 weeks later...
DaDo[K]":15pkfot6]Chcel by som sa spýtať trebarz mám na servery Rustler a ako by som spravil tak aby som iba ja do neho mohol nastupiť a nie niekto iný len aby som mohol len ja . Za odpoved DIKI

do publicu OnPlayerEnterVehicle si dej třeba podmínku na nick.

if(strcmp(PlayerName(playerid),"DaDo", true)
{
// kdyz nastoupis ty
} else {
// kdyz nastoupi nekdo jiny
return 0;
}

Link to comment
Share on other sites

DaDo[K]":3lqvhmp3]Chcel by som sa spýtať trebarz mám na servery Rustler a ako by som spravil tak aby som iba ja do neho mohol nastupiť a nie niekto iný len aby som mohol len ja . Za odpoved DIKI

do publicu OnPlayerEnterVehicle si dej třeba podmínku na nick.

if(strcmp(PlayerName(playerid),"DaDo", true)
{
// kdyz nastoupis ty
} else {
// kdyz nastoupi nekdo jiny
return 0;
}

 

Ale to je pro vsechny auta on se ptal jen na jedno.

Ale to tusim ze nejde

Link to comment
Share on other sites

if(GetVehicleModel(vehicleid) == ID_RUSTLERU)
{
if(strcmp(PlayerName(playerid),"DaDo", true)
{
// kdyz nastoupis ty
} else {
// kdyz nastoupi nekdo jiny
return 0;
}
}

 

vehicleid je v publicu OnPlayerEnterVehicle definovany, kdyby si to cpal jinam tak pouzij tohle

if(GetVehicleModel(GetPlayerVehicleID(playerid)) == ID_RUSTLERU)

Link to comment
Share on other sites

  • 2 weeks later...

    if(GetPlayerVehicleID(playerid) == 1 && GetPlayerMoney(playerid) < 5000)
   {
       RemovePlayerFromVehicle(playerid);
   }

 

Neviem či si to niekto všimol, ale toto tam byť nemusí:

 

 && GetPlayerMoney(playerid) < 5000

 

:d Teda nemá to nič spoločného s vozidlami.

Link to comment
Share on other sites

    if(GetPlayerVehicleID(playerid) == 1 && GetPlayerMoney(playerid) < 5000)
   {
       RemovePlayerFromVehicle(playerid);
   }

 

Neviem či si to niekto všimol, ale toto tam byť nemusí:

 

 && GetPlayerMoney(playerid) < 5000

 

:d Teda nemá to nič spoločného s vozidlami.

A proč sem tam psal Příklad? :d

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...