-
Dallo95.
User deleted
Sto da poco usando AGS, ma non riesco a fare una cosa. Per esempio, io ho fatto raccogliere al mio personaggio una chiave, e ho fatto sì che una porta presente nella stanza fosse chiusa. Come faccio a far cambiare stanza al mio personaggio una volta usata la chiave sulla porta? Scusate l'ignoranza, ma ho provato molte volte e non ci riesco... . -
.
molto semplice
impara queste righe e avrai imparato a fare quasi tutto con AGS
quello che scrivo e' riferito a AGS 3.0 e superiori nelle versioni precedenti era diverso
allora, la porta sia che sia un hotspot sia che sia un object ha le stesse interazioni, quinidi seleziona la porta e in basso a sinistra/destra avrai la tabellina con i suoi dati, clicca sull'icona del fulmine e avrai la scleta tra le interazioni possibili (talk to, interact to, use inventory ...)
Ora clicca sul pulsante [...] vicino a "Use invenctory on Hotspot"(o object se e' un object) e si aprira' la magica pagina degli script
Se AGS ti dice che non e' possibile fare quest'azione e' perche' la porta non possiede ancora uno script name, quindi torna nella tabella principale della porta e dagliene uno facile e non troppo lungo tipo hPORTA(hotspot) oPORTA(object)
ORa torniamo alla pagina degli script, nel paragrafino che ti ha aperto prima tra le due parentesi graffe devi inserire la condizioneCODICEif (player.ActiveInventory == "script name dalla chiave) {
"script name del personaggio giocante".ChangeRoom( int.room,x,y);}
tutto qui', devi solo sostituire gli scirpt name nelle descrizioni tra virgolette e nella parentesi del comando per cambiare stanza il numero della stanza e la coordinata x e y
se vuoi aggiungere un commento per quando si usa con la porta un altro oggetto che non serve
inserisci dopo il codice precedenteCODICEelse { "nome script del personaggio".Say("non serve ad aprire le porte!"); }
se inevece la condizione e' di possedere un tale oggettoCODICEif (player.HasInventory("script name dell'oggetto"){
inserisci quello che vuoi che succeda }. -
Dallo95.
User deleted
Grazie mille Wario! Ci sono riuscito. Già che mi viene in mente, ti sfrutto e ti chiedo un'altra cosa
Sono riuscito a fare perdere la chiave dopo l'apertura della porta. Come fare per renderla sempre accessibile dal momento in cui si usa la chiave? Grazie ancora. -
.
allora, nel caso la porta sia un object e' molto semplice
crei due volte l'oggetto porta nella stanza e le metti nello stesso punto
una ha il parametro visible nella tabella true, mentre l'altra false
quella che inizia con visible true sara' quella su cui usare la chiave
l'altra che parte con visible false sara' quella che una volta usata la chiave potra' essere aperta interagendoci normalmente
ora dobbiamo alternarle
nello script in cui usi la chiave aggiungiCODICE"script name della porta visibile".Visible = false;
"script name della porta invisibile.Visible = true;
Cosi' ora si vede solo la porta che si apre interagendoci
Se invece la porta e' in hotspot la cosa e' piu' difficile perche' due diversi hotspot non possono essere uno sopra l'altro
nell'ultimo gioco che sto' programmando in questi giorni ho risolto mettendo l'hotspot serratura e l'hotspot porta
una volta usata la chiave l'hotspot serratura scompare e compare l'hotspot porta
il comando per rendere visibile un hotspot e' questoCODICE"script name hotspot".Enabled = "true o false";. -
Il_Ratman.
User deleted
Questo topic diventerà il nuovo "E' possibile girare l'immagine?"
https://miforum.forumcommunity.net/?t=40680080&st=405
Grande Wario!. -
Dallo95.
User deleted
Ok lo sto facendo con gli oggetti, ho capito quello che devo fare, ma comunque devo mettere all'oggetto porta lo sprite con l'immagine della porta o posso come con gli hotspot delimitare un'area dello sfondo? Grazie ancora . -
.
devi mettere la sprite, la grandezza degli oggetti e' determinata infatti dalla loro immagine
per gli enigmi che cambiano la grafica della stanza ti consiglio di usare gli oggetti, gli hotspot invece funzionano bene per enigmi del tipo
cassa di arance, raccogli un' arancia. -
.
Aspirante Re dei Pirati
- Group
- WJ Radiofeccia
- Posts
- 4,304
- Location
- Dantooine. Accademia Jedi
- Status
- Offline
E' cambiato lo script di AGS, cavolo erano anni che non lo guardavo ed è codice java a tutti gli effetti, usa interfacce con metodi personalizzati (player.HasInventory ad esempio) anche se con sintassi errata (la convenzione Java dice che i nomi dei metodi devono iniziare con la lettera minuscola, dovrebbe essere player.hasInventory, ma non cambia nulla ai fini pratici).
Appena finisco la sessione di esami mi ci rimetto a guardarlo, dovrebbe risultarmi infinitamente semplice
Wario, c'è mica una documentazione di AGS? Grazie. -
.
Certo, ogni versione di Ags ha il tasto "Dynamic Help" dove trovi una libreria con tutte le funzioni possibili, inoltre e' uscita da poco la versione 3.2 che ha aggiunto nuovi metodi di lettura e compilazione dei file audio e ha reso piu' brevi alcuni vecchi codici . -
Dallo95.
User deleted
Perfetto Wario, grazie mille. . -
.
Aspirante Re dei Pirati
- Group
- WJ Radiofeccia
- Posts
- 4,304
- Location
- Dantooine. Accademia Jedi
- Status
- Offline
Certo, ogni versione di Ags ha il tasto "Dynamic Help" dove trovi una libreria con tutte le funzioni possibili, inoltre e' uscita da poco la versione 3.2 che ha aggiunto nuovi metodi di lettura e compilazione dei file audio e ha reso piu' brevi alcuni vecchi codici
No, intendevo una cosa tipo la documentazione delle API di Java, ovvero questo http://docs.oracle.com/javase/7/docs/api/index.html
Cmq vedrò com'è sto dynamic help, nel caso ti rompo su MSN. -
.
Una documentazioe del genere dovrebbe essere disponibile perche' un paio d'anni fa' AGS e' diventato parzialmente opensource (totalmente solo per la piccola cerchia di programmatori che lo aggiorna)
per il dynamic help apri AGS e premi F1 oopure vai su Help e poi e' la prima opzione. -
Dallo95.
User deleted
Un'altra cosa: nei dialoghi, o nelle descrizioni, quando metto lettere accentate come È, ò, ecc., al loro posto mi mette un ?. Ho provato a cambiare font, ma non cambia nulla. Come faccio per fare venire le lettere accentate? Grazie . -
.
sono problemi di font, il font che usi non contiene quei caratteri, lo puoi vedere nella sezione font dle menu'
io ormai per questo problema sono abituato a usare gli apostrofi come accenti. -
Dallo95.
User deleted
Ho capito grazie ^^ .