Benvenuto Visitatore(Log In|Registrati)
4 Jun 2014, 10:25
Messaggio
#1
|
|
|
Gruppo: Gamer Messaggi: 29 Iscritto il: 28 May 14 Utente Nr.: 20.437 BGE Indiana Jones and The Last Crusade (Lucasfilm Games-1989) Playing Broken Sword 5 - La maledizione del serpente SO Windows7 |
Non so se sono il primo a postare in questa sezione... comunque spero non sia troppo banale come aiuto
Non sono esperto di scripting avanzato su AGS, probabilmente non esperto neanche di scripting basico, eheh -Il primo è il puzzle classico della combinazione (l'organo di teschi in Last Crusade) Io faccio 4 o 5 hotspot o oggetti (con hotspot) a cui posso assegnare dei suoni. Poi creo una variabile INT e metto il codice quando carico la Room. Come imposto uno script di questo genere? -Questo forse è più semplice, ma ahimè sono mesi che non uso AGS e devo ritrovare un po' di dimestichezza. Come faccio a gestire le proprietà visible o transparency di un hotspot, personaggio o oggetti tra le varie schermate. Mi spiego meglio: ho Room_1, Room_2, Room_3 e sono collegate tra loro da porte o simili. Io sono su Room_3 e assegno al mio personaggio un azione. Alla fine dell'azione voglio che un dato hotspot o oggetto che si trova però in Room_2 diventi visible= true o transparency = 100 etc etc, non ricordo se devo usare _root o altro. |
|
|
|
![]() |
4 Jun 2014, 11:04
Messaggio
#2
|
|
|
Gruppo: Oldgame Editor Messaggi: 516 Iscritto il: 16 May 12 Utente Nr.: 19.376 BGE The secret of Monkey Island Playing The secret of Monkey Island SO WinVista |
Ciao Gab.
Ti rispondo al volo sulla seconda questione: due soluzioni: 1) C'è un modulo chiamato "OtherRoom" che serve per fare esattamente quello (cioè manipolare oggetti in altre stanze). (... ma io personalmente meno moduli esterni uso meglio sto) 2) come faccio io: creo una variabile nel global script a la importo nelle rooms in questione. Quando faccio l'azione nella room1 do un valore alla variabile. poi quando entro nella room2, in Room_Load imposto la visibilità dell'oggetto in base alla variabile. Sulla prima domanda, spiegami bene: premendo i pulsanti in un certo ordine equivale ad una "combinazione", giusto? se becco la combinazione succede qualcosa se non la becco succede un'altra cosa, giusto? Cmq se ho ben capito, l'ideale è creare un Array in cui registrare la combinazione e un array in cui registrare i valori immessi premendo i pulsanti o quello che siano e confrontare gli array. Se vuoi possiamo scriverlo insieme passo passo Messaggio modificato da AprilSkies il 4 Jun 2014, 11:09 |
|
|
|
4 Jun 2014, 11:41
Messaggio
#3
|
|
|
Gruppo: Gamer Messaggi: 29 Iscritto il: 28 May 14 Utente Nr.: 20.437 BGE Indiana Jones and The Last Crusade (Lucasfilm Games-1989) Playing Broken Sword 5 - La maledizione del serpente SO Windows7 |
2) come faccio io: creo una variabile nel global script a la importo nelle rooms in questione. Quando faccio l'azione nella room1 do un valore alla variabile. poi quando entro nella room2, in Room_Load imposto la visibilità dell'oggetto in base alla variabile. Sulla prima domanda, spiegami bene: premendo i pulsanti in un certo ordine equivale ad una "combinazione", giusto? se becco la combinazione succede qualcosa se non la becco succede un'altra cosa, giusto? Cmq se ho ben capito, l'ideale è creare un Array in cui registrare la combinazione e un array in cui registrare i valori immessi premendo i pulsanti o quello che siano e confrontare gli array. Se vuoi possiamo scriverlo insieme passo passo Guarda, non mi sono mai soffermato a leggere le funzioni del global script e delle variabili, meno numeri uso meglio sto Forse mi sono ricordato come si fa, ho qualcosa in un dialogo... Se mi fai un esempio di script basilare poi ti dico se è più o meno quello che ho usato finora. Forse devo usare qualcosa tipo questo ma non riesco a decifrarlo bene Let's say you need to click four buttons in the correct order to open the door. The buttons are: A B C D And the right combination is C D A B What you need to do now is declare an int, that we call "code." Before any buttons are pushed, code is 0. (at the top of room script) int code; Then you just start adding conditions. For button C: if (code == 0) code ++; //increase "code" by one else code = 0; // otherwise reset "code" For button D: if (code == 1) code ++; else code = 0; For button A: if (code == 2) code ++; else code = 0; For button B: if (code == 3) code ++; else code = 0; So, whenever a button is pushed when it's not supposed to, the mechanism will be reset. If you keep pushing the buttons in the right order, the integer will increase. You can use the repeatedly_execute to decide what will happen as soon as "code" is 4. (Preso dal forum principale, un mio post) |
|
|
|
Gabarts Puzzle-Combinazioni e Schermate 4 Jun 2014, 10:25
AprilSkies Sì così funziona.
Crea la variabile "code... 4 Jun 2014, 17:27
Gabarts CITAZIONE (AprilSkies @ 4 Jun 2014, 18:27... 6 Jun 2014, 17:28
AprilSkies Nella Room.
Crei gli hotspots (o gli oggetti, non... 7 Jun 2014, 07:44
Gabarts CITAZIONE (AprilSkies @ 7 Jun 2014, 08:44... 8 Jun 2014, 09:53
Gabarts Guarda, sto facendo delle prove per testare su un ... 8 Jun 2014, 23:54
AprilSkies secondo me funziona.
L'unica cosa è che, dato ... 10 Jun 2014, 09:33
Gabarts CITAZIONE (AprilSkies @ 10 Jun 2014, 10:3... 10 Jun 2014, 13:53
Procione Azzarola mi dispiace aver visto solo adesso questa... 8 Oct 2014, 23:17
Gabarts CITAZIONE (Procione @ 9 Oct 2014, 00:17) ... 27 Nov 2014, 22:48
Gabarts Un'altra piccola cosa ma fondamentale riguardo... 27 Nov 2014, 23:10
Procione CITAZIONE (Gabarts @ 28 Nov 2014, 00:10) ... 10 Dec 2014, 20:57![]() ![]() |
| Versione Lo-Fi | Oggi è il: 7th November 2026 - 15:09 |