Creare Videogiochi - Game Developer
Comandi per Creare uno script in Fpi - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Fps Creator e GameGuru Italia (https://www.making-videogames.net/giochi/Forum-Fps-Creator-e-GameGuru-Italia)
+--- Forum: Script fpi e lua FPSC GameGuru (https://www.making-videogames.net/giochi/Forum-Script-fpi-e-lua-FPSC-GameGuru)
+--- Discussione: Comandi per Creare uno script in Fpi (/thread-Comandi-per-Creare-uno-script-in-Fpi)



Comandi per Creare uno script in Fpi - friskon - 11-05-2010

Come funzionano gli FPI

I files FPI vengono elaborati all'inizio del gioco e convertiti in un a forma veloce di byte code. Questi script FPI sono quindi collegati alle entità che li usano e, fin quando l'entità esiste nel gioco, eseguono la logica che contengono.

Essenzialmente ciò che volete che l'entità pensi o faccia viene eseguito
dall'interno di questi script. Gli script controllano ogni cosa compresa l'apparizione, sparizione degli oggetti, le porte che si aprono, le porte che si
sbloccano, il raccoglimento degli oggetti, delle armi, la distruzione degli oggetti, il movimento del personaggio e qualunque altra cosa che si muove nella logica del gioco.


Il linguaggio degli FPI

Ecco una tipica linea di un'azione evento. Potete avere molte azioni/condizioni:

:condizione[,condizione][, condizione]:azione[,azione][, azione]


Questo è un commento:

; myscript commento


Questa è una condizione:

ParolaCondizione=Valore1Condizione [Valore2Condizione]


Questa è un'azione:

ParolaAzione=ValoreAzione


Elenco di condizioni

Queste sono le parole per le condizioni ed eseguono azioni se vere:


NEVER mai vera
ALWAYS sempre vera
STATE=X è vera quando il valore memorizzato nello script FPI è uguale a X
RANDOM=X è vera quando un valore casuale tra 0 e X è uguale ad uno
HEALTH=X è vera quando la salute è uguale ad X
HEALTHLESS=X è vera quando la salute è minore di X
QUANTITY=X è vera quando la quantità è uguale a X
SPEED=X è vera quando la velocità è uguale a X
ASSOCIATED=X è vera quando l'entità è stata associata con il giocatore (ascensore)
PLRDISTWITHIN=X è vera quando il giocatore dista X unità
PLRDISTFURTHER=X è vera quando il giocatore è lontano più di X unità
PLRALIVE=X è vera quando il giocatore è vivo e X è uno
PLRHIGHER=X è vera quando il giocatore è X unità più alto dell'entità
PLRELEVWITHIN=X è vera quando il giocatore può essere visto entro X gradi in verticale
PLRELEVFURTHER=X è vera quando il giocatore non può essere visto entro X gradi in verticale
ANYWITHIN=X è vera quando ogni altra entità si muove entro X mattonelle
ANYFURTHER=X è vera quando nessuno entro X mattonelle
PLRCANBESEEN è vera quando il giocatore può essere visto
PLRCANNOTBESEEN è vera quando il giocatore non può essere visto
PLRHASKEY=X è vera quando il giocatore ha premuto il tasto indicato dal valore X
PLRUSINGACTION=X è vera quando il giocatore usa l'azione USE
SHOTDAMAGE=X è vera quando il danno ricevuto eccede il valore X
IFWEAPON=X è vera quando l'arma usata dall'entità è pronta ed X è uno
ACTIVATED=X è vera quando il valore d'attivazione dell'entità è uguale a X
PLRWITHINZONE è vera quando il giocatore si trova nella zona d'attivazione
ENTITYWITHINZONE è vera quando un'entità si trova nella zona d'attivazione
PLRINGUNSIGHT=X è vera quando un'entità ha il giocatore a portata di tiro
NEARACTIVATABLE=X è vera quando l'entità sta per essere attivata
NEWWEAPONCANBESEEN=X è vera quando l'entità può vedere un'arma migliore
NOISEHEARD=X è vera quando l'entità ascolta un rumore nella scena
RAYCAST=X Y è vera quando il raggio colpisce qualcosa d'avanti tra X ed Y
RAYCASTUP=X è vera quando il raggio colpisce qualcosa sopra tra X ed Y
RAYCASTBACK=X è vera quando il raggio colpisce qualcosa tra X ed Y
FRAMEATEND=X è vera quando l'animazione X è alla fine
FRAMEATSTART=X è vera quando l'animazione X è all'inizio
FRAMEWITHIN=X Y è vera quando l'animazione X è nel frame Y
FRAMEBEYOND=X Y è vera quando l'animazione X è oltre il frame Y
ANIMATIONOVER=X è vera quando l'animazione X è completa
ALPHAFADEEQUAL=X è vera quando il valore alpha è uguale a X
REACHTARGET=X
è vera quando l'entità ha raggiunto il suo obiettivo
LOSETARGET=X è vera quando l'entità ha fallito dopo X tentativi
HEADANGLEGREATER=X è vera quando l'angolo della testa è maggiore di X
HEADANGLELESS=X è vera quando l'angolo della testa è minore di X

WAYPOINTSTATE=X è vera quando il valore di stato del waypoint è uguale a X.
Stato 0 significa che l'entità non ha ancora iniziato a seguire i waypoint
Stato 1 significa che l'entità sta cercando il marcatore del waypoint più vicino per iniziare
Stato 2 significa che l'entità sta seguendo una linea di waypoint per il suo corrente marcatore di waypoint
Stato 3 significa che l'entità ha raggiunto il marcatore di waypoint e deve decidere cosa fare
Stato 4 significa che l'entità ha raggiunto il marcatore di waypoint e si divide in più di un'altra direzione
Stato 5 significa che l'entità ha raggiunto la fine della struttura corrente di waypoint e richiede che si prenda una decisione
Uno stato di 999 significa che l'entità è stata collocata nel modo
waypoint zero dove l'entità ignora semplicemente i waypoint


IFMARKER=X è vera quando c'è un marcatore rilasciato precedentemente dall'entità nella scena
IFPLRTRAIL=X è vera quando c'è una scia lasciata dal giocatore
HUDSELECTIONMADE=X è vera quando l'utente ha fatto click sul pulsante X dell'HUD
TIMERGREATER=X è vera quando il timer interno FPI eccede X millisecondi
ESCAPEKEYPRESSED=X è vera quando è stato premuto il tasto ESC
PLRHEALTHLESS=X è vera quando la salute del giocatore è minore di X
PLRHEALTHGRATER=X è vera quando la salute del giocatore è maggiore di X
ANYWITHIN=X è vera quando un'entità è più vicina di X
ANYFURTHER=X è vera quando un'entità è più lontana di X
CANTAKE è vera se un'entità può essere raccolta dal giocatore
ANYWITHINZONE è vera quando un'entità è all'interno della zona
NORAYCASTUP=X Y è vera quando nessuna collisione si dirige da X ad Y
HUDEDITDONE=X è vera quando viene usato l'elemento editabile HUD
HUDHAVENAME è vera quando non è stato digitato nessun nome del giocatore


Elenco azioni


NONE nessuna azione
DESTROY distrugge l'entità
SUSPEND disabilita l'entità permanentemente e la mantiene visibile
RUNFPIDEFAULT=X esegue uno script FPI di default con il valore X (0-init, 1-main, 2-end)
RUNFPI=X esegue un altro script FPI con il nome X (ad es: appear1.fpi)
STATE=X imposta il valore della variabile interna State a X
MOVEUP=X muove l'entità in alto di X unità
MOVEFORE=X muove l'entità in avanti di X unità
MOVEBACK=X muove l'entità indietro di X unità
FREEZE=X impedisce all'entità di muoversi
ROTATEY=X imposta l'angolo dell'entità con l'asse Y per X gradi
ROTATEIY=X ruota l'entità intorno all'asse Y in maniera incrementale di X gradi.

ROTATETOPLR ruota l'entità per puntare il giocatore
RESETHEAD ripristina l'angolo della testa se l'entità ne ha una
ROTATEHEAD=X ruota la testa dell'entità di X gradi
ROTATEHEADRANDOM=X ruota la testa dell'entità casualmente di X gradi
FORCEBACK=X applica una forza all'entità di un fattore X all'indietro
FORCEFORE=X applica una forza all'entità di un fattore X in avanti
FORCELEFT=X applica una forza all'entità di un fattore X a sinistra
FORCERIGHT=X applica una forza all'entità di un fattore X a destra
FORCEBOUNCE=X applica una forza all'entità per farla rimbalzare indietro di X
SPINRATE=X ruota l'entità intorno all'asse Y con una velocità X
FLOATRATE=X fa in modo che l'entità fluttui nell'aria con una velocità X
SETFRAME=X imposta il frame iniziale dell'animazione X
INCFRAME=X incrementa un altro frame nell'animazione X
DECFRAME=X decrementa un altro frame nell'animazione X

ANIMATE=X riproduce automaticamente l'animazione X. Per quanto riguarda i personaggi offerti, ci sono un numero di animazioni preimpostate che possono essere riprodotte. Queste sono:

0 = Rigenerazione
1 = Attesa
2 = Si muove lentamente
3 = Attacca a volo radente da sinistra
4 = Attacca a volo radente da destra
5 = Si muove velocemente
6 = Ricarica l'arma (o la lancia)
10 = Si arrampica
11 = Impatta in avanti
12 = Rimbalza in avanti
13 = Si alza in avanti
14 = Impatta all'indietro
15 = Rimbalza all'indietro
16 = Si alza all'indietro
17 = Impatta a sinistra
18 = Rimbalza a sinistra
20 = Impatta a destra
21 = Rimbalza a destra
31 = Si abbassa in attesa
32 = Si muove lentamente abbassato
33 = Si abbassa ed attacca a sinistra
34 = Si abbassa ed attacca a destra
35 = Si abbassa e muove velocemente
36 = Si abbassa e ricarica l'arma
40 = Resta in attesa liberamente
41 = Si muove liberamente
50 = Rigenerazione dell'arma
51 = Attesa dell'arma
52 = Movimento lento dell'arma
53 = Attacco a volo radente dell'arma da sinistra
54 = Attacco a volo radente dell'arma da destra
55 = Movimento veloce dell'arma
56 = Ricaricamento arma
57 = Nuova salita dell'arma
61 = Impatto in avanti dell'arma
62 = Rimbalzo in avanti dell'arma
63 = Alzata dell'arma in avanti
64 = Impatto all'indietro dell'arma
65 = Rimbalzo all'indietro dell'arma
66 = Alzata dell'arma all'indietro
67 = Impatto a sinistra dell'arma
68 = Rimbalzo a sinistra dell'arma
70 = Impatto a destra dell'arma
71 = Rimbalzo a destra dell'arma
81 = Arma abbassata ed in attesa
82 = Arma abbassata e che si muove lentamente
83 = Arma abbassata e che attacca radente a sinistra
84 = Arma abbassata e che attacca radente a destra
85 = Arma abbassata e che si muove velocemente
86 = Arma abbassata e che viene ricaricata
90 = Arma in attesa liberamente
91 = Arma che si muove liberamente

PLRASS=X associa questa entità con il giocatore (ascensore)
PLRNOASS=X disassocia questa entità dal giocatore
PLRMOVEUP=X muove il giocatore in alto di X unità
PLRMOVEDOWN=X muove il giocatore in basso di X unità
PLRMOVEEAST=X muove il giocatore ad est di X unità
PLRMOVEWEST=X muove il giocatore ad ovest di X unità
PLRMOVENORTH=X muove il giocatore a nord di X unità
PLRMOVESOUTH=X muove il giocatore a sud di X unità
PLRMOVETO=X muove il giocatore in una nuova posizione descritta dall'entità di nome X
PLRMOVEIFUSED=X se il giocatore usa l'azione USE allora lo muove come sopra
ACTIVATEIFUSED=X attiva l'entità descritta nella proprietà IFUSED
ACTIVATEIFUSEDNEAR=X attiva l'entità descritta in IFUSED ed accanto ad essa
ACTIVATETARGET=X attiva l'entità precedentemente identificata come obiettivo con X
ACTIVATE=X attiva questa entità usando il valore X
ACTIVATEALLINZONE=X attiva tutte le entità nella zona d'attivazione con X
PLRADDHEALTH=X aggiunge X punti alla salute del giocatore
SETTARGET imposta l'obiettivo interno per l'entità, seguito dalle condizioni `target'
ROTATETOTARGET ruota l'entità verso l'obiettivo
LOOKATTARGET ruota la testa dell'entità verso l'obiettivo
MOVETOTARGET si muove verso l'obiettivo
COLLECTTARGET se l'obiettivo può essere raccolto, lo raccoglie se è vicino
CHOOSESTRAFE sceglie casualmente una direzione per il volo radente (per es.: sinistra/destra/in avanti)
STRAFE esegue il volo radente scelto in precedenza per evitare i colpi del giocatore
PIVOTRANDOM=X si gira casualmente di X gradi per puntare un'altra direzione
LOOKATPLR=X guarda direttamente il giocatore persino se il giocatore non può essere visto
SOUND=X riproduce un suono specificato dal nome file X. Usate $0 per
specificare soundest
3DSOUND=X riproduce un suono 3D specificato dal nome file X. Usate $0 per specificare soundest
LOOPSOUND=X riproduce ciclicamente un suono 3D specificato dal nome file X
ALTTEXTURE=X imposta la texture usata a seconda che X sia zero o uno
SETALPHAFADE=X imposta il valore alpha ad X, il che produce la trasparenza dell'entità
INCALPHAFADE=X incrementa la sfumatura alpha con X come destinazione
DECALPHAFADE=X decrementa la sfumatura alpha con X come destinazione
RUNDECAL=X crea una decalcomania dall'entità con X come modo specifico da 1 a 6
WAYPOINTSTART informa l'entità di trovare il waypoint più vicino
WAYPOINTSTOP informa l'entità di non seguire più waypoint
WAYPOINTREVERSE inverte il percorso dell'entità che va nell'altra direzione
WAYPOINTNEXT informa l'entità di trovare il successivo waypoint
WAYPOINTPREV informa l'entità di trovare il precedente waypoint
WAYPOINTRANDOM informa l'entità di scegliere una direzione casuale per il waypoint
DROPMARKER rilascia un marcatore su cui l'entità può tornare successivamente
NEXTMARKER informa l'entità di andare sull'ultimo marcatore rilasciato
RESETMARKERS ripristina tutti i marcatori rilasciati da questa entità
FOLLOWPLR segue la scia del giocatore se esiste
PLRTAKE usato per aggiungere un'entità al catalogo del giocatore e prendere le sue risorse
PLRDROP usato per rilasciare un elemento dal catalogo del giocatore
SHOOTPLR esegue lo script FPI interno SHOOT specificato nelle proprietà del personaggio
USEWEAPON usa ogni arma nella direzione dell'obiettivo
RELOADWEAPON ricarica l'arma
COLOFF disattiva la collisione del giocatore con questa entità
COLON attiva la collisione del giocatore con questa entità
ACTIVATE=X imposta il valore di attivazione dell'entità a X
AMBIENCE=X imposta il livello complessivo di luce ambientale nella scena a X
AMBIENCERED=X imposta la componente rossa della luce ambientale a X
AMBIENCEGREEN=X imposta la componente verde della luce ambientale a X
AMBIENCEBLUE=X imposta la componente blu della luce ambientale a X
FOG=X imposta il modo nebbia della scena quando X è uno
FOGRED=X imposta la componente rossa della nebbia ad X
FOGGREEN=X imposta la componente verde della nebbia ad X
FOGBLUE=X imposta la componente blu della nebbia ad X
SKY=X imposta il cielo con il modello specificato dal file X
SKYSCROLL=X imposta la texture di scorrimento del cielo con il file specificato da X
BACKDROP=X carica ed incolla lo sfondo dello schermo usando il file X
MUSIC=X carica e riproduce il file WAV specificato da X
MUSICVOLUME=X imposta il volume della musica con un intervallo da 0 a 100
LIGHTON=X illuminazione on
LIGHTOFF=X illuminazione off
LIGHTRED=X componente rossa della luce
LIGHTGREEN=X componente verde della luce
LIGHTBLUE=X componente blu della luce
LIGHTRANGE=X distanza della luce
HUDRESET=X usatelo per ripristinare il sistema di creazione HUD
HUDX=X imposta la percentuale della posizione X dove volete il vostro oggetto HUD
HUDY=X imposta la percentuale della posizione Y dove volete il vostro oggetto HUD
HUDZ=X imposta la percentuale della posizione Z dove volete il vostro oggetto HUD
HUDSIZEX=X imposta la dimensione X del vostro oggetto HUD
HUDSIZEY=X imposta la dimensione Y del vostro oggetto HUD
HUDSIZEZ=X imposta la dimensione Z del vostro oggetto HUD
HUDRED=X imposta la componente rossa del vostro oggetto HUD
HUDGREEN=X imposta la componente verde del vostro oggetto HUD
HUDBLUE=X imposta la componente blu del vostro oggetto HUD
HUDIMAGE=X imposta il file immagine del vostro oggetto HUD
HUDFONT=X imposta il tipo di carattere del vostro oggetto HUD
HUDSIZE=X imposta la dimensione del tipo di carattere del vostro oggetto HUD
HUDTEXT=X imposta il testo che verrà usato in luogo dell'immagine dell'oggetto HUD
HUDTYPE=X imposta il tipo di HUD (1-vite, 2-salute, 3-arma)
HUDHIDE=X imposta il nome dell'oggetto HUD da nascondere
HUDSHOW=X imposta il nome dell'oggetto HUD da rivelare
HUDUNSHOW=X imposta il nome dell'oggetto HUD da mostrare
HUDNAME=X imposta il nome dell'oggetto HUD che state creando
HUDANIM=X imposta il nome del file della sequenza d'animazione (esclude #.TGA)
HUDMAKE=X quando tutti gli oggetti HUD sono impostati, usate quest'azione per creare finalmente l'HUD
NEWGAME=X avvia l'esecuzione di un nuovo gioco (tipicamente dalla pagina del titolo)
LOADGAME=X dice di caricare un gioco salvato
SAVEGAME=X dice di salvare il gioco corrente
CONTINUEGAME=X continua l'azione del gioco per andare nella pagina successiva
QUITGAME=X dice al gioco corrente di tornare alla pagina del titolo
PAUSEGAME=X comanda l'interruzione del gioco e torna tipicamente al menu del gioco
RESUMEGAME=X dice al gioco di continuare dopo una precedente interruzione
TIMERSTART ripristina il time dello script FPI a zero, permettendo di iniziare la misurazione del tempo
FLOORLOGIC=X se X = 1, l'entità non lascia mai la posizione Y
INCSTATE=X incrementa la variabile di stato di X
RUNFORE fa muove l'entità in avanti, di corsa
ADVFRAME=X fa avanzare l'animazione di X percento
SHAPEDECAL=X cambia il modo decalcomania ad X per l'entità
TRIGGERFORCE=X applica una forza di magnitudo X all'entità
SOUNDSCALE=X cambia la scala del suono 3D di X percento
HUDIMAGEFINE=X cambia l'immagine HUD usando l'alta qualità
HUDFADEOUT fa sì che l'elemento HUD sfumi via dallo schermo
HOSTGAME attiva un gioco multiplayer in modo da essere host
JOINGAME attiva un gioco multiplayer per partecipare con altri
REPEATGAME attiva un gioco multiplayer per ripetere il gioco
NOGRAVITY disattiva la gravità per la fisica dell'entità
ACTIVEALLINZONE attiva tutto ciò che si trova nella zona dell'entità
SPAWNON attiva la capacità dell'entità di rigenerarsi
SPAWNOFF disattiva la capacità dell'entità di rigenerarsi
VIDEO riproduce un'animazione a schermo intero

Tasti Tastiera Fpi (aggiunti da Jirbi)

[Immagine: tastiera.jpg]
esc =1
f1=59
f2=60
f3=61
f4=62
f5=63
f6=64
f7=65
f8=66
f9=67
f10=68
f11=69
f12=70
\=41
1=2
2=3
3=4
4=5
5=6
6=7
7=8
8=9
9=10
0=11
?=12
^=13
tab=15
q=16
w=17
e=18
r=19
t=20
y=21
u=22
i=23
o=24
p=25
è=26
+=27
invio=20
capsloc=58
a=30
s=31
d=32
f=33
g=34
h=35
j=36
k=37
l=38
ò=39
à=40
lshift=42
z=44
x=45
C=46
v=47
B=48
n=49
m=50
,=51
.=52
-=53
rshift=54
lctrl=29
win=219
lalt=56
spazio=57
ralt=184
rwin=220
special=221
rctrl=157
up=200
left=203
right=205
down=208
scroll=70
backsp=14
insert=210
home=199
pageup=201
delete=211
end=207
pagedn=209
blocnum=69
/=181
*=55
-=74
tasterino
7=71
8=72
9=73
4=75
5=76
6=77
1=79
2=80
3=81
0=82
.canc=83
invio=156
+=78