[TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Sekcia určená pre programovací jazyk pawn.

[TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod EEEE » Ned 30. Okt 2011 23:54:40

Vozidlá a ich základne funkcie


Obtiažnosť : ObrázokObrázokObrázokObrázokObrázok

Cieľ Tutoriálu : Spoznať nové funkcie a naučiť sa ich používať / Nemať problémy s pracovaním s vozidlami.

Obsah Tutoriálu :
  • Vytváranie vozidiel
  • Odstraňovanie vozidiel
  • Oprava vozidiel
  • Respawn vozidiel
  • Zmeny farieb vozidiel
  • Zmeny paintjobov vozidiel
  • Komponenty - Pridávanie / Odoberanie
  • Nastavenie HP vozidla
  • Nastavenie pozície vozidla
  • Hráč - Posadenie / Vysadenie

Ideme na to :)


Vytváranie vozidiel

Na vytváranie vozidiel 3 funkcie :
AddStaticVehicle
AddStaticVehicleEx
CreateVehicle



AddStaticVehicle - je funkcia , ktorá može byť použitá jedine v OnGameModeInit alebo v OnFilterScriptInit. To znamená , že sú vytvorené hneď pri spustení GM alebo FS. CEz túto funkciu nemožeme vytvárať vozidlá počas diania hry.

AddStaticVehicle(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2)

modelid         - ID vozidla (ID všetkých vozidiel nájdeme TU)
Float:spawn_X - Pozícia spawnu vozidla X
Float:spawn_Y - Pozícia spawnu vozidla Y
Float:spawn_Z - Pozícia spawnu vozidla Z
Float:angle         - Otočenie vozidla
color1         - ID prvej farby vozidla (ID farieb vozidiel nájdete TU)
color2         - ID druhej farby vozidla (ID farieb vozidiel nájdete TU)

Príklad: AddStaticVehicle(520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1);


AddStaticVehicleEx - Je taká istá funkcia , ovšem táto funkcia má pridaný čas , za ktorý sa vozidlo respawnne, ak vo vozidle nieje vodič.

AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:angle, color1, color2, respawn_delay)

respawn_delay      - Je čas , za ktorý sa vozidlo respawnne ak v ňom nieje vodič v MINÚTACH

Príklad: AddStaticVehicleEx ( 520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1, 15 );


CreateVehicle - Je tiež funkcia na vytváranie áut. Túto funkciu možete využiť v OnGameModeInit a OnFilterScriptInit ale aj počas diania hry. To znamená , že  touto funkciou možeme vyvolať vytvorenie auta priamo hre v dosledku nejakej činnosti hráča. Funkciu možete použiť napr. pri vytváraní príkazu.

CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)

modelid         - ID vozidla (ID všetkých vozidiel nájdeme TU)
Float:X - Pozícia vytvorenia vozidla X
Float:Y - Pozícia vytvorenia vozidla Y
Float:Z - Pozícia vytvorenia vozidla Z
Float:angle         - Otočenie vozidla
color1         - ID prvej farby vozidla (ID farieb vozidiel nájdete TU)
color2         - ID druhej farby vozidla (ID farieb vozidiel nájdete TU)
respawn_delay      - Je čas , za ktorý sa vozidlo respawnne ak v ňom nieje vodič v SEKUNDÁCH

Príklad:
CreateVehicle(520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1, 60);
Funkciu možete použiť napr. v príkaze ( dajme tomu , že príkaz /auto ). Ak hráč zadá príkaz /auto , tak sa vytvorí toto vozidlo. V tomto prípade sa funkcia AddStaticVehicle použiť NEDÁ !



Odstraňovanie vozidiel


Na odstraňovanie vozidiel využívame funkciu  DestroyVehicle

DestroyVehicle(vehicleid);

vehicleid - Názov/ID vozidla , ktoré chceme odstrániť.

Príklad:
Ak chceme nejaké vozidlo odstrániť , musí byť najprv vytvorené. Vytvárať vozidlá už vieme , takže by to nemal byť problém , len si to vehicleid musíme nadefinovať pomocou premennej , pod ktorou si ho musíme zadefinovať. Je to veľmi jednoduché , pozrite :
new Auticko;  - Vytvorenie novej premennej
Auticko = CreateVehicle(520, 2109.1763, 1503.0453, 32.2887, 82.2873, 0, 1, 60);  - Premenná zadefinovaná ako auto , ktoré vytvorené auto , ktoré chceme neskor zničiť. Takže túto funkciu možme zakomponovať napríklad do vymysleného príkazu /znicit. Po zadaní tohoto príkazu sa daná funkcia vykoná.

DestroyVehicle(Auticko); - Zničenie vozidla



Oprava vozidiel

Na opravovanie vozidiel využívame funkciu  RepairVehicle

RepairVehicle(vehicleid);

vehicleid - Názov/ID vozidla , ktoré chceme opraviť.

Príklad:
Ak chceme opraviť jedno určené vozidlo , budeme sa riadiť rovnakým postupom ako v prípade funkcie DestroyVehicle. Ak si chceme vymyslieť nejaký príkaz , napr. /opravit a chceme aby to opravilo auto v ktorom práve sme , spravíme to takto :

RepairVehicle(GetPlayerVehicleID(playerid)); - GetPlayerVehicleID(playerid) zisťuje v akom vozidle aktuálne sme a to vozidlo následne naša spomínaná funkcia RepairVehicle opraví. Nieje to nič zložité , len to treba logicky pochopiť.



Respawn vozidiel

Na respawnovávanie vozidiel využívame funkciu  SetVehicleToRespawn

SetVehicleToRespawn(vehicleid);

vehicleid - Názov/ID vozidla , ktoré chceme respawnovať.

Príklad:
Zase si nejako zadefinujeme dané vozidlo a potom použijeme túto funkciu:

SetVehicleToRespawn(Auticko); Auticko - príklad zadefinovanej premennej



Zmeny farieb vozidiel

Na zmenu farby vozidla využívame funkciu  ChangeVehicleColor

ChangeVehicleColor(vehicleid, color1, color2);

vehicleid - Názov/ID vozidla , ktorému chceme zmeniť farbu.
color1         - ID prvej farby vozidla (ID farieb vozidiel nájdete TU)
color2         - ID druhej farby vozidla (ID farieb vozidiel nájdete TU)

Príklad:
ChangeVehicleColor(Auticko, 4, 12); Vozidlu "Auticko" zmení farbu na farby ID 4 a ID 12



Zmeny paintjobov vozidiel

Na zmenu farby vozidla využívame funkciu  ChangeVehiclePaintjob

ChangeVehiclePaintjob(vehicleid, paintjobid);

vehicleid - Názov/ID vozidla , ktorému chceme zmeniť paintjob.
paintjobid - ID paintjobu (Všetky ID paintjobov nájdete TU)

Príklad:
ChangeVehiclePaintjob(GetPlayerVehicleID(playerid), 2); - Zmena paintjobu na ID 2 v aktuálnom vozidle.



Komponenty - Pridávanie / Odoberanie

Na pridanie komponentu vozidlu používame funkciu  AddVehicleComponent
Na odobratie komponentu vozidlu používame funkciu  RemoveVehicleComponent

AddVehicleComponent - Je funkcia , ktorou možeme ku autu pridať ľubovoľný komponent. Komponenty sú nitro , hydraulika , jednotlivé časti tuningu atď...

AddVehicleComponent(vehicleid, componentid);

vehicleid - Názov/ID vozidla , ktorému chceme pridať komponent.
componentid - ID komponentu (Všetky ID komponentov nájdete TU)

POZOR: POUŽITIE NEPLATNÉHO ID KOMPONENTU ZNAMENÁ CRASH HRY !

Príklad:
Napríklad ak si chcete vytvoriť vlastnú tuningáreň. Hráč vojde do checkpointu  , zobrazí sa mu dialóg a zvolí možnosť pridať nitro.
AddVehicleComponent(Auticko, 1010);


RemoveVehicleComponent - Je presný opak funkcie AddVehicleComponent.Odoberáme komponenty z auta.

RemoveVehicleComponent(vehicleid, componentid);

vehicleid - Názov/ID vozidla , ktorému chceme odobrať komponent.
componentid - ID komponentu (Všetky ID komponentov nájdete TU)

Príklad:
RemoveVehicleComponent(Auticko,1010); - Odobratie nitra vozidlu.



Nastavenie HP vozidla

Na nastavenie HP vozidla používame funkciu  SetVehicleHealth

SetVehicleHealth(vehicleid, Float:health);

vehicleid - Názov/ID vozidla , ktorému chceme nastaviť HP
Float:health - HP - Život

Príklad:
SetVehicleHealth(Auticko, 1000.0); - Nastavenie HP vozidla na maximum (1000)



Nastavenie pozície vozidla

Na nastavenie pozície vozidla používame funkciu  SetVehiclePos

Táto funkcia funguje len vtedy , ak je vozidlo spawnuté

SetVehiclePos(vehicleid, Float:x, Float:y, Float:z);

vehicleid - Názov/ID vozidla , ktorému chceme nastaviť pozíciu
Float:X - Budúca pozícia vozidla X
Float:Y - Budúca pozícia vozidla Y
Float:Z - Budúca pozícia vozidla Z

Príklad:
SetVehiclePos(Auticko, 123.456, 123.456, 12.34); - Nastavenie pozície vozidla.



Hráč - Posadenie / Vysadenie

Na posadenie hráča do vozidla používame funkciu  PutPlayerInVehicle

PutPlayerInVehicle(playerid, vehicleid, seatid);

playerid - Hráč , ktorého chceme do vozidla posadiť
vehicleid - Názov/ID vozidla , do ktorého chceme hráča posadiť
seatid - Sedadlo vo vozidle

0 - Vodič
1 - Pri vodičovi v predu
2 - V zadu naľavo
3 - V zadu napravo
4+ - Miesta pre cestujúcich (Autobus...)


POZOR: AK ZADÁTE NEPLATNÉ ID SEDADLA , ALEBO JE SEDADLO UŽ OBSADENÉ , TAK PRI VYSTUPOVANÍ DANÉHO HRÁČA NASTANE CRASH !

Príklad:
PutPlayerInVehicle(playerid, Auticko, 0); - Posadí hráča na miesto vodiča


Na vysadenie hráča z vozidla používame funkciu  RemovePlayerFromVehicle

RemovePlayerFromVehicle(playerid);

playerid - Hráč , ktorého chceme z vozidla vysadiť

Príklad:
if(GetPlayerVehicleID(playerid) == Auticko)
   {                                                                            
       RemovePlayerFromVehicle(playerid);  - Ak je hráč vo vozidle "Auticko" , tak ho to z neho vyhodí
   }





Koniec tutoriálu. Snáď to niekomu pomože :)
Naposledy upravil EEEE dňa Sob 16. Mar 2013 19:05:03, celkovo upravené 1
Víťaz Netopeer Awards v kategórii - Pawner roku 2013.
Obrázok
Obrázok užívateľa
EEEE
Administrátor
Administrátor
 
Príspevky: 3609
Registrovaný: Ned 01. Aug 2010 18:39:33
Bydlisko: Košice
Obľúbený server?: PFR

Re: [TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod Angel » Pon 21. Nov 2011 18:07:36

Pekné, K+, mne by sa to nechcelo písať :)
Poznámka:
ak pri respawn_delay použijeme -1 nikdy nerespawne vozidlo
Angel
 

Re: [TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod icecold007 » Sob 07. Jan 2012 2:01:34

Moc se mne to líbí a priucil jsem se
pro zacatecnici velice dobré (Doporucuji)  ;) 
Obrázok užívateľa
icecold007
Junior
Junior
 
Príspevky: 214
Registrovaný: Sob 24. Sep 2011 18:26:50

Re: [TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod FireMaN[ » Uto 12. Jún 2012 7:53:11

Pekný tut K+ ;)
Obrázok
Obrázok užívateľa
FireMaN[
Nováčik
Nováčik
 
Príspevky: 117
Registrovaný: Str 06. Jún 2012 16:07:44

Re: [TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod _None_ » Pia 15. Mar 2013 0:21:37

Výborný tut, veľa som sa z neho naučil a objavil som v ňom menšiu chybičku.

Createvehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)


Má to byť  s veľkým V: CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
Naozaj je to len drobná chyba, ale v pawne to vyhodí nepekný error :)

Malé "v" máš pri tejto funkcii(CreateVehicle) v tomto Tute napísané vo viacerých prípadoch :)
_None_
Nováčik
Nováčik
 
Príspevky: 4
Registrovaný: Štv 14. Mar 2013 22:11:33

Re: [TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod EEEE » Sob 16. Mar 2013 19:04:25

J viem, že sa každé nové slovo v pawne píše veľkým, toto mi muselo nejak újsť. Vďaka za nájdenie, opravené.
Víťaz Netopeer Awards v kategórii - Pawner roku 2013.
Obrázok
Obrázok užívateľa
EEEE
Administrátor
Administrátor
 
Príspevky: 3609
Registrovaný: Ned 01. Aug 2010 18:39:33
Bydlisko: Košice
Obľúbený server?: PFR

Re: [TuT] Vozidlá a ich základné funkcie - Pre začiatočníkov

Poslaťod Eidam_Player » Štv 13. Feb 2014 9:59:25

Začínam sa učiť pawniť a toto je zatiaľ najlepší tutorial ktorý som doteraz videl. Všetko dopodrobna vysvetlené že čo to je a načo to slúži.
Eidam_Player
Nováčik
Nováčik
 
Príspevky: 44
Registrovaný: Ned 04. Aug 2013 14:08:18
Obľúbený server?: PTPM


Späť na Pawn

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

cron