WIF - La Community Italiana di The Battle for Wesnoth

Wesnoth Italian Forum
La Community Italiana di The Battle for Wesnoth uno dei migliori giochi multiplayer online gratis open source, a turni di ambientazione fantasy. Iscriviti a wifper partecipare ai tornei online, allo sviluppo di nuove estensioni (campagne, mappe, ere, scenari, fazioni) e a tutte le iniziative di w.i.f. per questo meraviglioso gioco strategia . Giocare gratis on line non è mai stato più facile.

Se stai cercando giochi multiplayer online, giochi di strategia, giochi a turni, giochi open source, giochi gratuiti o giochi fantasy, vieni a giocare online in multiplayer con noi! Questo è il forum che cercavi.
19 Gennaio 2019, 15:34:17 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
 Notizia
VENITE A TROVARCI NELLA CHAT DI W.I.F.
- per organizzare partite ed incontri Ghigno  -
Ti aspettiamo!
Ricerca avanzata  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Amla e [transform_unit]; aumentare i livelli con l'amla  (Letto 111 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Gattopazzo23
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 134


L'abominevole.


« inserita:: 07 Gennaio 2019, 19:10:42 »

Ciao!

Sto cercando di imparare ad usare gli Amla per rendere un po'più interessanti i protagonisti della mia campagna.

Ho ben due domande, penso che attraverso infiniti esperimenti potrei trovare da solo le risposte, ma se qualcuno che ha già familiarità con l'argomento e risposta pronta (senza eccessivo lavorio, che a quel punto potrei farlo io Sorriso ) volesse aiutarmi, gliene sarei grato, dato che davvero dovrei scrivere un mucchio di codice che poi potrebbe facilmente rivelarsi inutile  Occhi al cielo  Imbarazzato .

La prima, e principale, è relativa al comportamento dell'unità che subisce modificazioni discordanti in seguito ad un [transform_unit] e un avanzamento oltre al livello massimo. Mi spiego: uno dei miei personaggi ha il simpatico potere di trasformarsi in lupo a piacimento. Ottengo questo effetto tramite un tag [transform_unit]. Inoltre, alcuni amla di questo eroe prevedono modifiche agli attacchi con la spada e con l'arco, altri all'attacco con le zanne. La questione è: se ad esempio il giocatore sceglie un amla che aumenta l'attacco con l'arco mentre l'unità non ha un attacco con l'arco (cioè mentre l'unità è in forma di lupo), al momento della trasformazione di nuovo in forma umana (cioè quella che ha l'attacco con l'arco) l'amla avrà effetto? In altre parole, quando uso transform_unit, i parametri dell'unità definiti in [unit_type], qualora fossero stati modificati, vengono resettati come se [transform_unit] ri-creasse da 0 l'unità?

In caso ciò fosse un problema, stavo pensando evitare [transform_unit] e usare un [object] che modifica immagini, animazioni, suoni, movimento, attacchi, resistenze e abilità dell'unità in modo da dare l'"illusione" che l'unità si "trasformi" sul serio... ma sarebbe parecchio scomodo... Qualcuno ha altre idee?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

La seconda, un po' più banale: un amla può modificare il livello di un'unità? Mi serve perché vorrei dare l'impressione che l'unità avanzi di livello, senza che ciò vada a riscrivere le caratteristiche dell'unità che il giocatore ha scelto con precedenti amla (in pratica ho un personaggio che avanza ogni 3 amla e vorrei fare in modo che l'unità al livello successivo abbia diverse caratteristiche a seconda degli amla che aveva scelto il giocatore, ad es. se l'unità di livello due aveva scelto di avere la capacità di curare, ciò dovrebbe mantenersi nell'unità di livello 3 ecc)

Grazie mille  Ghigno Ghigno Ghigno

p.s. Buon anno!!!
« Ultima modifica: 07 Gennaio 2019, 19:31:44 da Gattopazzo23 » Registrato

"Si può scrivere poco e contribuire tantissimo, e viceversa."
 
 -Dret  (lui lo disse, e io lo feci)
Argesilao
Maestro di Battaglia
****
Scollegato Scollegato

Messaggi: 286



« Risposta #1 inserita:: 08 Gennaio 2019, 18:25:17 »

