Benvenuto Visitatore(Log In|Registrati)

> Puzzle-Combinazioni e Schermate
Gabarts
messaggio4 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 blush.gif Sul forum ufficiale Khris si è sempre rivelato di grande aiuto ma spesso spiegare problemi di programmazione in inglese può risultare un po' intricato...

Non sono esperto di scripting avanzato su AGS, probabilmente non esperto neanche di scripting basico, eheh blush.gif Sicuramente qualcuno di voi mi saprà dare consigli diretti per questo tipo di puzzle:

-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.
 
 
Start new topic
Risposte
AprilSkies
messaggio4 Jun 2014, 11:04
Messaggio #2



Gruppo icone

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
 
Gabarts
messaggio4 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




CITAZIONE (AprilSkies @ 4 Jun 2014, 12:04) *
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 blush.gif Nel senso che sono andato a logica e mi sono limitato ad usare i parametri/proprietà base degli oggetti o delle sprites. Se vedi il mio script è un labirinto blush.gif Probabilmente per realizzare le animazioni che ho fatto bastava una riga di variabili... comunque è il risultato che conta blush.gif

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 blush.gif

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)
 

Inserisci in questo messaggio


Reply to this topicStart new topic
1 utenti stanno leggendo questa discussione (1 visitatori e 0 utenti anonimi)
0 utenti:

 

Modalità di visualizzazione: Passa a: Normale · Passa a: Lineare · Outline


Versione Lo-Fi Oggi è il: 7th November 2026 - 15:09