• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[SCRIPT AD EVENTI] Oggetto Arreca Danni
#1
Salve a tutti, su richiesta di war10hacker, faccio questo tutorial:
Partiamo dal presupposto, che noi dobbiamo dare al nostro personaggio un oggetto chiamato "Veleno" che toglie 50 HP a tutto il party ogni 15 passi.

PARTE I:
1) Create un evento in cui date al giocatore l'oggetto "Veleno".
2) Andate su Switch Operation e rinominate la Switch 0050 in Switch Oggeto Togli-HP ed infine attivatela.
3) Richiamate il Common Event 0001.
4) Ricordate di aggiungere un Erase Event alla fine dell'evento se è un processo parallelo o un auto-start!!
Quindi alla fine ci ritroveremo con un'evento così:
Codice:
<>Change Items: [Veleno] + 1
<>Common Event:
<>Switch: [0050: Switch Oggeto Togli-HP] = ON
<>Erase Event (Soltanto se l'evento è parallel o auto-start e non devi aggiungere nient'altro.)

Adesso abbiamo l'oggetto nell'inventario, abbiamo richiamato l'Evento Comune, ma l'Evento Comune è ancora vuoto!

PARTE II:
Aprite la scheda Common Events del database, e vi ritroverete davanti ad una schermata simile a quella degli eventi normali.
1) In alto, sotto "Name:", scrivete "Oggetto Togli-HP", così da identificare l'Evento Comune con un nome.
2) Sempre in alto, accanto a "Name:" troverete "Trigger", sotto mettete Parallel, così l'evento comune lavorerà in parallelo a tutti gli altri eventi e non bloccherà nulla.
3) Ancora in alto, Accanto a "Trigger", troverete "Trigger Switch", e sotto selezionate la Switch che abbiamo creato poco fa, la 0050, così questa switch, appena impostata su ON, attiverà il Common Event (Per questo poco fa, oltre a darle un nome l'abbiamo messa su ON).

Ora abbiamo finito di impostare il nostro Common Event, ma è ancora vuoto! Andiamo alla parte più difficile:

PARTE III
Adesso focalizziamoci sulla parte sotto "Event Commands", per inserire i vari comandi che ci permetteranno di controllare se abbiamo l'item nell'inventario, se abbiamo fatto 15 passi, ed infine togliere 50 HP.

1) Create un Label e chiamatelo "START". In seguito vedrete a cosa ci servirà.
2) Create un Conditional Branch, andate alla 4 scheda della finestra, cliccate la pallina accanto ad "Item" e selezionate l'item "Veleno". E' molto importante qui non togliere la spunta in "Execute Custom Handler When Condition Not Met".
Adesso avete creato un Coditional Branch con un Else:
Sotto Conditional Branch vanno messe le cose che si dovranno fare se la condizione è vera, (in questo caso se l'item è nell'inventario), mentre sotto Else Handler le cose che si dovranno fare se la condizione è falsa (quindi se l'item non è nell'inventario).
3) Siccome a noi serve che l'evento controlli sempre se c'è il Veleno nell'inventario finchè non lo trova, mettiamo sotto Else Handler un Jumpt to Label START (salta al Label di nome "START", quello che abbiamo creato al punto 1), in questo modo se non c'è l'item nell'inventario, riparte da capo.
4) Adesso passiamo a cosa accadrà invece se c'è litem nell'inventario! Create una Varibile a caso, (Per mantenere ordine io scelgo la 0001) e rinominatela in "Passi + 15", sotto "Operator" selezionate "Set" e in fondo cliccate la pallina accanto ad "Other", nel menù a tendina accanto selezionate "Step" ed infine fate ok. Ora abbiamo creato una variabile che ha lo stesso valore dei passi fatti fino ad ora nel gioco, cosa che ci servirà fra un po'. In questo momento ci serve una variabile che abbia il valore dei passi fatti fino ad ora nel gioco + 15 (quindi se fino ad ora il giocatore ha fatto 130 passi, ci servirà una variabile con valore 145).
5) Per ottenere ciò, nella pagina dei comandi dell'evento cliccate di nuovo si Variable Operation, selezionate di nuovo la variabile "Passi + 15" e questa volta sotto "Operator" mettete "Add", e sotto "Operand", lasciando la pallina su "Constant", scrivete 15. In questo modo abbiamo la nostra variabile che ha il valore dei passi compiuti fino ad ora + 15.
6) Ora bisogna creare un altro Label, chiamatelo "CONTROLLO PASSI".
7) Adesso ci servirà semplicemente una variabile che ha come valore i passi compiuti dal personaggio finio ad ora, quindi rifacciamo ciò che abbiamo fatto al punto 4: in Variable Operation selezionate una variabile qualsiasi (io scelgo la 0002), e rinominatela in "Passi". Sotto "Operator" lasciate "Set" e sotto "Operand" selezionate "Other" e poi "Step" dal menù a tendina accanto.
Ora abbiamo le due variabili che possiamo comparare: Quando "Passi" sarà uguale a "Passi + 15" (Quindi quando il giocatore avrà fatto 15 passi), tutti i giocatori perderanno 50 HP.
8) Create un Altro Conditional Branch e nella 1 scheda della pagina selezionate "Variable" e selezionate la Variabile "Passi". Sotto il primo "Variable", potete notare la scritta "Constant" e la scritta "Variable". Cliccate sulla pallina accanto a questo secondo "Variable" e selezionate la Variabile "Passi + 15". Sotto questo secondo "Variable" c'è un menù a tendina con dei simboli, selezionate il simbolo ">=", cioè maggiore o uguale.
Lasciate sempre la spunta su "Execute Custom Handler When Condition Not Met", e cliccate su OK.
9) Adesso sotto l'Else Handler che si è creato mettiamo un Jump to Label CONTROLLO PASSI.
In questo modo l'evento controllerà sempre se "Passi" è diventata come "Passi + 15", modificando "Passi", ma non "Passi + 15", perchè il Label CONTROLLO PASSI è messo dopo il settaggio della Variabile "Passi + 15", così andando a quel label si aggiornerà soltanto il numero di passi della variabile "Passi"! (Spero di non aver fatto troppa confusione qui xD).
10) Ora non ci resta che terminare il nostro Common Event. Mettete sotto Conditional Branch un Change HP, selezionate Decrease e scrivete nella casella "Constant" 50.
11) Infine, ripetete il punto 3: Mettete un Jump to Label START, così che l'evento possa ripartire per controllare se c'è l'item nell'inventario e controllare le due variabili!