La questione è: se ad esempio il giocatore sceglie un amla che aumenta l'attacco con l'arco mentre l'unità non ha un attacco con l'arco (cioè mentre l'unità è in forma di lupo), al momento della trasformazione di nuovo in forma umana (cioè quella che ha l'attacco con l'arco) l'amla avrà effetto?

Per il momento posso rispondere a questo quesito con assoluta sicurezza, e la risposta è: forse  Ghigno
Mi spiego: ho già realizzato un'unità che si trasformava in pipistrello oppure in un lupo, solo che non ho usato il tag [modify_unit] bensì il tag [variation] inserito nella definizione dell'unità in questione, e la cosa funziona; ho dotato sia l'unità base che la sua variante di un amla personalizzato in cui potevano aumentare anche il numero degli attacchi a distanza; e tale aumento risultava presente nell'unità base, che l'attacco a distanza lo aveva già, anche se era stato assegnato quando è in forma di lupo, cioè quando era senza attacco a distanza; comunque il numero degli attacchi a distanza del lupo rimanevano 0.

Io personalmente ti consiglio di provare a sviluppare anche tu la cosa con varianti di una unità base, perché permette di gestire molto agevolmente tutta la questione delle animazioni, attacchi, eccetera; intanto io provo a pasticciare un poco con il [transform_unit], che personalmente non ho mai usato, e vedo cosa salta fuori.

******* Aggiornamento dell'ultima ora ********

Dopo brevi prove posso affermare che la risposta alla domanda è: SI
Il lupo che sceglie di aumentare il numero di attacchi a distanza non acquista i nuovi attacchi a distanza ma li acquista l'unità in cui si trasforma successivamente, ammesso che anche prima ne possedesse almeno uno.

******* fine aggiornamento dell'ultima ora *****

La seconda, un po' più banale: un amla può modificare il livello di un'unità?

Questa è facile: No, non può!
L'amla modifica l'unità tramite un tag [effect], e non esiste la possibilità di assegnare apply_to=level Triste
Volevo farlo pure io  Pianto

Forse si può fare usando [modify_unit], ma alla pagina https://wiki.wesnoth.org/SingleUnitWML si trova la seguente tragica informazione:

level: the unit's current level. Defaults to the level of the [unit_type] described by type. This is generally not set manually.

Vado a pasticciare con il [transform_unit]

Argesilao il pasticciere
« Ultima modifica: 08 Gennaio 2019, 22:33:35 da Argesilao » Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Gattopazzo23
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 134


L'abominevole.


« Risposta #2 inserita:: 09 Gennaio 2019, 10:34:43 »

Citazione
intanto io provo a pasticciare un poco con il [transform_unit], che personalmente non ho mai usato, e vedo cosa salta fuori.

Whew! Non merito tanto  Ghigno

Citazione
Io personalmente ti consiglio di provare a sviluppare anche tu la cosa con varianti di una unità base, perché permette di gestire molto agevolmente tutta la questione delle animazioni, attacchi, eccetera; intanto io provo a pasticciare un poco con il [transform_unit], che personalmente non ho mai usato, e vedo cosa salta fuori.

Allora inizio a studiacchiare questa cosa, di cui avevo letto qui sul forum da qualche parte ma non avevo - e al momento non ho - idea di come funzioni.

Citazione
Questa è facile: No, non può!
L'amla modifica l'unità tramite un tag [effect], e non esiste la possibilità di assegnare apply_to=level Triste
Volevo farlo pure io

Per la barba di delfador... Questo significa che non posso nemmeno usare vie traverse tipo gli [object]... Uhm....

Allora penso che per quest'altro userò un avanzamento normale, pazienza, tanto ci sono già tante unità con AMLA... Gli Amla li posso sempre mettere al livello 3...

Nel frattempo, Argiselao, un Grazie grosso come un elefante, anzi come un dinosauro, per la precisione, lo zelo e la generosità nella risposta!!!! Alla prossima!!!

EDIT

Quindi, scusa, se ho capito bene come usare [variation]: definisco in cosa si trasforma l'unità all'interno del file dell'unità usando il tag [variation]; successivamente inserisco un evento nello scenario con [modify_unit] e modifico il parametro variation= mettendogli la versione in cui si deve trasformare... Giusto?

Ma in tutto questo la chiave inheritChe?!? La wiki dice

Citazione
inherit: if yes, inherits all the properties of the base unit, as if by [set_variables]mode=merge. Defaults to no.

Cioè praticamente non si avrebbero effetti visibili di sorta... mi pare bizzarro!


EDIT 2

Ok ho letto la pagina relativa ad [effect] e ho capito come si fa: un tag [effect] all'interno di [modify_unit], grazie ancora di tutto!!!!
« Ultima modifica: 09 Gennaio 2019, 10:51:17 da Gattopazzo23 » Registrato

"Si può scrivere poco e contribuire tantissimo, e viceversa."
 
 -Dret  (lui lo disse, e io lo feci)
Argesilao
Maestro di Battaglia
****
Scollegato Scollegato

Messaggi: 286



« Risposta #3 inserita:: 09 Gennaio 2019, 20:21:30 »

Quindi, scusa, se ho capito bene come usare [variation]: definisco in cosa si trasforma l'unità all'interno del file dell'unità usando il tag [variation]; successivamente inserisco un evento nello scenario con [modify_unit] e modifico il parametro variation= mettendogli la versione in cui si deve trasformare... Giusto?

Io ho usato un tag [object] con un tag [effect] con apply_to=variation, ma dovrebbe funzionare anche modificando semplicemente il parametro variation all'interno di un tag [modify_unit], e forse è anche più semplice;

Ma in tutto questo la chiave inheritChe?!? La wiki dice

Citazione
inherit: if yes, inherits all the properties of the base unit, as if by [set_variables]mode=merge. Defaults to no.

Cioè praticamente non si avrebbero effetti visibili di sorta... mi pare bizzarro!

In pratica, settando inherit=yes, tutti gli attacchi e le immagini e le animazioni dell'unità base vengono trasportate nella variante, che così avrebbe le caratteristiche della variante aggiunte alle caratteristiche dell'unità base.
La cosa può essere utile, ad esempio, se con un'amla si vuole aggiungere una animazione particolare al personaggio; in tal caso il codice della variante conterrà solamente l'animazione in questione, ed attivando la variante tutte le altre animazioni e caratteristiche dell'unità base vengono trasportate nella variante.
Nel caso in discussone è meglio lasciare l'inherit=no di default.

Registrato

Quello che non ti uccide ti rende più menomato

Il caso non esiste, esiste solo l'inevitabile
(Yuko Ichihara)

Sai tu qual sia in questa nera valle la risultanza ed il premio di ogni sacrifizio umano? Calci nel deretano!
(Brancaleone da Norcia)
Gattopazzo23
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 134


L'abominevole.


« Risposta #4 inserita:: 09 Gennaio 2019, 23:21:03 »

Citazione
La cosa può essere utile, ad esempio, se con un'amla si vuole aggiungere una animazione particolare al personaggio; in tal caso il codice della variante conterrà solamente l'animazione in questione, ed attivando la variante tutte le altre animazioni e caratteristiche dell'unità base vengono trasportate nella variante.
Aaah certo, come ho fatto a non pensarci prima, che tonto...
Registrato

"Si può scrivere poco e contribuire tantissimo, e viceversa."
 
 -Dret  (lui lo disse, e io lo feci)
Nobun
Moderatore Globale e Vincitore Torneo di Singolare 2011
*
Scollegato Scollegato

Messaggi: 746


Negromante elementale del Vento


« Risposta #5 inserita:: 13 Gennaio 2019, 15:16:50 »

Ulteriore informazione:
Le variation sono forme alternative che una unità può assumere, che possono avere caratteristiche leggermente diverse, ma l'unità di base è sempre la stessa.

Un esempio sono gli zombie che possono essere zombie normali, zombie pesci, zombie draghi, zombie nani e non ricordo se hanno altre forme (praticamente la variation viene presa a seconda di quale unità è stata uccisa, e quindi essa diventerà lo zombie di quella data variazione)

In 'Heir of the Throne' (l'erede al trono) il protagonista che diverrà il possessore dello scettro di fuoco sarà l'unità che utilizzerà per l'appunto la variation relativa (con scettro)
Registrato



A VOLTE ATTIVO, A VOLTE NO
Gattopazzo23
Veterano delle Grandi Guerre
***
Scollegato Scollegato

Messaggi: 134


L'abominevole.


« Risposta #6 inserita:: 13 Gennaio 2019, 21:15:02 »

Un esempio sono gli zombie che possono essere zombie normali, zombie pesci, zombie draghi, zombie nani e non ricordo se hanno altre forme (praticamente la variation viene presa a seconda di quale unità è stata uccisa, e quindi essa diventerà lo zombie di quella data variazione)
Zombie wose, zombie a cavallo, zombie lupi (mi pare?) Felice

Citazione
In 'Heir of the Throne' (l'erede al trono) il protagonista che diverrà il possessore dello scettro di fuoco sarà l'unità che utilizzerà per l'appunto la variation relativa (con scettro)

Copiare, subito! No scherzo, ma ci do una occhiatina

Grazie Nobun!
Registrato

"Si può scrivere poco e contribuire tantissimo, e viceversa."
 
 -Dret  (lui lo disse, e io lo feci)
Nicodema
Maestro di Battaglia
****
Scollegato Scollegato

Messaggi: 381


GRRRRRRRRRRRRR


« Risposta #7 inserita:: 14 Gennaio 2019, 11:28:39 »

Un esempio sono gli zombie che possono essere zombie normali, zombie pesci, zombie draghi, zombie nani e non ricordo se hanno altre forme (praticamente la variation viene presa a seconda di quale unità è stata uccisa, e quindi essa diventerà lo zombie di quella data variazione)
Zombie wose, zombie a cavallo, zombie lupi (mi pare?) Felice

Zombisauri, specie estinta di dinonauro wesnothiano
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a: