act_setstate xx, yy
Nastaví stav actora xx.
Parametry (1)
- xx = ID actora
active – actor je aktivní
inactive – actor je neaktivní
off – actor je vypnut (mrtvola zůstává)
actor_adddorici xx
???
actor_delete xx
Vymaže actora xx.
actor_duplicate xx, yy, zz
Vytvoří kopii actora xx a definuje jej jako actora yy.
Parametry (2)
- xx = ID zkopírovaného actora
- yy = ID vytvořeného actora
actor_setdir xx, yy
Nastaví směr actora.
Parametry (1)
- xx = ID actora pro změnu směru
actor_setplacement xx, yy
Umístí actora xx na pozici framu yy. Prakticky stejné jako actor_setpos.
Parametry (1)
- xx = ID actora
actor_setpos xx, yy
Umístí actora xx na pozici framu yy. Prakticky stejné jako actor_setplacement. Mafia script & data reference
Parametry (1)
- xx = ID actora
actorlightnesson
Na hráče nebude působit žádné světlo.
actorupdateplacement nn
Aktualizuje pozici actora ???
airplane_isdestroyed xx, yy
Vratí stav letadla xx do proměnné yy.
Parametry (1)
- xx = ID actora letadla
airplane_start xx, yy, zz
Start letadla xx, které se pohybuje pohybuje po dráze yy.
Parametry (2)
- xx = ID actora letadla
- yy = ID navigace definované v souboru Mafia\missions\nazev_mise\check.bin
airplane_start2 xx
Zahájení startu letadla xx.
airplaneshowdamage xx, yy
Zobrazí velikost poškození letadla xx.
Parametry (1)
- xx = ID actora letadla
autosavegame nnnn
Uloží hru pod ID číslem. Ukládá se pouze původní pozice hráče.
autosavegamefull nnnn
Uloží úplně hru pod ID číslem. Ukládá se: aktuální pozice hráče, lidí, aut, fyzikálních objektů, všech skriptů, informace o nebi, atd…
beep
Používá se pro ladění.
bridge_shutdown xx, yy
Zakázání otevírání a zavírání mostu xx.
Parametry (1)
- xx = ID mostu
call
Zavolání funkce ???
callsubroutine "ssss"
Používá se pro zavolání Init scriptu z jiného Init scriptu. Použitý v GameInitStart pro zavolání
skriptu TraffSndSect, viz. settraffsectorsnd.
Mafia script & data reference
Parametry (1)
- ssss = název skriptu pro zavolání
camera_getfov xx
Vrátí velikost zorného úhlu kamery do proměnné xx.
camera_lock xx
Kamera se umístí na pozici a rotaci framu xx. Kamera v této pozici zůstane, dokud nebude zrušena příkazem camera_unlock.
camera_setfov xx
Nastaví velikost zorného úhlu kamery. natáhne už i z backgroundu nebe
Parametry (1)
- xx = fov od 0 do 170, lze použít i proměnnou:
- 0 – maximální zoom
- 70 – původní normální zoom pro rozlišwní 4:3
- 80 – normální zoom pro rozlišení 16:10
- 85 – normální zoom pro rozlišení 16:9
- 170 – maximální natažení prostoru do hloubky – vyšší hodnoty způsobují, že kamera se
camera_setrange xx, yy
Nastaví rozsah renderování.
Parametry (1)
- xx = minimální vzdálenost v metrech
camera_setswing xx, yy, zz
Houpání prostředí kolem osy x. použít jako sektor hlavní vyloučený frame
Parametry (3)
- xx = ???
- yy = odchylka kmitání ve stupních (na obě strany dohromady)
- zz = ID vyloučeného framu, na který nebude efekt působit, pro vyloučení více framů je nutno u nich
camera_unlock
Uvolní kameru a vrátí ji zpátky k hráči.
car_breakmotor xx, yy
Auto xx bude mít rozbitý motor. Nejde nastartovat. V rychlosti začne zastavovat.
Parametry (1)
- xx = ID actora auta
car_calm xx
Uklidní auto xx, se kterým bylo pohybováno pomocí actor_setplacement.
car_disable_uo xx, yy, zz
Zamezí, aby bylo sedáno na místo yy v autě xx.
Parametry (2)
- xx = ID actora auta
- yy = ID sedadla:
- 0 – vepředu vlevo – řidič
- 1 – vepředu vpravo
- 2 – vzadu vlevo
- 3 – vzadu vpravo
car_enableus xx, yy
Nastavení použitelnosti auta xx. Mafia script & data reference
Parametry (1)
- xx = ID actora auta
car_explosion xx
Exploze auta xx.
car_forcestop xx
Zastaví auto xx a vypne motor.
car_getactlevel xx, yy
Vratí aktuální hladinu nádrže auta xx do proměnné yy.
Parametry (1)
- xx = ID actora auta
car_getmaxlevels
Vrátí počet stupňů v převodovce ???
car_getseatcount xx, yy
Vrátí počet sedadel v autě xx do proměnné yy.
Parametry (1)
- xx = ID actora auta
car_getspeccoll xx
???
car_getspeed xx, yy
Vrátí rychlost auta xx, v km/h, do proměnné yy.
Parametry (1)
- xx = ID actora auta
car_invisible xx, yy
Zruší autu xx kolize, avšak stále zůstane viditelné.
Parametry (1)
- xx = ID actora auta
car_inwater xx, yy
Vrátí stav auta xx, jestli spadlo do vody, do proměnné yy.
Parametry (1)
- xx = ID actora auta
car_lock xx, yy
Zabrzdí auto xx. Jde nastartovat.
Parametry (1)
- xx = ID actora auta
car_lock_all xx, yy
Úplně zabrzdí auto xx – chová se jako tvrdý objekt. Jde nastartovat. Mafia script & data reference
Parametry (1)
- xx = ID actora auta
car_muststeal xx, yy
Pro nastoupení do auta xx musí být prvně vypáčen zámek.
Parametry (1)
- xx = ID actora auta
car_remove_driver xx
Vymaže AI řízeného auta, ale nevyhodí řidiče ven. Proto musí být použito enemy_usecar. Tento příkaz přepíše enemy_car_hunt nebo enemy_car_moveto.
car_repair xx
Zastaví a opraví auto xx.
car_setactlevel xx, yy
Nastaví množství benzínu v nádrži auta xx.
Parametry (1)
- xx = ID actora auta
car_setaxis xx
Použito v Extrémní jízdě a v Misi 6 – Město v GameInitEnd u formulí ???
car_setdestroymotor xx, yy
Auto xx bude při jízdě neustále chcípat.
Parametry (1)
- xx = ID actora auta
car_setdooropen xx, yy, zz
Otevření dveří yy u auta xx.
Parametry (2)
- xx = ID actora auta
- yy = ID dveří:
- 0 – vepředu vlevo – řidič
- 1 – vepředu vpravo
- 2 – vzadu vlevo
- 3 – vzadu vpravo
car_setprojector ww, xx, yy, zz
Nastavení světelného kuželu u auta ww. xx, yy, zz = parametry projektoru: 15, 15, 15 ???
Parametry (1)
- ww = ID actora auta
car_setspeccoll xx, yy
Úplně zabrzdí auto xx – chová se jako tvrdý objekt. Jde nastartovat. Mafia script & data reference 0 – odbržděné 1 – zabržděné
Parametry (2)
- xx = ID actora auta
- yy = 0 nebo 1:
car_setspeed xx, yy
Nastaví autu xx rychlost yy v km/h.
Parametry (1)
- xx = ID actora auta
car_switchshowenergy xx, yy
Přepínač mezi typy poškození auta. Používá se jako selektor typu poškození před cardamagevisible,
getcardamage nebo showcardamage. Při maximálním poškození motoru nemusí být maximální
vizuální poškození. To platí i obráceně. Při zapnutém zobrazení poškození a přesednutím do jiného
auta se zobrazí typ 3.
Parametry (1)
- xx = ID actora auta
od 1 do 0.6 – bez kouře
od 0.6 do 0.2 – bílý kouř
od 0.2 do 0 – černý kouř
0 – zaseklá převodovka, případně zničení 2 – vizuální poškození 1 (střelné zbraně neubírají, kromě pěstních, ty mají extra poškození – pěsti, baseball. pálka, …), použito v Misi 03 – Morello 3 – vizuální poškození 2 (všechny zbraně ubírají)
car_unbreakable xx, yy
Auto xx bude chráněno proti střelám. Nepůjde prostřelit okna, pneumatiky, nádrž nebo odstřelit světla
a nárazníky. Auto lze poškodit pouze nárazy nebo okolními výbuchy.
Parametry (1)
- xx = ID actora auta
cardamagevisible xx
Zapne měřič poškození auta. Typ měřiče se určí pomocí car_switchshowenergy.
carlight_indic_l xx, yy
Zapne levý blinkr u auta xx.
Parametry (1)
- xx = ID actora auta
carlight_indic_off xx, yy
Vypne blinkly u auta xx ???
Parametry (1)
- xx = ID actora auta
carlight_indic_r xx, yy
Zapne pravý blinkr u auta xx.
Parametry (1)
- xx = ID actora auta
carlight_light xx, yy
Mafia script & data reference Zapne výstražné signály u auta xx ???
Parametry (1)
- xx = ID actora auta
carlight_main xx, yy
Zapne hlavní světla u auta xx. Musí být však spuštěna noční mise přes game_nightmission 1. Nejlépe
v GameInitStart.
Parametry (1)
- xx = ID actora auta
cartridge_invalidate
???
change_mission "ssss", "tttt", nn
Ukončí součastnou misi a načte misi “ssss“.
Parametry (2)
- ssss = název složky mise v Mafia\missions
- tttt = název framu pro umístění hráče v nové misi
character_pop xx
Načtení vlastností postavy xx po změně mise. Ne však inventáře. K tomu slouží inventory_pop.
character_push xx
Uložení vlastností postavy xx před změnou mise. Ne však inventáře. K tomu slouží inventory_push.
citycaching_tick
Přecachování dat v Mafia\missions\nazev_mise\cache.bin při přesunech kamery na velké vzdálenosti
ve městě.
citymusic_off
Vypnutí hudby ve městě nebo v krajině.
citymusic_on
Zapnutí hudby ve městě nebo v krajině.
cleardifferences
Vypustí všechny difference data z operační paměti po filmové sekvenci načtené pomocí loaddifferences.
coll_testline vv, ww, xx, yy, zz
Vrátí test, zda jsou dva vektory v jedné přímce, do proměnné vv ???
Parametry (4)
- vv = ID proměnné
- ww = ID troj proměnné pro osy X, Y, Z – vstup vektoru 1
- xx = ID troj proměnné pro osy X, Y, Z – vstup vektoru 2
- yy = ID troj proměnné pro osy X, Y, Z – výstup vektoru 1
commandblock nn
Slouží pro obalení částí kódu, které se vykonají ve stejném čase, jako při provádění jednoho přikazu. Lze zapisovat několik začátků nebo konců za sebe. Při chybě se však hra padá, např.: v bloku je skok
na neexistující název labelu nebo je blok uzavřen do nekonečné smyčky.
Mafia script & data reference 1 – začátek bloku
Parametry (1)
- nn = 0 nebo 1:
- 0 – konec bloku
compareactors xx, yy, zz
Vrátí komparaci actora xx a yy do proměnné zz.
Parametry (2)
- xx = ID prvního actora
- yy = ID druhého actora
compareframes xx, yy, zz
Vrátí komparaci framu xx a yy do proměnné zz.
Parametry (2)
- xx = ID prvního framu
- yy = ID druhého framu
compareownerwith xx, yy, zz
Zkontroluje, zda je postava, obsahující tento příkaz, v autě xx nebo ne. yy nebo zz musí být -1 – skript pokračuje na další řádek.
pokud je actor zaregistrovaný jako NULL, při komparaci se myslí, jako by byla postava venku
Parametry (1)
- yy = skript skočí na label yy, pokud je podmínka pravdivá
compareownerwithex ww, xx, yy, zz
Zkontroluje, zda je postava ww v autě xx nebo ne. yy nebo zz musí být -1 – skript pokračuje na další řádek.
Parametry (1)
- ww = ID actora postavy
pokud je actor zaregistrovaný jako NULL, při komparaci se myslí, jako by byla postava venku
Parametry (1)
- yy = skript skočí na label yy, pokud je podmínka pravdivá
console_addtext nnnn
Vypíše text nnnn na obrazovku vlevo dole.
create_physicalobject ww, xx, yy, zz
Změní objekt ww na fyzikální. Tyto objekty mají špatnou interakci s auty. Při vytváření fyzikálních childů z jednoho objektu musí mít objekt nulovou pozici a rotaci a měřítko 1. Z jednoho
objektu lze vytvořit maximálně 30 fyzikálních childů. Objekt lze odstranit pomocí
destroy_physicalobject. > 0 – impulz dolů 0 – bez impulzu < 0 – impulz nahoru
Parametry (3)
- ww = ID framu
- xx = počáteční pohyb:
- yy = 0 nebo 1:
- 0 – objekt spadne až po zásahu
- 1 – objekt spadne hned
createweaponfromframe ww, xx, yy, zz
Vytvoří zbraň z framu xx. Tento frame musí být model zbraně. Mafia script & data reference
Parametry (4)
- ww = ID framu
- xx = ID zbraně, viz. Seznam zbraní
- yy = náboje v zásobníku
- zz = náboje v kapse
ctrl_read xx, yy
Vrátí stisk klávesy yy do proměnné xx.
Parametry (1)
- xx = ID proměnné, vrací:
- 0 – nestisknuto
- 1 – stisknuto
ctrl_readex xx, yy
Vrátí stisk klávesy yy do proměnné xx.
Parametry (1)
- xx = ID proměnné, vrací:
- 0 – nestisknuto
- 1 – stisknuto
[dan_debug]
???
dan_internal_1
???
dan_internal_2
???
debug_getframeinfo
???
[debug_me]
???
[debug_stop]
???
debug_text "ssss"
Při ladění zobrazí text ssss, ne však ve hře.
destroy_physicalobject xx
Odstraní fyzikální objekt xx vytvořený pomocí create_physicalobject.
detector_createdyncoll
???
detector_erasedyncoll
???
detector_inrange xx, yy
Vrátí stav, zda je hráč v menší vzdálenosti než je yy v metrech, do proměnné xx.
Parametry (1)
- xx = ID proměnné, vrací:
- 0 – je daleko
- 1 – je blíž, než yy
detector_issignal xx, yy, zz
Zkontroluje, zda je signál xx roven 1. yy nebo zz musí být -1 – skript pokračuje na další řádek. Nefunguje v BScriptView 6.0 pro vytvořené body – Standard Objects. Mafia script & data reference
Parametry (3)
- xx = ID actora
- yy = skript skočí na label yy, pokud je signál xx roven 1
- zz = skript skočí na label zz, pokud je signál xx roven 0
detector_setsignal xx, yy
Nastaví signál xx. Signál má každý skript a je defaultně nastaven do nuly. Sám o sobě nic nedělá, ale dá se využít například pro synchronizaci skriptů.
Parametry (1)
- xx = ID actora
detector_waitforhit
Skript čeká, až bude objekt zasažen střelou nebo výbuchem. Oactorů (/bvykle se používá pro skripty, které jsou jako vlastnosti u modelových objektů.
detector_waitforuse nnnn
Skript čeká, až přijde hráč nebo postava k objektu a použije Action Buttom. Při koncentraci několika akcí v jednom místě se zobrazí okno Sebrat / použít, ve kterém je text nnnn.
parametr nezadá, zobrazí se volba bez textu
dialog_begin xx, yy
Zafixuje kameru pro začátek rozhovoru.
Parametry (1)
- xx = 0 ???
dialog_camswitch xx, yy
Umístí kameru za rameno postavy xx a otočí ji na postavu yy.
Parametry (1)
- xx = ID actora postavy
dialog_end
Uvolní kameru po skončení rozhovoru.
dim_act nn
dim_flt nn
dim_frm nn
Alokuje místo v paměti pro actory / proměnné / framy, které obsahuje skript.
disablecolls xx
Odstraní kolizi pro frame xx. Kolize uložená v tree.klz musí mít jako sektor použitý frame xx.
door_enableus xx, yy
Nastavení použitelnosti dveří xx.
Parametry (1)
- xx = ID actora dveří
door_getstate xx, yy
Vrací stav dveří xx do proměnné yy. Mafia script & data reference
Parametry (2)
- xx = ID actora dveří
- yy = ID proměnné, vrací:
- 0 – otevřené
- 1 – zavřené
- 2 – otevírají se
- 3 – zavírají se
door_lock xx, yy
Zamknutí dveří xx.
Parametry (1)
- xx = ID actora dveří
door_open xx, yy
Otevření dveří xx. Nefunguje pokud jsou zamčené.
Parametry (1)
- xx = ID actora dveří
door_setopenpose xx, yy
Pootevření dveří xx.
Parametry (1)
- xx = ID actora dveří
down {}
Slouží k upřesnění návratu z podprogramu nebo události (událost je také podprogram). Do složených závorek se obalí kus kódu. Po vyskočení z bloku v hlavním programu, kvůli vykonání podprogramu,
skript normálně postupuje. Ovšem při návratu se skript nevrací na původní místo zavolání, ale skáče
na konec bloku. up {} funguje podobně, ale při návratu skript skáče na začátek bloku.
emitparticle xx, yy, zz
Vytvoří částicový efekt yy v bodě xx. Efekt lze později zastavit pomocí stopparticle, kde jeho parametr
xx je proměnná zz v tomto příkazu.
Parametry (2)
- xx = ID framu
- yy = ID efektu, viz. Seznam efektů
enablemap nn
Zobrazení mapy.
end
Konec skriptu.
endofmission xx, nnnn
Obrazovka se zatmí a ukončí se mise. textdb_de.def / textdb_en.def
Parametry (2)
- xx = 0 nebo 1:
- 0 – konec hry – např.: smrt hráče, nedokončení úkolu, atd.
- 1 – návrat do hlavního menu
- nnnn = ID textu zobrazeného při ukončení hry a uloženého v Mafia\tables\textdb_cz.def /
enemy_action_backlook xx
Postava se bude otáčet a rozhlížet po dobu xx v milisekundách.
enemy_action_fire xx, yy
Postava bude agresivní na postavu xx. Podobné jako enemy_naserse. Aktivuje úmělou inteligenci a přeruší konání skriptu. Mafia script & data reference
Parametry (1)
- xx = ID actora postavy
enemy_action_follow ww, xx, yy, zz
Postava bude následovat postavu ww do vzdálenosti xx v metrech. Aktivuje úmělou inteligenci a přeruší konání skriptu. yy, zz = nepovinné parametry:
Parametry (2)
- ww = ID actora postavy
- xx = vzdálenost přiblížení
close – může přijít blíž
target – ???
nonext – ???
nolink – nenastoupí do auta
return – po přiblížení se do vzdálenosti xx, se pokračuje v konání skriptu
crouch – bude se krčit podle podle postavy ww
enemy_action_jump
Postava bude skákat ???
enemy_action_phonecall
Postava zavolá telefonem. Např.: policista posily ???
enemy_action_runaway xx, yy, zz
Postava bude utíkat pryč od postavy xx do vzdálenosti yy v metrech. Aktivuje úmělou inteligenci a přeruší konání skriptu.
Parametry (2)
- xx = ID actora postavy
- yy = bezpečná vzdálenost
enemy_action_runcloserto
???
enemy_action_sidelook xx, yy
Postava otočí hlavou na postavu xx na dobu yy v milisekundách.
Parametry (1)
- xx = ID actora postavy
enemy_action_stepaway
???
enemy_action_strafe
???
enemy_actionsclear
Zastaví aktuální akci, např.: střílení, následování, útěk, atd.
enemy_arrest_player
Postava chce zatknout hráče.
enemy_az_po_panice_hovno
???
enemy_blastfire
Postava bude s upilovanou brokovnicí střílet oba výstřely po sobě ???
enemy_block
Pozastaví aktuální akci postavy. Spustit lze pomocí enemy_unblock.
enemy_block_checkpoint nn
Zruší navigační bod nn definovaný v souboru Mafia\missions\nazev_mise\check.bin??? Mafia script & data reference
enemy_box_goto xx, yy
Postava půjde ke skupině beden xx vytvořených pomocí fuckingbox_add. Pokud už bednu nese, tak půjde do míst položení xx, vytvořených pomocí fuckingbox_add_dest.
Parametry (1)
- xx = ID skupiny beden
enemy_box_put
Postava položí bednu na nejbližší odpovídající destinaci, vytvořenou pomocí fuckingbox_add_dest.
enemy_box_take xx
Postava vezme nejbližší bednu ze skupiny beden xx, vytvořených pomocí fuckingbox_add.
enemy_brainwash
Postava má zakázáno panikařit.
enemy_car_escape uu, vv, ww, xx, yy, zz
Postava bude rychle ujíždět s autem uu pryč od actora vv do bodu ww.
Parametry (5)
- uu = ID actora auta
- vv = ID actora
- ww = ID framu
- xx = minimální rychlost auta uu v km/h
- yy = maximální rychlost auta uu v km/h
enemy_car_hunt vv, ww, xx, yy, zz
Postava bude pronásledovat v autě vv actora ww. Aktivuje úmělou inteligenci a přeruší konání skriptu.
Parametry (2)
- vv = ID actora auta
- ww = ID actora
sledovani – drží si odstup mezi auty
bokovka – naráží do boku auta
robertek – naráží do zadku auta
zpet ni krok – předjede auto a zablokuje ho
yy, zz = nepovinné parametry ???
enemy_car_moveto xx, yy, zz
Postava pojede předpisově autem xx do bodu yy.
Parametry (2)
- xx = ID actora auta
- yy = ID framu
natvrdo – před bodem yy nebude brzdit
stop – zastaví v bodě yy
enemy_changeanim "ssss", "tttt"
Změní postavě systémovou animaci ssss na animaci tttt. Animace jsou uloženy v Mafia\anims jako *.5ds soubory. *.tck soubory obsahují informaci o pohybu osoby při animaci. Při zápisu animací do
skriptu se vždy uvádí formát *.i3d místo *.5ds.
Parametry (1)
- ssss = název hlavní animace, např.: walk1.i3d, viz. Seznam animací
enemy_enter_door xx, yy
Postava vstoupí do dveří ??? Je lepší používat enemy_move_to_frame.
Parametry (1)
- xx = ???
enemy_exit_railway
Postava vystoupí z tramvaje nebo nadzemní dráhy. Mafia script & data reference
enemy_followplayer xx
Postava následuje hráče.
ano – následuje
ne – nenásleduje
enemy_forcescript xx
Postava začne konat skript postavy xx. Používá se při rušení umělé inteligence, kdy je přerušeno konání kriptu.
enemy_gethostilestate xx, yy
Vrátí nepřátelský stav actora xx do proměnné yy.
Parametry (1)
- xx = ID actora postavy
enemy_getstate
Vrátí stav actora xx do proměnné yy.
Parametry (1)
- xx = ID actora postavy
enemy_group_add xx, yy, zz
Přídá postavu yy do skupiny nepřátel xx.
Parametry (2)
- xx = ID skupiny
- yy = ID actora postavy
recieve = něco přijme ???
cast = ???
enemy_group_addcar xx, yy
Přídá auto yy do skupiny nepřátel xx. Pokud hráč nasedne do nějakého jiného auta a žačne ujíždět,
postavy ze skupiny xx nasednou do auta yy a začnou ho pronásledovat.
Parametry (1)
- xx = ID skupiny
enemy_group_chcipni_hajzle xx, yy
Aktivuje agresi skupiny nepřátel xx na postavu yy.
Parametry (1)
- xx = ID skupiny
enemy_group_del xx
Odstraní skupinu nepřátel xx.
enemy_group_new xx
Vytvoří skupinu nepřátel xx.
enemy_ignore_corpse
Postava bude ignorovat mrtvoly.
enemy_kickdriver xx
Postava vyhodí postavu xx z auta.
enemy_lockstate nnnn
Nastaví postavě chování umělé inteligence na stav nnnn, ale neaktivuje jej. Tento typ chování se projeví až při aktivaci umělé inteligence. Mafia script & data reference
Parametry (1)
- nnnn = textový řetězec stavu, např.: fight_guard, viz. Seznam stavů chování postav
enemy_look xx
Postava se podívá na postavu xx.
enemy_lookto xx
Postava se podívá na postavu xx.
enemy_move xx, yy
Postava půjde do bodu xx.
Parametry (1)
- xx = ID navigace definované v souboru Mafia\missions\nazev_mise\check.bin
run – bude utíkat
walk – půjde normálně
enemy_move_to_car xx, yy, zz
Postava půjde k autu xx, ale nenasedne do něj. To zajišťuje enemy_usecar.
Parametry (2)
- xx = ID actora auta
- yy = ID sedadla:
- 0 – vepředu vlevo – řidič
- 1 – vepředu vpravo
- 2 – vzadu vlevo
- 3 – vzadu vpravo
run – bude utíkat
walk – půjde normálně
enemy_move_to_frame xx, yy, zz
Postava půjde do bodu xx do blízkosti yy v metrech.
Parametry (2)
- xx = ID framu
- yy = vzdálenost od bodu xx
run – bude utíkat
walk – půjde normálně
enemy_naprdelivaute xx
Postava bude stále sedět v autě při aktivované umělé inteligenci.
ano – bude sedět v autě
ne – vystoupí podle potřeby
enemy_narohysevyser
Postava bude ignorovat rohy v navigaci při chůzi.
enemy_naserse xx
Postava bude agresivní na postavu xx. Podobné jako enemy_action_fire. Aktivuje úmělou inteligenci a přeruší konání skriptu.
enemy_nevyhazuj
Postavu nepůjde vyhodit z auta.
enemy_playanim "ssss", xx, yy
Postava provede animaci ssss a vrátí délku animace do proměnné xx. Animace se přeruší, pokud se
postava začne např.: pohybovat nebo bude zasažena. Animace jsou uloženy v Mafia\anims jako *.5ds
soubory. *.tck soubory obsahují informaci o pohybu osoby při animaci. Při zápisu animací do skriptu se vždy uvádí formát *.i3d místo *.5ds. Při animaci skript pokračuje dál, a proto se obvykle musí počkat
na dokončení animace. V tomto případě se používá zápis pro čekání po animaci wait flt[xx]. Toto
čekání je však moc dlouhé a při použítí několika animací po sobě by postava nepříjemně kmitala. Mafia script & data reference Proto se obvykle mezi animací a čekáním od proměnné xx odečítá konstanta. Např.: 323. Pro odečet vypadá zápis takto: let flt[xx] = flt[xx] – 323.
Parametry (2)
- ssss = název animace, např.: Nuda01.i3d, viz. Seznam animací
- xx = ID proměnné
simple – animace se provede pouze jednou, pokud se parametr neuvede – animace se bude
konat neustále
enemy_podvadim_jak tretera
Nějaké speciální chování ???
enemy_setstate nnnn
Nastaví postavě chování umělé inteligence na stav nnnn, ale neaktivuje jej.
enemy_shutup xx
Postava při aktivované umělé inteligenci bude potichu nebo bude povídat hlášky podle chování.
ano – bude potichu
ne – bude povídat
enemy_stop
Zastaví aktuální procesy postavy.
enemy_stopanim
Postava zastaví aktuální animaci a navrátí se do své původní polohy. Obvykle stání.
enemy_talk xx, yyyy, zz
Postava xx pomluví hlášku yyyy. Skript při mluvení pokračuje dál, a proto se obvykle počká pomocí enemy_wait. příkaz napsaný
Parametry (1)
- xx = ID actora postavy, nepovinné a pokud se neuvede, tak hlášku promluví postava, ve které je tento
yyyy = ID textu uloženého v Mafia\tables\textdb_cz.def / textdb_de.def / textdb_en.def, u textu však
musí být i zvuk se stejným názvem yyyy
enemy_turnback
Postava se celá otočí ???
enemy_unblock
Spustí pozastavenou akci postavy pomocí enemy_block.
enemy_use_detector xx
Postava použije detector_waitforuse ve skriptu actora xx.
enemy_use_railway xx
Postava nastoupí do tramvaje xx nebo nadzemní dráhy xx.
enemy_usecar xx, yy
Postava nastoupí do auta xx na místo yy.
Parametry (1)
- xx = ID actora auta
enemy_vidim nn
Mafia script & data reference Postava bude vidět a slyšet své nepřátele.
enemy_wait
Postava počká na dokončení předchozí operace. Obvykle se používá po enemy_talk.
enemy_watch xx, yy, zz
???
entity_script ssss
Zobrazí okno s textem ssss. Funguje pouze pro skripty postav.
event xx
Událost je podprogram, který se vyvolá buď pomocí setevent nebo chováním hráče. Jde zavolat pouze
jeden podprogram součastně. Nelze zavolat podprogram v podprogramu. Při zavolání podprogramu
se zapamatuje pozice podledně konaného příkazu v hlavním programu a skočí se na podprogram. Na
konci každého podprogramu musí být návrat return, aby se mohl podprogram ukončit a skript by se
vrátil pod posledně konaný příkaz v hlavním programu. Ovšem pozici návratu z podprogramu do hlavního programu lze upravit pomocí up a down. mezeru), dále je možné použít speciální typy názvů událostí: use_ab, nnnn – variace na detector_waitforuse u postavy, kde nnnn je ID zobrazeného textu
Parametry (1)
- xx = libovolný název, je doporučeno používat pouze velká a malá písmena, čísla a podtržítko: _ (ne
enemy_to_ai – událost se zavolá před aktivací umělé inteligence
event_use_cb nn
???
explosion xx, yy
Vytvoří výbuch, o velikosti xx v metrech a síle yy, na pozici actora, ve kterém je tento příkaz napsaný.
Parametry (1)
- xx = rádius výbuchu
findactor xx, "ssss"
Najde a zaregistruje položku ssss jako actora a přidělí mu ID xx. Položka ssss je obvykle v souboru scene2. ID xx musí mít každá položka ve skriptu jedinečné. První položka má ID 0, druhá 1, atd… Ovšem před registrací musí být vyhrazena paměť pro actory pomocí dim_act. Actoři se používají pro práci se speciálními vlastnostmi, funkcemi a chováním. Např.: příkazy pro osoby, auta, atd…
Parametry (1)
- xx = ID nového actora
findframe xx, "ssss"
Najde a zaregistruje položku ssss jako frame a přidělí mu ID xx. Položka ssss může být buď v souboru Mafia\missions\nazev_mise\scene2.bin nebo jako objekt v Mafia\missions\nazev_mise\scene.4ds. Lze také zaregistrovat objekt *.4ds modelu (Mafia\models) položky ve Mafia\missions\nazev_mise\scene2.bin.: název_položky.název_objektu. ID xx musí mít každá položka
ve skriptu jedinečné. První položka má ID 0, druhá 1, atd… Ovšem před registrací musí být vyhrazena
paměť pro framy pomocí dim_frm. S framy se pracuje jako s normálními objekty. Např.: příkazy pro pozice, rotace, navigace, viditelnost, atd…
Parametry (1)
- xx = ID nového framu
findnearactor xx, yy, zz
Najde nejbližšího actora yy, typu zz, od actora xx. Mafia script & data reference Player Enemy Car Detektor Door Railway Box Bottle Traffic_person Traffic_car Bridge Dog Airplane Turnout Pumper Race camera
Parametry (3)
- xx = ID referenčního actora
- yy = ID nového actora
- zz = typ actora:
floatreg_pop xx
Načtení vlastností auta xx po změně mise.
floatreg_push xx
Uložení vlastností auta xx před změnou mise.
flt[xx]
32 bitová proměnná xx typu float – umožňuje uložit reálné číslo. Pro určitý počet proměnných musí být
vyhrazeno místo v paměti pomocí dim_flt. ID xx musí mít každá proměnná ve skriptu jedinečné. První
proměnná má ID 0, druhá 1, atd… Příklady použití:
Parametry (1)
- xx = ID proměnné
goto – skok
příkazy, které vrací hodnotu, např.: human_getproperty
let – přiřazení
rnd – náhodná hodnota
atd…
frameistelephone xx, yy
Vrátí, zda je frame xx telefon, do proměnné yy.
Parametry (1)
- xx = ID framu
freeride_enablecar xx
Uvolní bonusové auto xx, které může hráč ukrást nebo použít v jízdě či autoencyklopedii. Sériová auta
se uvolní pomocí garage_enablesteal.
Mafia script & data reference L – Speedee 4WD M – Luciferion FWD N – Black Metal 4WD O – Hillbilly 5.1 FWD P – Flower Power Q – Flame Spear 4WD R – Manta Prototype S – Caesar 8C Mostro T – Manta Taxi FWD
Parametry (1)
- xx = ID typu skupiny aut (A – T):
- A – Bolt-Thower
- B – HotRod
- C – Black Dragon 4WD
- D – Mutagen FWD
- E – Flamer
- F – Masseur
- G – Masseur Taxi
- H – Demoniac
- I – Crazy Horse
- J – Bob Mylan 4WD
- K – Disorder 4WD
freeride_scoreadd xx
Přičte k penězům v hodnotu xx.
freeride_scoreget xx
Vrátí hodnotu peněz v do proměnné xx.
freeride_scoreon xx
Zobrazí peníze v misi.
freeride_scoreset xx
Nastaví hodnotu peněz na xx.
freeride_traffsetup
Nastaví dopravu v jízdě podle nastavených parametrů hustot dopravy, chodců a policie v hlavním menu.
frm_getchild xx, yy
Vrátí něco s objekty – childy (dětmi) ve framu xx do proměnné yy ???
Parametry (1)
- xx = ID framu – parentu (rodiče)
frm_getdir xx, yy
Vrátí směr framu xx, referenčně k jeho sektoru, do proměnné yy.
Parametry (1)
- xx = ID framu
frm_getlocalmatrix xx, yy
Vrátí matici proměnných framu xx, referenčně k jeho sektoru, do proměnné yy ???
Parametry (1)
- xx = ID framu
frm_getnumchildren xx, yy
Vrátí počet objektů – childů (dětí) ve framu xx do proměnné yy.
Parametry (1)
- xx = ID framu – parentu (rodiče)
frm_getparent xx, yy
Vrátí parenta (rodiče) od childu xx do proměnné yy ???
Parametry (1)
- xx = ID framu – childu (dítěte)
frm_getpos xx, yy
Mafia script & data reference Vrátí pozici framu xx, referenčně k jeho sektoru, do trojce proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa x – yy
osa y – yy + 1
osa z – yy + 2
frm_getrot xx, yy
Vrátí rotaci framu xx, referenčně k jeho sektoru, do čtveřice proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa w – yy
osa x – yy + 1
osa y – yy + 2
osa z – yy + 3
frm_getscale xx, yy
Vrátí velikost framu xx, referenčně k jeho sektoru, do trojce proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa x – yy
osa y – yy + 1
osa z – yy + 2
frm_getworlddir xx, yy
Vrátí směr framu xx, referenčně k počátku souřadnic mise, do proměnné yy.
Parametry (1)
- xx = ID framu
frm_getworldmatrix xx, yy
Vrátí matici proměnných framu xx, referenčně k počátku souřadnic mise, do proměnné yy ???
Parametry (1)
- xx = ID framu
frm_getworldpos xx, yy
Vrátí pozici framu xx, referenčně k počátku souřadnic mise, do trojce proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa x – yy
osa y – yy + 1
osa z – yy + 2
frm_getworldrot xx, yy
Vrátí rotaci framu xx, referenčně k počátku souřadnic mise, do čtveřice proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa w – yy
osa x – yy + 1
osa y – yy + 2
osa z – yy + 3
frm_getworldscale xx, yy
Vrátí velikost framu xx, referenčně k počátku souřadnic mise, do trojce proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa x – yy
osa y – yy + 1
osa z – yy + 2
Mafia script & data reference
frm_ison xx, yy
Vrátí stav, zda je frame xx vidět nebo ne, do proměnné yy.
Parametry (1)
- xx = ID framu
frm_linkto xx, yy
Připojí frame xx k framu yy. Nelze spojit oba framy navzájem dvakrát a frame xx lze připojit pouze jednou.
Parametry (1)
- xx = ID hlavního parentního framu – rodič
frm_setalpha
Nastaví průhlednost materiálu u framu ???
frm_setdir xx, yy
Nastaví framu xx směr yy.
Parametry (1)
- xx = ID framu
frm_seton xx, yy
Nastaví viditelnost framu xx.
Parametry (1)
- xx = ID framu
frm_setpos xx, yy
Nastaví pozici framu xx, referenčně k jeho sektoru, podle trojce proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa x – yy
osa y – yy + 1
osa z – yy + 2
frm_setrot xx, yy
Nastaví rotaci framu xx, referenčně k jeho sektoru, podle čtveřice proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa w – yy
osa x – yy + 1
osa y – yy + 2
osa z – yy + 3
frm_setscale xx, yy
Nastaví velikost framu xx, referenčně k jeho sektoru, podle trojce proměnných počínaje yy.
Parametry (1)
- xx = ID framu
osa x – yy
osa y – yy + 1
osa z – yy + 2
fuckingbox_add xx, "ssss"
Vytvoří pevnou box kolizi (XTOBB) pro model bedny ssss a přidá ji do skupiny beden xx. Píše se do Init skriptu. Příkaz lze použít i pro vytvoření kolizí childů framu, kde ssss je: Mafia script & data reference nazev_framu.nazev_objektu_v_modelu. V tomto případě musí mít frame stejný název jako model –
v misi musí být tento model jedinečný. A xx je obvykle odlišné od jednotlivých framů.
Parametry (1)
- xx = ID skupiny beden
fuckingbox_add_dest xx, "ssss"
Vytvoří destinační bod ssss pro umístění modelu bedny ze skupiny beden xx. Destinací ve skupině musí být stejný počet jako modelů. Píše se do Init skriptu, ale prvně se musí kolize překompilovat pomocí fuckingbox_recompile.
Parametry (1)
- xx = ID skupiny beden
fuckingbox_getnumbox xx, yy
Vrátí počet beden ve skupině xx do proměnné yy. Při postupném přemisťování beden hráčem nebo jinými postavami se počet beden snižuje.
Parametry (1)
- xx = ID skupiny beden
fuckingbox_getnumdest xx, yy
Vrátí počet destinací pro bedny ve skupině xx do proměnné yy. Při postupném přemisťování beden hráčem nebo jinými postavami se počet destinací snižuje.
Parametry (1)
- xx = ID skupiny beden
fuckingbox_move
Přesune bedny ???
fuckingbox_recompile
Překompiluje přidané bedny, aby je bylo možné zvednout. Píše se do Init skriptu mezi fuckingbox_add
a fuckingbox_add_dest.
game_nightmission nn
Nastaví misi na denní nebo noční. Ovlivňuje světla u aut a efekty střelby. Píše se do GameInitStart před use_lightcache.
garage_addcar xx
Přidá auto xx do garáže.
garage_addcaridx
???
garage_addlaststolen
Přidá poslední ukradené auto ???
garage_cansteal xx, yy
Vrátí, zda umí hráč ukrást auto xx, do proměnné yy.
Parametry (1)
- xx = ID actora auta
garage_carmanager
Zobrazí okno pro odstraněníí aut z garáže.
garage_delcar xx
Mafia script & data reference Smaže auto xx z garáže.
garage_enablesteal nn
Uvolní skupinu sériových aut xx, kterou může hráč ukrást nebo použít v jízdě či autoencyklopedii. Bonusová auta se uvolní pomocí freeride_enablecar.
garage_generatecars
Vygeneruje auta do garáže z předchozí mise.
garage_nezahazuj xx
Zamezí odstranění auta xx z garáže.
garage_releasecars
Vypustí auto z garáže ???
garage_show
Zobrazí okno s nově přiidanými auty, popř. požádá o vyřešení plné garáže.
get_pm_crashtime xx, yy
Vrátí čas od poslední bouračky postavy xx do proměnné yy.
Parametry (1)
- xx = ID actora postavy
get_pm_firetime xx, yy
Vrátí čas od poslední střelby postavy xx do proměnné yy.
Parametry (1)
- xx = ID actora postavy
get_pm_humanstate xx, yy
Vrátí stav policie, zda postava xx spáchala přestupek, do proměnné yy.
Parametry (1)
- xx = ID actora postavy
get_pm_state xx, yy, zz
Vrátí stav policie, zda postava xx spáchala přestupek typu zz, do proměnné yy. Mafia script & data reference
Parametry (2)
- xx = ID actora postavy
- yy = ID proměnné, vrací:
- 0 – bez přestupku
- 1 – spáchal přestupek
get_remote_actor xx, yy, zz
Vrátí název actora zz ve skriptu yy do actora xx. O nastavení vzdáleného actora, viz. set_remote_actor.
Parametry (2)
- xx = ID actora v součastném skriptu
- yy = ID vzdáleného actora skriptu
get_remote_float xx, yy, zz
Vrátí hodnotu proměnné zz ve skriptu yy do proměnné xx. O nastavení vzdálené proměnné, viz. set_remote_float.
Parametry (2)
- xx = ID proměnné v součastném skriptu
- yy = ID vzdáleného actora skriptu
get_remote_frame xx, yy, zz
Vrátí název framu zz ve skriptu yy do framu xx. O nastavení vzdáleného framu, viz. set_remote_frame.
Parametry (2)
- xx = ID framu v součastném skriptu
- yy = ID vzdáleného actora skriptu
getactivecamera xx
Vytvoří frame xx z aktivní kamery.
getactiveplayer xx
Vytvoří actora xx z aktivního hráče. Prakticky ekvivalent k findactor xx, “Tommy“.
getactorframe xx, yy
Vytvoří frame yy z actora xx.
Parametry (1)
- xx = ID actora
getactorsdist xx, yy, zz
Vrátí vzdálenost mezi actory xx a yy do proměnné zz.
Parametry (2)
- xx = ID prvního actora
- yy = ID druhého actora
getangleactortoactor xx, yy, zz
Vrátí úhel postavy yy, vůči zornému poli postavy xx, do proměnné zz. Mafia script & data reference
Parametry (3)
- xx = ID hlavního pozorujícího actora postavy
- yy = ID pozorovaného actora postavy
- zz = ID proměnné
getcardamage xx, yy
Vrátí poškození auta xx do proměnné yy. Typ měřiče se určí pomocí car_switchshowenergy.
Parametry (1)
- xx = ID actora auta
getcarlinenumfromtable xx, yy
Vrátí číslo auta – řádku z tabulky Mafia\tables\vehicles.bin, na kterém se nachází definice vlastností
auta xx, do proměnné yy. Tímto se dá určit sériový model auta, avšak nedá se určit barva.
Parametry (1)
- xx = ID actora auta
getenemyaistate xx, yy
Vrátí stav postavy xx do proměnné yy.
Parametry (1)
- xx = ID actora postavy
getfilmmusic xx, yy
Vrátí hudbu do proměnné yy ???
Parametry (1)
- xx = ID hudby ???
getframefromactor xx, yy
Vytvoří frame xx z actora yy.
Parametry (1)
- xx = ID vytvořeného framu
getgametime xx
Vrátí čas v milisekundách od začátku hry do proměnné xx.
getlastsavenum xx
Vrátí číslo posledně uložené mise do proměnné xx.
getmissionnumber xx
Vrátí číslo mise do proměnné xx. O nastavení čísla mise, viz. setmissionnumber.
getsoundtime
Vrátí délku nebo čas zvuku ???
getticktime xx
Vrátí čas, který vznikne mezi vykonáním dvou příkazů, do proměnné xx.
gosub xx
Skript skočí na label (návěští) xx ovšem jako podprogram. Jde zavolat pouze jeden podprogram součastně. Nelze zavolat podprogram v podprogramu. Při zavolání podprogramu se zapamatuje
pozice podledně konaného příkazu v hlavním programu a skočí se na podprogram. Na konci každého
podprogramu musí být návrat return, aby se mohl podprogram ukončit a skript by se vrátil pod
posledně konaný příkaz v hlavním programu. Ovšem pozici návratu z podprogramu do hlavního
programu lze upravit pomocí up a down.
Mafia script & data reference
goto nn
Skript skočí na label (návěští) xx.
group_disband xx
Rozpustí skupinu nepřátel xx.
human_activateweapon xx, yy
Postava xx vytáhne schovanou zbraň yy.
Parametry (1)
- xx = ID actora postavy
human_addweapon ww, xx, yy, zz
Vytvoří postavě ww zbraň xx.
Parametry (3)
- ww = ID actora postavy
- xx = ID zbraně, viz. Seznam zbraní
- yy = počet nábojů v zásobníku
human_anyweaponinhand xx, yy
Vrátí stav, zda postava xx má v ruce nějakou zbraň, do proměnné yy.
Parametry (1)
- xx = ID actora postavy
human_anyweaponininventory xx, yy
Vrátí stav, zda postava xx má v inventáři nějakou zbraň, do proměnné yy.
Parametry (1)
- xx = ID actora postavy
human_canaddweapon xx, yy, zz
Vrátí stav, zda může být postavě xx přidána zbraň yy, do proměnné zz.
Parametry (2)
- xx = ID actora postavy
- yy = ID zbraně, viz. Seznam zbraní
human_candie xx, yy
Vrátí stav, zda postava xx může zemřít, do proměnné yy.
Parametry (1)
- xx = ID actora postavy
human_changeanim xx, “ssss“, “tttt“
Změní postavě xx systémovou animaci ssss na animaci tttt. Animace jsou uloženy v Mafia\anims jako *.5ds soubory. *.tck soubory obsahují informaci o pohybu osoby při animaci. Při zápisu animací do
skriptu se vždy uvádí formát *.i3d místo *.5ds.
Mafia script & data reference
Parametry (2)
- xx = ID actora postavy
- ssss = název hlavní animace, např.: walk1.i3d, viz. Seznam animací
human_changemodel xx, "ssss"
Změní postavě xx model na model ssss. Modely jsou uloženy v Mafia\models jako *.4ds soubory. Při zápisu modelu do skriptu se vždy uvádí formát *.i3d místo *.4ds.
Parametry (1)
- xx = ID actora postavy
human_createab xx
Aktivuje postavě xx použití události promluvení vyvolané ostatními postavami, viz. event.
human_death xx
Přivodí postavě xx smrt.
human_delweapon xx, yy
Odstraní postavě xx zbraň yy.
Parametry (1)
- xx = ID actora postavy
human_entertotruck xx, yy, zz
Postava xx nastoupí na korbu nákladního auta yy na pozici zz.
Parametry (2)
- xx = ID actora postavy
- yy = ID actora auta, vyžaduje definici modelu typu 36 – Truck
human_eraseab xx
Deaktivuje postavě xx použití události promluvení vyvolané ostatními postavami, viz. event.
human_force_settocar xx, yy, zz
Umístí postavu xx do auta yy.
Parametry (2)
- xx = ID actora postavy
- yy = ID actora auta
human_forcefall xx
Postava xx začne padat.
human_fromcar xx, yy
Postava xx opustí auto yy.
Parametry (1)
- xx = ID actora postavy
human_getactanimid xx, yy
Vrátí ID aktuální animace postavy xx do proměnné yy ???
Parametry (1)
- xx = ID actora postavy
human_getiteminrhand xx, yy
Vrátí ID zbraně, kterou má postava xx v ruce, do proměnné yy. Mafia script & data reference
Parametry (2)
- xx = ID actora postavy
- yy = ID proměnné, vrací ID zbraně, viz. Seznam zbraní
human_getowner xx, yy
Vytvoří actora auta yy, ve kterém sedí postava xx.
Parametry (1)
- xx = ID actora postavy
human_getproperty xx, yy, zz
Vrátí hodnotu vlastnosti zz postavy xx do proměnné yy. O nastavení vlastnosti postavy, viz. human_setproperty.
Parametry (2)
- xx = ID actora postavy
- yy = ID proměnné
human_getseatidx xx, yy
Vrátí ID místa v autě, na kterém sedí postava xx, do proměnné yy.
Parametry (1)
- xx = ID actora postavy
human_havebody
???
human_havebox xx, yy, zz
Vrátí stav, zda postava xx nese bednu ze skupiny beden zz, do proměnné yy.
Parametry (2)
- xx = ID actora postavy
- yy = ID proměnné, vrací:
- 0 – nenese bednu
- 1 – nese bednu
human_holster xx
Postava bude mít schovanou zbraň.
human_isweapon xx, yy, zz
Vrátí stav, zda má postava xx zbraň zz v inventáři, do proměnné yy.
Parametry (2)
- xx = ID actora postavy
- yy = ID proměnné, vrací:
- 0 – nemá zbraň
- 1 – má zbraň
human_linktohand xx, yy, zz
Vloží postavě xx do ruky frame yy.
Parametry (2)
- xx = ID actora postavy
- yy = ID framu
hand – do ruky
move – pohyb ???
left – do levé
right – do pravé
human_looktoactor xx, yy, zz
Postava xx se podívá na postavu yy otočením hlavy. Pro navrácení do normálu se neuvádějí
parametry yy a zz.
Mafia script & data reference
Parametry (2)
- xx = ID hlavního actora postavy
- yy = ID pozorovaného actora postavy
human_looktoframe xx, yy, zz
Postava xx se podívá na frame yy otočením hlavy. Pro navrácení do normálu se neuvádějí parametry
yy a zz.
Parametry (2)
- xx = ID hlavního actora postavy
- yy = ID pozorovaného framu
human_reset xx
Reset chování postavy xx ???
human_returnfrompanic xx, yy
Postava xx přestane panikařit.
Parametry (1)
- xx = ID actora postavy
human_returntotraff xx
Postava xx se připojí k chodcům na ulici.
human_set8slot xx, yy
Postava xx bude mít osmipoložkový inventář.
Parametry (1)
- xx = ID actora postavy
human_setfiretarget
Nastaví postavě cíl pro útok ???
human_setproperty xx, yy, zz
Nastaví postavě xx vlastnost zz na hodnotu yy. O zjištění vlastnosti postavy, viz. human_getproperty.
Parametry (2)
- xx = ID actora postavy
- yy = hodnota nebo proměnná flt[yy]
human_shutup xx, yy
Postava xx při aktivované umělé inteligenci bude potichu nebo bude povídat hlášky podle chování.
Parametry (1)
- xx = ID actora postavy
human_stoptalk xx
Postava xx přestane mluvit.
human_talk xx, yyyy, zz
Postava xx pomluví hlášku yyyy. Skript při mluvení pokračuje dál, a proto se obvykle musí počkat.
yyyy = ID textu uloženého v Mafia\tables\textdb_cz.def / textdb_de.def / textdb_en.def, u textu však
musí být i zvuk se stejným názvem yyyy
human_throwgrenade xx, yy, zz
Postava xx hodí granát nebo molotov. Házený předmět musí mít prvně v ruce. Skript při hodu pokračuje dál, a proto se obvykle musí počkat. Mafia script & data reference
Parametry (2)
- xx = ID actora postavy
- yy = úhel hodu
human_throwitem
Postava hodí předmětem ???
human_unlinkfromhand xx
Ovolní postavě xx předmět z ruky.
human_waittoready xx
Postava počká na dokončení předchozí operace ???
if flt[ww] operand xx, yy, zz
Podmínka porovná podle operandu zda se hodnota v proměnné flt[ww] rovná = / nerovná ! / je menší než < / je větší než > hodnota/ě xx nebo proměnná/é flt[xx]. Pokud je podmínka pravdivá, skript skočí
na label yy a pokud není pravdivá, tak skript skočí na label zz. yy nebo zz by mělo být -1 – skript bude
pokračovat na další řádek.
operand = operand porovnání:
= – rovná se ! – nerovná se < – je menší než > – je větší než Příklady použití:
Parametry (3)
- xx = hodnota nebo proměnná flt[xx]
- yy = název labelu, na který skript skočí v případě pravdy
- zz = název labelu, na který skript skočí v případě nepravdy
if flt[ww] = xx, yy, -1 – pokud se hodnota v proměnné ww rovná hodnotě xx, skript skočí na label yy,
v opačném případě pokračuje na další řádek
if flt[ww] = xx, -1, zz – pokud se hodnota v proměnné ww rovná hodnotě xx, skript pokračuje na další
řádek, v opačném případě skočí na label yy
if flt[ww] ! xx, yy, -1 – pokud se hodnota v proměnné ww nerovná hodnotě xx, skript skočí na label yy,
v opačném případě pokračuje na další řádek
if flt[ww] ! xx, -1, zz – pokud se hodnota v proměnné ww nerovná hodnotě xx, skript pokračuje na další
řádek, v opačném případě skočí na label yy
if flt[ww] < xx, yy, -1 – pokud je hodnota v proměnné ww menší než hodnota xx, skript skočí na label
yy, v opačném případě pokračuje na další řádek
if flt[ww] < xx, -1, zz – pokud je hodnota v proměnné ww menší než hodnota xx, skript pokračuje na
další řádek, v opačném případě skočí na label yy
if flt[ww] > xx, yy, -1 – pokud je hodnota v proměnné ww větší než hodnota xx, skript skočí na label yy,
v opačném případě pokračuje na další řádek
if flt[ww] > xx, -1, zz – pokud je hodnota v proměnné ww větší než hodnota xx, skript pokračuje na
další řádek, v opačném případě skočí na label yy
if flt[ww] = flt[xx], yy, -1 – pokud se hodnota v proměnné ww rovná hodnotě v proměnné xx, skript
skočí na label yy, v opačném případě pokračuje na další řádek
if flt[ww] = flt[xx], -1, zz – pokud se hodnota v proměnné ww rovná hodnotě v proměnné xx, skript
pokračuje na další řádek, v opačném případě skočí na label yy
if flt[ww] ! flt[xx], yy, -1 – pokud se hodnota v proměnné ww nerovná hodnotě v proměnné xx, skript
skočí na label yy, v opačném případě pokračuje na další řádek
if flt[ww] ! flt[xx], -1, zz – pokud se hodnota v proměnné ww nerovná hodnotě v proměnné xx, skript
pokračuje na další řádek, v opačném případě skočí na label yy
if flt[ww] < flt[xx], yy, -1 – pokud je hodnota v proměnné ww menší než hodnota v proměnné xx, skript
skočí na label yy, v opačném případě pokračuje na další řádek
if flt[ww] < flt[xx], -1, zz – pokud je hodnota v proměnné ww menší než hodnota v proměnné xx, skript
pokračuje na další řádek, v opačném případě skočí na label yy
if flt[ww] > flt[xx], yy, -1 – pokud je hodnota v proměnné ww větší než hodnota v proměnné xx, skript
skočí na label yy, v opačném případě pokračuje na další řádek Mafia script & data reference
if flt[ww] > flt[xx], -1, zz – pokud je hodnota v proměnné ww větší než hodnota v proměnné xx, skript
pokračuje na další řádek, v opačném případě skočí na label yy
iffltinrange ww, xx, yy, zz
Podmínka zkontroluje, zda proměnná ww je v rozmezí od xx do yy. Pokud je podmínka pravdivá, skript skočí na label zz a pokud není pravdivá, tak skript bude pokračovat na další řádek.
Parametry (3)
- ww = ID proměnné
- xx = spodní hodnota
- yy = vrchní hodnota
ifplayerstealcar xx, yy
Vrátí stav, pokud hráč krade auto xx, do proměnné yy.
Parametry (1)
- xx = ID actora auta
intro_subtitle_add nnnn
Zobrazí bílý text nnnn uprostřed obrazovky.
inventory_clear xx
Odstraní postavě xx všechny zbraně z inventáře.
inventory_pop xx
Načtení inventáře postavy xx po změně mise. O načtení vlastností postavy, viz. character_pop.
inventory_push xx
Uložení inventáře postavy xx před změnou mise. O uložení vlastností postavy, viz. character_push.
iscarusable xx, yy
Vrátí použitelnost auta xx do proměnné yy.
Parametry (1)
- xx = ID actora auta
ispointinarea xx, yy, zz
Vrátí stav, zda je bod o třech proměnných počínaje xx ve framu yy, do proměnné zz.
osa x – xx
osa y – xx + 1
osa z – xx + 2
Parametry (1)
- yy = ID framu
ispointinsector
Vrátí stav, zda je bod v sektoru, do proměnné ???
isvalidtaxipassenger xx
Vrátí stav, zda je v autě s hráčem pasažér taxíku, do proměnné xx. Mafia script & data reference
Parametry (1)
- xx = ID proměnné, vrací:
- 0 – hráč neveze zákazníka
- 1 – hráč veze zákazníka
label xx
Návěští, důležité pro skoky a podmínky. Umisťuje se do místa kódu, kam potřebujeme později skočit. mezeru)
Parametry (1)
- xx = libovolný název, je doporučeno používat pouze velká a malá písmena, čísla a podtržítko: _ (ne
let flt[xx] = nn
Přiřadí proměnné xx hodnotu nn. Viz. proměnné. Příklady použití:
Parametry (2)
- xx = ID proměnné
- nn = hodnota nebo rozšířený zápis – maximálně dvě hodnoty nebo proměnné odděleny operandem: +,
- -, *, /
let flt[xx] = nn – přiřadí proměnné xx hodnotu nn
let flt[xx] = flt[yy] – přiřadí proměnné xx hodnotu v proměnné yy
let flt[xx] = flt[xx] + nn – přičte k proměnné xx hodnotu nn
let flt[xx] = flt[xx] - nn – odečte od proměnné xx hodnotu nn
let flt[xx] = flt[xx] * nn – vynásobí proměnnou xx hodnotou nn
let flt[xx] = flt[xx] / nn – vydělí proměnnou xx hodnotou nn
let flt[xx] = flt[xx] + flt[yy] – přičte k proměnné xx hodnotu v proměnné yy
let flt[xx] = flt[xx] - flt[yy] – odečte od proměnné xx hodnotu v proměnné yy
let flt[xx] = flt[xx] * flt[yy] – vynásobí proměnnou xx hodnotou v proměnné yy
let flt[xx] = flt[xx] / flt[yy] – vydělí proměnnou xx hodnotou v proměnné yy
loadcolltree
Načte kolizi z Mafia\missions\nazev_mise\tree.klz ???
loaddifferences "ssss"
Načte diferenční soubor ssss pro filmovou sekvenci. Diference jsou uloženy v Mafia\diff. Uvádí se
pouze soubor *.chg s příponou a bez cesty. Poté se musí načíst nahrávka pomocí recloadfull. Data se
vypustí pomocí cleardifferences.
m7_zastavzkurvenepolise
Vypne policii ???
math_abs xx
Vrátí absolutní hodnotu proměnné xx do proměnné xx.
math_cos xx
Vrátí kosinus hodnoty proměnné xx do proměnné xx.
math_sin xx
Vrátí sinus hodnoty proměnné xx do proměnné xx.
matrix_copy
Zkopíruje matici ???
matrix_identity
Identifikuje matici ???
matrix_inverse
Invertuje matici ???
matrix_mul
Mafia script & data reference Vynásobí matici ???
matrix_zero
Vynuluje matici ???
mission_objectives nnnn
Přidá úkol nnnn.
mission_objectivesclear
Vymaže všechny úkoly.
mission_objectivesremove nnnn
Odstraní úkol nnnn.
model_create xx, “ssss“
Vytvoří model ssss. Modely jsou uloženy v Mafia\models jako *.4ds soubory. Při zápisu modelu do
skriptu se vždy uvádí formát *.i3d místo *.4ds.
Parametry (1)
- xx = ID vytvořeného actora
model_destroy xx
Odstraní model xx.
model_playanim xx, “ssss“
Model xx provede animaci ssss. Animace jsou uloženy v Mafia\anims jako *.5ds soubory. *.tck
soubory obsahují informaci o pohybu osoby při animaci. Při zápisu animací do skriptu se vždy uvádí
formát *.i3d místo *.5ds.
Parametry (1)
- xx = ID actora
model_stopanim xx
Model xx zastaví animaci.
noanimpreload
Zakáže dřívější načtení animace ???
npc_shutup xx
Postava při aktivované umělé inteligenci bude potichu nebo bude povídat hlášky podle chování.
person_playanim xx, “ssss“, yy, zz
Postava xx provede animaci ssss a vrátí délku animace do proměnné yy. Animace se přeruší, pokud
se postava začne např.: pohybovat nebo bude zasažena. Animace jsou uloženy v Mafia\anims jako
*.5ds soubory. *.tck soubory obsahují informaci o pohybu osoby při animaci. Při zápisu animací do
skriptu se vždy uvádí formát *.i3d místo *.5ds. Při animaci skript pokračuje dál, a proto se obvykle
musí počkat na dokončení animace. V tomto případě se používá zápis pro čekání po animaci wait
flt[xx]. Toto čekání je však moc dlouhé a při použítí několika animací po sobě by postava nepříjemně
kmitala. Proto se obvykle mezi animací a čekáním od proměnné xx odečítá konstanta. Např.: 323. Pro odečet vypadá zápis takto: let flt[xx] = flt[xx] – 323. Mafia script & data reference
Parametry (3)
- xx = ID actora postavy
- ssss = název animace, např.: Nuda01.i3d, viz. Seznam animací
- yy = ID proměnné
simple – animace se provede pouze jednou, pokud se parametr neuvede – animace se bude
konat neustále
person_stopanim xx
Postava zastaví aktuální animaci a navrátí se do své původní polohy. Obvykle stání.
phobj_impuls xx, yy, zz
Actoru xx aktivuje fyziku (objekt musí být fyzikální) podle vektorů yy a zz.
Parametry (2)
- xx = ID actora
- yy = směrový vektor – má globální souřadnice
play_avi_intro
Přehraje soubor Mafia\intro.avi.
player_lockcontrols nn
Uzamkne hráči ovládání.
playsound "ssss", ww, xx, yy, zz
Přehraje zvuk ssss, v bodě ww, do vzdálenosti xx v metrech a hlasitosti yy. Zvuky jsou uloženy
v Mafia\sounds. Uvádí se pouze soubor *.wav s příponou a bez cesty. Zvuk lze později zastavit
pomocí playsoundstop, kde jeho parametr xx je proměnná zz v tomto příkazu.
Parametry (2)
- ssss = název audio wave suboru
- ww = ID framu
zvuk
Parametry (1)
- yy = hlasitost (od 0 do 1)
playsoundex xx, yy
Přehraje proměnný zvuk xx.
Parametry (1)
- xx = ID framu zvuku
playsoundstop xx
Zastaví zvuk pomocí proměnné xx, která musí být určená v playsound jako parametr zz.
pm_setprogress
Nastaví úroveň pátrání po hráči ???
pm_showprogress
Zobrazí pátrání po hráči ???
pm_showsymbol nn
Zobrazí typ přestupku.
nn – zobrazený typ:
0 – vypnuto 1 – pokuta 2 – pouta 3 – zbraň
poczkurvenychbedencar xx, yy, zz
Vrátí počet beden v autě xx do proměnné yy. Mafia script & data reference
Parametry (2)
- xx = ID actora auta
- yy = ID proměnné
police_speed_factor nn
Násobitel akcelerace policejních aut při pronásledování.
police_support
Policejní podpora ???
policeitchforplayer xx
Vrátí stav, zda po hráči pátrá policie, do proměnné xx. Viz vlvp.
policemanager_add "ssss"
Přidá policejní reakci na postavu ssss.
policemanager_del "ssss"
Odstraní policejní reakci na postavu ssss.
policemanager_forcearrest xx, yy, zz
Policie bude chtít zatknout postavu xx. Pokud postava xx není hráč, musí být prvně zaregistrována pomocí policemanager_add.
Parametry (2)
- xx = ID actora postavy
- yy = nastavit do 0 nebo 1 ???
policemanager_on xx, yy
Povolí policii reagovat na přestupky hráče, popř. dalších postav. xx, yy = nepovinné parametry ???
policemanager_setspeed
Nastaví maximální povolenou rychlost ???
preloadmodel
Předem načte model ???
program_storage
???
pumper_canwork xx, yy
Vrátí stav, zda může pumpař xx pracovat, do proměnné yy.
Parametry (1)
- xx = ID pumpaře
quat_add xx, yy
Sečte dva kvaterniony xx a yy a výsledek uloží do xx.
Parametry (1)
- xx = ID počáteční proměnné prvního kvaternionu, celkem se používají 4 proměnné
quat_copy xx, yy
Zkopíruje kvaternion yy a definuje jej jako kvaternion xx. Mafia script & data reference
Parametry (1)
- xx = ID počáteční proměnné prvního kvaternionu, celkem se používají 4 proměnné
quat_dot
???
quat_extract xx, yy, zz
Provede výpočty podle neznámého vzorce s posledními třemi proměnnými kvaternionu xx a zapíše je
do yy.
Parametry (2)
- xx = ID počáteční proměnné kvaternionu, celkem se používají 4 proměnné
- yy = ID počáteční proměnné pro výpočet, celkem se používají 3 proměnné
quat_getrotmatrix
Vrátí rotaci matice do kvaternionu ???
quat_inverse xx
Invertuje kvaternion xx a výsledek uloží do xx.
quat_make xx, yy, zz
Vytvoří kvaternion ???
quat_mul_quat xx, yy
Vynásobí dva kvaterniony xx a yy a výsledek uloží do xx.
Parametry (1)
- xx = ID počáteční proměnné prvního kvaternionu, celkem se používají 4 proměnné
quat_mul_scl xx, yy
Vynásobí kvaternion xx číslem yy a výsledek uloží do xx.
Parametry (1)
- xx = ID počáteční proměnné kvaternionu, celkem se používají 4 proměnné
quat_normalize
Normalizuje kvaternion ???
quat_rotbymatrix
Otočí kvaternion podle matice ???
quat_setdir
Nasměruje kvaternion ???
quat_slerp
Souvisí s rotací kvaternionu ???
quat_sub xx, yy
Odečte dva kvaterniony xx a yy a výsledek uloží do xx. Ovšem zbývající tři proměnné vypočítá podle neznámého vzorce.
Parametry (1)
- xx = ID počáteční proměnné prvního kvaternionu, celkem se používají 4 proměnné
racing_autoinvisible
Skryje závodní auta na trati.
racing_change_model
???
racing_mission6_init ww, xx, yy, zz
Inicializuje závod. Mafia script & data reference
Parametry (3)
- ww = počet kol
- xx = počet soupeřů
- yy = ???
racing_mission6_start xx
Spustí závod a bude v reálném čase vracet stav závodu do proměnné xx. jiná hodnota – závodí se
Parametry (1)
- xx = ID proměnné, vrací:
- 0 – neúspěch
- 1 – úspěšně dokončen závod
- 2 – neúspěch
- 3 – ???
recaddactor xx, “ssss“
Najde a zaregistruje položku ssss jako actora pro filmovou sekvenci a přidělí mu ID xx. Položka ssss
je obvykle v souboru scene2. ID xx musí mít každá položka ve skriptu jedinečné. První položka má ID
0, druhá 1, atd… Ovšem před registrací musí být vyhrazena paměť pro actory pomocí dim_act. Actoři
se používají pro práci se speciálními vlastnostmi, funkcemi a chováním. Např.: příkazy pro osoby,
auta, atd…
Parametry (1)
- xx = ID nového actora
recclear
Zastaví přehrávání filmové sekvence.
recload "ssss"
Načte nahrávku ssss pro filmovou sekvenci. Nahrávky jsou uloženy v Mafia\records. Uvádí se pouze
soubor *.rep s příponou a bez cesty. Prvně se musí načíst diferenční soubor pomocí loaddifferences.
Data se vypustí pomocí recunload.
recloadfull "ssss"
Načte nahrávku ssss pro filmovou sekvenci. Nahrávky jsou uloženy v Mafia\records. Uvádí se pouze
soubor *.rep s příponou a bez cesty. Prvně se musí načíst diferenční soubor pomocí loaddifferences.
Data se vypustí pomocí recunload.
recunload
Vypustí nahrávku z operační paměti po filmové sekvenci načtené pomocí recloadfull.
recwaitforend
Skript počká, dokud nedojde filmová sekvence do konce.
return
Skript se navrátí do místa v hlavním programu před zavoláním podprogramu nebo události. Ovšem
pozici návratu z podprogramu do hlavního programu lze upravit pomocí up a down.
rnd xx, yy
Vrátí do proměnné xx náhodné přirozené číslo od 0 do yy-1.
Parametry (1)
- xx = ID proměnné
set_remote_actor xx, yy, zz
Nastaví actora xx jako actora zz ve skriptu yy. O vrácení vzdáleného actora, viz. get_remote_actor. Mafia script & data reference
Parametry (3)
- xx = ID actora v součastném skriptu
- yy = ID vzdáleného actora skriptu
- zz = ID vzdáleného actora ve skriptu yy
set_remote_float xx, yy, zz
Nastaví proměnnou xx jako proměnnou zz ve skriptu yy. O nastavení vzdálené proměnné, viz. get_remote_float.
Parametry (2)
- xx = ID proměnné v součastném skriptu
- yy = ID vzdáleného actora skriptu
set_remote_frame xx, yy, zz
Nastaví frame xx jako frame zz ve skriptu yy. O vrácení vzdáleného framu, viz. get_remote_frame.
Parametry (2)
- xx = ID framu v součastném skriptu
- yy = ID vzdáleného actora skriptu
setaipriority xx
Nastaví prioritu uměné inteligence postavy???
setcitytrafficvisible nn
Vypne auta v dopravě. Auta se budou i nádále generovat, ale budou skrytá a nebudou mít kolize.
setcompass xx
Nastaví bod kompasu do pozice framu xx.
setevent xx, yy, zz
Zavolá v actoru xx skok na událost yy, viz. události.
Parametry (2)
- xx = ID actora
- yy = název události v actoru xx
setfilmmusic xx
Nastaví hudební skladbu ve filmové sekvenci ???
setfreeride nn
Odemkne možnosti jízdy a extrémní jízdu.
nn – úroveň odemknutí:
1 – Noční město, Noční krajina 2 – Denní město, Denní krajina 3 – Hustota dopravy, Hustota chodců, Hustota policie, Extrémní jízda
setlmlevel xx, yy
Změní framu xx vrstvu lightmapu yy. Pro použití, ale framy musí disponovat vícevrstvými lightmapy.
Parametry (1)
- xx = ID framu
setmissionnameid
Nastaví misi nějaké ID ???
setmissionnumber xx
Nastaví číslo mise na hodnotu xx (může být i proměnná). Číslo mise je jedna z mála superglobálních proměnných, které se přenášejí i při změně mise. O vrácení čísla mise, viz. getmissionnumber.
setmodeltocar xx
Umístí frame xx do auta, ve kterém právě sedí hráč. Mafia script & data reference
setnoanimhit xx, yy
Zakáže postavě xx provádět animace zásahu při zásahu zbraní.
Parametry (1)
- xx = ID actora postavy
setnpckillevent xx, yy, “ssss“
Pokud model ssss postavy bude mrtvý, zavolá se událost yy v actoru xx. Modely jsou uloženy
v Mafia\models jako *.4ds soubory. Při zápisu modelu do skriptu se vždy uvádí formát *.i3d místo
*.4ds.
Parametry (2)
- xx = ID actora
- yy = název události v actoru xx
setnullactor xx
Nastaví nulového actora xx. Ekvivalent k findactor xx, “NULL“.
setnullframe xx
Nastaví nulový frame xx. Ekvivalent k findframe xx, “NULL“.
setplayerfireevent xx, yy
Pokud hráč vystřelí, v actoru xx se zavolá událost yy.
Parametry (1)
- xx = ID actora
setplayerhornevent xx, yy
Pokud hráč zatroubí v autě, v actoru xx se zavolá událost yy.
Parametry (1)
- xx = ID actora
setplayerfallevent xx, yy
Pokud hráč bude padat, v actoru xx se zavolá událost yy.
Parametry (1)
- xx = ID actora
settankhitcount xx, yy
Nastaví potřebný počet výstřelů do nádrže auta xx, které způsobí jeho výbuch.
Parametry (1)
- xx = ID actora auta
settimeoutevent xx, yy
Pokud vyprší čas stopek, v actoru xx se zavolá událost yy, viz. timeron.
Parametry (1)
- xx = ID actora
settraffsectorsnd "ssss"
Aktivuje zvuky aut v sektoru ssss. Píše se do Init scriptu: TraffSndSect, který je zavolán pomocí callsubroutine.
showcardamage xx, yy
Zapne měřič poškození auta xx. Typ měřiče se určí pomocí car_switchshowenergy. Mafia script & data reference 1 – zapnuto
Parametry (2)
- xx = ID actora auta
- yy = 0 nebo 1:
- 0 – vypnuto
sound_getvolume xx, yy
Vrátí hlasitost zvuku xx do proměnné yy.
Parametry (1)
- xx = ID framu zvuku
sound_setvolume xx, yy
Nastaví hlasitost yy zvuku xx.
Parametry (1)
- xx = ID framu zvuku
soundfade ww, xx, yy, zz
Plynulá změna hlasitosti zvuku ww v čase xx v milisekundách.
Parametry (3)
- ww = ID framu zvuku
- xx = délka změny
- yy = počáteční hlasitost (od 0 do 1)
stopparticle xx
Zastaví efekt pomocí proměnné xx, která musí být určená v emitparticle jako parametr zz.
stopsound xx
Zastaví zvuk xx ???
stream_connect
Napojení hudby ???
stream_create xx, "ssss"
Načte do operační paměti hudební skladbu ssss a přidělí jí ID xx. Hudební skladby jsou uloženy
v Mafia\sounds\music jako *.ogg soubory.
Parametry (1)
- xx = ID hudební skladby (proměnná)
stream_destroy xx
Vypustí z operační paměti hudební skladbu xx.
stream_fadevol ww, xx, yy, zz
Plynulá změna hlasitosti hudební skladby ww v čase xx v milisekundách.
Parametry (3)
- ww = ID hudební skladby (proměnná)
- xx = délka změny
- yy = počáteční hlasitost (od 0 do 1)
stream_getpos xx, yy
Vrátí aktuální časovou pozici, v milisekundách, hudební skladby xx do proměnné yy.
Parametry (1)
- xx = ID hudební skladby (proměnná)
stream_pause xx
Pozastaví přehrávání hudební skladby xx.
stream_play xx
Přehraje hudební skladbu xx. Mafia script & data reference
Parametry (1)
- xx = ID hudební skladby (proměnná)
stream_setloop xx, yy
Nastaví opakování hudební skladby xx.
Parametry (1)
- xx = ID hudební skladby (proměnná)
stream_setpos
Nastaví časovou pozici hudební skladby ???
stream_stop xx
Úplně zastaví přehrávání hudební skladby xx.
subtitle_add nnnn
Zobrazí bílý text nnnn uprostřed obrazovky.
taxidriver_enable nn
Zapne taxikaření.
timer_getinterval xx
Vrátí zbývající čas stopek do proměnné xx.
timer_setinterval xx
Nastaví zbývající čas stopek podle hodnoty v proměnné xx.
timeroff
Ukončí počítání stopek a skryje jejich zobrazení, viz. timeron.
timeron ww, xx, yy, zz
Zobrazí stopky, které začínají odpočítávat čas zz v sekundách. Stopky lze vypnout pomocí timeroff. Událost při vypršení času lze nastavit pomocí settimeoutevent.
Parametry (3)
- ww = pozice hodinové ručičky (od 1 do 12)
- xx = pozice minutové ručičky (od 0 do 59)
- yy = pozice sekundové ručičky (od 0 do 59)
up {}
Slouží k upřesnění návratu z podprogramu nebo události (událost je také podprogram). Do složených závorek se obalí kus kódu. Po vyskočení z bloku v hlavním programu, kvůli vykonání podprogramu,
skript normálně postupuje. Ovšem při návratu se skript nevrací na původní místo zavolání, ale skáče
na začátek bloku. down {} funguje podobně, ale při návratu skript skáče na konec bloku.
use_lightcache
Zapne použití nočních modelů v Mafia\missions\nazev_mise\cache.bin. Píše se do GameInitStart po game_nightmission.
vect_add_vect xx, yy
Mafia script & data reference Sečte dva vektory xx a yy a výsledek uloží do xx.
Parametry (1)
- xx = ID počáteční proměnné prvního vektoru, celkem se používají 3 proměnné
vect_angleto
Úhly vektorů ???
vect_copy xx, yy
Zkopíruje vektor yy a definuje jej jako vektor xx.
Parametry (1)
- xx = ID počáteční proměnné prvního vektoru, celkem se používají 3 proměnné
vect_cross
Křížení vektorů ???
vect_inverse xx
Obrátí vektor xx.
vect_magnitude xx, yy
Vrátí délku vektoru xx do proměnné yy.
Parametry (1)
- xx = ID počáteční proměnné vektoru, celkem se používají 3 proměnné
vect_mul_matrix
Vynásobí vektor s maticí ???
vect_mul_quat xx, yy
Vynásobí vektor xx s kvaternionem yy. Používá se pro přidání rotace do vektoru.
Parametry (1)
- xx = ID počáteční proměnné vektoru, celkem se používají 3 proměnné
vect_mul_scl xx, yy
Vynásobí vektor xx číslem yy a výsledek uloží do xx.
Parametry (1)
- xx = ID počáteční proměnné vektoru, celkem se používají 3 proměnné
vect_mul_vect
Vynásobí dva vektory xx a yy a výsledek uloží do xx.
Parametry (1)
- xx = ID počáteční proměnné prvního vektoru, celkem se používají 3 proměnné
vect_normalize
Normalizuje vektor ???
vect_set ww, xx, yy, zz
Vytvoří vektor ww se směrem, v metrech, v osách xx, yy a zz.
Parametry (3)
- ww = ID počáteční proměnné vytvořeného vektoru, celkem se používají 3 proměnné
- xx = směr v ose x
- yy = směr v ose y
vect_sub_vect xx, yy
Odečte dva vektory xx a yy a výsledek uloží do xx. Používá se pro vytvoření čáry mezi vektory.
Parametry (1)
- xx = ID počáteční proměnné prvního vektoru, celkem se používají 3 proměnné
version_is_editor xx
Vrátí, zda je spuštěná instance editor, do proměnné xx. Mafia script & data reference 0 – není editor 1 – je editor
Parametry (1)
- xx = ID proměnné, vrací:
version_is_germany xx
Vrátí, zda je spuštěná instance německá verze, do proměnné xx.
vlvp xx
Vrátí stav, zda hráče při přestupku vidí policie, do proměnné xx. Viz policeitchforplayer.
wagon_getlastnode xx, yy
Vrátí poslední místo zastavení vagónu xx do proměnné yy.
Parametry (1)
- xx = ID actora vagónu
wagon_setevent xx, yy
Zavolá v actoru vagónu xx skok na událost yy, viz. události.
Parametry (1)
- xx = ID actora vagónu
wait nn
Skript počká nn milisekund.
weather_preparebuffer nn
Vyhradí místo v paměti pro použití deště. Píše se do GameInitEnd.
weather_reset
Nastaví paramerty deště na výchozí hodnoty.
weather_setparam xx, yy
Nastaví parametr xx deště na hodnotu yy, např.: weather_setparam MAX_CNT, 1000. symetrická a nenatáčí směr) SECTOR – název sektoru, ve kterém bude také pršet, defaultně prší pouze v Primárním Sectoru DUMMIES – název dummy pro ořezání deště
Parametry (1)
- xx = specifiký parametr (rozsah yy nebo hodnoty):
- ON – vypínač (0 – neprší, 1 – prší)
- MAX_CNT – počet kapek (100 – minimum, 50000 – maximum)
- SPEED – rychlost deště (od 20 do 40)
- COLORH – barva deště (???)
- LEN – délka kapek (od 0.5 do 1)
- WIDTH – tloušťka kapek (od 0.02 do 0.05)
- MAX_DIST – viditelnost deště do stran (od 20 do 40)
- MAX_HEIGHT – viditelnost deště do výšky (od 10 do 30)
- DIR_X – směr pádu deště osy x (0)
- DIR_Y – směr pádu deště osy y (-1 – dolů, 0 – vodorovně, 1 – nahoru)
- DIR_Z – směr pádu deště osy z (0)
- MODE – typ deště (0 – kapka má špičku a natáčí směr podle pohybu kamery, 1 – kapka je
wingman_delindicator xx, yy
Vymaže obrázek pro stav životů actora xx. O vytvoření, viz. wingman_setindicator. Mafia script & data reference
Parametry (1)
- xx = ID actora postavy
wingman_setindicator xx, yy, zz
Vytvoří obrázek pro stav životů actora xx. O vymazání, viz. wingman_delindicator.
Parametry (2)
- xx = ID actora postavy
- yy = ID obrázku:
- 0 – Paulie
- 1 – Sam
- 2 – Don Salieri
- 3 – Salvatore
- 4 – Sára
zatmyse xx, yy
Obrazovka se setmí do černé nebo rozetmí v čase 500 milisekund.
Parametry (2)
- xx = 0 nebo 1:
- 0 – rozetmít z černé
- 1 – setmít do černé
- yy = nepovinný parametr:
- 1 – změna se provede hned
Soubor: tables\predmety.def — ID pro příkazy jako createweaponfromframe
| ID | Název |
|---|---|
| 0 | Prázdné ruce |
| 1 | Speciální akce |
| 2 | Boxer |
| 3 | Nůž |
| 4 | Basebalová pálka |
| 5 | Molotov koktejl |
| 6 | Colt Detective Special |
| 7 | S&W model 27 Magnum |
| 8 | S&W model 10 M&P |
| 9 | Colt 1911 |
| 10 | Thompson 1928 |
| 11 | Pumpovaná brokovnice |
| 12 | Upilovaná brokovnice |
| 13 | US Rifle M1903 Springfield |
| 14 | Mosin-Nagant 1891/30 |
| 15 | Granát |
| 16 | Klíč |
| 17 | Kbelík |
| 18 | Baterka |
| 19 | Dokumenty |
| 20 | Tyč |
| 21 | Papíry |
| 22 | Výbušniny |
| 23 | Klíče |
| 24 | Klíče od trezoru |
| 25 | Páčidlo |
| 26 | Letenky |
| 27 | Balíček |
| 28 | Prkno |
| 29 | Láhev |
| 30 | Malý klíč |
| 31 | Meč |
| 32 | Hlava psa |
| 33 | Thompson 1928 bez zvuku |
| 34 | Pumpovaná brokovnice bez zvuku |
Používá se s příkazy human_getproperty / human_setproperty
| Vlastnost |
|---|
| Energy |
| EnergyHandL |
| EnergyHandR |
| EnergyLegL |
| EnergyLegR |
| Reactions |
| Speed |
| Aggresivity |
| Intelligence |
| Shooting |
| Sight |
| Hearing |
| Driving |
| Mass |
Bitová maska — hodnoty se sčítají. Používá se s human_setproperty (vlastnost Reactions).
Používá se s enemy_setstate, enemy_lockstate, enemy_gethostilestate
| ID | Název | Popis |
|---|---|---|
| 01 | hostile_search | Nepřítel, jde za hráčem |
| 02 | hostile_hostile | Nepřítel |
| 03 | panic_runaway | Bojí se, utíká pryč |
| 04 | panic_freeze | Bojí se, je na místě |
| 05 | fight_guard_nohostile | Není nepřítel |
| 06 | fight_guard_stand | Nepřítel, stojí |
| 07 | fight_guard | Nepřítel, krčí se |
| 08 | fight_dogfight | Nepřítel, jde za hráčem |
| 09 | search | Jde za hráčem |
| 10 | hostile | Nepřítel |
| 11 | runaway | Utíká pryč |
| 12 | freeze | Zamrznul |
| 13 | sleep | Spí |
ID hlasu postavy v scene2.bin
| ID | Hlas |
|---|---|
| 00 | Paulie |
| 01 | Sam |
| 02 | Salieri |
| 03 | Tommy |
| 04 | Frank (nemluví při agresi) |
| 05 | Luigi (nemluví při agresi) |
| 06 | Ralph (nemluví při agresi) |
| 07 | Vincenzo (nemluví při agresi) |
| 08 | (nemluví při agresi) |
| 09 | Kasař – mise 11 (nemluví při agresi) |
| 10 | Pol |
| 11 | Pol |
| 12 | Port Guard, dělník, hoolig |
| 13 | Port Guard, dělník, hoolig |
| 14 | Port Guard, dělník, hoolig |
| 15 | Port Guard, dělník, hoolig |
| 16 | Port Guard, dělník, hoolig |
| 17 | Enemy, pol |
| 18 | Enemy, pol |
| 19 | Enemy, pol |
| 20 | Enemy, pol |
| 21 | Enemy, pol |
| 22 | Hoolig motel – mise 4 |
| 23 | Sergio Morello – mise 15 |
| 24 | Enemy |
| 25 | Idiot Joe – mise 10 |
| 26 | Civil |
| 27 | Civil |
| 28 | Civil |
| 29 | Czena (nemluví při agresi) |
| 30 | Czena (nemluví při agresi) |
| 31 | Czena (nemluví při agresi) |
| 32 | Bez hlasu |
| 33 | Lucas (nemluví při agresi) |
Soubor: tables\credits.def — velikost položky: 140 bajtů
Init blok 12 B: 4 B typ (A–G) · 4 B 0x00 · 4 B ID stringu nebo 0x00
Pak 2× textové pole po 64 B (text nebo 0x00, zbytek vyplněn 0x00)
Typy položek
| Typ | ID string | Text 1 | Text 2 | Popis |
|---|---|---|---|---|
| A | 0x00 | 0x00 | 0x00 | 1 sloupec uprostřed, Aurora |
| B | ID | Text | Text | 2 sloupce Normal; 0x00 = oddělovač |
| C | ID | Text | 0x00 | 2 řádky: Aurora nahoře, Normal dole |
| D | ID | Text | 0x00 | 2 sloupce: Aurora vlevo, Normal vpravo |
| E | 0x00 | Text | Text | 2 sloupce, dál od sebe, menší písmo |
| F | ID | 0x00 | 0x00 | 1 sloupec uprostřed, menší Aurora |
| G | 0x00 | Text | 0x00 | 1 sloupec uprostřed, Normal |
Konstanty pro ctrl_read / ctrl_readex
Soubor: tables\materials.def
| ID | Název |
|---|---|
| 00 | Neplatný |
| 01 | Asfalt |
| 02 | Dlažba |
| 03 | Chodník |
| 04 | Beton |
| 05 | Tráva |
| 06 | Písek / prašná cesta |
| 07 | Hlína / polní cesta |
| 08 | Štěrk |
| 09 | Skála (kvůli autu) |
| 10 | Koleje (tramvajový pás) |
| 11 | Listí (keře, stromy) |
| 12 | <Nepoužívat> |
| 13 | Dřevo 0% |
| 14 | Dřevo 30% |
| 15 | Dřevo 70% |
| 16 | Parkety |
| 17 | Mramor / kámen / dlaždice |
| 18 | Koberec |
| 19 | Kovové konstrukce (mosty, schodiště) |
| 20 | Plech 0% (střechy, bedny) |
| 21 | Plech 30% |
| 22 | Plech 70% |
| 23 | <Nepoužívat> |
| 24 | Sklo |
| 25 | Sklo neprůstřelné |
| 26 | <Nepoužívat> |
| 27 | Plot drátěný |
| 28 | Plot dřevěný (špricle) |
| 29 | Plot živý |
| 30 | <Nepoužívat> |
| 31 | Voda Death |
| 32 | <Nepoužívat> |
| 33 | Univerzál zvuk |
| 34 | <Nepoužívat> |
| 35 | Tělo |
| 36 | Omítka |
| 37 | Bordel (špinavá ulička) |
| 38 | Cihlová zeď |
| 39 | <Nepoužívat> |
| 40 | DEATH COLLISION |
| 41 | CRASH COLLISION |
| 42 | Sláma |
| 43 | Máslovka |
| 44 | Voda (extra klouzavé pro auto) |
| 45 | Kaluž (extra přilnavé pro auto) |
| 46 | Prašná cesta |
Soubor: tables\effects.txt — pro příkaz emitparticle. Hvězdička (*) = efekt běží nepřetržitě.
| ID | Název | Popis |
|---|---|---|
| 00 | blood | Zásah do těla |
| 01 | hit_stonewall | Zásah do stěny |
| 02 | hit_ground | Zásah do hlíny |
| 03 | hit_metal | Zásah do železa |
| 04 | hit_wood | Zásah do dřeva |
| 05 | night_chimney_smoke | * Kouř malý z komínu, svisle nahoru |
| 06 | molotov_fire | Oheň malý s dýmem |
| 07 | Explosion | Exploze |
| 08 | Fire | * Oheň s dýmem |
| 09 | Explosion | Exploze malá |
| 10 | molotov_explosion | * Oheň malý bez dýmu |
| 11 | fire_small | Exploze velká |
| 12 | explosion_big | Exploze velká |
| 13 | pena | * Pěna, svisle nahoru |
| 14 | explosion_car | Exploze auta |
| 15 | fire_fading | Oheň rozptýlený |
| 16 | fire_small_fading | Oheň malý rozptýlený |
| 17 | Thompson_muzzle_flash_day | Střelba z Thompsonu ve dne |
| 18 | Thompson_muzzle_flash_night | Střelba z Thompsonu v noci |
| 19 | pistol_muzzle_flash_day | Střelba z pistole ve dne |
| 20 | pistol_muzzle_flash_night | Střelba z pistole v noci |
| 21 | shotgun_muzzle_flash_day | Střelba z brokovnice ve dne |
| 22 | shotgun_muzzle_flash_night | Střelba z brokovnice v noci |
| 23 | fireworks | Ohňostroj bílý |
| 24 | pena_ve_vane | * Pěna ve vaně, čtverec |
| 25 | smoke_cigarette | * Kouř z cigarety |
| 26 | smoke_cigarette_breath | Vyfouknutí kouře z cigarety |
| 27 | chcani | Proud moči |
| 28 | bliti | Proud zvratků |
| 29 | smoke_parnik | * Dým z parníku, svisle nahoru |
| 30 | hit_grass | Zásah do trávy |
| 31 | voda_prehrada | * Proud padající vody z přepadu přehrady |
| 32 | voda_prehrada_dole | * Kolize padající vody z přepadu přehrady |
| 33 | listi_ze_stromu | Padající listí, oranžové |
| 34 | prach_motorest | Prach u motorestu |
| 35 | kour_restaurace | * Kouř v restauraci, čtverec |
| 36 | dollars | Padající peníze |
| 37 | fontanka1 | * Proud vody z fontány, svisle nahoru, poté padá |
| 38 | zblunk | Střík vody po kolizi |
| 39 | smoke_saliery | * Dým ze zdi, nahoru |
| 40 | lighter | * Oheň ze zapalovače |
| 41 | krev_vrtule | Zásah do těla |
| 42 | voda_vezeni 1 | * Proud vody, malý, svisle nahoru |
| 43 | voda vezeni 2 | * Proud vody, slabý, vodorovně |
| 44 | hit_water | Zásah do vody |
| 45 | smoke_loco1 | * Dým obrovský z lokomotivy |
| 46 | steam_loco | * Pára, šikmo dolů, pomalá, rozprášená |
| 47 | steam2_loco | * Pára, šikmo dolů, s kolizí, hustá |
| 48 | explosion_hotel | Exploze pomalá |
| 49 | gasoline | * Proud benzínu |
| 50 | smoke_coffee | * Kouř z kávy, drobný |
| 51 | Explosion_hotel 1 | * Exploze jako pomalá koule plazmy |
| 52 | Explosion Morello | Exploze velká, rychlá, do šířky, s dýmem |
| 53 | Dust Morello | Kouř krátký |
| 54 | kola_na_vode | Kola na vodě |
| 55 | slow_smoke | * Kouř z cigarety, pomalý |
| 56 | spark_cig | Jiskry od kolize cigarety |
| 57 | Fire_no_smoke | * Oheň bez dýmu |
| 58 | smoke_cigarette_breath1 | Vyfouknutí kouře z cigarety |
| 59 | horici_benzin | * Oheň drobný na čáře |
| 60 | FMVlighter | * Oheň ze zapalovače |
| 61 | bloodSamFMV | Zásah do těla |
| 62 | FMV Loko-2sec | Pára šikmo dolů |
| 63 | FMV Loko-1sec | Pára, šikmo dolů, s kolizí |
| 64 | FMV Loko-03 | * Pára šikmo dolů, rychlá, odfuk |
| 65 | FMV Loko-low | Pára šikmo dolů s kolizí, pomalá |
| 66 | FMV chladic | * Pára šikmo nahoru, jemná, odfuk |
| 67 | FMV Explcisterna | Exploze cisterny, velká, pomalá |
| 68 | FMV lighter | * Oheň ze zapalovače |
| 69 | FMV gasoline2 | * Kolize padajícího benzínu |
| 70 | doutnik | Kouř z doutníku |
| 71 | kour_na_lokomotivu_NESAHAT | * Dým lodi, dlouhý, nahoru |
| 72 | vol_dust | Prach |
| 73 | hovna | Špína, pád |
| 74 | FMV cigarette | * Kouř z cigarety |
| 75 | dust_fall | Kouř malý, po dopadu |
| 76 | kaluz chuze | Střík vody po chůzi |
| 77 | fire_cig | Oheň ze zapalovače |
| 78 | kour_lod_doprava | * Dým malý, svisle nahoru |
| 79 | fireworks1 | Ohňostroj červený |
| 80 | fireworks2 | Ohňostroj modrý |
| 81 | fireworks3 | Ohňostroj zelený |
| 82 | fireworks4 | Ohňostroj červenozelený |
| 83 | vlny | Vodní vlna, svisle vzhůru, poté pád |
| 84 | vlny_big | Vodní vlna, velká |
| 85 | vlny_small | Vodní vlna, malá |
| 86 | FMV sirka | * Oheň ze sirky |
| 87 | hydrant | Proud vody z hydrantu, svisle nahoru |
| 88 | kytka listy | Zásah do zeleně |
| 89 | hadice | * Proud vody z hadice |
| 90 | dymovnice | Kouř červený z dýmovnice |
| 91 | FMV pistol_muzzle_flash | Střelba z pistole |
| 92 | fire menu | * Oheň malý v krbu, bez dýmu |
| clun | clun | * Proud vody ze člunu |
32-bitové float hodnoty v hexadecimálním little-endian formátu
27 hudebních stop · Jazzová hudba 30. let
Fiktivní název → Skutečná předloha → Soubory modelů (*.4ds)
Soubory v Mafia\anims\ — ve skriptu se uvádí přípona .i3d místo .5DS.
Celkem 2982 souborů.