Bene abbiamo finito il nostro Evento Comune, ed ecco come dovrebbe apparirvi:
Codice:
<>Label: START
<>Conditional Branch: [Veleno] Possessed
    <>Variable: [0001: Passi + 15] = Steps
    <>Variable: [0001: Passi + 15] += 15
    <>Label: CONTROLLO PASSI
    <>Variable: [0002: Passi] = Steps
    <>Conditional Branch: Variable [0002: Passi] >= Variable [0001: Passi + 15]
        <>Change HP: Entire Party. - 50
        <> Jump to Label : START
        <>
     :  Else Handler
        <>Jump to Label: CONTROLLO PASSI
        <>
     :  End
     <>
:    Else Handler
     <> Jump to Label : START
     <>
:    End
<>

Big Grin

(Se ci sono problemi io sono qui! ^^)
 
Rispondi
#2
Bel lavoro deve essere stato impegnativo
 
Rispondi
#3
Beh, non tanto, ho fatto di peggio... Pensa che una volta ho creato il gioco del Lotto tutto ad eventi, gestire centinaia di variabili, messaggi alternativi, fare in modo che non potesse uscire lo stesso numero due volte, il multiplayer... Insomma, un casino... L'unica difficoltà in questo caso è stato il fatto di doverlo fare su RPG Maker XP, che io non uso mai, e che non mi funziona su Windows 7... Quindi ho dovuto fare prima tutto su RPG Maker VX, e poi riportare tutto sull'XP per compararlo e fare un tutorial più adatto all'XP, che usa war10hacker che mi ha richiesto il tutorial xDD
Comunque, grazie!!!! Big Grin
 
Rispondi
#4
Ehi Johnny forse ho sbagliato io Confused potresti dare un occhiata qui:
(evento)
http://tinypic.com/view.php?pic=30rr2vo&s=6

e qui:
(evento comune del database)
http://tinypic.com/view.php?pic=9jk5mu&s=6

A me si blocca quando faccio nuova partita nel test play
 
Rispondi
#5
Prova a mettere l'evento invece di Parallel Process, Action Key...
 
Rispondi
#6
Mi si blocca quando clicco sull'evento.
 
Rispondi
#7
allora metti un erase event alla fine del Common Event.
 
Rispondi
#8
si blocca lo stesso
 
Rispondi
#9
mmmmh.... allora prova a copiare tutto quello che c'è nell'evento comune in un evento parallelo nella mappa, e metti la spunta in alto a sinistra accanto a "Switch" selezionando la switch 0050... e disattiva l'evento comune mettendo come trigger "none" e dimmi se ti funziona.
 
Rispondi
#10
no nemmeno così funziona Confused
 
Rispondi
#11
hai disattivato l'evento comune??
 
Rispondi
#12
si mettendo none nel menù a tendina di trigger
 
Rispondi
#13
allora l'evento in parallelo che hai creato nella mappa mettilo in Action Key e dimmi quand è che si blocca...
 
Rispondi
#14
Ho fatto uno screen:

http://tinypic.com/view.php?pic=2cool04&s=6

L'evento è messo in action key invece l'evento comune è in parallel processor e si blocca quando clicco sull'evento (quello con la grafica del cavaliere o quello che è Big Grin)
 
Rispondi
  


Vai al forum:


Browsing: 1 Ospite(i)