-
Posts
424 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by ColossAlex_10
-
-
Guardian, che domande... Le prossime Location non forestose saranno implementate tramite DLC!!!
... Nah, scherzavo

Le zone abitate più importanti sono la città di Oryos e il Villaggio di Khaya, che sarà esteso all'incirca quanto la zona dei Sobborghi. Quest'ultima non la considererei una città vera e propria, anche se sarà diversa da Oryos, di dimensioni minori e più cupa. La zona del Castello di Oryos non sarà piccola, comprenderà diverse stanze. Per quanto riguarda il mondo di gioco, cercheremo di renderlo il più vario possibile, sia a livello d'ambientazione che di nemici. Inseriremo alcuni dungeon (le cave che vedete nelle foreste della mappa), all'interno dei quali ci saranno alcuni enigmi, segreti da scovare e nemici più potenti. I dungeon serviranno anche ad altro, molto più importante, ma per ora non spoileriamo nulla perchè non è ancora il momento
. Avremmo intenzione di inserire un livello di difficoltà gradualmente maggiore, cosicchè non saremo solo noi a migliorare ma anche i nemici. Ora stiamo creando il database di armi, armature e oggetti, quindi è per questo che da un po' non ci sentite, ma tranquilli siamo vivi e vegeti!
-
Buonasera a tutti! Come la va?! Spero bene ^ ^ (che poi chissà chi è sto "Tutti")
Prima di mostrarvi ciò che devo, vi annuncio ora che li abbiamo finiti che ci sono due sistemi relativi agli equipaggiamenti, e ora cercherò di spiegarvi per benino come funzionano.
Il primo sistema, quello direttamente inerente alle battaglie, è un semplicissimo menù richiamabile tramite la "P" (esatto! "P" di Pogba!) che ci permetterà di assegnare Arma, Scudo, Skill e un'oggetto. Vi chiederete, "Perchè un oggetto solo se gli slot sono due?" - Beh, ci piacerebbe rendere questo gioco gradualmente impegnativo, e per fare ciò abbiamo deciso di inserire un sistema di recupero HP basato su una pozione fissa ricaricabile a, manco a dirlo, un falò, che peraltro vi servirà per aumentare le stats e salvare (Sì, forse fa un tantino Dark Souls ma, amen!). In questo modo siamo certi che non ci sarà la possibilità di spammare colpi a random "perchè tanto arrivato a 10 HP posso usare la pozione". Ennò belli miei, avrete all'inizio UNA sola pozione. E no, gli HP non si ricaricano
..In questo modo siamo certi che si aggiungerà un po' più di calma e strategia al modo di giocare. Chiudendo con l'assegnazione, questa viene fatta tramite gli Hotkeys A D Q W E R T Y.Il secondo sistema, che è quello che vi mostreremo oggi, vi consentirà di andare ad agire sull'equipaggiamento, in modo da variare indirettamente le vostre statistiche. Infatti, non potendo sempre avere sotto mano un falò per livellare, crediamo che avere questa possibilità possa, oltre che darvi la "voglia" di esplorare posti per trovare nuove armature, elmi, amuleti ecc... rendere l'equipaggiamento una parte integrante ed utile del gioco, in quanto ogni oggetto equipaggiabile potrebbe avere diverse caratteristiche oltre ad ovviamente rendervi più forti difensivamente o più agili ecc. Quindi, come direbbero le english speaking people, without further ado, here's the screen
http://i.imgur.com/3FLJHYU.png
Prima che qualcuno mi crocifigga per quei "Empty" e "Sword", non abbiamo ancora tradotto del tutto il DB per cui modificheremo alla fine queste cosacce ^ ^ Fatemi sapere un po' come vi sembra, va'!
This is it, folks! Ci si vede presto!
-
Certo capisco cosa intendi, il fatto è che la modifica di script, a meno che non sia strettamente funzionale alle nostre necessità preferiamo evitarla, nel senso che io lavoro, lui è un universitario e potrete ben capire che "lavorando" al progetto solo 1 o 2 ore per sera il tempo non è esattamente dalla nostra parte xD E, dato che ci piacerebbe veder concluso questo progetto sarebbe vitale riuscire a ottimizzare i tempi per ogni cosa che ci viene in mente di fare.
Intanto già che parliamo di script, vi "lascio" dicendovi che abbiamo modificato un po' l'antilag, aumentando la frequenza di refresh dello schermo rispetto a prima, tramite la console di rgss parrebbero non esserci cali di frame, parrebbe stabile ai 50/60 FPS. Non so se la cosa vi possa interessare o meno, ma lo faccio comunque presente xD
PS. Aspettatevi qualche troll-news ogni tanto, dobbiamo creare hype

Bye

