-
Posts
327 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by TheVillAngel
-
Tecniche dragonball su RPG Maker Vx
TheVillAngel replied to Sn1P3r's question in Supporto VX e VX-Ace
Allora per risolvere il problema di cui abbiamo parlato ieri questo è il secondo metodo: Ti occorrerà la grafica di un charset del cursore. Hai bisogno di 2 eventi, entrambi con 2 pagine: EVENTO 1 PAGINA 1 lasci vuota PAGINA 2 come condizione di attivazione metti una switch (poniamo switch 1) come grafica dell'evento metti la grafica dell'eroe EVENTO 2 PAGINA 1 processo parallelo var 1 = Coordinata X del pg var 2 = Coordinata Y del pg if tasto (tasto che vuoi) è premuto cambia la grafica dell'eroe in quella del cursore attiva lo switch 1 cambia la posizione dell'EVENTO 1 secondo le variabili 1 e 2 aspetta 2 frame attiva local switch A end PAGINA 2 processo parallelo if tasto (tasto che vuoi) è premuto mostra animazione del teletrasporto sull'EVENTO 1 cambia la grafica del pg in quella originaria disattiva lo switch 1 mostra l'animazione del teletrasporto sul personaggio aspetta 2 frames local switch A off end Come promesso ti allego anche la demo che comprende entrambi i metodi, questo sulla mappa 1, il precedente sulla mappa 2. Come detto la demo è per XP, non ho il VX, spero ti possa essere utile: http://www.mediafire.com/?6iwe51ktngzh0og EDIT: Scusate il doppiopost, pensavo non fosse mio l'ultimo messaggio, perdonatemi ç_ç -
Tecniche dragonball su RPG Maker Vx
TheVillAngel replied to Sn1P3r's question in Supporto VX e VX-Ace
Ti rispondo qui perchè magari può essere utile a qualcun altro. Quello che ti serve è un evento con 2 pagine, entrambe in processo parallelo: PRIMA PAGINA setti tre variabili variabile 1 = Map ID variabile 2 = Hero screen X variabile 3 = Hero screen Y Queste variabili registrano l'ID della mappa in cui ti trovi, e le coordinate x ed y dell'eroe. If key (tasto che vuoi) è premuto aspetta 2 frames local switch A on show picture (immagine del cursore) e come coordinate metti le variabili 2 e 3 fine SECONDA PAGINA Condizione di attivazione Local switch A Per far rimanere fermo l'eroe e far muovere solo il cursore fai: Move event > player > wait 1 frame e spunta la casella repeating Show picture (immagine del cursore) sempre con le stesse variabili If key (tasto giù) è premuto variabile 3 +32 (aggiungi 32 alla variabile 3) wait 2 frames end if key (tasto su) è premuto variabile 3 -32 (togli 32 alla variabile 3) wait 2 frames end if key (tasto sinistra) è premuto variabile 2 -32 (togli 32 alla variabile 2) wait 2 frames end if key (tasto destra) è premuto variabile 2 + 32 (aggiungi 32 alla variabile 2) wait 2 frames end Tutto questo perchè ogni tile (quadratino) è composto da 32*32 pixel, quindi ad ogni aggiunta o sottrazione corrisponde lo spostamento del cursore di 1 tile. If key (tasto che vuoi) è premuto mostra l'animazione del teletrasporto variabile 2 /32 (dividi la variabile 2 per 32) variabile 3 /32 (dividi la variabile 3 per 32) Questo perchè mentre la posizione delle immagini è calcolata in pixel, quella del teletrasporto è calcolata in tile, almeno nell'XP, se nel VX cambia qualcosa non ne ho idea, aspetto conferma da altri utenti. teleport come id mappa metti variabile 1, come coordinate variabile 2 e variabile 3 delete picture (cancella l'immagine del cursore) local switch a off (in modo da tornare alla pagina precedente) move event (questa volta da lasciare vuoto in modo da permettere al personaggio di muoversi nuovamente) wait 2 frames end Se qualcosa non ti è chiaro chiedi pure, se qualcosa differisce nel VX ti consiglio di aspettare che qualche utente che lo utilizza mi corregga. -
Tecniche dragonball su RPG Maker Vx
TheVillAngel replied to Sn1P3r's question in Supporto VX e VX-Ace
Io ho fatto questo: http://youtu.be/Rqq9YzKIedg E' per XP ma credo sia facilmente adattabile, se è quello che ti serve ti spiego come fare. -
[TUTORIAL] Scacchiera stile license board di FFXII
TheVillAngel replied to TheVillAngel's topic in Guide alla Programmazione
Beh se non si confidasse in un minimo di intraprendenza altrui che senso avrebbe stare in una community, sicuramente tu avrai visto più di me, ma dal mio canto dico che io ho imparato tanto dai lavori altrui, e poi la forza di un maker sta proprio nel fare proprie le cose che impara, non sarà da tutti, come per tutte le cose al mondo, ma magari qualcuno ci sarà. Con questo non voglio dire che io mi senta migliore di altri o mi senta un maestro, cerco solo di trasmettere la mia seppur limitata esperienza. Chiudo la digressione perché sto andando OT, Però è bello anche parlare di queste cose :-). Ti ringrazio per i complimenti. -
[TUTORIAL] Scacchiera stile license board di FFXII
TheVillAngel replied to TheVillAngel's topic in Guide alla Programmazione
non avevo idea dell'esistenza dello script. Comunque si, concordo fondamentalmente, infatti era del mio vecchio progetto abbandonato da tempo. Però penso che oltre che vederlo nel complesso, da un tutorial si possano estrapolare anche parti utili per fare altro. -
Cerco aiuto per gioco di scacchi
TheVillAngel replied to J E N O V A's topic in Reclutamento VX e VX-Ace
Sinceramente credo che sarebbe meglio privilegiare un livello di sfida superiore, seppur semplificando le meccaniche di gioco, che elaborare un sistema di mosse random che offrirebbero un livello di sfida pari a quello di un criceto XD, soprattutto negli scacchi poi. Sarà una sfida dura ad eventi, lode a te che ci provi. Qui c'è un articolo che spiega in modo teorico come fare, ma immagino tu abbia già letto qualcosa, vabbè cerco di rendermi utile http://www.mondoinformatico.info/scrivere-un-programma-di-scacchi-1_post-6198.html Se poi dovessi cambiare idea qui c'è una raccolta di problemi scacchistici, pare siano più di 10000 http://www.wtharvey.com/ In ogni caso buona fortuna ^^ -
Allora il problema è proprio quello, hai cancellato con un tile diverso da quello con la stellina, se provi con un'altra mappa fatta utilizzando lo stesso tileset e, quando commetti un errore, cancelli soltanto con il quadratino bianco in alto a sinistra, vedrai che non avrai questo problema, fai la prova. EDIT: Preceduto da Guardian XD, comunque quello è per VX, non vorrei si confondesse di più le idee.
-
Problema di poco conto, ma vi avviso comunque, il contatore delle visite rimane a 0 se non ci sono messaggi di risposta, anche se qualcuno visita (io vi osservo XD) Poi altra cosa, magari però in questo caso sono nabbo io, ma non esiste più la possibilità di salvare le bozze dei messaggi?
-
Cerco aiuto per gioco di scacchi
TheVillAngel replied to J E N O V A's topic in Reclutamento VX e VX-Ace
Non saprei come realizzare un gioco di scacchi completo, tuttavia mi è venuta in mente una cosa, e se invece di simulare partite intere utilizzassi un giochetto stile settimana enigmistica? Dove c'è una determinata situazione sulla scacchiera e devi fare scacco in 2-3 mosse? Sarebbe senz'altro più fattibile e potresti creare situazioni anche complesse. Valuta tu. -
Fai un'altra prova, vedi se tenendo premuto ctrl si muove
-
Mmmh l'unica cosa che mi viene in mente è che puoi aver messo la starting position su un tile non passabile, oppure c'è la possibilità che tu abbia cancellato parti di mappa con un tile trasparente diverso dal primo in alto a sinistra, a volte da questo problema. Prova ad andare nel database > tileset > passability e a vedere se il tile su cui hai posizionato il punto di partenza del giocatore è contrassegnato da una X.
-
[TUTORIAL] Scacchiera stile license board di FFXII
TheVillAngel replied to TheVillAngel's topic in Guide alla Programmazione
Io me l'ero creato da solo, ma si tratta di un paio d'anni fa ed è andato perso purtroppo. Comunque era una composizione di un paio di tileset e i quadratini marroncini e neri li feci con paint, non è difficilissimo da fare. -
SCACCHIERA STILE LICENSE BOARD DI FFXII Per: Rpg Maker XP, ma applicabile anche agli altri Autore: TheVillAngel Descrizione: Dopo un consulto con Guardian ho deciso di postare un mio vecchio tutorial già pubblicato in un altro forum. Purtroppo l'immagine del metodo di settaggio dei valori è andata persa e sinceramente non ho il tempo di rifarla, vedrò di farne una più in piccolo per sostituirla. Comunque il tutto dovrebbe essere ugualmente abbastanza chiaro. Prendendo una pausa dalla programmazione ho deciso di fare un tutorial su come creare una scacchiera stile FFXII. Per chi non sapesse cosa sia è una scacchiera in cui, spendendo dei punti che potete chiamare come vi pare (AP,LP,Ca**iinCu*o), potrete apprendere delle abilità o migliorare i parametri dei vostri personaggi. Per farvi capire meglio il funzionamento di tale scacchiera vi posto un paio (7 XD) di screen. http://img28.imageshack.us/img28/1258/screen1ud.jpg http://img442.imageshack.us/img442/5986/screen2ac.jpg http://img408.imageshack.us/img408/4308/screen3rh.jpg http://img535.imageshack.us/img535/6958/screen4r.jpg http://img696.imageshack.us/img696/6494/screen5pm.jpg http://img189.imageshack.us/img189/3043/screen6ab.jpg http://img175.imageshack.us/img175/8229/screen7d.jpg Bene, ora che abbiamo (spero) tutti capito di cosa si tratta passiamo ai fatti. Ci tengo a precisare che per programmare una cosa di questo tipo ci vuole moooolta pazienza. Tenete conto che in un sistema di apprendimento di questo tipo è necessario dare la totale libertà di sviluppo del personaggio al giocatore, quindi, OGNI singolo Tile deve poter essere attivato da TUTTI quelli adiacenti. Cosa significa questo? Significa che sono necessarie molte operazioni con le variabili. Tali operazioni non sono di grande difficoltà, ma richiedno tempo, molto tempo. Prego quindi chi non avesse il dono della pazienza di lasciare al più presto questo topic e di non procedere oltre XD. Ora che ho finito il preambolo passiamo all'occorrente: -Un Tileset di una scacchiera, potete anche farvelo da soli, basta un quadrato bianco e uno nero, niente di più facile XD. Poi ovviamente se volete metterci qualche rifinitura l'effetto risulterebbe migliore, ma potete fare a vostro gusto. Se proprio non ne avete voglia potete fare anche uno screen al mitico Chess Titans e prendervi i pezzi che vi servono. Fatto? Bbbbbene XD -Competenza nell'uso di variabili e switch, se non sapete cosa siano queste spaventose creature fate un giro tra le FAQ nella sezione Richieste d'aiuto del vostro Forum prima di iniziare questa nuova avventura di programmazione. -Delle pictures di numeri da 0 a 9, potete farvele anche con WordArt. -Un charset di un cursore, anche questo potrete facilmente farvelo da soli. -Come dicevo prima, molta, molta pazienza. Se possedete questi requisiti possiamo anche cominciare, altrimenti vi consiglio di non andare oltre perchè potreste soltanto confondervi le idee. FASE 1: CREAZIONE DELLA SCACCHIERA Fate la vostra scacchiera su mappa, datele la forma che volete. Vi consiglio di non esagerare nelle dimensioni, il mio suggerimento è di usare una mappa standard 20x15 che comunque non dovrebbe essere completamente riempita dagli amati (ma che poi odierete) quadratini bianchi e neri. Giusto per portarvi un esempio la mia scacchiera è formata da ben 177 quadratini. Tenete bene a mente questo numero perchè poi capirete cosa vuol dire avere 177 quadratini. Lasciate poi un po' di spazio per mettere il nome del personaggio e l'ammontare dei suoi punti. Ah ricordatevi anche di fare un punto d'accesso alla vostra mappa, questo deve rimanere vuoto. FASE 2: CREAZIONE PUNTI ABILITA' Nulla di più semplice, o almeno credo. Inizializzate una variabile e datele il nome dei vostri punti, io per comodità la chiamerò AP Variable Operation > Specific Variable: 0001:AP > set 0 Nella creazione dei mostri non dovrete far altro che aggiungere, in monster group, i punti abilità che il mostro o il gruppo di mostri vi deve dare a fine battaglia.Ovviamente in frequency dovrete mettere battle, altrimenti ogni turno, o ogni istante, vi darà quei punti per tutta la durata della battaglia. Variable Operation > Specific Variable: 0001:AP > +x dove x appartiene a N con N che va da 0 a +infinito XD N comunque non va all'infinito perchè RPG maker xp lavora se non sbaglio con cifre a 16 bit, giusto per essere precisi, ma vi basterà. Consiglio infatti di mettere il limite massimo di AP a 9999, capirete il perchè anche di questo e vi spiegherò come fare. Se volete mettere altre opzioni di battaglia basterà mettere uno switch locale e cambiare pagina. FASE 3: PREPARAZIONE DELLA MAPPA Questa parte è un po' più complicata da spiegare ma nulla di difficile da attuare. Per comodità dividerò questa fase in altre sottofasi. 1. Create un evento con 2 pagine, una da lasciare vuota, l'altra da attivare con uno switch che chiamerò per comodità Conti, perchè questo evento altro non fa che dei conti. Questa seconda pagina deve essere messa in processo parallelo. 2. Create un secondo evento sempre in processo parallelo che attivi lo switch conti e dopo metteteci un erase event, questo permetterà all'evento di ricomparire ogni volta che si rientra nella mappa. Ora capirete perchè. 3. Nella seconda pagina dell'evento, che chiamerò anch'esso Conti per comodità, dobbiamo settare delle variabili. Ora a cosa servono queste variabili? Ritornando al discorso di prima, è arrivato il momento di decidere il limite di AP, questo perchè dobbiamo richiamarci il valore della variabile AP attraverso delle pictures. Per fare ciò abbiamo bisogno di scomporre la variabile AP in parti. Nel caso del limite di 9999, la dovremo scomporre in migliaia, centinaia, decine e unità. Come fare? Processo lungo ma semplice che si divide anch'esso in fasi: a.Limitiamo la variabile AP a 9999 If var migliaia > 9999 set var migliaia == 9999 b.Settiamo quattro variabili che chiameremo ovviamente migliaia, centinaia, decine e unità. c.Eguagliamo queste variabili alla variabile AP Variable: [0002:Migliaia] = Variable [0001:AP] Variable: [0003:Centinaia] = Variabile [0001:AP] ... d.Ora viene fatta la scomposizione If var Migliaia >= 9000 show picture 1 (numero 9) var Centinaia - 9000 #Questo è necessario per isolare il numero che viene dopo le migliaia var Decine - 9000 var unità -9000 else If var Migliaia >= 8000 show picture 2 (numero 8) var Centinaia -8000 var Decine -8000 var Unità -8000 else if var Migliaia >= 7000 ecc. ecc. fino a var Migliaia >= 1000 else show picture 10 (numero 0) If var Centinaia >= 900 show picture 11 (numero 9) #Notare che ho cambiato il numero della picture nonostante sia sempre il numero 9, infatti mettendo lo stesso numero var decine -900 #il programma la riconoscerebbe come un'unica figura e quindi se ci fosse un numero con due 9 mostrerebbe solo il primo var unità -900 #nel caso di 9901 mostrerebbe 9 01 NOTA: Segnatevi i numeri che mettete alle pictures, se sono in ordine, almeno il primo e l'ultimo. else ecc. ecc. fino a var centinaia >= 100 else show picure 20 (numero 0) Continuare con il procedimento per decine e unità !IMPORTANTE : COME SETTARE LE COORDINATE DELLE PICTURES? La mappa di RPG maker è come un asse cartesiano capovolto, cioè con l'asse y che va verso il basso. Una mappa standard di 20x15 ha dimensioni 640x480 pixel, ne consegue che ogni Tile (quadratino) è di 32X x 32Y pixel e le coordinate sono misurate in pixel. Fate i vostri conti. e.Settiamo la switch conti OFF f.Fatto ciò torniamo su e mettiamo un Erase Picture per ognuna delle picture che abbiamo fatto. Questo prima di tutto il resto. L'operazione in questione è necessaria dal momento che altrimenti, ogni volta che la variabile AP viene riportata, i numeri si sovrapporrebbero. 4.Ora ci tocca creare un evento che ci porti fuori da questa mappa, scegliamo il punto di entrata e uscita e creiamo un evento. Vuoi uscire da [comecavololavoletechiamare]? Si #Nel caso del si dobbiamo nuovamente fare l'operazione di cancellare tutte le pictures, altrimenti ce le porteremo dietro per tutte le altre mappe. Inoltre dobbiamo ritrasformare il nostro eroe da cursore alla forma originale. Come fare? Change Hero Graphic. Subito dopo impostiamo il teleport. Domanda: Dove ci porterà il teletrasporto? Ma avete tralasciato una cosa ancora più importante: Come arrivo nella scacchiera? La cosa più facile da fare è arrivare tramite un oggetto che chiameremo Scacchiera: Facciamo un evento comune che collegheremo poi all'oggetto in questione dal Database Dobbiamo creare in questo evento 3 variabili, una per memorizzare il Map ID, le altre 2 per le coordinate x e y del nostro eroe. Dopodichè possiamo usare il teleport che ci porterà all'ingresso della nostra scacchiera. Var 0006:Map ID = Map ID #Si trova nelle variable operation in Other Var 0007:Hero x = Player x coordinate Var 0008:Hero y = Player y coordinate #Si trovano nelle variable operation in Sprite > Player Teleport (Mappa scacchiera, punto d'ingresso) Fine Evento Comune Fatto ciò, grazie a queste coordinate basta fare un Teleport dalla scacchiera con coordinate le variabili: In map Id mettiamo la variabile map id, le altre rispettivamente in x e y. FASE 4 SETTARE LA SCACCHIERA Credevate di aver visto tutto? Vi sbagliavate. Ora arriva il bello. L'ultima fatica d'ercole, la più tosta. E' arrivato infatti il momento di settare i vari tile con le abilità che i nostri eroi devono imparare. E che sarà mai? Invece sta proprio qui il bello. Come vi dicevo all'inizio, dovete tener conto che il giocatore deve avere libero arbitrio sulla scelta dello sviluppo del personaggio. In questa scacchiera ogni abilità che viene appresa attiva quelle adiacenti. E quindi? Quindi ragazzi miei dovete considerare che ogni abilità ha dalle 2 alle 4 possibilità di essere attivata in base alla posizione in cui si trova. Se si trova all'angolo le possibilità sono 2, 3 se si trova sui lati e 4 se si trova el centro. Ma andiamo per gradi. Innanzitutto noi non vogliamo che il cursore si muova dove non può giusto? Non si può andare sulle caselle non attivate. Per far si che questo accada basta settare una tile trasparente come non attraversabile. Ora creiamo un evento per ogni tile che compone la nostra scacchiera e gli diamo come grafica il suddetto tile trasparente. Facciamo l'eccezione per il Tile appena adiacente all'entrata nella scacchiera che sarà la prima abilità da apprendere. Diamole la grafica che vogliamo. Di una spada se è un abilità d'attacco magari, e di uno scudo se è di difesa. Settiamo questo primo evento. Decidiamo innanzi tutto quanti AP devono essere spesi per l'abilità in questione (numero x). Dopodichè chiediamo: Pagina 1 Grafica dell'abilità da apprendere. Vuoi imparare questa abilità? Si If var AP >= x #Controlla se hai abbastanza AP Var AP - x #Toglie gli AP usati Switch Conti ON #Così da aggiornare il numero di punti posseduti su mappa Var scacchiera = 1 #Parleremo tra poco di questa variabile Local Switch A ON #Chiude l'evento else Non hai abbastanza AP end No Niente. Pagina 2 Condizione di attivazione: Local Switch A Lasciamo la pagina vuota o, più consigliabile, mettiamo la grafica dell'abilità appresa. Ora questo Evento va ripetuto per tutti gli eventi presenti nella scacchiera con la variabile scacchiera che però deve assumere un valore diverso ogni volta. Vi sembra già troppo? Aspettate. Negli altri eventi oltre a queste 2 pagine bisogna aggiungere un'altra che metteremo prima di queste dove abbiamo messo la grafica del tile trasparente. In questa pagina ci sono le condizioni di attivazione di quegli eventi. Come settare queste condizioni? Bene, Tenete conto che, a parte i tile adiacenti alla prima abilità che possono essere attivati solo dalla stessa, gli altri possono essere attivati da TUTTE quelle adiacenti ad esse, e, come sappiamo, ad ogni attivazione di un'abilità corrisponde un valore della variabile scacchiera diverso. Cosa vuol dire questo? Che, In base alla posizione, le abilità possono essere attivate da un minimo di 2 ad un massimo di 4 valori. COME FARE? Condizioni se. Evento in PROCESSO PARALLELO. Prendiamo in considerazione il caso più difficile, cioè quello in cui il tile si trovi al centro. Abbiamo in questo caso 4 tile che lo circondano. Ognuno di essi, se attivato, fa assumere alla variabile un valore diverso. Ammettiamo che questi valori siano 3,5,6,7. Pagina 1 If var scacchiera ==3 Local switch A on else If var scacchiera ==5 Local switch A on else If var scacchiera ==6 Local swich A on else If var scacchiera ==7 Local switch A on else #Lasciamo vuoto Pagina 2 Condizione di attivazione Local switch A Grafica dell'abilità da apprendere. Vuoi imparare questa abilità? Si If var AP >= x #Controlla se hai abbastanza AP Var AP - x #Toglie gli AP usati Switch Conti ON #Così da aggiornare il numero di punti posseduti su mappa Var scacchiera = 4 #Esempio Local Switch B ON #Chiude l'evento. Notare che si tratta del Local switch B, non più dell'A else Non hai abbastanza AP end No Niente. Pagina 2 Condizione di attivazione: Local Switch B Lasciamo la pagina vuota o, più consigliabile, mettiamo la grafica dell'abilità appresa. Questo procedimento va fatto per OGNI Tile della scacchiera. Capito ora perchè vi ho detto di non esagerare con le dimensioni? Capite cosa vuol dire fare questo per 177 Tiles? Capite ora il discorso della pazienza? FASE 5 METODO DI SETTAGGIO DEI VALORI (OPZIONALE) Qui di seguito vi posto il metodo che ho usato per non impazzire tra la miriade di numeri che sarete costretti a gestire. Vi consiglio di utilizzare Excell e costruirvi una griglia delle stesse dimensioni della vostra scacchiera. Per ogni casella, che corrisponderà al vostro Tile, scrivetevi i valori della variabile per cui la casella viene attivata e il valore che assume la variabile dopo l'apprendimento dell'abilità. Vi posto l'immane lavoro che ho dovuto fare io. http://img692.imageshack.us/img692/7550/screen9v.jpg Tra parentesi è indicato il valore che assume la variabile dopo l'apprendimento dell'abilità, mentre gli altri numeri sono i valori per cui la casella viene attivata. La tabella contiene degli errori che ho poi corretto successivamente dopo averla stampata. Non avevo voglia di correggerla, e poi, non vi potevo mica dare tutto già pronto. L'immagine è da leggersi dalla A alla Q e la prima riga in basso corrisponde alla prima riga della scacchiera. Lo 0 è il punto di partenza. Cercate di correggerli voi i vari errori magari, già sarebbe una gran fatica in preparazione. Questa è la fine del Tutorial. Ore 6:47AM del 26\2\2010. Spero vi possa servire, ho deciso di postarlo perchè aiutare gli altri fa sempre bene, è lo spirito di ogni RPG infondo no? Qualcuno mi risponderà non di tutti, è vero. L'altro motivo è che non so se il mio progetto vedrà mai la luce, quindi volevo condividere con voi questa mia creazione in modo che una parte del mio gioco viva anche nei vostri XD. Come sono romantico oggi... Ciancio alle bande, potete migliorare il tutto con animazioni ed effetti sonori, credo che lo farò più in là, molto più in là. Inoltre vi avverto che il gioco tenderà a laggare un po' con tutti questi eventi in una sola mappa. E' uno dei limiti di RPG Maker purtroppo. Per concludere: a chi tenterà quest'impresa: buona fortuna. A chi ha letto solo per curiosità, grazie per avermi ascoltato, ti potrà anche essere utile magari un giorno. A chi si è stancato alle prime due righe lette: hai la mia comprensione. A chiunque abbia anche solo dato uno sguardo a questo Topic: buona vita. Cordiali saluti. TheVillAngel
-
[TUTORIAL] Sistema Haste per bs custom
TheVillAngel replied to TheVillAngel's topic in Guide alla Programmazione
@Guardian: con la pancia piena si ragiona meglio e un'ideuzza su come procedere me la sono fatta, resta da vedere quando riuscirò a trovare il tempo e come concretizzare il tutto, magari mi faccio una scaletta e te la mando via pm per consigli. @Lusianl: sarò nabbo io ma purtroppo di rgss, nonostante tutte le guide, non sono mai riuscito a capirci molto, ma siccome mi piace fare le cose da me, anche per avere qualcosa di originale ho preferito fare ad eventi, tanto le potenzialità che offre il tool sono davvero tante. Peccato per alcuni limiti di meccanica che non mi permettono di fare tutto quello che vorrei e per la lag che, nonostante mi sia adoperato per ridurla, è sempre da tenere sotto controllo. Se ti va di dare un'occhiata al bs nella sezione progetti xp c'è il gioco Light and Decay, anche se non è aggiornato e di recente ho fatto qualche aggiunta (ok fine pubblicità XD) Ah dimenticavo, un po' di tempo fa feci un tutorial per una scacchiera stile license board di FFXII su tpc (non credo sia spam, eravate affiliati giusto?) comunque se dovesse servire lo potrei riportare qui. -
[TUTORIAL] Sistema Haste per bs custom
TheVillAngel replied to TheVillAngel's topic in Guide alla Programmazione
Ci posso provare guardian, anche se al momento ho veramente pochissimo tempo, sono fermo da mesi con il progetto per problemi universitari e personali, poi ultimamente ci si è messo pure il pannello del pc xd. Mi diletto ogni Tanto con queste piccole aggiunte al mio bs. Comunque avevo già pensato una volta finito il mio progetto, o abbandonato (spero di No xd) di rilasciare il mio come open source. Comunque ci penso un po' e vedo come strutturarli eventualmente -
[TUTORIAL] Sistema Haste per bs custom
TheVillAngel replied to TheVillAngel's topic in Guide alla Programmazione
Grazie, anche se la fine è stata descritta con meno enfasi data l'ora tarda ^^. Comunque l'operatore % non è stato utilizzato per niente, è solo nel nome della variabile. EDIT: Per evitare fraintendimenti forse è meglio mettere i nomi delle variabili tra parentesi quadre. -
SISTEMA HASTE PER BS CUSTOM Per: RPG Maker XP, ma applicabile a tutti Autore: TheVillAngel Descrizione: Questo tutorial spiega come implementare e utilizzare la statistica HASTE (o velocità) in un bs custom, ovviamente stiamo parlando di un eventuale bs ad eventi. Il metodo che ho sperimentato è semplice e veloce e richiede l'utilizzo di un solo evento. Gli usi che se ne possono fare sono svariati e dipendono dalla fantasia del maker, si può utilizzare ad esempio per far si che la statistica in questione influisca sul tempo di cast di una spell in un bs in tempo reale oppure, in un bs laterale, fare in modo che essa influisca sulla velocità della barra ATB. Cercherò comunque di spiegare il concetto fuori da ogni contesto in modo che si presti ai diversi usi che chiunque ne voglia fare. TUTORIAL Di cosa abbiamo bisogno: -Conoscenza del database di rpg maker -Conoscenza basilare dell'uso di variabili e loop (cicli) -La grafica di una barra che mostri il tempo trascorso in percentuale (nell'esempio useremo una barra che "cambia" ogni 10% di tempo trascorso, quindi avremo bisogno dell'immagine della barra allo 0%, al 10%, al 20% e così via, fino al 100%) (la barra è facoltativa se si decidesse ad esempio di fare un sistema ATB invisibile, dipende quindi dall'uso che se ne vuole fare). Possiamo iniziare: Dobbiamo innanzitutto decidere quale statistica del database vogliamo sfruttare, poniamo ad esempio di voler utilizzare la statistica Agility. (Questo non è propriamente necessario, in quanto è possibile creare le nostre statistiche anche attraverso una variabile senza "passare" dal database) Poniamo quindi una variabile, che chiameremo HASTE, uguale alla statistica agility var [HASTE] = Hero agility una volta fatto ciò, dobbiamo decidere il "tempo base" che verrà influenzato dalla nostra statistica, ma facciamo un esempio concreto per capirci meglio. Vogliamo ad esempio che il tempo base di cast di una spell sia pari a 5 secondi, o che la barra ATB abbia come tempo base per riempirsi i suddetti 5 secondi. Il tempo in rpg maker è calcolato non in secondi, bensì in frames, ogni secondo equivale a 20 frames, ne consegue che 5 secondi sono uguali a 100 frames. Poniamo quindi la variabile, che chiameremo TIME uguale a 100 var [TIME] = 100 Ora quello che dobbiamo fare è scegliere quale valore di HASTE comporti una riduzione del tempo necessario per il cast della spell o del tempo di carica della barra ATB, poniamo ad esempio che 10 punti di HASTE comportino una riduzione di 1 frame. Passiamo ora a definire l'evento vero e proprio. var [TIME] = 100 #come abbiamo detto definiamo il tempo base if var [HASTE] >= 10 var [HASTE] / 10 var [TIME] - var [HASTE] end #abbiamo detto prima che il valore di haste che abbiamo scelto in #modo che influisca sui frames è 10, poichè 10 haste riduce il time #di 1 frame, procediamo quindi a una sorta di equivalenza: #se il valore di haste è uguale o superiore a 10 (poichè per valori #inferiori a 10 non sortirebbe alcun effetto) dividi la variabile #HASTE per 10 (sempre perchè 10 haste = 1 frame) e sottrai alla variabile #TIME la variabile HASTE in modo da avere il tempo #effettivo influenzato per l'appunto dall'HASTE var [TIME%] = var [TIME] var [TIME%] / 10 #a questo punto ciò che abbiamo fatto è trovarci la percentuale #di tempo a noi utile, ossia, nel nostro caso, il 10%, poichè ogni 10 #% di tempo trascorso la nostra barra deve cambiare. #L'operazione fatta contiene una semplificazione, poichè ciò che #abbiamo realmente fatto, dopo aver eguagliato la variabile #TIME% alla variabile TIME, è stato dividere la variabile per 100 e #moltiplicarla poi per la percentuale desiderata, nel nostro caso #10, viene da se che abbiamo semplificato con una semplice divisione per 10 var [TIMEBAR] = 0 #questa variabile è un contatore e serve per definire quale immagine #della barra deve essere mostrata, vedremo in seguito come loop if var [TIME%] <=0 show picture barra 100% brake loop #inizia il ciclo #se la variabile TIME% è 0 o inferiore, vuol dire che avremo bisogno di #0 frames affinchè la barra raggiunga il suo massimo, quindi mostriamo #direttamente la barra al 100% e rompiamo il ciclo else wait 1 frame var [HASTE CONTROL] + 1 var [HASTE CONTROL2] + 1 #ad ogni frame aggiorniamo 2 variabili, HASTE CONTROL terrà il conto #del tempo totale trascorso dall'inizio del ciclo, HASTE CONTROL2 conterà #invece il tempo necessario al cambio di immagine if var [HASTE CONTROL2] = var [TIME%] if var [TIMEBAR] = 0 show picture barra 10% var [HASTE CONTROL2] = 0 var [TIMEBAR] +1 else if var [TIMEBAR] = 1 show picture barra 20% var [HASTE CONTROL2] = 0 var [TIMEBAR] +1 else ... else if var [TIMEBAR] = 9 show picture barra 100% var [HASTE CONTROL2] = 0 end #se il tempo necessario a far cambiare l'immagine è trascorso #e quindi var HASTE CONTROL2 = var TIME%, #verifica quante volte questo è già avvenuto tramite la variabile #contatore TIMEBAR, in modo da sapere in quale punto #del codice ci troviamo. A questo punto mostra #l'immagine corrispondente, azzera il tempo necessario a far #cambiare nuovamente l'immagine, quindi HASTE CONTROL2 = 0 #aggiungi 1 al contatore TIMEBAR, in modo da avanzare nel codice #la volta successiva, quindi TIMEBAR + 1 (passaggio non necessario nell'ultimo caso, quando non ci sono più immagini da mostrare) if var [HASTE CONTROL] = var [TIME] var [HASTE CONTROL] = 0 var [HASTE CONTROL2] = 0 var [TIMEBAR] = 0 brake loop end #se il tempo trascorso è uguale al tempo totale che doveva trascorrere #azzera tutto e rompi il ciclo FINE DEMO: http://www.mediafire.com/?oshr5jlv9b8hkja E' una semplice demo in cui parlando con l'npc si può settare la variabile HASTE su diversi valori per vederne gli effetti.
-
Mmh quindi dici più semplice la colorazione e più elaborata tutta la parte riguardante hp/sp/face. Vediamo un po' cosa posso fare. OT Finalmente le 2 stelle *_*
-
Dici che dovrei lasciare il face senza contorno? Comunque per colorazione a cuscinetto cosa intendi? Quella degli oggetti è lì in mezzo perchè sotto di essa avevo intenzione di metterci la grafica dei vari hotkeys per menu, questlog e varie. Per quanto riguarda il contorno dei cerchietti, è così perchè quando son vuoti qualcosa si deve vedere, se no come potrei fare? Comunque per l'ispirazione io l'ho presa da qui fondamentalmente
-
Rieccomi^^ Date le critiche che mi sono state mosse riguardo all'HUD nell'ultimo screen contest sto facendo un po' di prove, questa è una delle più soddisfacenti per il momento, ditemi che ne pensate, se ancora non va bene, se dev'essere migliorata ecc. ecc. P.S. Non guardate la mappa, è fatta giusto per provare l'HUD. P.P.S. I cerchi laterali serviranno per gli oggetti che possono essere utilizzati durante il combattimento, prima non era presente.
-
Ma è un file exe di rpg maker, non un bin, è strana sta cosa. Ma hai risolto alla fine? Non ho capito. Guardian tu mi confermi che funziona o lo devo riuploadare?
-
che errore ti da? Allora devo proprio scappare, per cui ti dico l'errore più frequente. Se ti da incompatibilità di versione clicca col destro sul file game.rxproj e aprilo col notepad, cambia la versione (1.03) con la tua versione (es. 1.02)
-
L'hai già provato? poi dimmi se ti va bene o c'è qualcosa da aggiungere.
-
Si può rispondere qui vero? ^^ Mi prendo la mia bella mazzata come è giusto che sia, ma in un certo senso è stata cercata, uno screen contest dice sempre la verità, quella vera e cruda, ed in fondo è quello che mi serviva. In un certo senso si, vi ho strumentalizzati XD ma mi serve questo per migliorare. Comunque c'è una cosa che non avete notato miei cari giudici, l'errore di importazione dell'immagine della raccolta erbe, mi sono dimenticato di cambiare il colore invisibile e c'è qualche puntino nero trasparente^^ pensavo sarebbe stata la cosa che mi avrebbe penalizzato di più, me ne sono accorto dopo averlo postato. Per quanto riguarda la fog, è che lo screen rappresenta parte di una mappa, nel complesso della mappa credo ci stia bene. Le ombre tagliate non le avevo notate, tileset mal composto credo, devo aggiustarlo. HUD il male maggiore quindi! Non so, a me piaceva così, minimalista, ma mi rimetto alla corte XD. In conclusione, grazie per il vostro tempo e alla prossima con uno screen (spero) migliore.
-
Allora Noah ecco a te clicca. Ho cercato di spiegarti il codice al meglio con i commenti, vedi se ci capisci qualcosa se no chiedimi pure.
