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) 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 |