FPS Creator – FPI script alapok

Az FPI script nyelv egy kifejezetten az FPS Creatorhoz kifejlesztett egyszerű nyelv aminek a segítségével gyakorlatilag bármit befolyásol hatunk az FPS Creator-ban, ez által teljesen egyedi elképzeléseket is megvalósíthatunk.
Ebben az oktató anyagban  nem fogok bemutatni mindent, csak megpróbálom elmagyarázni, bemutatni a script nyelv alapjait azok számára akik még soha nem használták.

Kezdjünk is hozzá.

Első lépésben töltsük le az FPIEditPad-od a hivatalos FPS Creator honlapról. Ez egy ingyenes szerkesztő amivel FPI scripteket írhatunk.
Gyakorlatilag a scriptek írásához egy sima jegyzettömb is megfelel amiben elmentve átnevezzük .fpi-ra amit írtunk.De az FPIEditPad praktikusabb mert jelzi ha valamit rosszul írtunk és rengeteg parancs listáját is tartalmazza.

FPIEditPad letöltése

Egy kis elmélet:
Az FPI nyelv állításokból (statement) feltételekből (condition), cselekményekből (action) és megjegyzésekből (remark) áll. Az állítások kettősponttal kezdődnek. Ezután jön
egy feltétel (condition), amivel megnézzük, hogy valami igaz-e, vagy hamis.
Ha több, mint egy feltétel van, akkor azt vesszővel választjuk el egymástól. Az összes feltétel után kettőspontot rakunk. Ez a második kettőspont választja el a feltételeket a cselekményektől (action). Ha egynél több cselekmény van, akkor azokat is vesszővel választjuk el.

:Állítás,Feltétel,második feltétel:Cselekmény,második cselekmény

A megjegyzések (remarks) pontos vesszővel kezdődnek. A megjegyzések információval szolgálnak a készítőnek. A program ezeket nem figyeli a futáskor.

;ez egy megjegyzés

Lényegében ennyi az elmélet mögötte.
Lássunk néhány példát.
Most írunk egy scriptet ami csökkenti a fény szintet a pályán. Nem a fény forrásra lesz hatással hanem az “ambiance” fényre aminek köszönhetően akkor is látunk ha nincs fény forrás a pályán.

Indítsuk el az FPI Editort majd a bal felső sarokban a file menüben válasszuk a new opciót

 

Ez után feljön egy kis ablak amiben kiválaszthatjuk milyen típusú scriptet írunk:

 

-FPI:ez az általános script, ezt használhatjuk például a triggerzone-ban vagy menüben
-FPE: entity-k számára használt script
-FPS: segmentek számára használt script
-INI és TXT formátumban a konfigurációs scripteket írhatjuk

 

Most válasszuk az FPI-t.

Ime A script:

 

Kód

desc= fény szabályozása

;Script kezdete

:state=0,plrwithinzone=0:ambience=25,ambiencered=25,ambienceblue=25,ambiencegreen=25
:state=0,plrwithinzone=1:ambience=25,ambiencered=25,ambienceblue=25,ambiencegreen=25

;Script vége

 

 

A script lényegében a következő utasítást tartalmazza:

Ha a játékos a zónán kívül van,akkor legyen sötét
Ha a játékos a zónán belül van,akkor legyen sötét

Tehát teljesen sötét van a pályán ezáltal a fény források sokkal látványosabbak.
Lássuk darabokra szedve

 

desc =fény szabályozása

Ez lényegében az adott script rövid jellemzése.Mit csinál a script.Komplexebb scriptek esetén ajánlott használni

 

;Script kezdete

;Script vége

Ez egy megjegyzés ami segít emlékezni mit is csinál a script adott része

Nézzük tovább

 

:state=0

Ez lényegében azt jelenti hogy nulladik állítás. Mindég a nulladik állítás fut először. Azzal hogy mind a 2 állításunkat nulladik állításként

tüntetjük fel, azt értük el hogy a 2 állítás egyszerre fog lefutni.

 

plrwithinzone=0

Ezzel azt feltételezzük hogy a játékos a zónán kívül van.

 

:ambience=25,ambiencered=25,ambienceblue=25,ambiencegreen=25

Az ambiance fény ezekből a részekből áll. Itt meghatároztuk az értékeiket ami 25. Ez által korom sötét lesz

Tehát ha a játékos a zónán kívül van, akkor legyen sötét a második sorral pedig arról gondoskodunk hogyha netalán a játékos a zónán belülre kerül, akkor is sötét legyen.

 

plrwithinzone=1

Ezzel azt a feltételt vizsgáljuk hogy a játékos a zónán belül van, a többi pedig ugyan az mint kívül.

 

Viszont ez a script az egész pályára vonatkozik. De mi van akkor ha azt szeretnénk hogy csak egy adott helyen legyen sötét?

Módosítsuk a scriptet a következő logikát követve:
-ha a játékos zónán belül van akkor legyen sötét
-ha a játékos ki lép a zónából akkor maradjon sötét
A gyakorlatban így néz ki:

:state=0,plrwithinzone=1:ambience=25,ambiencered=25,ambienceblue=25,ambiencegreen=25,state=1
:state=1,plrwithinzone=0:ambience=25,ambiencered=25,ambienceblue=25,ambiencegreen=25

 

Ahogy láthatjuk most van egy nulladik (state=0) és egy első (state=1) állítás. Az első állítás (state=1) csak akkor fog lefutni ha a nulladik állitás (state=0) teljesül.Vagyis beléptünk a zónába. Ahogy láthatjuk a nulladik állitás végén ott áll hogy state=1. Ez azt jelenti hogy ha az állítás teljesült, akkor menjen tovább a program a :state=1-el kezdődő sorra.

Nos, a sötétséget már megtudjuk csinálni ott ahol szeretnénk.De hogyan csináljuk a világost a végén?

Ugyan ezt a logikát kell követnünk:
-ha a játékos be lép a zónába akkor legyen világos
-ha a játékos ki lép a zónából akkor maradjon világos

A gyakorlatban így néz ki:

:state=0,plrwithinzone=1:ambience=250,ambiencered=250,ambienceblue=250,ambiencegreen=250,state=1
:state=1,plrwithinzone=1:ambience=250,ambiencered=250,ambienceblue=250,ambiencegreen=250

 

Ha megfigyeljük ugyan az mint a sötétségre amit irtunk, csak itt az értékeket 250-re emeltük.

A scripteket már megírtuk, mentsük el őket külön-külön az FPS Creator scriptbank könyvtárában és lássuk hogyan használjuk őket egy TriggerZone segítségével

A pályánkon helyezzünk el egy TriggerZone-t azon a ponton ahol azt szeretnénk hogy sötétüljön el minden. Jobb egérgombbal kattintsunk rá és a Main scriptet cseréljük arra a scriptre amitöl el fog sötétülni a pálya. Majd kattintsunk az Apply Changes gombra.
Ez után helyezzünk el még egy TriggerZone-t a pályának azon részén ahol azt szeretnénk hogy legyen megint világos.
Jobb egérgombbal kattintsunk rá és a Main scriptet cseréljük arra a scriptre amitől a pályánk újra világos lesz.
Ez után ha a játékos belép az első TriggerZonába akkor elfog sötétülni minden és sötét lesz addig, még be nem lép a második TriggerZonába.

Remélem mindenki számára érthető hogy hogyan is kell használni az FPI script nyelvet.
Ha sikerül gyakorlatot szerezni az FPI script nyelvben, akkor szinte bármit megtehetünk a játékunkban.

 

Ajánlott cikkek:

The expert provides techniques such as cognitive behavioral therapy, stress management techniques and work on with their partners to keep sex life alive. viagra overnight delivery In a recent survey, it has been referred to be productive solution for killing the impotent person’s enemy in around 20 minutes & keeps the momentum for making the patient busy on bed for 5 hours, which has been specified to be enough for convincing the sexual encounter need. levitra best price Some couples claimed that they had enjoyed multiple orgasms after the use of uk generic cialis . Always make sure to get doctors approval while making use of drugs. sildenafil generico online is a house hold term with most of the men.