-
Avete qualche tipo diverso di albero? Si riesce a rimediare? ^ ^
La passabilità sembra buona nonostante lo screen sia pieno, c'è da impostare la semitrasparenza per l'erba alta. Per il resto belle risorse.
^ ^
Carino e semplice l'HUD anche i tasti paion comodi con il sistema qwerty... S è usato per saltare od altro? ^ ^
Ringraziamo per i bei commenti! Guardian, che hai contro quegli alberelli? :( Comunque come sapete su sto tool gli alberi e in generale la vegetazione sono il problema più "grave" a livello di mapping... Qualcosa stiamo ancora cercando ma bisogna vedere un po' come sta anche con i vari stili ecc... non si può cambiare di punto in bianco vegetazione se solo la mappa prima ce n'era di un altro tipo... Quindi siamo un po' titubanti su questo, ma ne usciremo! Per quanto riguarda l'erba invece avevamo già in mente di renderla semi-transp in stile pokemon, però mi sembrava troppo... "pokemon", appunto! ahah
Per quel che riguarda il tasto S, beh... è usato per... "Od altro". Diciamo che più avanti, saprete ^ ^
ABS di Falcao? È fatto molto bene. Avevo cominciato a usarlo anche io, ma poi ho scelto la XAS perché mi è sembrato più fluido.
Sì, l'ABS è quello. Avevamo bisogno di poter creare più skill e poterle equipaggiare, non una alla volta... Per cui ci è sembrato il più adatto

-
Bonsoir! O bonnenuit ahaha.
Allora, rispondo a Ickh (nome interessante :D), i menù sono diciamo ancora in fase di modifica, tra un bug e l'altro ogni giorno di lavoro ce n'è da fare, non vi stufereste mai di bestemmiare con 'sto progetto, ve lo posso assicurare. E' comunque proprio per questo che postiamo qui, avere un feedback o comunque qualcuno che ti dia un'idea meno "di parte" ci vuole. Vedremo come starà con qualche modifica, poi posteremo ciò che ne verrà fuori :)
Ora per la felicità del Guardiano d'Israele (non esattamente un gran nome, coi tempi che corrono) rilascio UFFICIALMENTE lo screen di cui si parlava Eoni fa!
http://i.imgur.com/sSbh1TQ.png
Ebbene, potete vedere che se menano le mani qua! (Scusate ma un bello slime coatto in ogni gioco ci dev'essere) Primo screen in cui potrete vedere l'HUD, ma soprattutto in generale il combattimento. La barra dei nemici è ancora quella base, poi la cambieremo, diciamo che non è una cosa prioritaria ma va nella "black-list" di tutto ciò che è solo un piccolo pugno nell'occhio da scansare a livello grafico
Presto avrete nostre nuove notizie, o magari no, chissà!
Bye

-
Ciao, ti ringrazio per esserti interessato al progetto, Mi fa piacere una persona in piú che segue questo gioco :)
Durante la giornata di domani o Lunedì vi mostreremo qualcosina dei menú, statistiche e quello per l'assegnazione dei punti abilitá.
Se intanto qualcuno che è interessato al progetto e che ha letto il topic vuole dirci come la pensa ci fa piacere :) Adios -
Storia classica sulla quale non ci sbottoniamo più di tanto, un po' di background? ^ ^
No, niente di niente :D
Preferiamo per ora lasciare questo, ond'evitare spoiler, da una parola di troppo in su in merito alla trama potrebbe essere tutto svelato. Perciò i personaggi e la trama in particolare, verranno molto approfonditi nel corso del gioco, si spera in un crescendo di buone sensazioni da parte del player.
Diversi chara, qualche nome/sprite rivisto/sentito, ma mi piacciono come personaggi.Oh nel gameplay vedo BS in tempo reale! Script od eventi? E:3 La parte degli enigmi e degli eventi mi suona bene, quando li avete postate un po' di esempi in caso.
^ ^
Quella nel title è la piuma di Photoshop CS2? XD
Il mapping non pare male, non mi spiace quello screen del cimitero (tomba un po' misera per uno di sangue reale > <), in attesa di altre news, buona fortuna nel frattempo! ^ ^
Il BS sarà script, non abbiamo tempo di farlo ad eventi. E' anche per questo se abbiamo deciso di aggiungere enigmi ad eventi, appunto, per far pesare meno la parte script vista la presenza del BS e soprattutto per farvi comunque vedere qualche nostra "idea".
Il title è molto semplice e minimale, non è animato. Semplice cursore che fa selezionare l'azione da compiere allo start. (La piuma è una semplice icona di un iconset XD)
Per quel che riguarda il mapping, ti dirò la verità non me ne va mai bene una, nel senso che sia io che Andre siamo due perfezionisti (seppur ognuno al proprio campo), e quindi ogni mappa che facciamo ci pensiamo 34 volte prima di dire "Sì ci piace". In merito alle tombe, c'è una ragione se sono così per cui è tutto calcolato ^ ^.
Appena avremo qualche News interessante o qualche screen d'impatto non mancheremo di presentarli

-
Gilgames ColossAlex_10
http://i.imgur.com/5hvWyvw.png & http://www.rpg2s.net/forum/uploads/profile/photo-3390.jpg?_r=0
Presentano
http://i.imgur.com/kE2JA0n.png
Hola a todos!

Questa sera io e il mio amico Andrea vi proponiamo un progetto a cui stiamo lavorando da un po' di tempo, come potete vedere si chiama Bloody Vengeance: Lullaby of Lost Souls, ed è un gioco in via di sviluppo con RMVXAce. L'idea di una collaborazione in merito è venuta quasi per caso, e dopo averci pensato un po' abbiamo deciso di prendere come matrice di riferimento il mio vecchio progetto Restless Souls per VX. Ad ogni modo ci tengo a precisare che non ha nulla a che fare con quello, che "all'epoca" avevo abbandonato per mancanza di tempo.
Da qui abbiamo preso spunto, migliorato e corretto quelle che erano le imperfezioni, e posso dirvi con certezza che arriviamo a questo punto con un progetto praticamente "nuovo", rivoluzionato e profondamente mutato da quel che era il mio ideale iniziale. Chiaramente per alcune cose si potrà notare una somiglianza, come ad esempio un simile incipit nella trama e un level design simile (dopotutto, son ancora io che faccio le ambientazioni, quindi lo stile è quello!). Senza ulteriori parole al vento, vediamo punto per punto di cosa si tratta.
http://i.imgur.com/H2KuGWU.png
Sul pianeta di Kimelia, il Regno di Theratia sta attraversando un periodo vitale eccellente grazie al governo del Re Eldor. Tutto procede quasi senza intoppi fino al giorno del decimo anniversario dell'incoronazione di Eldor, quando, proprio nel bel mezzo della festa, egli viene assassinato. I figli del Re disperati, insieme a una loro amica di infanzia, decidono quindi di investigare per scovare l'assassino e vendicare il sovrano defunto.
http://i.imgur.com/BA3Eb4k.png
http://i.imgur.com/fxxmVvj.png Cedrick: E' il figlio di Eldor, nonchè principe di Oryos, capitale del Regno di Theratia. La madre, Clarice, muore durante il parto, ed anche per questo quando il padre viene assassinato, promette di trovare l'assassino a qualunque costo e di vendicare la sua dipartita.
http://i.imgur.com/A39zTyu.png Inakel: E' il fratellastro di Cedrick. Fu portato in salvo da Eldor, dal villaggio che egli decise di radere al suolo per porre fine alle loro ribellioni.
http://i.imgur.com/3qe2Car.png Nalin: E' l'amica d'infanzia inseparabile di Cedrick, e sua compagna di avventure. E' sua "partner" durante gli allenamenti e cerca di fare del suo meglio per aiutarlo durante la sua ricerca dell'assassino del padre.
http://i.imgur.com/VOTd2eg.png Skar: E' il fratello di Eldor e suo consigliere personale. In passato, il padre abdicò in favore di Eldor, non dandogli la possibilità di salire al trono. E' un abile Mayabi, così si chiamano coloro che conoscono e padroneggiano le arti oscure. Eldor gli chiede infatti di imparare a padroneggiare queste capacità, in modo da poter in futuro rimpiazzare l'esercito Imperiale con le Anime Perdute.
http://i.imgur.com/prIwbjy.png Boldran: E' il comandante dell'esercito Imperiale di Oryos. Non è d'accordo col Re, il quale vuole rimpiazzare l'esercito Imperiale con le Anime Perdute, truppa di non-morti rimasti in una sorta di Limbo a causa dei loro crimini passati. Teme che con l'andare del tempo possa venire accantonato anche il suo posto da comandante.
http://i.imgur.com/lG2U8aY.pngAzura : Giovane ragazza del Villaggio di Khaya, che Cedrick incontrerà nella seconda parte del gioco.
http://i.imgur.com/OriOeVK.png
In Aggiornamento:
- Battle System in tempo reale, con HUD e assegnazione veloce di armi, skill e oggetti;
- Trama elaborata;
- Sistema di assegnazione di punti abilità accumulati a ciascun Level-Up;
- Enigmi ad Eventi;
- Sistema organizzato di Quest principali con ricompense, più alcune Quest secondarie;
- Add-Ons grafici ambientali.
http://i.imgur.com/5cM0frb.png
http://i.imgur.com/ITgXRNA.png
http://i.imgur.com/rbkCDKz.png
http://i.imgur.com/HuaGeIK.png
http://i.imgur.com/WVw5nzG.png
Crediti:
Aggiornerò la sezione quando avremo concluso del tutto la ricerca di materiale. (E comunque inseriremo crediti scorrevoli a fine gioco)
Per ora è tutto, diteci cosa ne pensate e se il progetto vi interessa.
Intanto vi salutiamo e ci sentiamo a prossime news! Ciao a tutti!
Andrea & Matteo
-
Eccolo! Sono colpevole, ahah! Hai fatto spoiler! D: ebbene, prima o poi ci sarà un topic su questo sito in merito a qualcosa che abbiamo in lavorazione. Tempo al tempo, intanto benvenutornato amico mio :D
Ps. Guardian tranquillo, nulla di demenziale questa volta! Ahahah ^ ^
-
Tranquillo poi ce l'ho fatta, sono riuscito a far quel che volevo! Ribadisco, ottimo script, lo userò per il mio gioco :)
-
Hola Holy!
Gran bello script, ma ti volevo chiedere: è possibile spostare le icone al centro e livellare quei "fumettini" di modo che anche loro siano centrati? -
Ho modificato lo sfondo "sparafleshoso", ora è grigio, comunque il problema era la windowskin non c'entrava molto
-
C'è nessuno?!?
-
Schermata di selezione del personaggio fatta ad eventi, con tanto di conseguente scelta del nome :D
Ci ho messo due giorni ma credo che il risultato finale valga il tempo ^^
http://oi41.tinypic.com/2crks5j.jpg
-
Hola a todos! Ho in cantiere qualcosa di interessante e mi serviva uno script che mi consentisse di dare la possibilità al giocatore di scegliere manualmente quale abilità aumentare per salire di livello. Ho trovato questo "Stat Distribution" che non è male:
=begin +------------------------------------------------------------------------------+ # ** Stat points distribution system 1.71 # # By Lettuce. # # # # # #Some help: # # - Position wasn't stored properly in mode 1 (Thanks Akin) # # - Some sort of notification to player (Thanks Akin) # # - Player switch now supports LEFT and RIGHT arrow (Thanks Akin) # # - Advice on using class attr instead of global var (Thanks GoldenShadow) # # # #------------------------------------------------------------------------------# # This script lets you distribute points onto your actor's stats # # # # Call scene using this: $scene = Scene_Stat_Dist.new(0) # # # # # # You can give points to your actors by using this code # # # # $game_party.members[<member ID>].points += <amount of points> # # # # If you want your actor to get points after leveling: # # Under Game_Actor, in def change_exp, under the line level_up; paste this # # # # difference = @level - last_level # # $game_actors[@actor_id].points += <amount of points> # # # # OR (if you want RO mode; explained below) # # # # difference = @level - last_level # # $game_actors[@actor_id].points += ((@level/5).floor+2).floor*difference # # # # # It seems the game returns non 0 based array if we use game_party >.<; # # # # **Note** # # This script does not stop your actors from gaining stats points defined in # # the database. It will just add to it. # # Set the stats to 1 all the way in the database to disable growth # # # # **Modes** # # 1 : Add one point to the attribute per point # # 2 : Use RO system, attribute with value needs more points to increase. # # Explanation: In RO, if you got high stats, you need more points to # # increase it. So if you have 90 ATK and 5 INT...You can # # choose to use 10 points for 1 more ATK OR use that 10 points # # to get 6 INT # +------------------------------------------------------------------------------+ =end ############################### Configuration ################################## #Starting points; how many points to give to actor at the beginning of the game StartPoints = 8 #Maximum attribute point you allowed in your game MaxStat = 500 MaxHP = 9999 MaxMP = 5000 #Max hit, eva and crit rate are all in percentage MaxHIT = 100 MaxEVA = 20 MaxCRIT = 50 #How many points needed per increase PointsPerHP = 2 PointsPerMP = 2 PointsPerHIT = 10 PointsPerEVA = 8 PointsPerCRIT = 6 #How many stats will increase per point? IncreaseBy = 2 HPIncreaseBy = 25 MPIncreaseBy = 15 HITIncreaseBy = 5 EVAIncreaseBy = 1 CRITIncreaseBy = 1 #1 for normal mode, 2 or RO mode [points required calculated through formula] Mode = 2 #You can chage font family and size here Fontname = "Candara" Fontsize = 18 LayoutMode = 2 #========================== End Configuration ================================== OFFSET = -10 #============================================================================== # ** Lettuce_Window_Top #------------------------------------------------------------------------------ # This window displays Title message #============================================================================== class Lettuce_Window_Top < Window_Base def initialize super(0,0,544,70) self.contents = Bitmap.new(width-32,height-32) self.contents.font.name = Fontname self.contents.font.size = Fontsize refresh end def refresh self.contents.clear self.contents.draw_text(0,-10,544-32,32,"Talents Distribution",1) self.contents.font.size = Fontsize-2 self.contents.draw_text(0,10,544-32,32,"Use arrow keys to change character; points can only be assigned once.",1) end end #============================================================================== # ** Lettuce_Window_Points #------------------------------------------------------------------------------ # This window displays the attributes of a party member #============================================================================== class Lettuce_Window_Points < Window_Base def initialize(member_index) super(401,320,144,52) self.contents = Bitmap.new(width-32,height-32) self.contents.font.name = Fontname self.contents.font.size = Fontsize refresh(member_index) end def refresh(member_index) actor = $game_party.members[member_index] points = actor.points self.contents.clear self.contents.draw_text(0,0,162,20,"Points: "+points.to_s) end end #============================================================================== # ** Lettuce_Window_Info #------------------------------------------------------------------------------ # This window displays the attributes of a party member #============================================================================== class Lettuce_Window_Info < Window_Base def initialize(member_index) super(0,71,400,346) self.contents = Bitmap.new(width-32,height-32) self.contents.font.name = Fontname self.contents.font.size = Fontsize @exo = 25 #equipment section X coordinate offset @exo2 = 35 #equipment section X coordinate offset @eyo = -10 #equipment section Y coordinate offset refresh(member_index) end def refresh(member_index) actor = $game_party.members[member_index] self.contents.clear self.contents.font.size = Fontsize draw_actor_face(actor,10,10,92) draw_actor_name(actor,120,10) self.contents.font.size = Fontsize self.contents.draw_text(190,30,200,20,"Class: "+actor.class.name) self.contents.draw_text(120,30,200,20,"Lv. "+actor.level.to_s) if LayoutMode == 1 draw_actor_state(actor,200,280,168) elsif LayoutMode == 2 draw_actor_state(actor,220,10) end s1 = actor.exp_s #total exp s2 = actor.current_lvl_exp #exp to get to this level if s1.is_a?(Numeric) s3 = s1-s2 #progress in this level s4 = actor.next_lvl_exp #exp needed for next level self.contents.font.size = Fontsize-3 self.contents.draw_text(230,74,90,20,"EXP: "+s3.to_s+"/"+s4.to_s,0) self.contents.font.size = Fontsize else self.contents.draw_text(230,74,85,20,"-----/-----",2) end #Preparing bar colours back_color = Color.new(39, 58, 83, 255) str_color1 = Color.new(238, 238, 170, 255) str_color2 = Color.new(238, 221, 102, 255) def_color1 = Color.new(170, 221, 170, 255) def_color2 = Color.new(102, 153, 136, 255) spi_color1 = Color.new(170, 153, 187, 255) spi_color2 = Color.new(102, 85, 136, 255) agi_color1 = Color.new(150, 205, 205, 255) agi_color2 = Color.new( 66, 144, 164, 255) hp_color1 = Color.new(136, 187, 187, 255) hp_color2 = Color.new( 68, 119, 119, 255) mp_color1 = Color.new(136, 187, 238, 255) mp_color2 = Color.new( 68, 119, 187, 255) exp_color1 = Color.new(246, 243, 224, 255) exp_color2 = Color.new(255, 182, 0, 255) if s1.is_a?(Numeric) self.contents.fill_rect(230,90,89,7,back_color) self.contents.gradient_fill_rect(232,92,(85*s3)/s4,3,exp_color1,exp_color2) else self.contents.fill_rect(230,60,89,7,back_color) end self.contents.fill_rect(120,67,104,7,back_color) self.contents.gradient_fill_rect(122,69,100*actor.hp/actor.maxhp,3,hp_color1,hp_color2) self.contents.draw_text(120,44,100,30,"HP",0) self.contents.draw_text(120,44,100,30,actor.hp.to_s + "/" + actor.maxhp.to_s,2) self.contents.fill_rect(120,90,104,7,back_color) self.contents.gradient_fill_rect(122,92,100*actor.mp/actor.maxmp,3,mp_color1,mp_color2) self.contents.draw_text(120,67,100,30,"MP",0) self.contents.draw_text(120,67,100,30,actor.mp.to_s + "/" + actor.maxmp.to_s,2) ##weapons dual_w = true if actor.two_swords_style == true weapon = $data_weapons[actor.weapon_id] shield = $data_armors[actor.armor1_id] shield = dual_w ? $data_weapons[actor.armor1_id] : $data_armors[actor.armor1_id] helm =$data_armors[actor.armor2_id] body =$data_armors[actor.armor3_id] accessory =$data_armors[actor.armor4_id] bonus_atk = 0 bonus_def = 0 bonus_spi = 0 bonus_agi = 0 evasion = 0 crit = 4 if $data_actors[actor.id].critical_bonus crit +=4 end if weapon bonus_atk += weapon.atk bonus_def += weapon.def bonus_spi += weapon.spi bonus_agi += weapon.agi if weapon.critical_bonus crit += 4 end end if dual_w && shield bonus_atk += shield.atk bonus_def += shield.def bonus_spi += shield.spi bonus_agi += shield.agi if weapon.critical_bonus crit += 4 end end if shield && !dual_w bonus_atk += shield.atk bonus_def += shield.def bonus_spi += shield.spi bonus_agi += shield.agi evasion += shield.eva end if helm bonus_atk += helm.atk bonus_def += helm.def bonus_spi += helm.spi bonus_agi += helm.agi evasion += helm.eva end if body bonus_atk += body.atk bonus_def += body.def bonus_spi += body.spi bonus_agi += body.agi evasion += body.eva end if accessory bonus_atk += accessory.atk bonus_def += accessory.def bonus_spi += accessory.spi bonus_agi += accessory.agi evasion += accessory.eva end if LayoutMode == 1 draw_item_name(weapon,160+@exo,125+@eyo,true) if weapon two_hand = true if weapon.two_handed == true end if two_hand draw_item_name(weapon,160+@exo,155+@eyo,true) elsif dual_w dweapon = $data_weapons[actor.armor1_id] draw_item_name(dweapon,160+@exo,155+@eyo,true) else draw_item_name(shield,160+@exo,155+@eyo,true) end draw_item_name(helm,160+@exo,185+@eyo,true) draw_item_name(body,160+@exo,215+@eyo,true) draw_item_name(accessory,160+@exo,245+@eyo,true) #Testing area for Weapon upgrade script #self.contents.font.size = Fontsize - 7 #self.contents.draw_text(160+@exo,135,30,20,"[+"+weapon.level.to_s+"]",0) self.contents.font.color = Color.new(200,200,200,255) if !weapon #draw_icon(216,160+@exo,125+@eyo,true) self.contents.draw_text(184+@exo,127+@eyo,200,16,"<No Equipment>") end if !shield #draw_icon(217,160+@exo,155+@eyo,true) if !two_hand self.contents.draw_text(184+@exo,157+@eyo,200,16,"<No Equipment>") end end if !helm #draw_icon(218,160+@exo,185+@eyo,true) self.contents.draw_text(184+@exo,187+@eyo,200,16,"<No Equipment>") end if !body #draw_icon(219,160+@exo,215+@eyo,true) self.contents.draw_text(184+@exo,217+@eyo,200,16,"<No Equipment>") end if !accessory #draw_icon(220,160+@exo,245+@eyo,true) self.contents.draw_text(184+@exo,247+@eyo,200,16,"<No Equipment>") end self.contents.font.color = Color.new(255,255,255,255) elsif LayoutMode == 2 draw_item_name(weapon,160+@exo2,125+OFFSET+@eyo,true) #if weapon if weapon two_hand = true if weapon.two_handed end if two_hand draw_item_name(weapon,160+@exo2,165+OFFSET+@eyo,true) else draw_item_name(shield,160+@exo2,165+OFFSET+@eyo,true) end #end =begin if weapon.two_handed == true draw_item_name(weapon,160+@exo2,165+OFFSET+@eyo,true) else draw_item_name(shield,160+@exo2,165+OFFSET+@eyo,true) end =end draw_item_name(helm,160+@exo2,205+OFFSET+@eyo,true) draw_item_name(body,160+@exo2,245+OFFSET+@eyo,true) draw_item_name(accessory,160+@exo2,285+OFFSET+@eyo,true) self.contents.font.color = Color.new(200,200,200,255) if !weapon #draw_icon(216,160+@exo2,125+OFFSET+@eyo,true) self.contents.draw_text(184+@exo2,127+OFFSET+@eyo,200,16,"<No Equipment>") end if weapon if !shield and weapon.two_handed == false #draw_icon(217,160+@exo2,165+OFFSET+@eyo,true) self.contents.draw_text(184+@exo2,167+OFFSET+@eyo,200,16,"<No Equipment>") end else if !shield #draw_icon(217,160+@exo2,165+OFFSET+@eyo,true) self.contents.draw_text(184+@exo2,167+OFFSET+@eyo,200,16,"<No Equipment>") end end if !helm #draw_icon(218,160+@exo2,205+OFFSET+@eyo,true) self.contents.draw_text(184+@exo2,207+OFFSET+@eyo,200,16,"<No Equipment>") end if !body #draw_icon(219,160+@exo2,245+OFFSET+@eyo,true) self.contents.draw_text(184+@exo2,247+OFFSET+@eyo,200,16,"<No Equipment>") end if !accessory #draw_icon(220,160+@exo2,285+OFFSET+@eyo,true) self.contents.draw_text(184+@exo2,287+OFFSET+@eyo,200,16,"<No Equipment>") end self.contents.font.color = Color.new(255,255,255,255) end self.contents.font.size = Fontsize-3 self.contents.draw_text(10,120,100,20,Vocab::atk+": ") self.contents.draw_text(10,120,100,20,(actor.atk-bonus_atk).to_s+" + "+bonus_atk.to_s,2) self.contents.fill_rect(10,140,104,7,back_color) self.contents.gradient_fill_rect(12,142,((actor.atk-bonus_atk)*100)/MaxStat,3,str_color1,str_color2) self.contents.draw_text(10,150,100,20,Vocab::def+": ") self.contents.draw_text(10,150,100,20,(actor.def-bonus_def).to_s+" + "+bonus_def.to_s,2) self.contents.fill_rect(10,170,104,7,back_color) self.contents.gradient_fill_rect(12,172,((actor.def-bonus_def)*100)/MaxStat,3,def_color1,def_color2) self.contents.draw_text(10,180,100,20,Vocab::spi+": ") self.contents.draw_text(10,180,100,20,(actor.spi-bonus_spi).to_s+" + "+bonus_spi.to_s,2) self.contents.fill_rect(10,200,104,7,back_color) self.contents.gradient_fill_rect(12,202,((actor.spi-bonus_spi)*100)/MaxStat,3,spi_color1,spi_color2) self.contents.draw_text(10,210,100,20,Vocab::agi+": ") self.contents.draw_text(10,210,100,20,(actor.agi-bonus_agi).to_s+" + "+bonus_agi.to_s,2) self.contents.fill_rect(10,230,104,7,back_color) self.contents.gradient_fill_rect(12,232,((actor.agi-bonus_agi)*100)/MaxStat,3,agi_color1,agi_color2) if weapon hit_rate = weapon.hit else hit_rate = 95 end self.contents.font.size = Fontsize-3 self.contents.font.color = Color.new(162,212,98,255) self.contents.draw_text(1,245,100,20,"Maximum ATK :",2) self.contents.draw_text(1,260,100,20,"Hit rate (%) :",2) self.contents.draw_text(1,275,100,20,"Evasion rate (%) :",2) self.contents.draw_text(1,290,100,20,"Critical Rate (%) :",2) self.contents.draw_text(105,245,60,20,(actor.atk*4).to_s,0) self.contents.draw_text(105,260,60,20,actor.base_hit.to_s + "+" + actor.hitr.to_s,0) self.contents.draw_text(105,275,60,20,actor.base_eva.to_s + "+" +actor.evar.to_s,0) self.contents.draw_text(105,290,60,20,actor.base_cri.to_s + "+" + actor.crir.to_s,0) self.contents.font.size = Fontsize-4 self.contents.font.color = text_color(16) self.contents.draw_text(135,260,60,20,"[Req:"+PointsPerHIT.to_s+"pt.]",2) self.contents.draw_text(135,275,60,20,"[Req:"+PointsPerEVA.to_s+"pt.]",2) self.contents.draw_text(135,290,60,20,"[Req:"+PointsPerCRIT.to_s+"pt.]",2) #self.contents.draw_text(120,260,60,20,(hit_rate+actor.hit_bonus).to_s,0) #self.contents.draw_text(120,275,60,20,(evasion+actor.eva).to_s,0) #self.contents.draw_text(120,290,60,20,(crit+actor.cri_bonus).to_s,0) if LayoutMode == 1 self.contents.font.color = Color.new(155,199,206,255) self.contents.font.size = Fontsize-6 if weapon self.contents.draw_text(185+@exo,140+@eyo,100,20,Vocab::atk+"+"+weapon.atk.to_s) self.contents.draw_text(219+@exo,140+@eyo,100,20,Vocab::def+"+"+weapon.def.to_s) self.contents.draw_text(253+@exo,140+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s) self.contents.draw_text(287+@exo,140+@eyo,100,20,Vocab::agi+"+"+weapon.agi.to_s) end if shield self.contents.draw_text(185+@exo,170+@eyo,100,20,Vocab::atk+"+"+shield.atk.to_s) self.contents.draw_text(219+@exo,170+@eyo,100,20,Vocab::def+"+"+shield.def.to_s) self.contents.draw_text(253+@exo,170+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s) self.contents.draw_text(287+@exo,170+@eyo,100,20,Vocab::agi+"+"+shield.agi.to_s) end if helm self.contents.draw_text(185+@exo,200+@eyo,100,20,Vocab::atk+"+"+helm.atk.to_s) self.contents.draw_text(219+@exo,200+@eyo,100,20,Vocab::def+"+"+helm.def.to_s) self.contents.draw_text(253+@exo,200+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s) self.contents.draw_text(287+@exo,200+@eyo,100,20,Vocab::agi+"+"+helm.agi.to_s) end if body self.contents.draw_text(185+@exo,230+@eyo,100,20,Vocab::atk+"+"+body.atk.to_s) self.contents.draw_text(219+@exo,230+@eyo,100,20,Vocab::def+"+"+body.def.to_s) self.contents.draw_text(253+@exo,230+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s) self.contents.draw_text(287+@exo,230+@eyo,100,20,Vocab::agi+"+"+body.agi.to_s) end if accessory self.contents.draw_text(185+@exo,260+@eyo,100,20,Vocab::atk+"+"+accessory.atk.to_s) self.contents.draw_text(219+@exo,260+@eyo,100,20,Vocab::def+"+"+accessory.def.to_s) self.contents.draw_text(253+@exo,260+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s) self.contents.draw_text(287+@exo,260+@eyo,100,20,Vocab::agi+"+"+accessory.agi.to_s) end end if Mode == 2 self.contents.font.size = Fontsize-6 self.contents.font.color = Color.new(155,199,206,255) self.contents.draw_text(23,100,125,20,"POINTS",2) self.contents.draw_text(29,110,125,20,"REQUIRED",2) self.contents.font.size = Fontsize-2 self.contents.draw_text(20,125,115,20,required(actor.atk-bonus_atk).to_s,2) self.contents.draw_text(20,155,115,20,required(actor.def-bonus_def).to_s,2) self.contents.draw_text(20,185,115,20,required(actor.spi-bonus_spi).to_s,2) self.contents.draw_text(20,215,115,20,required(actor.agi-bonus_agi).to_s,2) end if LayoutMode == 2 self.contents.font.color = Color.new(155,199,206,255) self.contents.font.size = Fontsize-6 if weapon self.contents.draw_text(185+@exo2,140+OFFSET+@eyo,100,20,Vocab::atk+"+"+weapon.atk.to_s) self.contents.draw_text(185+@exo2,150+OFFSET+@eyo,100,20,Vocab::def+"+"+weapon.def.to_s) self.contents.draw_text(253+@exo2,140+OFFSET+@eyo,100,20,Vocab::spi+"+"+weapon.spi.to_s) self.contents.draw_text(253+@exo2,150+OFFSET+@eyo,100,20,Vocab::agi+"+"+weapon.agi.to_s) end if shield self.contents.draw_text(185+@exo2,180+OFFSET+@eyo,100,20,Vocab::atk+"+"+shield.atk.to_s) self.contents.draw_text(185+@exo2,190+OFFSET+@eyo,100,20,Vocab::def+"+"+shield.def.to_s) self.contents.draw_text(253+@exo2,180+OFFSET+@eyo,100,20,Vocab::spi+"+"+shield.spi.to_s) self.contents.draw_text(253+@exo2,190+OFFSET+@eyo,100,20,Vocab::agi+"+"+shield.agi.to_s) end if helm self.contents.draw_text(185+@exo2,220+OFFSET+@eyo,100,20,Vocab::atk+"+"+helm.atk.to_s) self.contents.draw_text(185+@exo2,230+OFFSET+@eyo,100,20,Vocab::def+"+"+helm.def.to_s) self.contents.draw_text(253+@exo2,220+OFFSET+@eyo,100,20,Vocab::spi+"+"+helm.spi.to_s) self.contents.draw_text(253+@exo2,230+OFFSET+@eyo,100,20,Vocab::agi+"+"+helm.agi.to_s) end if body self.contents.draw_text(185+@exo2,260+OFFSET+@eyo,100,20,Vocab::atk+"+"+body.atk.to_s) self.contents.draw_text(185+@exo2,270+OFFSET+@eyo,100,20,Vocab::def+"+"+body.def.to_s) self.contents.draw_text(253+@exo2,260+OFFSET+@eyo,100,20,Vocab::spi+"+"+body.spi.to_s) self.contents.draw_text(253+@exo2,270+OFFSET+@eyo,100,20,Vocab::agi+"+"+body.agi.to_s) end if accessory self.contents.draw_text(185+@exo2,300+OFFSET+@eyo,100,20,Vocab::atk+"+"+accessory.atk.to_s) self.contents.draw_text(185+@exo2,310+OFFSET+@eyo,100,20,Vocab::def+"+"+accessory.def.to_s) self.contents.draw_text(253+@exo2,300+OFFSET+@eyo,100,20,Vocab::spi+"+"+accessory.spi.to_s) self.contents.draw_text(253+@exo2,310+OFFSET+@eyo,100,20,Vocab::agi+"+"+accessory.agi.to_s) end end end def required(base) return (((base-1)/10)+2).floor end end #============================================================================== # ** Lettuce_Window_Help #------------------------------------------------------------------------------ # This window displays property of each attribute #============================================================================== class Lettuce_Window_Help < Window_Base def initialize(index) super(401,372,144,44) self.contents = Bitmap.new(width-32,height-32) self.contents.font.size = Fontsize-4 refresh(index) end def refresh(index) self.contents.clear self.contents.font.color = text_color(16) case index when 0 self.contents.draw_text(0,-5,112,20,"HP + "+HPIncreaseBy.to_s) when 1 self.contents.draw_text(0,-5,112,20,"MP + "+MPIncreaseBy.to_s) when 2 self.contents.draw_text(0,-5,112,20,Vocab::atk+" + "+IncreaseBy.to_s) when 3 self.contents.draw_text(0,-5,112,20,Vocab::def+" + "+IncreaseBy.to_s) when 4 self.contents.draw_text(0,-5,112,20,Vocab::spi+" + "+IncreaseBy.to_s) when 5 self.contents.draw_text(0,-5,112,20,Vocab::agi+" + "+IncreaseBy.to_s) when 6 self.contents.draw_text(0,-5,112,20,"HIT + "+HITIncreaseBy.to_s) when 7 self.contents.draw_text(0,-5,112,20,"EVA + "+EVAIncreaseBy.to_s) when 8 self.contents.draw_text(0,-5,112,20,"CRIT + "+CRITIncreaseBy.to_s) end end end #============================================================================== # ** Scene_Stat_Dist #------------------------------------------------------------------------------ # Performs stat distribution process :) #============================================================================== class Scene_Stat_Dist < Scene_Base def initialize(menu_index) @menu_index = menu_index end def start super create_menu_background ihp = " Stamina" imp = " Intellect" i1 = " Attack Power" i2 = " Defense" i3 = " Spell Power" i4 = " Agility" i5 = " Accuracy" i6 = " Evasion" i7 = " Critical Hit" @window_select = Window_Command.new(144,[ihp,imp,i1,i2,i3,i4,i5,i6,i7]) if $position @window_select.index = $position - 1 else @window_select.index = 0 end @window_select.active = true @window_select.x = 401 @window_select.y = 71 @window_top = Lettuce_Window_Top.new @window_points = Lettuce_Window_Points.new(@menu_index) @window_info = Lettuce_Window_Info.new(@menu_index) @window_help = Lettuce_Window_Help.new(@window_select.index) end def terminate super dispose_menu_background @window_top.dispose @window_points.dispose @window_info.dispose @window_help.dispose @window_select.dispose end def update update_menu_background #@window_points.refresh(@menu_index) @window_select.update #@window_help.refresh(@window_select.index) if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN) @window_help.refresh(@window_select.index) end @changes = 0 if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT) @menu_index += 1 @menu_index %= $game_party.members.size $scene = Scene_Stat_Dist.new(@menu_index) elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT) @menu_index += $game_party.members.size - 1 @menu_index %= $game_party.members.size $scene = Scene_Stat_Dist.new(@menu_index) elsif Input.trigger?(Input::C) #Points addition begins #which attribute if Mode == 1 do_point_reg elsif Mode == 2 do_point_rag end end end def do_point_reg @att = @window_select.index actor = $game_party.members[@menu_index] ##weapons weapon = $data_weapons[actor.weapon_id] shield = $data_armors[actor.armor1_id] helm =$data_armors[actor.armor2_id] body =$data_armors[actor.armor3_id] accessory =$data_armors[actor.armor4_id] bonus_atk = 0 bonus_def = 0 bonus_spi = 0 bonus_agi = 0 if weapon bonus_atk += weapon.atk bonus_def += weapon.def bonus_spi += weapon.spi bonus_agi += weapon.agi end if shield bonus_atk += shield.atk bonus_def += shield.def bonus_spi += shield.spi bonus_agi += shield.agi end if helm bonus_atk += helm.atk bonus_def += helm.def bonus_spi += helm.spi bonus_agi += helm.agi end if body bonus_atk += body.atk bonus_def += body.def bonus_spi += body.spi bonus_agi += body.agi end if accessory bonus_atk += accessory.atk bonus_def += accessory.def bonus_spi += accessory.spi bonus_agi += accessory.agi end case @att when 0 #HP if actor.points < PointsPerHP Sound.play_cancel elsif actor.maxhp >= MaxHP Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].maxhp += HPIncreaseBy if $game_party.members[@menu_index].maxhp > MaxHP $game_party.members[@menu_index].maxhp = MaxHP end actor.points -= PointsPerHP @changes += 1 $position = 1 end when 1 #MP if actor.points < PointsPerMP Sound.play_cancel elsif actor.maxmp >= MaxMP Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].maxmp += MPIncreaseBy if $game_party.members[@menu_index].maxmp > MaxMP $game_party.members[@menu_index].maxmp = MaxMP end actor.points -= PointsPerMP @changes += 1 $position = 1 end when 2 #ATK if actor.points < 1 Sound.play_cancel elsif (actor.atk-bonus_atk) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].atk += IncreaseBy if ($game_party.members[@menu_index].atk-bonus_atk) > MaxStat $game_party.members[@menu_index].atk = MaxStat+bonus_atk end actor.points -= 1 @changes += 1 $position = 1 end when 3 #DEF if actor.points < 1 Sound.play_cancel elsif (actor.def-bonus_def) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].def += IncreaseBy if ($game_party.members[@menu_index].def-bonus_def) > MaxStat $game_party.members[@menu_index].def = MaxStat+bonus_def end actor.points -= 1 @changes += 1 $position = 2 end when 4 #SPI if actor.points < 1 Sound.play_cancel elsif (actor.spi-bonus_spi) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].spi += IncreaseBy if ($game_party.members[@menu_index].spi-bonus_spi) > MaxStat $game_party.members[@menu_index].spi = MaxStat+bonus_spi end actor.points -= 1 @changes += 1 $position = 3 end when 5 #AGI if actor.points < 1 Sound.play_cancel elsif (actor.agi-bonus_agi) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].agi += IncreaseBy if ($game_party.members[@menu_index].agi-bonus_agi) > MaxStat $game_party.members[@menu_index].agi = MaxStat+bonus_agi end actor.points -= 1 @changes += 1 $position = 4 end when 6 #HIT if actor.points < PointsPerHIT Sound.play_cancel elsif actor.hitr >= MaxHIT Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].hitr += HITIncreaseBy if $game_party.members[@menu_index].hitr > MaxHIT $game_party.members[@menu_index].hitr = MaxHIT end actor.points -= PointsPerHIT @changes += 1 $position = 1 end when 7 #EVA if actor.points < PointsPerEVA Sound.play_cancel elsif actor.evar >= MaxEVA Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].evar += EVAIncreaseBy if $game_party.members[@menu_index].evar > MaxEVA $game_party.members[@menu_index].evar = MaxEVA end actor.points -= PointsPerEVA @changes += 1 $position = 1 end when 8 #CRIT if actor.points < PointsPerCRIT Sound.play_cancel elsif actor.crir >= MaxCRIT Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].crir += CRITIncreaseBy if $game_party.members[@menu_index].crir > MaxCRIT $game_party.members[@menu_index].crir = MaxCRIT end actor.points -= PointsPerCRIT @changes += 1 $position = 1 end end if @changes > 0 @window_info.refresh(@menu_index) @window_points.refresh(@menu_index) #$scene = Scene_Stat_Dist.new(@menu_index) end end def do_point_rag @att = @window_select.index actor = $game_party.members[@menu_index] ##weapons weapon = $data_weapons[actor.weapon_id] shield = $data_armors[actor.armor1_id] helm =$data_armors[actor.armor2_id] body =$data_armors[actor.armor3_id] accessory =$data_armors[actor.armor4_id] bonus_atk = 0 bonus_def = 0 bonus_spi = 0 bonus_agi = 0 if weapon bonus_atk += weapon.atk bonus_def += weapon.def bonus_spi += weapon.spi bonus_agi += weapon.agi end if shield bonus_atk += shield.atk bonus_def += shield.def bonus_spi += shield.spi bonus_agi += shield.agi end if helm bonus_atk += helm.atk bonus_def += helm.def bonus_spi += helm.spi bonus_agi += helm.agi end if body bonus_atk += body.atk bonus_def += body.def bonus_spi += body.spi bonus_agi += body.agi end if accessory bonus_atk += accessory.atk bonus_def += accessory.def bonus_spi += accessory.spi bonus_agi += accessory.agi end case @att when 0 #HP if actor.points < PointsPerHP Sound.play_cancel elsif actor.maxhp >= MaxHP Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].maxhp += HPIncreaseBy if $game_party.members[@menu_index].maxhp > MaxHP $game_party.members[@menu_index].maxhp = MaxHP end actor.points -= PointsPerHP @changes += 1 $position = 1 end when 1 #MP if actor.points < PointsPerMP Sound.play_cancel elsif actor.maxmp >= MaxMP Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].maxmp += MPIncreaseBy if $game_party.members[@menu_index].maxmp > MaxMP $game_party.members[@menu_index].maxmp = MaxMP end actor.points -= PointsPerMP @changes += 1 $position = 1 end when 2 #ATK base_value = actor.atk-bonus_atk points = actor.points if enough_point(base_value,points) Sound.play_cancel elsif (actor.atk-bonus_atk) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].atk += IncreaseBy if ($game_party.members[@menu_index].atk-bonus_atk) > MaxStat $game_party.members[@menu_index].atk = MaxStat+bonus_atk end actor.points -= required(base_value) @changes += 1 $position = 1 end when 3 #DEF base_value = actor.def-bonus_def points = actor.points if enough_point(base_value,points) Sound.play_cancel elsif (actor.def-bonus_def) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].def += IncreaseBy if ($game_party.members[@menu_index].def-bonus_def) > MaxStat $game_party.members[@menu_index].def = MaxStat+bonus_def end actor.points -= required(base_value) @changes += 1 $position = 2 end when 4 #SPI base_value = actor.spi-bonus_spi points = actor.points if enough_point(base_value,points) Sound.play_cancel elsif (actor.spi-bonus_spi) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].spi += IncreaseBy if ($game_party.members[@menu_index].spi-bonus_spi) > MaxStat $game_party.members[@menu_index].spi = MaxStat+bonus_spi end actor.points -= required(base_value) @changes += 1 $position = 3 end when 5 #AGI base_value = actor.agi-bonus_agi points = actor.points if enough_point(base_value,points) Sound.play_cancel elsif (actor.agi-bonus_agi) >= MaxStat Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].agi += IncreaseBy if ($game_party.members[@menu_index].agi-bonus_agi) > MaxStat $game_party.members[@menu_index].agi = MaxStat+bonus_agi end actor.points -= required(base_value) @changes += 1 $position = 4 end when 6 #HIT if actor.points < PointsPerHIT Sound.play_cancel elsif actor.hitr >= MaxHIT Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].hitr += HITIncreaseBy if $game_party.members[@menu_index].hitr > MaxHIT $game_party.members[@menu_index].hitr = MaxHIT end actor.points -= PointsPerHIT @changes += 1 $position = 1 end when 7 #EVA if actor.points < PointsPerEVA Sound.play_cancel elsif actor.evar >= MaxEVA Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].evar += EVAIncreaseBy if $game_party.members[@menu_index].evar > MaxEVA $game_party.members[@menu_index].evar = MaxEVA end actor.points -= PointsPerEVA @changes += 1 $position = 1 end when 8 #CRIT if actor.points < PointsPerCRIT Sound.play_cancel elsif actor.crir >= MaxCRIT Sound.play_cancel else Sound.play_use_item $game_party.members[@menu_index].crir += CRITIncreaseBy if $game_party.members[@menu_index].crir > MaxCRIT $game_party.members[@menu_index].crir = MaxCRIT end actor.points -= PointsPerCRIT @changes += 1 $position = 1 end end if @changes > 0 @window_points.refresh(@menu_index) @window_info.refresh(@menu_index) #$scene = Scene_Stat_Dist.new(@menu_index) end end def enough_point(base,points) required = (((base-1)/10)+2).floor if required > points return true elsif required <= points return false end end def required(base) return (((base-1)/10)+2).floor end end #============================================================================== # ** Game_Actor #------------------------------------------------------------------------------ # Giving game actor a point attribute # -> $game_party.member[x].points #============================================================================== class Game_Actor < Game_Battler attr_accessor :points attr_accessor :hit_bonus attr_accessor :eva_bonus attr_accessor :cri_bonus attr_accessor :hitr attr_accessor :evar attr_accessor :crir #attr_accessor :current_lvl_exp #attr_accessor :next_lvl_exp alias Lettuce_Game_Actor_Ini initialize def initialize(actor_id) Lettuce_Game_Actor_Ini(actor_id) @points = StartPoints @hitr = 0 @evar = 0 @crir = 0 #@current_lvl_exp = @exp_list[@level-1] #@next_lvl_exp = @exp_list[@level] end def points return @points end #-------------------------------------------------------------------------- # * Get Hit Rate #-------------------------------------------------------------------------- def hit if two_swords_style n1 = weapons[0] == nil ? 95 : weapons[0].hit n2 = weapons[1] == nil ? 95 : weapons[1].hit n = [n1, n2].min else n = weapons[0] == nil ? 95 : weapons[0].hit end if n+@hitr <= MaxHIT return n+@hitr else return MaxHIT end end #-------------------------------------------------------------------------- # * Get Evasion Rate #-------------------------------------------------------------------------- def eva n = 5 for item in armors.compact do n += item.eva end if n+@evar <= MaxEVA return n+@evar else return MaxEVA end end #-------------------------------------------------------------------------- # * Get Critical Ratio #-------------------------------------------------------------------------- def cri n = 4 n += 4 if actor.critical_bonus for weapon in weapons.compact n += 4 if weapon.critical_bonus end if n+@crir <= MaxCRIT return n+@crir else return MaxCRIT end end #-------------------------------------------------------------------------- # * Get Hit Rate #-------------------------------------------------------------------------- def base_hit if two_swords_style n1 = weapons[0] == nil ? 95 : weapons[0].hit n2 = weapons[1] == nil ? 95 : weapons[1].hit n = [n1, n2].min else n = weapons[0] == nil ? 95 : weapons[0].hit end return n end #-------------------------------------------------------------------------- # * Get Evasion Rate #-------------------------------------------------------------------------- def base_eva n = 5 for item in armors.compact do n += item.eva end return n end #-------------------------------------------------------------------------- # * Get Critical Ratio #-------------------------------------------------------------------------- def base_cri n = 4 n += 4 if actor.critical_bonus for weapon in weapons.compact n += 4 if weapon.critical_bonus end return n end #-------------------------------------------------------------------------- # * bonus rates #-------------------------------------------------------------------------- def hitr return @hitr end def evar return @evar end def crir return @crir end def current_lvl_exp return @exp_list[@level] end def next_lvl_exp return @exp_list[@level+1]-@exp_list[@level] end end
Ora: Qual è il problema? Beh, volevo far sì che il personaggio aumentasse di livello grazie ai "soldi" tipici con i quali si acquistano anche gli equipaggiamenti, e quindi ho sostituito
points = actor.points con points = $game_party.gold
Ma purtroppo l'unica cosa che fa è visualizzare i soldi. Allora ho tolto la riga nella configurazione StartPoints = 8 e nella riga 1177 ho messo @points = $game_party.gold al posto di @points = StartPoints e poco sotto return $game_party.gold.
Il problema qui è che funziona ma i "soldi" sono infiniti, ovvero anche se ho 100 G lui continua ad aumentare di livello e non descresce l'ammontare di G. Per quanto ne so io di Ruby ho cercato di fare il possibile, qualche buon uomo (o buona donna) potrebbe aiutarmi?
^^
-
Cosa ve ne pare?
http://oi44.tinypic.com/14ief78.jpg
-
Partecipo anch'io, tanto era là in un angolo a marcire xD
http://i49.tinypic.com/9ru8hk.png
-
Mi sono accorto di essere un cretino XD Oggi ho formattato il pc perchè aveva dei problemi ecc, ho prontamente salvato rmvx e progetto annesso + cose varie, ma mi sono dimenticato l'XP! Ora non so più dove diavolo cercarlo, avevo la 1.02a, non è che qualcuno sa aiutarmi? ^ ^ se no mi tocca usare l'ace :dry:
-
A parte il limite di tile set imposto dal VX e il fatto che andando avanti la faccenda diventava insostenibile, è anche un fatto di manualità, avendo cominciato sull'XP ci sono alcune cose li che mi vengono meglio. L'ho ripreso in mano oggi dopo sei mesi che non toccavo l'XP ed è stato come se non l'avessi mai "lasciato" xD lo trovo più completo e allo stesso tempo più semplice per alcune cose del VX. Sull'XP ci ho fatto dei giochini idioti di qualche decina di minuti che (fortunatamente sono andati persi) creavo quando non avevo un acca da fare, roba demenziale, quindi mi ci sono abbastanza spaccato su :)
-
Ah bene fa piacere sapere che il progetto è vivo... ee sì, pure tu! XD
Gli ultimi anni ;____ ; tranquillo poi la strada sarà tutta in discesa... verso un precipizio con università o lavoro! XD
^ ^
[/quote
Ah bene ._. XD
Volevo informare tutti che (per la gioia immensa di Guardian, credo xD) ho constatato che 'sto progetto è irrealizzabile sul VX, quindi lo sposto su.. XP! Appena ho un po' di tempo comincerò a fare qualcosa per aggiornare le mappe, in modo da avere almeno qualcosa da scambiare con queste mappe che ci sono qui.. Ovviamente ci sarà qualche modifica anche al game play e alle features quindi ci penserò su e valuterò qui e la le "opportunità" che l'XP offre. Per me sarà una specie di ritorno agli albori visto che avevo cominciato la mia avventura nel making con quel tool :) prego qualcuno se possibile di spostare la discussione nella sezione XP. Nel caso in cui ciò non fosse possibile aprirò un topic apposito appena avrò la possibilità :)
-
Ciao a tutti ragazzi! Volevo solo farvi sapere che il progetto non è morto e nemmeno io! (Per fortuna) Sto avendo qualche problema di tempo a causa della scuola, sono all'ultimo anno, è un po' una brutta bestia e mi sto concentrando su quello. Per ora non ho più molto tempo per dedicarmi al gioco, ma vi faccio comunque sapere che il progetto c'è e seppur a rilento va avanti :)
-
Domanda: "come dark souls non darai alcun incipit al giocatore? Cioè, chi gioca non sarà guidato da una vera e propria trama verso un obbiettivo oppure sì?"
La domanda sorge spontanea dato che se penso a dark souls le caratteristiche che mi vengono in mente sono queste :D
Assolutamente no, per me è una colonna portante la trama, e di conseguenza ovviamente le location si attengono ad essa. Come riferimento Dark Souls intendo il tipo di esplorazione e il tipo di approccio possibile ad esso. Poniamo il caso, all'inizio del gioco...(Spoiler, aprite solo se non avete alcuna intenzione di giocare o avete già finito o mai lo avrete)
...Al Santuario del Legame del fuoco sarà abbastanza suicida andare verso cimitero e catacombe, perchè si verrà brutalmente linciati da scheletrini e scheletroni, in quanto non si hanno livellatura ed armi adatte al proseguimento. Andando invece in direzione del borgo dei non morti la situazione e i nemici saranno più semplici da tenere sotto controllo, senza dover necessariamente fare brutte fini o darsela a gambe levate per non rischiare le anime sudatamente ottenute.
Detto ciò, vedi che al giocatore non viene posto un limite all'esplorazione, ma è da suicidio frequentare determinati posti con livello inadatto, il che ti porta a seguire una ben definita via, anche se sta poi a te decidere dove andare a tuo rischio e pericolo. In parole povere, sul territorio di Alis, non ci sono limiti all'esplorazione, nel senso che non vi troverete davanti uno di quei giochi in cui avete solo una unica strada da seguire, ma un "mondo" autonomo che potrete esplorare illimitatamente* dove per avanzare nella storia dovrete andare per gradi, ma se non volete attenervi alla storia e semplicemente avere di fronte un titolo rpg in cui combattere per livellare e arrivare al massimo livello possibile potete farlo. In pratica è un titolo due-in-uno, o per lo meno, così l'ho al momento partorito xD
*in realtà nei limiti richiesti dal titolo, il tool e le ambientazioni.
-
Per il face puoi provare a creartelo scaricandoti il portrait generator di celianna. Per il face, vai qui -> http://www.famitsu.com/freegame/tool/chibi/index1.html e puoi creartelo da solo come preferisci. Se non trovi ciò che vuoi per il tuo chara al massimo posso fartelo io.
-
Puoi sfruttare lo script con annesso .exe swapxt, o usare il parallax mapping, anche se devi saper usare Photoshop o Gimp, avere molta fantasia e soprattutto saper coordinare parallassi e pictures nel gioco.

SHORT Game Contest #2
in Contest
Posted
Bonsoir! Si accettano anche giochi senza battaglie ma con un gameplay un po' più calmo ed "esplorativo"? ^^