-
Posts
32 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by GhostRider
-
-
Se mi fossi fermato a quello che leggevo su internet probabilmente mi sarei perso un sacco di titoli, non dico belli, ma che alla fine mi hanno anche divertito e intrattenuto... e in fondo cosa si può chiedere di più ad un videogioco?
detto questo, i fallout per quanto mi riguarda sono stati "salvati" dalle versioni pc, grazie ai fix amatoriali e alle mod che aggiungono contenuti nuovi (io ho ancora i miei fo3 e fonw moddati a bestia, con quest nuove, armi nuove, zone nuove, nemici nuovi... le moto funzionanti... mi piace farlo una volta finiti per aggiungere longevità al gioco, e trovo che fo si presti particolarmente). Aspetto con ansia il 4, ma lo prenderò per PC (anche se il peep boy.... XDDD)
-
All'epoca si accettava non perché veritiera ma perché di FF si accettava tutto, i pregi si elogiavano alle stelle e i difetti venivano solo accennati o a volte anche fatti passare come pregi. Se una cosa del genere venisse fatta oggi per la prima volta in un FF si griderebbe allo scandalo, che lo fanno solo per vendere, che non è in-character, che si è caduti in basso, che è una scena di merda, che il personaggio è stupido a fare queste cose, che rovina l'atmosfera etc.
nah, non è così, o almeno io non ho mai riscontrato un simile livello di quasi-fanatismo finalfantasyano... semplicemente in quel gioco, con quella grafica, vedere cloud vestito da donna fare un giro su se stesso e in un attimo tornare vestito con la sua normale uniforme e armato di buster sword, ti strappava una risata, un sorriso, o al massimo un "ahah ma dai, che caxxata!"... oggigiorno sulla ps4 sarebbe inaccettabile, persino per me che non me ne è mai fregato nulla della grafica dei videogiochi.
-
beh nomura c'era anche nell' originale (sebbene con un ruolo diverso) e comunque a quanto ho letto lavorerà a stretto contatto con Kitase, per cui insomma non sono persone del tutto estranee al gioco, in teoria dovrebbero sapere cosa stanno facendo.
Di certo un remake SOLO grafico non ha senso... che devi dimostrare? che un gioco uscito nel 2017 (data a caso) è superiore a uno uscito nel 1997? che la ps4 è superiore alla ps1? mah penso che chiunque sappia contare almeno fino a 4, possa anche solo arrivarci per deduzione XD
scherzi a parte, io penso che qualche cambiamento sia d'obbligo; primo perchè sicuramente ci sarà qualche accorgimento da fare per essere coerenti con Crisis Core, Advent Children e Dirge o Cerberus che fanno parte del canone (a prescindere da quanto ci possano piacere)... e poi, beh io adoro ff7 ma ci sono sequenze che vanno riviste del tutto... tipo l'intrusione del palazzo della shinra nel cd1, non è per niente credibile, questi entrano, gironzolano tranquillamente per i vari piani, icontrano gente che gli da la tessera dell'ascensore, il sindaco di migard che gli fa risolvere l'indovinello per dargli la sua tessera... insomma situazioni inverosimili anche per un videogioco fantasy. Poi vabè non inizio nemmeno ad elencare le cose che non vanno nella parte con Cloud che si veste da donna... si sarà divertente, e all'epoca la si poteva anche "accettare" per veritiera, ma oggi giorno non reggerebbe... e poi in generale che sopresa ci sarebbe? chiunque è appassionato di questo genere conoscerà ff7 a memoria (quando l'ho rigiocato sulla ps3 ho sconfitto un boss mentre dormivo - quello nel villaggio di juffie quando non hai le materia e devi solo attaccare, ok).
e il BS vabè... è calibrato sul livello di difficoltà di bambini down: bastava attaccare a manetta per vincere gli scontri normali e conservarsi gli mp per i boss; i bonus/malus delle materia non si percepivano neanche; le debolezze/resistenze elementali dei mostri a un certo punto non valevano più niente perchè qualsiasi attacco toglieva 9999 che era comunque il massimo... questo senza calcolare la 4xCut materia... e i due superboss del gioco bastava Knights of the Round + Quadra Magic e un mimo... insomma il BS va ricalibrato completamente per offrire quel minimo di strategia che è d'obbligo in questo genere di giochi.
Per il resto l'unica cosa che esiste sul gioco è un video di 2 minuti scarsi con scene che NON saranno incluse nel gioco (tra l'altro penso che le parole del narratore nel trailer si riferiscano proprio ai fanZ xDD), per cui... vabè chiaramente il purista illuminato che gia sa tutto, che ha gia deciso che non gli piacerà, e che hanno rovinato il suo gioco, non cambierà idea, e non è mio interesse fargliela cambiare, ci mancherebbe... io personalmente sono contento in entrambi i casi: se è identico a ff7 mi rigioco uno dei miei rpg preferiti, se è diverso mi gioco un gioco nuovo (che potrebbe non essere all'altezza del precedessore alla fine, ma cavolo ho speso 350€ per una console, se non compro giochi "per principio", che li ho spesi a fare tutti quei soldi), quindi non mi resta che aspettare XD
-
eh ne ho viste parecchie, e non tutte mi sono piaciute, qualcuna l'ho mollata, qualcuna l'ho seguita più per scrupolo, giusto per vedere come andava a finire...
vediamo un po' di riassumere, partendo tra quelle che seguo attualmente.
Attualmente conclusa la terza stagione di Arrow e la prima di Flash, ora Arrow per quanto mi piaccia, la terza stagione era così, così, e mi ha un po' deluso perchè veniva da una seconda stagione a dir poco esplosiva, però ha gettato le basi per un' ottima quarta stagione (ATOM finalmente è diventato chi deve essere, Black Canary finalmente è il personaggio giusto, e se come penso Diggle trova l'anello della lanterna verde, mi accappotterò); Flash invece, tolte le pippe adolscenziali che ogni tanto Barry si fa, niente da dire, è probabilmente la miglior serie sui supereroi mai fatta fin'ora.
The Walking Dead... beh, dovrei aprire un topic apposta, riassumerò dicendo che (senza voler fare il solito confronto fumetto vs telefilm, che ho sempre trovato stupido, non solo in twd ma in qualsiasi opera tratta da libri/fumetti/videogiochi/whatever) le prime due stagioni non erano male, perchè mantenevano comunque un certo "realismo" (in mancanza di un termine migliore), perchè tolti gli zombie che chiaramente sono gia surreali di per se, i personaggi e le situazioni rappresentate, ancora ancora, mantenevano un certo attaccamento alla realtà; dalla terza in po' cominciano ad uscire fuori personaggi palesemente fumettistici (Il superviallain governatore, la ragazza con la katana, etc...)... poi vabè alcune menate tipo le orde di zombie che un secondo prima non c'erano e quello dopo compaiono dal nulla... insomma posso capire che questo espediente funzioni per il singolo zombie emarginato, ma intere mandrie mi pare assurdo...
Altra serie sugli Zombie, Z-Nation... beh che dire, divertente, ma non va presa troppo sul serio.
Vikings avevo iniziato a seguirla ma, da amante della cultura norrena, l'ho trovata "offensiva" verso un grande popolo che a loro tempo, era culturalmente secoli avanti al resto dell'europa (poi vabè c'è anche un po' che mi ha annoiato, non era solo una mera questione di principio, ci mancherebbe..)
Game of Throne al momento non mi interessa, quindi per ora sospendo il giudizio, forse un giorno la guarderò tutta di fila...
Attualmente l'unica che seguo perchè ancora non l'ho vista tutta è Daredevil (che merita veramente) e vorrei iniziare a seguire Wayward Pines.
Poi vabè in generale, in ordine sparso, tra quelle che ho visto e mi sono piaciute (senza annoiarvi con i motivi): Babylon 5, Breaking Bad, Visitors (vabè qua andiamo proprio sul vintage xD), Sons of Anarchy, 24, The Shield, Il primissimo Dr.Who, Invisible Man, John Doe (finchè è durata almeno :( ), Jarod il Camaleonte, altre che ora non ricordo..
Quelle che un po' mi piacciono e un po' no: Lost, Gotham, Beastmaster, X-Files, Twin Peaks, The 100, the 4400 o quanti ne erano (no non sto dando i numeri xD), The Event, una di cui non ricordo il nome in cui il protagonista un giorno si svegliava in un mondo dove era morta la moglie e quello dopo in uno in cui era morto il figlio, Marvel's Agents of S.H.I.E.L.D., Mortal Kombat Conquest, Mortal Kombat Legacy (se si può chiamare serie a puntate), altre che ora non ricordo..
Quelle che non mi sono piaciute e che ho visto con lo stomaco in mano giuto per capire se (e come) finivano: True Blood, i vari CSI, N.C.I.S. etc...
Quelle famose che ancora non ho visto che al momento non ho in programma di vedere: Grays Anatomy (o come si scrive), HIMYM, Big Bang Theory, come ho detto GoT, Scandal, Revenge, i nuovi Dr.Who, Supergirl.
-
grazie per aver sistemato il primo post, scusate per il casino, è che credevo di aver incollato soltanto lo script dark paladin ma mi sono portato mezzo forum dal quale l'ho copiato XDDDDDDDDDDDD
ne approfitto per chiedere un altra cosa riguardante proprio quest'ultimo script: se volessi inserire una scritta (o per la precisione due numeri seprati da una slash - A/B che sono valori di due variabili) in un punto preciso del menù, come dovrei fare? cioè so che esiste un comando draw_text ma suppongo vada usato in un certo modo, non a kaiser asd
-
Io non capisco nulla in generale, eppure guarda come sono in forma.
Lo script mantiene (ma sono disattivabili) un paio di fronzoli, come il rallentare la camminata. Di default aggiunge un paio di finestrelle, quindi richiede un paio di martellate per combinarlo col DKP Menu.
ma tu sei un troll, ti puoi rigenerare XD
scherzi a parte, l'ho fatto vedere alla mia amica che ha approvato subito (gia sta facendo le dovute modifiche asd); per il fatto del combinare oggetti? puoi darmi qualche dritta?
-
Stabilizzare gli script base, prima di richiedere fine tuning. Uno script che non tocca il menu, permette di lavorare direttamente a una modifica del DKP Menu. NB: i termini me li invento.
Per esempio, TheoAllen Limited Inventory:
# ============================================================================= # TheoAllen - Limited Inventory # Version : 1.4 # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com # (English Documentation) # ============================================================================= ($imported ||= {})[:Theo_LimInventory] = true # ============================================================================= # Change logs: # ----------------------------------------------------------------------------- # 2015.02.02 - Added slowdown penalty when the inventory is full # - Added disable dash when the inventory is full # - Added force gain item to supports those newly added features # 2014.09.22 - Bugfix. Negative number appear when use item and inventory # reached its limit. # - Compatibility patch with YEA Menu Cursor # - Compatibility patch with MOG Menu Cursor as well # 2014.02.25 - Add limited inventory eval formula to provide flexibility # - Change notetag constant to provide flexibility # 2014.02.16 - Base Inventory slot of an actor can be changed using script call # 2014.02.11 - Bugfix. Unequip item causes lose the item if inventory is full # 2013.10.07 - Bugfix. Item doesn't removed when discarded # - Bugfix. Inventory amount not refreshed when item is discarded # 2013.10.04 - Compatibility fix with chest system # 2013.08.30 - Now unable to discard key item # 2013.08.22 - Bugfix. Item size notetag isn't working # 2013.08.19 - Bugfix when gained item # - Bugfix when disable display item size in shop menu # 2013.08.18 - Finished script # ============================================================================= =begin --------------------------------------------------------------------------- Introduction : This script allow you to limit your inventory by overall possesed items instead of individual items --------------------------------------------------------------------------- How to Use : Put this script below material but above main If you're using YEA - Shop Option, put it below that script Edit configurations and the notetags as described below --------------------------------------------------------------------------- Notetags : write down these notetags to the notebox in your database <inv size: n> Use this notetag where the n is a numeric value which is determine the size of item. Use 0 for unlimited item. Only works for item and equipment such as weapon or armor. <inv plus: n> Use this notetag to determine the additional avalaible free inventory slot. This notetag avalaible for Actor, Class, Equip, and States. If it's for actor, avalaible inventory slot will increase when a new actor entered party. If it's for equip, the avalaible slot will be increase if the certain equip is equipped. And so do states. This value can be changed by script call during the game. Just check the script call instruction. <inv minus: n> Inverse of <inv plus>. It will decrease the avalaible inventory slot. Pretty clear I think. <inv formula> script </inv formula> This notetag is used to determine inventory limit based on your own formula For example, inventory limit for an actor is based on its agility or even its level. It can be used inside actor or class notebox. Inventory formula is automatically accumulated with base inventory. I mean, if you're going to add <inv plus: 100> and your formula. Then, the result is ==> 100 + your formula Example : <inv formula> level * 100 </inv formula> By using this formula it means that each actor has leveled up, its base inventory will be increase by 100. If you're using multiple lines, it will be considered as a one line. You can also using these parameters to determine your own formula. - mhp - mmp - atk - def - mat - mdf - agi - luk - $game_variables[id] Note : - A false formula may produce an error. So, make sure you write the correct formula. Alternatively, you can ask ppl out there to help you out. - For scripter, the formula eval is evaled inside Game_Actor --------------------------------------------------------------------------- Script call : If you want to force gain an item even the inventory is full, you can do it by script call. Just write this following line force_gain_item($data_items[id],amount) id is an item id in your database To change base inventory for an actor, use these script call $game_actors[id].base_inv = value << Set $game_actors[id].base_inv += value << Add $game_actors[id].base_inv -= value << Substract If you set dynamic slot as false, you can change inventory limit by using this script call. $game_party.base_inv = value --------------------------------------------------------------------------- Terms of use : Credit me, TheoAllen. You are free to edit this script by your own. As long as you don't claim it yours. For commercial purpose, don't forget to give me a free copy of the game. =end # ============================================================================= # Configurations : # ============================================================================= module Theo module LimInv # -------------------------------------------------------------------------- # General Settings (just put true / false) # -------------------------------------------------------------------------- DynamicSlot = true # Total avalaible inventory slot depends on actor, states, total party # members, etc ... Display_ItemSize = true # Diplay item size in item menu Include_Equip = false # Total used inventory slot will also include actor equipment. DrawTotal_Size = true # If true, item size window will show total weight of specified item. For # example, you have 10 potions. And each potion has 3 size/weight. The window # will show 30 instead of 3 ForceGain = true # Keep force to gain item when the item is full. Please set some penalties # when the inventory is full below to serve the purpose of this script # This overwrite the method gain item from default script. There is a chance # of incompatibility between different script which also use the same method Full_DisableDash = true # Disable dash when the inventory is full. Should be used when ForceGain # is set to true. If use together with YEA System Option, please put this # script below the YEA system option, unless you get rid completely the # autodash config in Yanfly's script Full_SlowDown = true # Slowdown the player movement by 1 when the inventory is full Should be # used when ForceGain is set to true # -------------------------------------------------------------------------- # Numeric Settings # -------------------------------------------------------------------------- Default_FreeSlot = 20 # Default values which is provided each actor. Of course, you may change # it by notetag. If DynamicSlot is set to false, it will be used as the total # avalaible slot NearMaxed_Percent = 25 # Remain avalaible slot percentage to determine if the inventory is almost # maxed out or not. NearMaxed_Color = 21 # If inventory is almost maxed out, the inventory window will be drawn in # different color. The color code is same as \C[n] in message UseCommand_Size = 200 # The width of use item command window # -------------------------------------------------------------------------- # Vocab Settings (Self-explanatory I think) # -------------------------------------------------------------------------- InvSlotVocab = "Inventory: " # Inventory Vocab InvSizeVocab = "Item Size: " # Item size / weight SlotVocabShort = "Inv:" # Abbreviation for Inventory UseVocab = "Use item" # Use item DiscardVocab = "Discard item" # Discard Item CancelVocab = "Cancel" # Cancel end end # ============================================================================ # Do not touch anything pass this line. # ============================================================================ =begin ----------------------------------------------------------------------------- Compatibility info : ----------------------------------------------------------------------------- This script overwrite these methods : Game_Actor >> trade_item_with_party Game_Party >> max_item_number Game_Party >> item_max? Game_Party >> lose_item ----------------------------------------------------------------------------- This script aliased these methods : DataManager >> load_database Game_Actor >> setup Game_Party >> initialize Scene_Menu >> start Scene_Item >> start Scene_Item >> use_item Scene_Shop >> on_buy_ok Scene_Shop >> on_sell_ok =end # ============================================================================= # Altered built in modules and classes # ============================================================================= # ============================================================================= # ▼ DataManager # ============================================================================= class << DataManager alias theo_limited_item_load_db load_database def load_database theo_limited_item_load_db load_limited_slot end def load_limited_slot database = $data_actors + $data_classes + $data_weapons + $data_armors + $data_states + $data_items database.compact.each do |db| db.load_limited_inv end end end # ============================================================================= # ▼ RPG::BaseItem # ============================================================================= class RPG::BaseItem attr_accessor :inv_size # Item inventory size attr_accessor :inv_mod # Inventory slot modifier attr_accessor :inv_eval # Inventory eval modifier InvSizeREGX = /<inv[\s_]+size\s*:\s*(\d+)>/i InvPlusREGX = /<inv[\s_]+plus\s*:\s*(\d+)>/i InvMinusREGX = /<inv[\s_]+minus\s*:\s*(\d+)/i InvFormSTART = /<inv[\s_]+formula>/i InvFormEND = /<\/inv[\s_]+formula>/i def load_limited_inv load_eval = false @inv_size = 1 @inv_eval = '0' @inv_mod = self.is_a?(RPG::Actor) ? Theo::LimInv::Default_FreeSlot : 0 self.note.split(/[\r\n]+/).each do |line| case line when InvSizeREGX @inv_size = $1.to_i when InvPlusREGX @inv_mod = $1.to_i when InvMinusREGX @inv_mod = -$1.to_i when InvFormSTART load_eval = true @inv_eval = '' when InvFormEND load_eval = false else @inv_eval += line if load_eval end end end end # ============================================================================= # Data structures and workflows goes here # ============================================================================= # ============================================================================= # ▼ Game_Actor # ============================================================================= class Game_Actor < Game_Battler attr_accessor :base_inv alias theo_liminv_setup setup def setup(actor_id) theo_liminv_setup(actor_id) @base_inv = $data_actors[id].inv_mod end def equip_size return 0 unless Theo::LimInv::Include_Equip equips.compact.inject(0) {|total,equip| total + equip.inv_size} end def inv_max result = base_inv result += $data_classes[class_id].inv_mod result += states.inject(0) {|total,db| total + db.inv_mod} result += equips.compact.inject(0) {|total,db| total + db.inv_mod} result += eval(actor.inv_eval) result += eval(self.class.inv_eval) result end # -------------------------------------------------------------------------- # Overwrite : Trade item with party # -------------------------------------------------------------------------- def trade_item_with_party(new_item, old_item) return false if new_item && !$game_party.has_item?(new_item) $game_party.force_gain_item(old_item, 1) $game_party.force_gain_item(new_item, -1) return true end end # ============================================================================= # ▼ Game_Party # ============================================================================= class Game_Party < Game_Unit attr_accessor :base_inv alias theo_liminv_init initialize def initialize @base_inv = (Theo::LimInv::DynamicSlot ? 0 : Theo::LimInv::Default_FreeSlot) theo_liminv_init end def inv_max return @base_inv unless Theo::LimInv::DynamicSlot return members.inject(0) {|total,member| total + member.inv_max} + @base_inv end def inv_maxed? inv_max <= total_inv_size end def total_inv_size result = all_items.inject(0) {|total,item| total + (item_number(item) * item.inv_size)} result += members.inject(0) {|total,member| total + member.equip_size} result end alias theo_liminv_max_item max_item_number def max_item_number(item) $BTEST ? theo_liminv_max_item(item) : inv_max_item(item) + item_number(item) end def inv_max_item(item) return 9999999 if item.nil? || item.inv_size == 0 free_slot / item.inv_size end def free_slot inv_max - total_inv_size end alias theo_liminv_item_max? item_max? def item_max?(item) $BTEST ? theo_liminv_item_max?(item) : inv_maxed? end def near_maxed? free_slot.to_f / inv_max <= Theo::LimInv::NearMaxed_Percent/100.0 end def item_size(item) return 0 unless item item.inv_size * item_number(item) end def force_gain_item(item, amount, include_equip = false) container = item_container(item.class) return unless container last_number = item_number(item) new_number = last_number + amount container[item.id] = [new_number, 0].max container.delete(item.id) if container[item.id] == 0 if include_equip && new_number < 0 discard_members_equip(item, -new_number) end $game_map.need_refresh = true end def lose_item(item, amount, include_equip = false) force_gain_item(item, -amount, include_equip) end alias theo_liminv_gain_item gain_item def gain_item(item, amount, include_equip = false) if Theo::LimInv::ForceGain force_gain_item(item, amount, include_equip) else theo_liminv_gain_item(item, amount, include_equip) end end end # ============================================================================= # ▼ Game_Player # ============================================================================= class Game_Player alias theo_liminv_dash? dash? def dash? return false if Theo::LimInv::Full_DisableDash && $game_party.inv_maxed? return theo_liminv_dash? end alias theo_liminv_real_move_speed real_move_speed def real_move_speed theo_liminv_real_move_speed - move_penalty end def move_penalty Theo::LimInv::Full_SlowDown && $game_party.inv_maxed? ? 1 : 0 end end # ============================================================================= # ▼ Game_Interpreter # ============================================================================= class Game_Interpreter def force_gain_item(item, amount) $game_party.force_gain_item(item, amount) end end # ============================================================================= # Window related class goes here # ============================================================================= # ============================================================================= # ▼ Window_Base # ============================================================================= class Window_Base < Window def draw_inv_slot(x,y,width = contents.width,align = 2) txt = sprintf("%d/%d",$game_party.total_inv_size, $game_party.inv_max) color = Theo::LimInv::NearMaxed_Color if $game_party.near_maxed? change_color(text_color(color)) else change_color(normal_color) end draw_text(x,y,width,line_height,txt,align) change_color(normal_color) end def draw_inv_info(x,y,width = contents.width) change_color(system_color) draw_text(x,y,width,line_height,Theo::LimInv::InvSlotVocab) change_color(normal_color) draw_inv_slot(x,y,width) end def draw_item_size(item,x,y,total = true,width = contents.width) rect = Rect.new(x,y,width,line_height) change_color(system_color) draw_text(rect,Theo::LimInv::InvSizeVocab) change_color(normal_color) number = (Theo::LimInv::DrawTotal_Size && total) ? $game_party.item_size(item) : item.nil? ? 0 : item.inv_size draw_text(rect,number,2) end end # ============================================================================= # ▼ New Class : Window_MenuLimInv # ============================================================================= class Window_MenuLimInv < Window_Base def initialize(width) super(0,0,width,fitting_height(1)) refresh end def refresh contents.clear change_color(system_color) txt = Theo::LimInv::SlotVocabShort draw_text(0,0,contents.width,line_height,txt) draw_inv_slot(0,0) end end # ============================================================================= # ▼ New Class : Window_ItemSize # ============================================================================= class Window_ItemSize < Window_Base def initialize(x,y,width) super(x,y,width,fitting_height(1)) end def set_item(item) @item = item refresh end def refresh contents.clear draw_item_size(@item,0,0) end end # ============================================================================= # ▼ New Class : Window_FreeSlot # ============================================================================= class Window_FreeSlot < Window_Base def initialize(x,y,width) super(x,y,width,fitting_height(1)) refresh end def refresh contents.clear draw_inv_info(0,0) end end # ============================================================================= # ▼ New Class : Window_ItemUseCommand # ============================================================================= class Window_ItemUseCommand < Window_Command include Theo::LimInv def initialize super(0,0) self.openness = 0 end def set_item(item) @item = item refresh end def window_width UseCommand_Size end def make_command_list add_command(UseVocab, :use, $game_party.usable?(@item)) add_command(DiscardVocab, :discard, discardable?(@item)) add_command(CancelVocab, :cancel) end def to_center self.x = Graphics.width/2 - width/2 self.y = Graphics.height/2 - height/2 end def discardable?(item) return false if item.nil? !(item.is_a?(RPG::Item) && item.itype_id == 2) end end # ============================================================================= # ▼ New Class : Window_DiscardAmount # ============================================================================= class Window_DiscardAmount < Window_Base attr_accessor :cmn_window attr_accessor :itemlist attr_accessor :freeslot def initialize(x,y,width) super(x,y,width,fitting_height(1)) self.openness = 0 @amount = 0 end def set_item(item) @item = item @amount = 0 refresh end def refresh contents.clear return unless @item draw_item_name(@item,0,0,true,contents.width) txt = sprintf("%d/%d",@amount, $game_party.item_number(@item)) draw_text(0,0,contents.width,line_height,txt,2) end def draw_item_name(item, x, y, enabled = true, width = 172) return unless item draw_icon(item.icon_index, x, y, enabled) change_color(normal_color, enabled) draw_text(x + 24, y, width, line_height, item.name + ":") end def update super return unless open? change_amount(1) if Input.repeat?(:RIGHT) change_amount(-1) if Input.repeat?(:LEFT) change_amount(10) if Input.repeat?(:UP) change_amount(-10) if Input.repeat?(:DOWN) lose_item if Input.trigger?(:C) close_window if Input.trigger?(:B) end def change_amount(num) @amount = [[@amount+num,0].max,$game_party.item_number(@item)].min Sound.play_cursor refresh end def lose_item $game_party.lose_item(@item,@amount) @itemlist.redraw_current_item @freeslot.refresh if $game_party.item_number(@item) == 0 Sound.play_ok @itemlist.activate.refresh @cmn_window.close.deactivate close else close_window end end def close_window close @cmn_window.activate Sound.play_ok end end # ============================================================================= # ▼ Window_ItemList # ============================================================================= class Window_ItemList < Window_Selectable attr_reader :item_size_window def item_size_window=(window) @item_size_window = window update_help end alias theo_liminv_update_help update_help def update_help theo_liminv_update_help @item_size_window.set_item(item) if @item_size_window end alias theo_liminv_height= height= def height=(height) self.theo_liminv_height = height refresh end def enable?(item) return !item.nil? end end # ============================================================================= # ▼ Window_ShopNumber # ============================================================================= class Window_ShopNumber < Window_Selectable attr_accessor :mode alias theo_liminv_init initialize def initialize(x, y, height) theo_liminv_init(x, y, height) @mode = :buy end alias theo_liminv_refresh refresh def refresh theo_liminv_refresh draw_itemsize end def draw_itemsize item_size = @number * @item.inv_size total_size = $game_party.total_inv_size + (@mode == :buy ? item_size : -item_size) txt = sprintf("%d/%d",total_size,$game_party.inv_max) ypos = item_y + line_height * ($imported["YEA-ShopOptions"] ? 5 : 4) rect = Rect.new(4,ypos,contents.width-8,line_height) change_color(system_color) draw_text(rect,Theo::LimInv::InvSlotVocab) change_color(normal_color) draw_text(rect,txt,2) end end # ============================================================================= # ▼ Window_ShopStatus # ============================================================================= class Window_ShopStatus < Window_Base if Theo::LimInv::Display_ItemSize alias theo_liminv_draw_posses draw_possession def draw_possession(x, y) theo_liminv_draw_posses(x,y) y += line_height draw_item_size(@item,x,y,false, contents.width-(x*2)) end if $imported["YEA-ShopOptions"] def draw_actor_equip_info(dx, dy, actor) dy += line_height enabled = actor.equippable?(@item) change_color(normal_color, enabled) draw_text(dx, dy, contents.width, line_height, actor.name) item1 = current_equipped_item(actor, @item.etype_id) draw_actor_param_change(dx, dy, actor, item1) if enabled end end # $imported["YEA-ShopOption"] end # Display item size end # ============================================================================= # Scene classes goes here # ============================================================================= # ============================================================================= # ▼ Scene_Menu # ============================================================================= class Scene_Menu < Scene_MenuBase alias theo_liminv_start start def start theo_liminv_start create_liminv_window end def create_liminv_window @lim_inv = Window_MenuLimInv.new(@gold_window.width) @lim_inv.x = @command_window.x @lim_inv.y = @command_window.height end end # ============================================================================= # ▼ Scene_Item # ============================================================================= class Scene_Item < Scene_ItemBase alias theo_liminv_start start def start theo_liminv_start resize_item_window create_freeslot_window create_itemsize_window create_usecommand_window create_discard_amount end def resize_item_window @item_window.height -= @item_window.line_height * 2 end def create_freeslot_window wy = @item_window.y + @item_window.height wh = Theo::LimInv::Display_ItemSize ? Graphics.width/2 : Graphics.width @freeslot = Window_FreeSlot.new(0,wy,wh) @freeslot.viewport = @viewport end def create_itemsize_window return unless Theo::LimInv::Display_ItemSize wx = @freeslot.width wy = @freeslot.y ww = wx @itemsize = Window_ItemSize.new(wx,wy,ww) @itemsize.viewport = @viewport @item_window.item_size_window = @itemsize end def create_usecommand_window @use_command = Window_ItemUseCommand.new @use_command.to_center @use_command.set_handler(:use, method(:use_command_ok)) @use_command.set_handler(:discard, method(:on_discard_ok)) @use_command.set_handler(:cancel, method(:on_usecmd_cancel)) @use_command.viewport = @viewport end def create_discard_amount wx = @use_command.x wy = @use_command.y + @use_command.height ww = @use_command.width @discard_window = Window_DiscardAmount.new(wx,wy,ww) @discard_window.cmn_window = @use_command @discard_window.itemlist = @item_window @discard_window.freeslot = @freeslot @discard_window.viewport = @viewport end alias theo_liminv_item_ok on_item_ok def on_item_ok @use_command.set_item(item) @use_command.open @use_command.activate @use_command.select(0) end alias theo_liminv_use_item use_item def use_item @use_command.close theo_liminv_use_item @freeslot.refresh end def use_command_ok theo_liminv_item_ok @use_command.close end def on_discard_ok @discard_window.set_item(item) @discard_window.open end def on_usecmd_cancel @item_window.activate @use_command.close @use_command.deactivate end end # ============================================================================= # ▼ Scene_Shop # ============================================================================= class Scene_Shop < Scene_MenuBase alias theo_liminv_buy_ok on_buy_ok def on_buy_ok @number_window.mode = :buy theo_liminv_buy_ok end alias theo_liminv_sell_ok on_sell_ok def on_sell_ok @number_window.mode = :sell theo_liminv_sell_ok end end # ============================================================================= # ▼ Compatibility patch thingy # ============================================================================= if $imported["YEA-MenuCursor"] class Sprite_MenuCursor def opacity_rate rate = 16 return -rate if !@window.active || @window.close? return rate end end end if $imported[:mog_menu_cursor] module CURSOR_MENU_SPRITE def can_update_cursor_position? return false if !self.active return false if self.index < 0 return false if !self.visible return false if self.close? return true end end endti ringrazio buddy, lo propongo subito alla mia collega (è lei che comanda XD), per il resto non ci capisco nulla ahimè, non uso questi tool (prima o poi ci far qualcosa di mio, ma per ora faccio da asisstente asd), per questo ho postato quegli script così com'erano, con quelle due modifiche che ho cercato di fare basandomi su quel poco (quasi niente) che so di programmazione in generale XDDD
-
beh inizialmente serviva proprio un item weight perchè il gioco doveva essere un survival-rpg-zombie-apocalypse-insommacisiamocapiti asd
ma il progetto è in fase di transizione e ora come ora, in effetti, è solo un modo per limitare l'inventario.
-
-
scusate, nel terzo spoiler ho fatto un casino ho ricopiato un altro post pari pari XDDD non riesco ad editare :((
edit: asd nel primo post, bisognerebbe cancellare tutto quello che c'è nel terzo spoiler e aggiungerci questo:
[script inserito nel primo post. Per amor del forum e dei browser, lo levo da qui o c'è un 2x di script infinitamente lungo da caricare T_T
Ragazzi, non fate classi così ingestibili, fate laggare i browser!!]
By Flame
-
Salve ragazzi, faccio questa richiesta non per me (che se avrò aperto vxa 10 volte in vita mia è dire tanto XD), ma per una mia amica (beh anche per me ok, visto che si tratta di una sorta di collaborazione, ma vabè sto divagando asdasdasd...);
Dovremmo inserire, in una sorta di gioco simil survival-horror (come i vecchi RE, SH, Alone in the Dark 4, etc...) un sistema di "combina oggetti" per unire due oggetti in uno (esempio banale: metà sinistra di un emblema + metà destra di un emblema = emblema intero); la mia collega ha trovato uno script su internet che funziona proprio come vuole lei, ma il problema è che apre un interfaccia nuova, che non ha molto senso considerando che di base usa il "single character menu" di un certo Dark Paladin.
http://s15.postimg.org/u98pbkdln/Capture.png
(con un bel po' di editing visivi per lo più) che ha solo le due liste di items e key items (gli unici che ci interessano), e vorremmo che l'opzione "combina" operi direttamente all'interno della lista "Items" senza aprire nuovi menù; abbiamo in oltre un sistema (sempre via script) di "item weight" che, oltre ovviamente a stabilire un limite di carico, ogni volta che si clicca su un oggetto ci viene data la scelta USA e SCARTA, ora siccome Scarta non serve, ho modificato io stesso (per quel poco che ne capisco) in modo da eliminare il comando scarta e aggiungere al suo posto il comando Combina. allo stato attuale delle cose, cliccando su combina viene semplicemente richiamata la Scene_Combine (così si chiama lo script, è una "scene" pensata per sostituire la Scene_Items normale), ma ovviamente l'effetto visivo lascia abbastanza a desiderare.
Ecco gli script "interessati":
Scene_Combine (questo NON l'ho toccato, è così di default):
=begin =============================================================================== Scene_Combine by efeberk Version: RGSS3 =============================================================================== This script will allow to combine two items and generate a new item from combined items. The scene is similiar with item_window. Actually you can use Scene_Combine instead of Scene_Item because there is an option named "Use" that allows you to use items. Why you need Item scene? Example : You have 1 potion and 1 stimulant. Combine them and generate a new Ultra stimulant. -------------------------------------------------------------------------------- How to open Scene_Combine: SceneManager.call(Scene_Combine) Note : This script works on Items, Weapons and Armors =end module EFE COMBINE_BUTTON = "Combine" USE_BUTTON = "Use" SUCCESS = "Items have been combined succesfully" #Item name will be colored when you select an item in the list. SELECTED_COLOR = 14 COMBINATIONS = [ #[[item1, :type], [item2, :type], [result, :type]], #[[item1, :type], [item2, :type], [result, :type]], [[1, :item],[2, :weapon], [3, :armor]], [[8, :item],[9, :item], [3, :armor]] ] end #============================================================================== # ** Window_ItemKategory #------------------------------------------------------------------------------ # This window is for selecting a category of normal items and equipment # on the item screen or shop screen. #============================================================================== class Window_ItemKategory < Window_HorzCommand #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :item_window #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0) end #-------------------------------------------------------------------------- # * Get Window Width #-------------------------------------------------------------------------- def window_width Graphics.width end #-------------------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- def col_max return 4 end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super @item_window.category = current_symbol if @item_window end #-------------------------------------------------------------------------- # * Create Command List #-------------------------------------------------------------------------- def make_command_list add_command(Vocab::item, :item) add_command(Vocab::weapon, :weapon) add_command(Vocab::armor, :armor) add_command(Vocab::key_item, :key_item) end #-------------------------------------------------------------------------- # * Set Item Window #-------------------------------------------------------------------------- def item_window=(item_window) @item_window = item_window update end end class Window_ItemListe < Window_Selectable attr_reader :accepted_items attr_reader :combining def initialize(x, y, width, height) super @combining = false @accepted_items = [] @category = :none @data = [] end def combining=(combine) @combining = combine end def category=(category) return if @category == category @category = category refresh self.oy = 0 end def col_max return 2 end def item_max @data ? @data.size : 1 end def item @data && index >= 0 ? @data[index] : nil end def current_item_enabled? enable?(@data[index]) end def include?(item) case @category when :item item.is_a?(RPG::Item) && !item.key_item? when :weapon item.is_a?(RPG::Weapon) when :armor item.is_a?(RPG::Armor) when :key_item item.is_a?(RPG::Item) && item.key_item? else false end end def draw_item_name(item, x, y, enabled = true, width = 172) return unless item draw_icon(item.icon_index, x, y, enabled) draw_text(x + 24, y, width, line_height, item.name) end def enable?(item) return true if @combining $game_party.usable?(item) end def make_item_list @data = $game_party.all_items.select {|item| include?(item) } @data.push(nil) if include?(nil) end def select_last select(@data.index($game_party.last_item.object) || 0) end def draw_item(index) item = @data[index] if item rect = item_rect(index) rect.width -= 4 k = [item.id, :item] if item.is_a?(RPG::Item) k = [item.id, :weapon] if item.is_a?(RPG::Weapon) k = [item.id, :armor] if item.is_a?(RPG::Armor) change_color(normal_color, enable?(item)) change_color(text_color(EFE::SELECTED_COLOR), enable?(item)) if @accepted_items.include?(k) draw_item_name(item, rect.x, rect.y, enable?(item)) draw_item_number(rect, item) end end def draw_item_number(rect, item) draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2) end def update_help @help_window.set_item(item) end def refresh make_item_list create_contents draw_all_items end end class Window_AcceptCombination < Window_HorzCommand def initialize(x, y) super(x, y) self.z = 0 end def window_width return Graphics.width end def col_max return 2 end def make_command_list add_command(EFE::COMBINE_BUTTON, :combine) add_command(EFE::USE_BUTTON, :use) end end class Scene_Combine < Scene_ItemBase def start super create_help_window create_options_window create_category_window create_item_window end def create_options_window @options_window = Window_AcceptCombination.new(0, @help_window.y + @help_window.height) @options_window.set_handler(:combine, method(:combine_ok)) @options_window.set_handler(:use, method(:use_ok)) @options_window.set_handler(:cancel, method(:return_scene)) end def combine_ok @item_window.combining = true @combine = true @category_window.item_window = @item_window @options_window.deactivate.unselect @category_window.activate.select(0) end def use_ok @item_window.combining = false @category_window.item_window = @item_window @options_window.deactivate.unselect @category_window.activate.select(0) end def create_category_window @category_window = Window_ItemKategory.new @category_window.viewport = @viewport @category_window.help_window = @help_window @category_window.y = @help_window.height + @options_window.height @category_window.set_handler(:ok, method(:on_category_ok)) @category_window.set_handler(:cancel, method(:on_category_cancel)) end def create_item_window wy = @category_window.y + @category_window.height wh = Graphics.height - wy @item_window = Window_ItemListe.new(0, wy, Graphics.width, wh) @item_window.viewport = @viewport @item_window.help_window = @help_window @item_window.set_handler(:ok, method(:on_item_ok)) @item_window.set_handler(:cancel, method(:on_item_cancel)) @category_window.deactivate.unselect end def on_category_ok @item_window.activate @item_window.select_last end def on_category_cancel @item_window.deactivate.unselect @item_window.accepted_items.clear @category_window.deactivate.unselect @options_window.activate.select(0) end def on_item_ok k = [@item_window.item.id, :item] if @item_window.item.is_a?(RPG::Item) k = [@item_window.item.id, :weapon] if @item_window.item.is_a?(RPG::Weapon) k = [@item_window.item.id, :armor] if @item_window.item.is_a?(RPG::Armor) if !@item_window.combining @options_window.deactivate $game_party.last_item.object = item determine_item else if @item_window.accepted_items.include?(k) @item_window.accepted_items.delete(k) else @item_window.accepted_items.push(k) end if @item_window.accepted_items.size == 2 check_combinations(@item_window.accepted_items[0], @item_window.accepted_items[1]) @item_window.refresh else @item_window.refresh @item_window.activate end end end def check_combinations(id1, id2) EFE::COMBINATIONS.each {|i| if (id1 == i[0] || id1 == i[1]) && (id2 == i[0] || id2 == i[1]) @combineitem1 = $data_items[i[0][0]] if i[0][1] == :item @combineitem1 = $data_weapons[i[0][0]] if i[0][1] == :weapon @combineitem1 = $data_armors[i[0][0]] if i[0][1] == :armor @combineitem2 = $data_items[i[1][0]] if i[1][1] == :item @combineitem2 = $data_weapons[i[1][0]] if i[1][1] == :weapon @combineitem2 = $data_armors[i[1][0]] if i[1][1] == :armor @resultitem = $data_items[i[2][0]] if i[2][1] == :item @resultitem = $data_weapons[i[2][0]] if i[2][1] == :weapon @resultitem = $data_armors[i[2][0]] if i[2][1] == :armor @item_window.accepted_items.clear @item_window.refresh @item_window.activate $game_party.lose_item(@combineitem1, 1) $game_party.lose_item(@combineitem2, 1) $game_party.gain_item(@resultitem, 1) messagebox(EFE::SUCCESS, 400) return end } @item_window.accepted_items.clear @item_window.refresh @item_window.activate end def on_item_cancel @item_window.unselect @category_window.activate end def play_se_for_item Sound.play_use_item end def use_item super @item_window.redraw_current_item end end =begin =============================================================================== MessageBox by efeberk Version: RGSS3 =============================================================================== This script will allow to open a new messagebox window only with a text. -------------------------------------------------------------------------------- Call MessageBox in Script: messagebox(text, width) width : width of the window =end class Window_MessageBox < Window_Base def initialize(x, y, text, width) super(x, y, width, fitting_height(1)) refresh(text) end def refresh(text) draw_text(0, 0, contents_width, line_height, text, 1) end end class Scene_MessageBox < Scene_Base def start super create_message_window create_background end def prepare(text, width) @text = text @width = width end def update super if Input.repeat?(:B) || Input.repeat?(:C) SceneManager.return end end def create_message_window @message_window = Window_MessageBox.new(0, 0, @text, @width) @message_window.width = @width @message_window.x = (Graphics.width / 2) - (@message_window.width / 2) @message_window.y = (Graphics.height / 2) - (@message_window.height / 2) end def create_background @background_sprite = Sprite.new @background_sprite.bitmap = SceneManager.background_bitmap @background_sprite.color.set(100, 100, 100, 128) end end def messagebox(text, width) SceneManager.call(Scene_MessageBox) SceneManager.scene.prepare(text, width) endlo script per il peso con le mie piccole modifiche (un fallito tentativo di integrare il primo nel secondo, ma l'unica cosa che realmente sono riuscito a fare è stata togliere "scarta" e inserire "combina" asd:
#======================================================= # Lune Item Weight # Author : Raizen # Script Function: # The scripts adds the function of items having weight on the game, # Basically all item have weights and they can only be carried if below the limit #======================================================= module Lune_Weight #=============================================================================# #========================= General Settings ==============================# #=============================================================================# # To configure a weight for an item, go to Database, # Inside the notetags after choosing an item or equipe, put the following. # <weight n> where n is the weight value, # Example an item weighting 60, # <weight 60> # In case there are no notetags on the Item, the script will # choose a default value which is: Default = 0 # Receive even if over weight? # To prevent from the actor receiving important itens through the game, # you can allow the player to receive itens even if they are over the # weight limit. Receive = false # If false, you need to know how to event the important itens, putting # conditions so that importat itens are not left out without being received. # In case they are over the weight limit, you can lock the character movement. Travar = false # Below the variables that you can use to make the event conditions: # Choose a variable to receive the value of amount of weight carried. Var_C = 8 # Choose a variable to receive the value of amount of the weight limit. Var_M = 9 # With both variables you can event the conditions of receiving items or even # event conditions considering the weight carried and limit. LimiteB = "" # Configure if you are using Lune Item Vault (My vault script) # to have no limite, LimiteB = "" #=============================================================================# #===================== Limit Weight Configuration ========================# #=============================================================================# # Maximum amount of weight carried, # to configure the weight limit, you can put a variable value, a constant value # or strength value. # To put the main actor strength value => :for1 # To put the sum of actors strength value => :all_for # To be the main actor level => :lvl1 # To be the sum of all actors level => :all_lvl # To be a variable => :var # To be a constant => :fix # Exemple Carry_Limit = lvl1 will make only the strength of the # first actor to be put in the formula. Carry_Limit = :var # Now you need to configure the formula of the weight limit, # Exemple, if I want to the limit be 2 times all the party members strength # def self.weight_formula(at) # at * 2 # end # at is the value of the atribute, and the multiply by 2 to get the total limit. # In case its a variable or a constant number, just put the # variable number, or the constant number. # Exemple: # def self.weight_formula(at) # 20 # end # The limit will be variable 20, ou if chosen a constant, will be 20. def self.weight_formula(at) 9 end module EFE #edit by ghost #~ COMBINE_BUTTON = "Combina" #edit by ghost - removed, no need for this #~ USE_BUTTON = " " #edit by ghost - removed, no need for this SUCCESS = "Hai ottenuto un nuovo Oggetto." #edit by ghost #Item name will be colored when you select an item in the list. SELECTED_COLOR = 14 COMBINATIONS = [ #[[item1, :type], [item2, :type], [result, :type]], #[[item_id, :item], [item_id, :item], [item_id, :item]], [[12, :item],[13, :item], [14, :item]], ] end #===================== Vocabulary Settings ==========================# # To Vocab, always put the text between commas '', or "". # Weight name, PS = ' lbs' # Vocab on menu and shop # Weight: Peso = '• PESO:' #Carrying = Carregando = '• TOT:' # If Lune Vault System included # Vault = Bau = '-unused ' #edit by ghost - removed, no need for this # Vocabulary on item window # Use = Usar = 'Usa' # Combine = Combinar = 'Combina' #edit by ghost # Dispose = Descartar = 'Scarta' #remove #=============================================================================# #========================== Here starts the script ===========================# #=============================================================================# #-------------------------------------------------------------------------- # * Calculo do limite de peso #-------------------------------------------------------------------------- def self.weight_limit return unless $game_party.members[0] case Carry_Limit when :for1 weight = weight_formula($game_party.members[0].param(2)) when :all_for weight = 0 for members in 0...$game_party.members.size - 1 weight += weight_formula($game_party.members[members].param(2)) end when :lvl1 weight = weight_formula($game_party.members[0].level) when :all_lvl weight = 0 for members in 0...$game_party.members.size - 1 weight += weight_formula($game_party.members[members].level) end when :fix weight = weight_formula(0) when :var weight = $game_variables[weight_formula(0)] end $game_variables[Var_M] = weight weight end end #============================================================================== # ** Game_Party #------------------------------------------------------------------------------ # Esta classe gerencia o grupo. Contém informações sobre dinheiro, itens. # A instância desta classe é referenciada por $game_party. #============================================================================== class Game_Party < Game_Unit alias :lune_weight_gain :gain_item #-------------------------------------------------------------------------- # * Quantidade de itens carregados mais os itens equipados #-------------------------------------------------------------------------- def carried_items @all_carried_items = 0 all_items.each {|item| get_weight(item)} for i in 0...4 members.each {|actor| @all_carried_items += calc_weight(actor.equips[i], 1)} end $game_variables[Lune_Weight::Var_C] = @all_carried_items @all_carried_items end #-------------------------------------------------------------------------- # * Calculo do peso de um item no inventário #-------------------------------------------------------------------------- def get_weight(item) if item.note =~ /<weight (.*)>/i @all_carried_items += $1.to_i * item_number(item) else @all_carried_items += Lune_Weight::Default * item_number(item) end end #-------------------------------------------------------------------------- # * Calculo do peso de um item relativo a quantidade #-------------------------------------------------------------------------- def calc_weight(item, amount) return 0 unless item if item.note =~ /<weight (.*)>/i carried_itens = $1.to_i * amount else carried_itens = Lune_Weight::Default * amount end carried_itens end #-------------------------------------------------------------------------- # * Acrescentar item (redução) # item : item # amount : quantia alterada # include_equip : incluir itens equipados #-------------------------------------------------------------------------- def gain_item(item, amount, include_equip = false) if Lune_Weight::Receive lune_weight_gain(item, amount, include_equip = false) return end return if item == nil weight = calc_weight(item, amount) + carried_items while weight > Lune_Weight.weight_limit amount -= 1 weight = calc_weight(item, amount) + carried_items return if amount == 0 end lune_weight_gain(item, amount, include_equip = false) end end #============================================================================== # ** Scene_Shop #------------------------------------------------------------------------------ # Esta classe executa o processamento da tela de loja. #============================================================================== class Scene_Shop < Scene_MenuBase alias :lune_max_buy :max_buy #-------------------------------------------------------------------------- # * Aquisição do número máximo disponível para compra #-------------------------------------------------------------------------- def max_buy max = lune_max_buy weight = $game_party.calc_weight(@item, max) + $game_party.carried_items while weight > Lune_Weight.weight_limit && max > 0 max -= 1 weight = $game_party.calc_weight(@item, max) + $game_party.carried_items end max end #-------------------------------------------------------------------------- # * Criação da janela de ajuda. #-------------------------------------------------------------------------- def create_help_window @help_window = Window_Weight_Help.new @help_window.viewport = @viewport @get_item_num = $game_party.carried_items end #-------------------------------------------------------------------------- # * Atualização da janela de peso #-------------------------------------------------------------------------- def update super if @get_item_num != $game_party.carried_items @help_window.refresh @get_item_num = $game_party.carried_items end end end #============================================================================== # ** Window_ShopBuy #------------------------------------------------------------------------------ # Esta janela exibe bens compráveis na tela de loja. #============================================================================== class Window_ShopBuy < Window_Selectable alias :lune_enable_item :enable? #-------------------------------------------------------------------------- # * Definição de habilitação do item # item : item #-------------------------------------------------------------------------- def enable?(item) return false if $game_party.calc_weight(item, 1) + $game_party.carried_items > Lune_Weight.weight_limit lune_enable_item(item) end end #============================================================================== # ** Window_Help #------------------------------------------------------------------------------ # Esta janela exibe explicação de habilidades e itens e outras informações. #============================================================================== class Window_Weight_Help < Window_Base include Lune_Weight #-------------------------------------------------------------------------- # * Inicialização do objeto # line_number : número de linhas #-------------------------------------------------------------------------- def initialize(line_number = 2, bau = false) @bau = bau super(0, 0, Graphics.width, fitting_height(line_number)) self.windowskin = Cache.system("Window-2") end #-------------------------------------------------------------------------- # * Configuração de texto # text : texto #-------------------------------------------------------------------------- def set_text(text) if text != @text @text = text refresh end end def on_bau(bau = false) @bau = bau end #-------------------------------------------------------------------------- # * Limpeza #-------------------------------------------------------------------------- def clear set_text(" ") end #-------------------------------------------------------------------------- # * Definição de item # item : habilidades, itens, etc. #-------------------------------------------------------------------------- def set_item(item) @item = item set_text(item ? item.description : "") end #-------------------------------------------------------------------------- # * Renovação #-------------------------------------------------------------------------- def refresh contents.clear draw_text_ex(4, 0, @text) if @item text = Peso + $game_party.calc_weight(@item,1).to_s + PS draw_text(515, 0, 200, line_height, text, 0) #~ if @bau == true #~ LimiteB == "" ? text_lim = "????" : text_lim = LimiteB #~ text = Bau + $game_party.items_on_vault.to_s + "/" + text_lim.to_s + PS #~ else text = Carregando + $game_party.carried_items.to_s + "/" + Lune_Weight.weight_limit.to_s + PS end draw_text(- 25, line_height, Graphics.width, line_height, text, 2) end end #~ end #============================================================================== # ** Game_Player #------------------------------------------------------------------------------ # Esta classe gerencia o jogador. # A instância desta classe é referenciada por $game_player. #============================================================================== class Game_Player < Game_Character alias :lune_move_by :move_by_input #-------------------------------------------------------------------------- # * Processamento de movimento através de pressionar tecla #-------------------------------------------------------------------------- def move_by_input return if Lune_Weight::Travar && $game_party.carried_items > Lune_Weight.weight_limit lune_move_by end end #============================================================================== # ** Scene_Item #------------------------------------------------------------------------------ # Esta classe executa o processamento da tela de item. #============================================================================== class Scene_Item < Scene_ItemBase alias raizen_combine_start start def start raizen_combine_start @combine_item = Window_Item_Combine.new @combine_item.viewport = @viewport @combine_item.set_handler(:use, method(:command_use)) #~ @combine_item.set_handler(:discard, method(:command_discard)) #no need @combine_item.set_handler(:combine, method(:command_combine)) #edit by ghost end def on_item_ok if item == nil @item_window.activate return end if @combine_item.close? @combine_item.open @combine_item.activate else determine_item end end def update super if @number_window and @number_window.nitens == true @number_window.nitens = false @combine_item.close @item_window.refresh @help_window.refresh @item_window.activate end if Input.trigger?(:B) and !@combine_item.close? Sound.play_cancel if @number_window and !@number_window.close? @number_window.close @combine_item.activate else @combine_item.close @item_window.activate end end end def command_use determine_item end #~ def command_discard #~ if @number_window and !@number_window.close? #~ @combine_item.activate #~ return #~ end #~ @number_window = Window_NumberInputInner.new(Window_Base.new(0,0,0,0), item, @item_window.index) #~ @number_window.viewport = @viewport #~ @number_window.start #~ end def create_help_window @help_window = Window_Weight_Help.new @help_window.viewport = @viewport end end def command_combine #edit by ghost SceneManager.call(Scene_Combine)# integrare la combinazione di oggetti # edit by ghost end #edit by ghost #============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # Esta janela exibe os parâmetros dos membros do grupo na tela de menu. #============================================================================== class Window_Item_Combine < Window_Command include Lune_Weight #-------------------------------------------------------------------------- # * Inicialização do objeto #-------------------------------------------------------------------------- def initialize super(0, 0) self.z = 9999 self.x = (Graphics.width / 2) - (window_width / 2) self.y = Graphics.height / 2 self.openness = 0 end #-------------------------------------------------------------------------- # * Aquisição da largura da janela #-------------------------------------------------------------------------- def window_width return 160 end #-------------------------------------------------------------------------- # * Criação da lista de comandos #-------------------------------------------------------------------------- def make_command_list add_main_commands end #-------------------------------------------------------------------------- # * Adição dos comandos principais #-------------------------------------------------------------------------- def add_main_commands add_command(Usar, :use, true) add_command(Combinar, :combine, true) #edit by ghost #~ add_command(Descartar, :discard, true) end end #============================================================================== # ** Scene_ItemBase #------------------------------------------------------------------------------ # Esta é a superclasse das classes que executam as telas de itens e # habilidades. #============================================================================== class Scene_ItemBase < Scene_MenuBase def determine_item @combine_item.close if item.is_a?(RPG::Item) and item.for_friend? show_sub_window(@actor_window) @actor_window.select_for_item(item) else item.is_a?(RPG::Item) ? use_item : Sound.play_buzzer activate_item_window end end end #============================================================================== # ** Window_NumberInputInner #------------------------------------------------------------------------------ # Esta janela é utilizada para o comando de eventos [Armazenar Número] #============================================================================== class Window_NumberInputInner < Window_NumberInput attr_accessor :nitens def initialize(message_window, item, index_2) @index_2 = index_2 @item = item @get_lost_itens = 0 super(message_window) end #-------------------------------------------------------------------------- # * Inicialização do processo #-------------------------------------------------------------------------- def start @digits_max = 2 @number = @get_lost_itens @number = [[@number, 0].max, 10 ** @digits_max - 1].min @index = 0 update_placement create_contents refresh open activate end #-------------------------------------------------------------------------- # * Atualização da posição da janela #-------------------------------------------------------------------------- def update_placement self.width = @digits_max * 20 + padding * 2 self.height = fitting_height(1) self.x = (Graphics.width - width) / 2 self.y = Graphics.height/2 - height self.z = 150 end #-------------------------------------------------------------------------- # * Definição de resultado ao pressionar o botão de confirmação #-------------------------------------------------------------------------- def process_ok Sound.play_ok number = $game_party.item_number(@item) if @number <= number make_icon end deactivate @nitens = true close end def make_icon @nitens = true $game_party.lose_item(@item, @number) end end #============================================================================== # ** Window_ItemList #------------------------------------------------------------------------------ # Esta janela exibe a lista de itens possuidos na tela de itens. #============================================================================== class Window_ItemList < Window_Selectable #-------------------------------------------------------------------------- # * Definição de habilitação do item # item : item #-------------------------------------------------------------------------- def enable?(item) true end end $lune_weight_script = truee se serve, il menu single di Dark Paladin:
############################################################################### # Dark Paladin Single Character Menu v1.2 # Platform: VX Ace # Author: Dark Paladin # Description: A menu system for a single Character. # Terms of use: You MAY use this script for your Non-commercial Projects. # You MAY use this script for Commercial projects without my permission. # Credit is appreciated but not needed. # This script requires: N/A Cachext Included ############################################################################### #============================================================================== # CONFIG AREA #============================================================================== module DKP_Menu_Config Enable_Background = true # true/false Use Background? Menu_Background = "Menu" # Set the name of the background pic # Place Image in "Graphics/DPmenu/Main/" Or change it in the cachext module. Status_Opacity = 0 # Status Window Opacity Help_Opacity = 0 # Item Help Window Opacity Item_Opacity = 0 # Item Window Opacity Command_Opacity = 0 # Command Window Opacity CategoryW_Opacity = 0 # Category Window Opacity end module Cachext #-------------------------------------------------------------------------- # DKP Cachext # Do not edit unless you really know what your doing! # Platform: VX Ace # Author: Dark paladin # Description: Module for menu background. # ------------------------------------------------------------------------- #-------------------------------------------------------------------------- # *Graphics #-------------------------------------------------------------------------- #You can edit the stuff in purple between the "" to change folder location. #-------------------------------------------------------------------------- # *Menu Graphics Folder #-------------------------------------------------------------------------- def self.dpmenu(filename)# You can change the Folder names here for background image. load_bitmap("Graphics/DPmenu/Main/", filename) end #============================================================================== # END CONFIG AREA #============================================================================== #-------------------------------------------------------------------------- # * Load Bitmap #-------------------------------------------------------------------------- def self.load_bitmap(folder_name, filename, hue = 0) @cachext ||= {} if filename.empty? empty_bitmap elsif hue == 0 normal_bitmap(folder_name + filename) else hue_changed_bitmap(folder_name + filename, hue) end end #-------------------------------------------------------------------------- # * Create Empty Bitmap #-------------------------------------------------------------------------- def self.empty_bitmap Bitmap.new(32, 32) end #-------------------------------------------------------------------------- # * Create/Get Normal Bitmap #-------------------------------------------------------------------------- def self.normal_bitmap(path) @cachext = Bitmap.new(path) unless include?(path) @cachext end #-------------------------------------------------------------------------- # * Create/Get Hue-Changed Bitmap #-------------------------------------------------------------------------- def self.hue_changed_bitmap(path, hue) key = unless include?(key) @cachext = normal_bitmap(path).clone @cachext.hue_change(hue) end @cachext end #-------------------------------------------------------------------------- # * Check Cache Existence #-------------------------------------------------------------------------- def self.include?(key) @cachext && !@cachext.disposed? end #-------------------------------------------------------------------------- # * Clear Cache #-------------------------------------------------------------------------- def self.clear @cachext ||= {} @cachext.clear GC.start end end #============================================================================== # ** Window_ItemCategory #------------------------------------------------------------------------------ # This window is for selecting a category of normal items and equipment # on the item screen or shop screen. #============================================================================== class Window_ItemCategory < Window_HorzCommand include DKP_Menu_Config #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :item_window #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0) end #-------------------------------------------------------------------------- # * Get Window Width #-------------------------------------------------------------------------- def window_width 244 end #-------------------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- def col_max return 2 end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super @item_window.category = current_symbol if @item_window end #-------------------------------------------------------------------------- # * Create Command List #-------------------------------------------------------------------------- def make_command_list add_command(Vocab::item, :item) add_command(Vocab::key_item, :key_item) end #-------------------------------------------------------------------------- # * Set Item Window #-------------------------------------------------------------------------- def item_window=(item_window) @item_window = item_window update end end #============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # This window displays party member status on the menu screen. #============================================================================== class Window_MenuStatus < Window_Selectable include DKP_Menu_Config #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :pending_index # Pending position (for formation) #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x, y) super(0, 0, 640, 480) @pending_index = -1 self.opacity = Status_Opacity refresh end #-------------------------------------------------------------------------- # * Get Window Width #-------------------------------------------------------------------------- def window_width return 300 end #-------------------------------------------------------------------------- # * Get Window Height #-------------------------------------------------------------------------- def window_height return 370 end #-------------------------------------------------------------------------- # * Get Number of Items #-------------------------------------------------------------------------- def item_max return 1 end #-------------------------------------------------------------------------- # * Get Item Height #-------------------------------------------------------------------------- def item_height (height - standard_padding * 2) / 4 end #-------------------------------------------------------------------------- # Simple Status #-------------------------------------------------------------------------- def draw_actor_hp(actor, x, y, width = 200) draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2) change_color(system_color) draw_text(x, y, 0, line_height, Vocab::hp_a) #~ draw_current_and_max_values(x, y, width, actor.hp, actor.mhp, #~ hp_color(actor), normal_color) end def draw_actor_name(actor, x, y, width = 140) change_color(hp_color(actor)) draw_text(x, y, width / 2, line_height, actor.name) end def draw_actor_simple_status(actor, x, y) draw_actor_name(actor, 461, 65) #188, 25 draw_actor_icons(actor, 0, y + line_height * 8) draw_actor_hp(actor, 7, 60) end #-------------------------------------------------------------------------- # * Draw Item #-------------------------------------------------------------------------- def draw_item(index) actor = $game_party.members enabled = $game_party.battle_members.include?(actor) rect = item_rect(index) draw_item_background(index) draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled) draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2) end #-------------------------------------------------------------------------- # * Draw Background for Item #-------------------------------------------------------------------------- def draw_item_background(index) if index == @pending_index contents.fill_rect(item_rect(index), pending_color) end end #-------------------------------------------------------------------------- # * Processing When OK Button Is Pressed #-------------------------------------------------------------------------- def process_ok super $game_party.menu_actor = $game_party.members end #-------------------------------------------------------------------------- # * Restore Previous Selection Position #-------------------------------------------------------------------------- def select_last select($game_party.menu_actor.index || 0) end #-------------------------------------------------------------------------- # * Set Pending Position (for Formation) #-------------------------------------------------------------------------- def pending_index=(index) last_pending_index = @pending_index @pending_index = index redraw_item(@pending_index) redraw_item(last_pending_index) end end #============================================================================== # ** Window_Help #------------------------------------------------------------------------------ # This window shows skill and item explanations along with actor status. #============================================================================== class DKPWindow_Help < Window_Base include DKP_Menu_Config #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(line_number = 4) super(0, 0, 244, fitting_height(line_number)) self.opacity = Help_Opacity end #-------------------------------------------------------------------------- # * Set Text #-------------------------------------------------------------------------- def set_text(text) if text != @text @text = text refresh end end #-------------------------------------------------------------------------- # * Clear #-------------------------------------------------------------------------- def clear set_text("") end #-------------------------------------------------------------------------- # * Set Item # item : Skills and items etc. #-------------------------------------------------------------------------- def set_item(item) set_text(item ? item.description : "") end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh contents.clear draw_text_ex(0, 0, word_wrapping(@text)) end #-------------------------------------------------------------------------- # * Word Wrap #-------------------------------------------------------------------------- def word_wrapping(text, pos = 0) current_text_position = 0 for i in 0..(text.length - 1) if text == "\n" current_text_position = 0 next end current_text_position += contents.text_size(text).width if (pos + current_text_position) >= (contents.width) current_element = i while(text != " ") break if current_element == 0 current_element -= 1 end temp_text = "" for j in 0..(text.length - 1) temp_text += text temp_text += "\n" if j == current_element end text = temp_text i = current_element current_text_position = 0 end end return text end end #============================================================================== # ** Window_Gold #------------------------------------------------------------------------------ # This window displays the party's gold. #============================================================================== class Window_Gold < Window_Base include DKP_Menu_Config #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, 0, window_width, fitting_height(1)) self.opacity = 0 self.z = 1000 refresh end #-------------------------------------------------------------------------- # * Get Window Width #-------------------------------------------------------------------------- def window_width return 160 end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh contents.clear draw_currency_value(value, currency_unit, 4, 0, contents.width - 8) end #-------------------------------------------------------------------------- # * Get Party Gold #-------------------------------------------------------------------------- def value $game_party.gold end #~ #-------------------------------------------------------------------------- #~ # Get Currency Unit #~ #-------------------------------------------------------------------------- def currency_unit Vocab::currency_unit end #~ #-------------------------------------------------------------------------- #~ # * Open Window #~ #-------------------------------------------------------------------------- def open refresh super end end class Window_ItemList < Window_Selectable include DKP_Menu_Config #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x, y, width, height) super @category = :none @data = self.opacity = Item_Opacity end #-------------------------------------------------------------------------- # * Set Category #-------------------------------------------------------------------------- def category=(category) return if @category == category @category = category refresh self.oy = 0 end #-------------------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- def col_max return 1 end #-------------------------------------------------------------------------- # * Get Number of Items #-------------------------------------------------------------------------- def item_max @data ? @data.size : 1 end #-------------------------------------------------------------------------- # * Get Item #-------------------------------------------------------------------------- def item @data && index >= 0 ? @data : nil end #-------------------------------------------------------------------------- # * Get Activation State of Selection Item #-------------------------------------------------------------------------- def current_item_enabled? enable?(@data) end #-------------------------------------------------------------------------- # * Include in Item List? #-------------------------------------------------------------------------- def include?(item) case @category when :item item.is_a?(RPG::Item) && !item.key_item? when :key_item item.is_a?(RPG::Item) && item.key_item? else false end end #-------------------------------------------------------------------------- # * Display in Enabled State? #-------------------------------------------------------------------------- def enable?(item) $game_party.usable?(item) end #-------------------------------------------------------------------------- # * Create Item List #-------------------------------------------------------------------------- def make_item_list @data = $game_party.all_items.select {|item| include?(item) } @data.push(nil) if include?(nil) end #-------------------------------------------------------------------------- # * Restore Previous Selection Position #-------------------------------------------------------------------------- def select_last select(@data.index($game_party.last_item.object) || 0) end #-------------------------------------------------------------------------- # * Draw Item #-------------------------------------------------------------------------- def draw_item(index) item = @data if item rect = item_rect(index) rect.width -= 4 draw_item_name(item, rect.x, rect.y, enable?(item)) draw_item_number(rect, item) end end #-------------------------------------------------------------------------- # * Draw Number of Items #-------------------------------------------------------------------------- def draw_item_number(rect, item) draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2) end #-------------------------------------------------------------------------- # * Update Help Text #-------------------------------------------------------------------------- def update_help @help_window.set_item(item) end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh make_item_list create_contents draw_all_items end end #============================================================================== # ** Window_MenuCommand #------------------------------------------------------------------------------ # This command window appears on the menu screen. #============================================================================== class Window_MenuCommand < Window_Command include DKP_Menu_Config #-------------------------------------------------------------------------- # * Initialize Command Selection Position (Class Method) #-------------------------------------------------------------------------- def self.init_command_position @@last_command_symbol = nil end #-------------------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- def col_max return 3 end #-------------------------------------------------------------------------- # * Get Spacing for Items Arranged Side by Side #-------------------------------------------------------------------------- def spacing return 100 end #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super(0, Graphics.height- 47) activate select_last end #-------------------------------------------------------------------------- # * Get Window Width #-------------------------------------------------------------------------- def window_width return 640 #544 end #-------------------------------------------------------------------------- # * Get Number of Lines to Show #-------------------------------------------------------------------------- def visible_line_number return 1 end #-------------------------------------------------------------------------- # * Create Command List #-------------------------------------------------------------------------- def make_command_list add_main_commands add_save_command add_game_end_command end #-------------------------------------------------------------------------- # * Add Main Commands to List #-------------------------------------------------------------------------- def add_main_commands add_command(Vocab::item, :item, main_commands_enabled) end #-------------------------------------------------------------------------- # * Add Save to Command List #-------------------------------------------------------------------------- def add_save_command add_command(Vocab::save, :save, save_enabled) end #-------------------------------------------------------------------------- # * Add Exit Game to Command List #-------------------------------------------------------------------------- def add_game_end_command add_command(Vocab::game_end, :game_end) end #-------------------------------------------------------------------------- # * Get Activation State of Main Commands #-------------------------------------------------------------------------- def main_commands_enabled $game_party.exists end #-------------------------------------------------------------------------- # * Get Activation State of Save #-------------------------------------------------------------------------- def save_enabled !$game_system.save_disabled end #-------------------------------------------------------------------------- # * Processing When OK Button Is Pressed #-------------------------------------------------------------------------- def process_ok @@last_command_symbol = current_symbol super end #-------------------------------------------------------------------------- # * Restore Previous Selection Position #-------------------------------------------------------------------------- def select_last select_symbol(@@last_command_symbol) end end class Game_Interpreter def command_351 return if $game_party.in_battle SceneManager.call(Scene_Item) Window_MenuCommand::init_command_position Fiber.yield end end class Scene_Map < Scene_Base def call_menu SceneManager.call(Scene_Item) Window_MenuCommand::init_command_position end end #============================================================================== # ** Scene_Item #------------------------------------------------------------------------------ # This class performs the item screen processing. #============================================================================== class Scene_Item < Scene_ItemBase include DKP_Menu_Config #-------------------------------------------------------------------------- # * Start Processing #-------------------------------------------------------------------------- def start super create_help_window create_status_window if Enable_Background != false then create_Image_Background end #~ create_gold_window create_command_window create_category_window create_item_window #@category_window.deactivate end #-------------------------------------------------------------------------- # * Create Category Window #-------------------------------------------------------------------------- def create_category_window @category_window = Window_ItemCategory.new @category_window.viewport = @viewport @category_window.help_window = @help_window @category_window.y = 120 @category_window.opacity = CategoryW_Opacity @category_window.set_handler(:ok, method(:on_category_ok)) @category_window.set_handler(:cancel, method(:return_item)) end #-------------------------------------------------------------------------- # * Create Item Window #-------------------------------------------------------------------------- def create_item_window @item_window = Window_ItemList.new(0, 170, 244, 270) @item_window.viewport = @viewport @item_window.help_window = @help_window @item_window.set_handler(:ok, method(:on_item_ok)) @item_window.set_handler(:cancel, method(:on_item_cancel)) @category_window.item_window = @item_window end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- def create_command_window @command_window = Window_MenuCommand.new @command_window.opacity = Command_Opacity @command_window.set_handler(:item, method(:command_item)) @command_window.set_handler(:save, method(:command_save)) @command_window.set_handler(:game_end, method(:command_game_end)) @command_window.set_handler(:cancel, method(:return_scene)) end #-------------------------------------------------------------------------- # * Deactivate category #-------------------------------------------------------------------------- def return_item @category_window.deactivate @command_window.activate @command_window.select_last end #-------------------------------------------------------------------------- # * Command #-------------------------------------------------------------------------- def command_save SceneManager.call(Scene_Save) end #-------------------------------------------------------------------------- # * Command #-------------------------------------------------------------------------- def command_game_end SceneManager.call(Scene_End) end #-------------------------------------------------------------------------- # * Command #-------------------------------------------------------------------------- def command_item @category_window.activate @command_window.deactivate end #-------------------------------------------------------------------------- # * Create Gold Window #-------------------------------------------------------------------------- #~ def create_gold_window #~ @gold_window = Window_Gold.new #~ @gold_window.x = Graphics.width - @gold_window.width #~ @gold_window.y = Graphics.height - 100 #~ end #-------------------------------------------------------------------------- # * Create Background Image #-------------------------------------------------------------------------- def create_Image_Background bitmap = Cachext.dpmenu(Menu_Background) @background_sprite.bitmap = bitmap end #-------------------------------------------------------------------------- # * Create Status Window #-------------------------------------------------------------------------- def create_status_window @status_window = Window_MenuStatus.new(244, 0) end #-------------------------------------------------------------------------- # * Create Help Window #-------------------------------------------------------------------------- def create_help_window @help_window = DKPWindow_Help.new @help_window.viewport = @viewport end #-------------------------------------------------------------------------- # * Category #-------------------------------------------------------------------------- def on_category_ok @item_window.activate @item_window.select_last end #-------------------------------------------------------------------------- # * Item #-------------------------------------------------------------------------- def on_item_ok $game_party.last_item.object = item determine_item end def determine_item if item.for_friend? show_sub_window(@actor_window) @actor_window.select_for_item(item) else use_item activate_item_window end end def cursor_left? @item_window.index % 1 == 0 end def show_sub_window(window) width_remain = Graphics.width - window.width window.x = cursor_left? ? width_remain : 0 @viewport.rect.x = @viewport.ox = cursor_left? ? 0 : window.width @viewport.rect.width = width_remain window.show.activate end #-------------------------------------------------------------------------- # * Item #-------------------------------------------------------------------------- def on_item_cancel @item_window.unselect @category_window.activate end #-------------------------------------------------------------------------- # * Play SE When Using Item #-------------------------------------------------------------------------- def play_se_for_item Sound.play_use_item end #-------------------------------------------------------------------------- # * Use Item #-------------------------------------------------------------------------- def use_item super @item_window.redraw_current_item end endricapitolando, mi servirebbe che la funziona per combinare gli oggetti "lavori" nello stesso menu in cui selezioniamo gli oggetti, piuttosto che aprirne uno nuovo;
il secondo edit, invece, più banale, se possibile mi servirebbe che anche avendo più copie di un oggetto (esempio 2 scatole di munizoni) il peso venga calcolato sempre come se si trattasse di uno solo.
e quest'è... penso che per uno scripter esperto sia roba di 30 secondi, per me è arabo, gia sono sorpreso di quel poco che ho fatto XDDDD
quindi nulla, ringrazio in anticipo chiunque vorrà darmi una mano, anche a nome della mia collega :)
-
O:
Download, senza rancore. [Link]
Ma non ci siamo proprio... il pollo è quello delle RTP, potevi usarne uno un po' più originale... e poi perchè se il pollo è rivolto verso lo schermo spara le uova verso l'alto? e poi per essere a tema con la pasqua, O' Caprett s'aveva scannà (gli altri, plz, ignorino quest'ultima frase)
XD
-
Dato che sono tipo uno dei 2 o 3 che ha commentato, mi sento chiamato in causa da
Eh, niente, tanto esce sempre fuori il discorso dei rosiconi fanboy. E' un classico.
Beh, non è che mi hai dato modo di pensare il contrario, pure tu, eh... >__>
non era mia intenzione arrivare a dire quello, io sono un grande fan dei lavori di Seraph (dovrei rosicare anche io allor), figurati, ma...
Se A.B.E.L. avesse vinto non sarebbe accaduto nulla? Dubito. Io, personalmente, lo shampoo ve l'avrei fatto uguale. I motivi? Gli stessi di cui ho discusso qualche post fa. Mi sa che non hai proprio ben chiara la critica che vi è stata fatta...
Il discorso non è stato fatto in base ai risultati della classifica, ma in base ai metri di giudizio "cangianti". XD
...ma siccome la cosa dei metri di giudizio cangianti era gia stata chiarita prima che arrivassi, l'errore era uscito fuori e l'vevamo riconosciuto, io per primo, per cui con il tuo insistere sul fatto del parametro aggiunto, l'unica cosa che sono riuscito a pensare è che volessi difendere Seraph, da qualcosa di cui in fondo non deve difendersi, perchè ha fatto un lavoro egregio (anzi, privatamente ho detto a marius che il suo giudizio sul punto "programmazione/gameplay" l'avrei condiviso se il gioco fosse stato fatto con gamemaker o un qualsiasi altro tool, ma proprio perchè era fatto con 2k3 forse meritava un po' di più... io stesso forse avrei potuto tranquillamente alzare a 9, se ho dato 7,5 a PD, però... alla fine sono cose che se vengono fuori dopo, non è che ci si può fare molto, non posso certo cancellare i risultati e rifarli, ormai li abbiamo postati, amen, la prossima volta andrà meglio - conta che zoro era alla sua prima esperienza come giudice di un contest, almeno così mi pare di aver letto... ) Per il resto davvero, più che ribadire che ci dispiace, che altro possiamo fare? capisco l'incazzatura ma ricordatevi sempre che solo che chi non fa niente non rischia di sbagliare, per cui abbiate pietade.
-
Il consiglio che mi sento di dare ai giudici alla luce di quanto è avvenuto (e non mi riferisco alle polemiche ma ai giudizi sui giochi) è quello di non imporre il limite di utilizzare unicamente gli eventi, dire che verrà valutata la programmazione, trarre in inganno l'utenza ad impegnarsi anche su quel fronte che verrà giudicato come voto a sè stante e poi rimuoverlo dopo la consegna.
Da quel che ho visto, Abel, aldilà del tema e della grafica, ha spinto al massimo che poteva sulla programmazione, con i difetti nel gameplay tra limiti e poco tempo che indubbiamente lo avrebbero poi penalizzato su altri valori.
Ora, sono piuttosto contrario all'idea che la programmazione può essere mescolata al gameplay. Il gameplay è la capacità di coinvolgere il giocatore e la rigiocabilità. Sono un insieme di fattori che non hanno niente a che vedere con l'effettiva programmazione, in quanto io potrei (con un esempio parallelo) darti un legno curvo colto dall'albero ed un filo e farti giocare a fare il pescatore per un intero pomeriggio, senza aver speso un euro in una canna da pesca professionale.
Divertire il giocatore non è per nulla legato alla programmazione. Essa è la disciplina di creare qualcosa che funziona, e su rpgmaker è l'abilità di creare qualcosa di diverso dalle funzioni base del programma.
Converrete con me che se poi si RIMUOVE la programmazione, praticamente si rimuovono dal contest tutti i giochi che han inutilmente speso eccessivo tempo su di essa cercando di osare, contando che quel tempo speso non sarebbe stato rimosso dai valori generali.
Se il "come" non era importante, allora non vedo il senso di imporre il limite del non usare gli script, tagliando fuori dal contest qualsiasi scripter che non intendeva usare il 2003, dato che i successivi tools hanno forti limitazioni con i puri eventi rispetto al 2003. Paradossalmente, lo so, ma è una triste realtà. xD
Il fatto che abel possieda una bella grafica e che Seraph sappia fare dei bei mix, è puramente un caso direi, perchè fosse stato qualcun altro, quel gioco finiva dritto in fondo alla lista dati i problemi di gameplay. Spariva il valore su cui lui si basava.
Queste sono mie supposizioni e non so con che idea si è messo a fare le cose Seraph, penso che abbia semplicemente cercato di dare il possibile su tutto, ma tenete in considerazione che non si devono mai cambiare i parametri in corso d'opera, perchè è su quei parametri che i giochi son stati forgiati.
E' ovvio che tutti guardano abel come esempio, perchè spicca, ma in realtà i minigiochi son stati variegati e l'impegno c'è in tutti, quindi ci tengo moltissimo a chiarire che l'utenza ed i podisti non devono cominciare a fare paragoni tra loro o temere accuse ed altri asti.
Fino ad ora son stati usati esempi e soggetti ma ho visto anche che nessuno ha criticato il fatto che han vinto alcuni invece di altri. E' solo stato piuttosto shockante il cambio marcia in fase di giudizio che, chiaramente, ha fatto saltare tutta la baracca.
Complimenti a tutti i partecipanti e sono felice di non aver visto giochi banali come "rompi le uova in cima al forum", perchè sono quel genere di giochi che escono sempre a pasqua ed invece siete stati più originali.
Mi dispiace che il contest sia finito in caciara, ma spero ci saranno altre collaborazioni in futuro, che tanto si può solo che migliorare nella vita e magari la prossima volta veniamo noi come Rpg2s ad esporci alla vostra utenza, altrimenti è impari la cosa, perchè qui davvero c'è stata un'esecuzione di massa. XD
Inizialmente doveva essere così, come ho gia detto è stato un change dell'ultimo minuto, lì per lì ci è sembrata una buona idea, poi non lo è stata, la prossima volta ci atterremo a quanto scritto senza cambiare piano; Poi, paradossalmente chi non ha partecipato al contest si è incazzato di più di chi ha partecipato, il che - misto alle varie risposte quasi unicamente a difesa di Abel (un gioco che comunque per quanto mi riguarda ha preso il massimo dei voti), e al fatto che nonostante io abbia specificato più volte che il problema con il tema non era nel fatto che è stato rappresentato dal punto di vista "biblico" - cosa che ho lodato anzi - ma il fatto che anche in quel caso gli elementi e i riferimenti potevano essere di più, sia stato comunque accusato di aver valutato solo i coniglietti e le uova, mi ha portato a pensare che non abbiano nemmeno letto i giudizi, e si siano lanciati "alla difesa del loro idolo" peggio dei fanboy di yotobi, cosa che mi ha innervosito (anche perchè, sembra quasi che stiano ammettendo che, se non avessimo inserito il parametro "rispetto tema", anche fondendo programmazione e gameplay, se Abel avesse vinto, nessuno si sarebbe scaldato così tanto per quello stesso "errore di comunicazione").
Poi comunque nonostante la "fusione" dei due parametri, la programmazione è stata comunque valutata, non a caso abel ha avuto un voto più alto di CRR che ha un gameplay più coinvolgente, proprio perchè a livello di programmazione abel è il massimo, quindi dire che è stata "eliminata" dal giudizio è comunque sbagliato.
L'esempio del rametto e del filo, per pescare, calza, ok, però - per esperienza - ti faccio notare che nella realtà non pescherai un bel niente
però riconosco che ci si può divertire ugualmente.L'unica cosa, e mi riferisco a quelli che hanno così meticolosamente citato il regolamento per rinfacciare a noi giudici che non siamo stati "di parola", c'è un rigo proprio sotto quello che avete citato, che dice che è facoltà dei giudici inserire nuovi parametri di valutazione in sede di giudizio. con questo NON sto ritrattando, riconosco che unire programmazione è gameplay è stato un errore, semplicemente inserire il terzo parametro, era una cosa che ci era gia concessa dal regolamento che chiunque ha partecipato al contest ha accettato.
per il resto, anche io spero che questa non sia stata l'ultima collaborazione, mi dispiacerebbe se finisse così, per cui se gli admin vorranno mi troveranno sempre disponibile per qualsiasi iniziativa :)
-
Seriamente, facevate prima a dire di fare un gioco con i coniglietti e le uova.
Il gioco di Ser è probabilmente quello che rispetta di più il tema, e in maniera più ingegnosa.
strasigh...
vabè siccome non mi va di rispiegare per la terza/quarta volta lo stesso concetto (che comunque non leggereste in ogni caso perchè comporterebbe un enorme sforzo di adattamento, dover uscire dalla propria zona di comfort... aaah orroreeee *brr*) mi limiterò a dire che avete perfettamente ragione (perchè tanto sembra che sia quello che vi interessi sentirvi dire) :)
Se seraph vorrà chiarmenti li darò a lui direttamente.
@testament ebbene si, sono stato io!
scherzi a parte, mi sembrava un po' "liquidatoria" come risposta, là per là, accusandoci di fare voti ac/dc giustificandoli con "frasi di circostanza" perchè non sapevamo che dire... etc... ma magari avevo malinterpretato.
-
rispondo solo a due punti, visto che bene o male la questione "dovevate dirlo prima" è gia stata affontata con Pat.
E dove ci sta scritto che il tema deve essere rispecchiato nel gameplay? Il tema è il tema. PUNTO.
beh, secondo me il tema deve sentirsi non dico sempre (sarebbe impossibile), ma il più possibile... altrimenti si rischia di arrivare a quello che proprio tu critichi, ossia di metterci la phoenix down e aver "centrato" il tema della resurrezione. A questo punto non avrei dovuto penalizzare PasseDix, che come unico riferimento alla pasqua ha due immagini sul tavolo di gioco, perchè "basta che c'è", non ti pare ? io non la penso così, ribadisco che va premiato chi si impegna per rispettare un tema, e per l'ennesima volta, il problema di ABEL non era che non c'erano i coniglietti, il problema è che anche affrontando il tema in maniera diversa, c'erano comunque, in proporzione, meno elementi di quanti potevano esserne inseriti in quello stesso contesto, senza alterare altri aspetti del gioco (ammetto di non essere un esperto di storia delle religioni, ma credo che Abel c'entri più con la Genesi - vecchio testamento - che con la Pasqua - nuovo testamento - , se c'era un significato che non ho colto mi scuso con l'autore)
Non è sicuramente automaticamente perfetto, ma devi ammettere che un minimo di fantasia ce l'ha messo.
assolutamente si, infatti da qualche parte ho anche lodato che fosse più maturo degli altri... e ho anche lodato il fatto che abbia superato in grafica due giochi fatti con tool che in teoria ti permettono di avere infiniti colori... ho anche lodato l' AI dei nemici (indubbiamente superiore ai conigli che ti tolgono hp quando ti toccano e alla somma di tre dadi a 6 facce) e ho anche detto che i bug del gameplay non sono imputabili a seraph in quanto dipendono da come rpg maker gestisce le priorità durante le "collisioni" evento-eroe...
-
Ok, ma il problema di fondo non è quello.
Il problema di fondo è che son stati unificati ed è stato aggiunto quest'altro parametro nonostante le premesse iniziali fossero differenti. All'ultimo, per giunta.
Come dice Testament(EDIT: E come anche Lollo ha spiegato per bene ieri nel topic delle recensioni di Zoro), sono due campi che difficilmente vanno a braccetto, media o non media dei due, che confonde semplicemente racchiudendo tutto in un unico parametro chiamato Programmazione a discapito di ciò che dovevano essere i campi di valutazione iniziali del contest.
Che vuoi che ti dica Pat, lì per lì CI è sembrata una buona idea, a quanto pare non è andato bene ai più; come ha gia detto Ste, la prossima volta organizzeremo meglio, di più che posso fare? Onestamente, gridare quasi allo scandalo (beh qua non ce l'ho con te, mi riferisco alla risposta di testament che ha reagito quasi come gli avessimo ammazzato il cane :P) per questa banale incomprensione mi sembra eccessivo :)
poi vabè, io l'ho chiamato programmazione, zoro ha scritto gameplay... non ci abbiamo dato troppo peso.
L'ho letto, il mio era un esempio fatto rapportando il voto che ha preso ABEL in questo campo con quello preso dai concorrenti.
Continuo a ritenere questo "Quanto pasquale è stato", comunque, un parametro di valutazione evitabile.
Il nocciolo della questione a 'sto punto penso sia stato colto, comunque.
beh, ho spiegato secondo me il problema qual'era, spero che almeno l'autore capisca cosa intendevo.
il parametro in questione, tu dici che poteva essere evitato? beh, può darsi, però senza, avrei dovuto mettere sullo stesso piano un gioco come CRR che è completamente incentrato su quel tema, e PasseDix dove ci sono due disegni appena. A me non sembra corretto, secondo me l'impegno messo per realizzare un gioco attenendosi ad un tema, va comunque premiato in qualche modo.
-
Beh, devo dire che mi è piaciuto molto questo contest. Fossi secondo, primo od ultimo non sarebbe cambiato: durante la creazione del gioco ho imparato ad usare meglio le mie capacità, espandere la mia visione del complesso e di mescolare al meglio le potenzialità offerte dal programma. Inoltre sono contento di essere stato valutato da degli esperti, in modo da poter comprendere i miei errori per poter migliorare in futuro e sfornare giochi sempre migliori.
Grazie mille a tutti! :D
PS: al mio gioco manca il commento di GhostRider, vorrei leggerlo per conoscere il suo parere :)
waaaa- cz ho dimenticato di aggiungerli XDDDDDDDD
ecco qua:
Gioco abbastanza vasto, per essere un minigame; anche qui l'atmosfera pasquale è ben presente: la caccia alle uova è un elemento tipico di queste feste, e devo dire che è stata resa molto bene.
Grafica:
Qui bisogna fare una distinzione, in quanto gran parte della grafica è quella standard di rpg maker vx ace (che a me non piace, ma vabè è solo un parere); ora non so se sono proprio le RTP standard o qualche pack di addon, ma insomma la stiamo. Ad alzare il livello della grafica, però, sono gli elementi “esterni”, creati da te, quali l'interfaccia con i numeri, l'icona del paramondo, paracastello, trollface city etc... belli nella loro semplicità.
Mapping semplice, non presenta errori, tuttavia alcune cose sembrano fuori posto, come la zona desertica in mezzo alla neve nel paramondo, o le foglie degli alberi nella foresta che sono eccessivamente spigolose. Buono comunque, nel complesso.
Voto Grafica: 7
Programmazione:
Sebbene sia relativamente facile individuare la posizione esatta delle uova nascoste, trovarle non è altrettanto semplici; complici i conigli malvagi e il tempo, il gioco fornisce una discreta sfida, anzi forse avrei fatto in modo che ogni uovo trovato desse un bonus di tempo; considerando anche che la posizione delle uova non è prestabilita, ma è casuale e spesso sono anche ben distanti tra loro.
L'unica pecca del minigame è che alla lunga diventa ripetitivo, ma per il resto più che buono.
Voto Programmazione: 7,5
Rispetto Tema: 7 un po' meno di CRR giusto perchè gli scenari (tipo la città dei troll) non c'entra granchè con la pasqua, e in fondo anche il mondo innevato... pasqua viene in primavera, il mondo innevato ce lo vedrei bene per natale al massimo. comunque ben fatto anche qui.
Voto Totale: 7,1
-
'spè Pat, mi sa che hai frainteso un momento:
i prametri programmazione e gameplay NON (scusa se lo ingigantisco ma voglio essere sicuro che sia letto e non venga comodamente saltato, visto che è abbastanza importante XD) sono stati unificati per lasciare spazio al parametro "Rispetto del Tema" (se fosse stato per quello, sarebbe bastato aggiungere un quarto parametro, non ti pare? non siamo mica scemi - non fino a questo punto almeno).
i due parametri sono stati unificati perchè sono due voci che - per quanto diversi - possono anche andare a braccetto, in oltre sebbene sia un unico parametro vengono comunque tenuti in considerazione entrambi (esempio: prendiamo passedix che per quanto riguarda la programmazione è molto elementare - tre variabili in croce con tre fork condition, chiunque usi rpg maker da almeno 1 settimana è in grado di farlo, tuttavia lo "salva" (per cosi dire) il fatto che il gameplay è immediato e privo di tempi di caricamento... di bug - chi ha letto le mie valutazioni lo saprà - non ho parlato, proprio perchè sarebbe stato impossibile farne, ho unicamente premiato il fatto che è un gioco che ti spinge a continuare proprio perchè è rapido e immediato - se a qualcuno il voto sembra troppo alto è perchè sono largo di voti io, non trovo costruttivo demoralizzare gli altri makers (specie in sede di un contest), semplicemente non è nel mio stile.
il parametro rispetto del tema è stato voluto, in sede di valutazione, da Marius che - giustamente - ha pensato che fosse importante, in un minigame a tema, quanto, poi, ogni progetto ci si avvicinasse effettivamente.
per quanto riguarda ABEL, invece, personalmente invito a rileggere il mio commento, in quanto non ho mai detto che il gioco non rispecchiava a pieno il tema perchè non c'erano i conglietti, ma ho ritenuto che pur affrontando il tema sotto un altra veste, c'erano COMUNQUE pochi elementi ANCHE per quell'approccio al tema, e - su questo però devo dar ragione a zoro - non si rispecchiano tanto nel gamplay quanto in alcuni dialoghi (e nemmeno in tutti - nemmeno in quello più "importante" con Abel in persona). Insomma non cadete nell'errore di pensare che siccome ha usato un approccio indubbiamente più "maturo" degli altri, è automaticamente perfetto :)
-
Ecco i tanto attesi (almeno spero xD) risultati del Minigame Contest Pasquale;
Li avrei messi in un nuovo topic nella sezione risultati ma non potevo XD
Innanzitutto c'è stato un cambiamento per quanto riguarda i parametri di valutazione, programmazione è gameplay riceveranno infatti un unico voto, il terzo voto sarà dato per il rispetto del tema pasquale, ossia quanto il vostro minigame si avvicina al tema imposto dal contest. Ci scusiamo per la mancata comunicazione, ma è stata veramente una cosa venuta fuori all'ultimo minuto.
Venendo al Sodo, ecco le valutazioni dei singoli giochi, iniziando da quello che si è piazzato al quarto posto:
4° Classificato:
PasseDix di JeanBis
http://i.imgur.com/ty93zoO.png
http://i.imgur.com/wKhCZ4r.png
http://i.imgur.com/jqeLaai.png
Voto di Marius:
Grafica :
E' tutto ambientato in una sola mappa. La barca è bella, ma manca l'effetto delle onde, che si poteva fare velocemente e manca l'effetto delle nuvole che si muovono dietro , che potevano essere fatte anch'esse velocemente.
L'animazione del lancio dei dadi è bella e fluida.
Le scritte, con la spiegazione delle regole, hanno un bordo troppo spesso, fuori luogo. Sarebbe andata mostrarle tramite il box messaggi presente durante il lancio dei dadi.4Programmazione :
Tutto scorre bene in quanto il meccanismo di gioco è molto semplice. Forse troppo semplice.
Inoltre è possibile chiedere soldi al proprio amico in maniera infinita. Un semplice switch o una condizione if che impedisce di darti soldi se già li hai ... avrebbe risolto tutto molto rapidamente.
L'idea è che sia stato fatto troppo di fretta.5Tema Pasquale :
A parte la schermata iniziale del gioco e lo sfondo di quando si lanciano i dadi... di tema pasquale non c'è molto ( per non dire nulla).
Si sarebbe potuto dire che era il giorno di pasqua e si gicoava tutti ai dadi... o addobbare la nave in maniera "pasquale".1
Media finale : 3.3Voto di Zoro the Gallade:
Francamente...non so cosa dire oltre l'ovvio, è così semplice che si spiega da solo. Lanci i dadi...e quello è il nucleo del gioco. Non ho niente contro la semplicità, anzi. Ma così com'è ho pochissimo materiale da giudicare...
Aspetto: 3.5/5 - La risoluzione sballa leggermente le grafiche e le sgrana di molto. Sarà che ho uno schermo panoramico, ma anche avviando il gioco in finestra c'è sempre questo aspetto fastidioso. D'altro canto, la finestra di gioco non è fatta troppo male, e anche le animazioni di lancio di dadi sono buone
Gameplay: 4/5 - Per quanto sia semplice, ha anche l'aspetto interessante dello studio delle probabilità, del decidere quando incassare e quando continuare, e così via. Renderebbe l'idea molto meglio se fosse creato in un contesto più definito, ma anche così com'è rende abbastanza l'idea del "minigioco". Il tema pasquale invece...beh, a parte il coniglio e il pulcino non c'è un granchè di pasquoso.
Tema pasquale: 4 - Due immagini sulla tavola di gioco, e la schermata iniziale...questo è un gioco molto corto, non sarebbe costato molto metterci più elementi che si ricollegassero al tema. Un vero peccato.
Totale: 5,75
Voto di GhostRider:
Arrrrgggh Corpo di Mille Balene!! XD
Beh, anche qui l'atmosfera della pasqua si respira poco, anzi se non fosse per i disegni a tema sullo sfondo del “tavolo da gioco”, non c'è molto altro che ricordi questo evento. Tuttavia devo lodare il fatto che tra i quattro partecipanti, questo è quello che più di tutti da l'idea di “minigame”, mentre gli altri sembrano più Arcade (cosa comunque permessa dal regolamento, quindi non è assolutamente una critica a nessuno).
Grafica:
Ottima la mappa della nave e gli sprites dei pirati; tra i migliori che ho visto su vxa.
Venendo al minigame vero e proprio, i dadi sono un po' sgranati, gli altri elementi invece nulla da criticare; nell'insieme la grafica è compatta e uniforme; tutto – o quasi tutto – è autoprdotto, ad occhio e croce.
Voto Grafica: 7,5
Programmazione:
Il gioco è relativamente semplice: tre dadi, tre variabili casuali da 1 a 6, tre “fork condition”.
Questa sua semplicità però è anche il suo punto forte: il gioco ti “attira” a continuare, in quanto ogni round è immediato, e la quasi totale assenza di tempi di caricamento ti spinge a proseguire partita dopo partita, ed è qui che il gioco ti frega: per continuare infatti bisogna puntare ad ogni round il doppio della somma puntata in quello precedente - che equivale esattamente a quanto appena vinto, per cui alla prima sconfitta si perde tutto ciò che si era guadagnato nei round precedenti. Certo, se stessi giocando al gioco vero e proprio e mi fermassi a giocare a “PasseDix” per fare soldi, uscirei ad ogni round vinto per andare a salvare, ma come ho detto il gioco ti “attira”, ti invoglia a non fermarti.
Voto Programmazione: 7,5Rispetto Tema: 4 alla fine della fiera, le uniche cose che richiamano la pasqua sono i due disegni (chara) sul tavolo da gioco che avrebbero potuto essere qualsiasi cosa... si potrebbero sostituire con un un angioletot e un demonietto ed ecco che avremmo un gioco di dadi a tema "armageddon" XDDD battute a parte, un po' approssimativo, magari con qualche faccia del dado a forma di coniglio o uovo che aveva effetti speciali, gia il punteggio si sarebbe alzato.
Voto Totale: 6,3
Voto Finale: 5,11
3° Classificato:
A.B.E.L. - Adversity Before Easter Light di Seraph Andrew
http://i.imgur.com/XFpgGK2.png
http://i.imgur.com/9kCIuzq.png
http://i.imgur.com/XgESHGr.png
Voto di Marius:
A.B.E.L.Grafica :
disegni notevolissimi, scenari spettacolari, animazioni fluide e belle.
Mi piace l'intro iniziale tantissimo. Davvero ben fatto !
Non c'è contrasto tra le grafiche usate, tutto coincide molto bene.
Poteva essere ancora un pò più curato ma, le piccole imperfezioni, immagino siano dovute alla fretta.8.5Programmazione :
Qui qualche dubbio. Si è voluto usare a fare uno shoot em up con rpg maker. Il che non rende sempre tutto molto fluido.
Mancano i movimenti diagonali, fondamentali in un gioco come questo.
A volte non spara, la collisione con gli oggetti non è perfetta.5Tema Pasquale :
A parte un breve accenno nell'introduzione e le uova da raccogliere, il tema pasquale non lo vedo molto presente.
Come se il gioco fosse stato finito in un modo... e poi ci si sia detti :"inseriamo ora un tocco pasquale".4
Media finale : 5,8Voto di Zoro the Gallade:
Di solito quando penso a storie con donne in tute provocanti che portano distruzione di massa in veicoli militari con riferimenti biblici e una storia di fondo basata su poteri soprannaturali penso a
La Croce dalle sette pietreNeon Genesis Evangelion. Spero solo che non ci sia una scena di comatofilia.Oh già, il gameplay? Puro sparamento con vista dall'alto.
Cos'ha a che fare con la Pasqua? Beh...l'aereo usa uova di Pasqua al posto delle bombe...
Eeeeeed ecco la grande sega filosofica nel bel mezzo del gameplay, che come in tanti sanno mi piace come trovare una fetta di melanzana fritta dentro un panino con la Nutella. Ma almeno è solo alla fineAspetto: 4.8/5 - Ho davvero giocato a un gioco per RPG Maker? Ha tutto l'aspetto e l'atmosfera dei vecchi sparatutto arcade: UN Squadron, 1942, Zexion, Ikari Warriors...forse anche un tocco di Metal Slug Gli sfondi sono ben dettagliati e fanno spiccare gli sprite dei nemici e dei proiettili, aumentando anche la giocabilità. I portrait dei personaggi sono anche ben fatti, e la HUD neanche male. Il tema di Pasqua...eeh...c'è un uovo di pasqua, e la vicenda si svolge il giorno di Pasqua. Un po' come Una poltrona per Due è considerato un film di Natale.
Gameplay: 3.7/5 - Il fatto che la finestra abbia le proporzioni che ha non si presta troppo bene a uno sparatutto dall'altro, limitando lo spazio di manovra e non facendo apparire molti nemici su schermo: quegli 1-2 secondi tra un gruppo di nemici e l'altro si fanno molto sentire, specie quando i gruppi di nemici si ripetono in modo uguale dopo un po'. Inoltre, il movimento limitato alla griglia ha un impatto negativo su un genere di gioco in cui è importante schivare, specie quando ci sono due proiettili uno a fianco all'altro e non puoi passarci in mezzo perchè spostandoti da un lato per evitarne uno ne colpisci un altro. Il boss si muove tanto velocemente che gran parte dei proiettili che dovrebbero colpirlo gli passano attraverso, e questo allunga abbastanza il brodo contro di esso. A parte i suddetti problemi con i controlli e la hit detection, ha tutto quello che ci si aspetta da uno sparatutto, nonostante non ci sia niente di troppo interessante sotto l'aspetto del gameplay.
Rispetto Tema: 5,5 A parte il tema di sottofondo della rinascita, del messia e *un* personaggio che è correlato all'interpretazione biblica, il collegamento con la Pasqua è molto, molto vago.
Totale: 7
Voto di GhostRider:
Qui il tema pasquale è affrontato più dal punto di vista spirituale che con coniglietti e uova, tuttavia non è molto evidente, salvo per i vari riferimenti nei nomi, e nell'anagramma del titolo... e sui testi in inglese meglio stendere un velo pietoso :P (senza offesa eh, non lo dico con cattiveria), anche se comunque non influisce sul punteggio.
Grafica:
Essendo un utente del 2k3 so bene quanto è difficile realizzare qualcosa che venga ritenuto “apprezzabile” al giorno d'oggi, nell'epoca dell' hypster e dell'apparenza, con i pochi colori a disposizione, anche se forse l' 1% di tutti i giochi prodotti con gli rpgmaker moderni può vantare una grafica superiore a quella vista in giochi come il tuo Carnelian; questo minigame, per me, si piazza al primo posto in questo contest per quanto riguarda il comparto grafico, che ad occhio direi che è quasi tutto originale, o se non altro grossi reedit e montaggio; l'unico bug da segnalare è che nel momento in cui inizia la missione si vede per un attimo il background urbano dell'intro, sotto la scritta “Stage 1”, prima di passare al background della missione che – a proposito – è veramente ben fatto ed è abbastanza grande da non far notare – complice anche il fatto che bisogna stare concentrati sui nemici che ci attaccano – che cicla e che quindi si ripete. C'è una buona varietà di nemici considerando che è un solo stage. Ottimi i portrait/artwork, interfaccia di gioco semplice ma completa.
Voto Grafica: 8,5
Programmazione:
L'unico plugin utilizzato qui è il blending per le immagini, tutto il resto è fatto ad eventi; qui non ci sono bug, solo a volte quando cerco di prendere uno dei bonus dal lato invece che da sotto, anche se ci passo sopra non riesco ad afferrarlo (purtroppo temo non si possa fare nulla, è proprio un problema di come rpg maker gestisce le priorità degli eventi), e di tanto in tanto quando l'arma è a livello base, mi capita che premendo Z non spari, nonostante sia trascorso il tempo di “ricarica” (chiamiamolo così). Per il resto nulla da segnalare, le azioni dei nemici sono ben programmate, non sono casuali (i nemici piccoli e verdi si muovo sempre in formazione tra loro, così come quelli rossi possono attaccare sia da soli che sui laterali in gruppi di tre, e poi c'è il piccoletto bastardo che si muove rapidamente a destra e a sinsitra). In definitiva un ottimo esempio di shoot'em Up a scorrimento verticale.
Voto Programmazione: 8,5Rispetto Tema: 6,5 come gia detto qui il tema della pasqua è affrontato dal punto di vista più "spirituale", tuttavia ci avrei messo più riferimenti, anche solo nei nomi (che so, Longinus, Golgotha... i primi che mi vengono in mente).
Voto Totale: 7,8
Voto Finale: 6,8
2° Classificato:
La Maledizione Pasquale di Waldorf
http://i.imgur.com/M3Zy6z3.png
http://i.imgur.com/FRg2Zsr.png
http://i.imgur.com/Wdo2HGW.png
Voto di Marius:
Grafica :
Non comprendo bene la schermata iniziale... si poteva mettere qualcosa più in linea con il gioco.
Gli ambienti sono disegnati piuttosto bene, si gira tranquillamente, non sono troppo grandi per questo genere di gioco.
I personaggi sono i classici di RPG Maker che vanno molto bene, la scelta di conigli di colori diversi è ottimale.
Le scritte e gli HUD non sono molto in tema, ma non stonano neanche tantissimo. Avrei optato per un font diverso.6Programmazione :
La passabilità di alcuni ambienti non è settata bene, non sono mai riuscito a beccare un coniglio fortunato e dopo aver fatto il livello nel Paramondo, quando si va nella città non si può salvare, il che rende tutto molto complciato.
All'inizio si dice che quando si premono i tasti per cambiare ( 2,3,4,..) il tempo si ferma... e sarebbe tutto ok se funzionasse ... ma non funziona negli altri livelli !
Funziona solo nel primo e questo rende il gioco ancora più difficile.
La ricerca funziona bene, la scelta dei pulsanti è semplice e rapida, la meccanica fluida.
Altro bug è il tempo: se finisce il tempo non va in gameover.. ma diventa semplicemente nero e si blocca.6Tema Pasquale :
Il tema pasquale è ben evidente, la ricerca delle uova è un classico. Il personaggio e simpatico e allegro nello svolgere il suo compito pasquale !9Media finale : 7Voto di Zoro the Gallade:
Dal creatore di I Wanna Build the Gate arriva...*Badum-tssh!*Una caccia al tesoro interattiva.Lo scopo? Trovare delle uova invisibili e cercare di capire come mai hanno un contrasto tanto elevato.I nemici? Ovviamente, dei conigli incazzati.
Purtroppo far terminare il tempo dà una schermata completamente nera da cui l'unica uscita è F12.E...questo è tutto il gameplay. Scova le uova, prendi le uova. In questo livello ci sono dei conigli kamikaze che non fanno alcun danno, non so se sia voluto.E il boss chi poteva essere se non...un tipo di nome Pasquale?Oh no, non dirmi che ora devo combattere il prof di filosofia. Mi è già bastato quello di storia.E ogni zona ha una piccola variazione. Nella foresta di Slender il timer è rappresentato dalla mappa che diventa sempre più buia, a Trollface City ci sono delle uova false, e così via.E c'è un "powerup" sotto forma di un oggetto che può allontanare temporaneamente i conigli. In questo caso, anche farli incastrare nei muri.
Aspetto: 4/5 - Molto buono. La HUD è pratica, le mappe sia abbastanza belle che pratiche ai fini del gioco (molte zone sono molto simili ma hanno piccole differenze che bisogna scovare osservando, aggiungendo un altro elemento di sfida molto bilanciato) e in generale character e faceset sono messi bene insieme. Lo sprite dell'uovo soltanto poteva essere reso meglio: sembra piatto e stona un po' con il resto dei character e con la mappa.
Gameplay: 4.5/5 - Per essere un minigioco ha abbastanza contenuti per essere considerato piuttosto uno short game, con diversi mondi, livelli di difficoltà, meccaniche aggiuntive in ogni livello, e un filo di humor demenziale (Tutto mi potevo aspettare tranne un cameo di Anassimandro di Mileto). La modalità Difficile in particolare aggiunge molta sfida restringendo il limite di tempo e rendendo necessario sia acquisire familiarità con le mappe (che sono comunque facili da navigare una volta esplorate) che sviluppare un senso di "colpo d'occhio" per non sprecare troppo tempo a guardare le posizioni delle uova visto che il tempo continua a scorrere, specialmente nell'ultimo livello in cui le animazioni di teletrasporto rubano secondi preziosi. In un certo senso, ricorda FNAF per come bisogna coordinarsi tra osservare e agire. L'unico difetto è che spesso l'RNG fa i capricci: potrebbe sparpagliare le uova ai quattro angoli della mappa, o farne trovare due o tre nella stessa zona.
Rispetto Tema - 9 Un gioco che ha riadattato un intero universo per far girare la trama intorno alla pasqua, ai malefici coniglietti e alla ricerca delle uova, più fedele di così non si può davvero.
Totale: 8,75
Voto di GhostRider:
Gioco abbastanza vasto, per essere un minigame; anche qui l'atmosfera pasquale è ben presente: la caccia alle uova è un elemento tipico di queste feste, e devo dire che è stata resa molto bene.
Grafica:
Qui bisogna fare una distinzione, in quanto gran parte della grafica è quella standard di rpg maker vx ace (che a me non piace, ma vabè è solo un parere); ora non so se sono proprio le RTP standard o qualche pack di addon, ma insomma la stiamo. Ad alzare il livello della grafica, però, sono gli elementi “esterni”, creati da te, quali l'interfaccia con i numeri, l'icona del paramondo, paracastello, trollface city etc... belli nella loro semplicità.
Mapping semplice, non presenta errori, tuttavia alcune cose sembrano fuori posto, come la zona desertica in mezzo alla neve nel paramondo, o le foglie degli alberi nella foresta che sono eccessivamente spigolose. Buono comunque, nel complesso.
Voto Grafica: 7
Programmazione:
Sebbene sia relativamente facile individuare la posizione esatta delle uova nascoste, trovarle non è altrettanto semplici; complici i conigli malvagi e il tempo, il gioco fornisce una discreta sfida, anzi forse avrei fatto in modo che ogni uovo trovato desse un bonus di tempo; considerando anche che la posizione delle uova non è prestabilita, ma è casuale e spesso sono anche ben distanti tra loro.
L'unica pecca del minigame è che alla lunga diventa ripetitivo, ma per il resto più che buono.
Voto Programmazione: 7,5Rispetto Tema: 7 un po' meno di CRR giusto perchè gli scenari (tipo la città dei troll) non c'entra granchè con la pasqua, e in fondo anche il mondo innevato... pasqua viene in primavera, il mondo innevato ce lo vedrei bene per natale al massimo. comunque ben fatto anche qui.
Voto Totale: 7,1
Voto Finale: 7,6
1°Classificato e Vincitore dell' Easter Minigame Contest 2015:
Crazy Rainbow Rabbits di Ste
http://i.imgur.com/j7c4xCP.png
http://i.imgur.com/YJk2MZy.png
http://i.imgur.com/bhh2c66.png
Voto di Marius:
Grafica :
Il colore sgargiante dei personaggi e degli ambienti mi piace molto; è luminoso e fresco, ricordando una bella giornata di sole primaverile/estiva.
L'aver inserito un sottile contorno nero ai vari elementi rende tutto molto cartoonesco. Anche il menù iniziale ha bei colori, una bella grafica e uno bello stile di scritte.
Tutte le mappe sono ben disegnate e mai spoglie, pur lasciando molte aree ampie per poter "correre" meglio.8.5Programmazione :
Non ho trovato alcun bug personalmente. Il game play è fludio, veloce, scorrevole. Le varie opzioni e features messe sono tutte interessanti.
Ci sono diverse modalità di gioco dove è possibile selezionare se si vuole giocare a tempo, con obiettivi. Inoltre anche la possibilità di scegliere lo stage e la grandezza.
Un bel lavoro.9Tema Pasquale :
Il tema pasquale è perfetto. La ricerca delle uova funziona bene. Non ho capito però proprio perchè ci sono dei bulloni da raccogliere...
I temi sono tutti vivaci e mettono allegria !9.5
Media finale : 9Voto di Zoro the Gallade:
Un gioco con la premessa nel titolo: sono conigli, sono sicuramente folli, e sono colorati.
Il gioco non ha trame o progressione: è un puro arcade in cui lo scopo è aiutare il proprio coniglio a raccogliere...bulloni. Uh?
http://i.imgur.com/W8e4A69.png
Ah ecco, mi pareva.La IA degli avversari non è niente di eccezionale, eppure proprio per questo è difficile batterla quando si è contro un solo avversario. Non viene rallentato o impedito da bombe e bulloni viola (che normalmente paralizzano e fanno perdere punti, rispettivamente): vanno in linea retta verso un oggetto a caso e lo riportano indietro senza intoppi. Se gli si prende l'oggetto a cui miravano, immediatamente ne vanno a cercare un altro. Questo li rende assurdamente facili da battere quando si gioca contro tre avversari, visto che si pestano i piedi a vicenda e passano un sacco di tempo a vagare per la mappa alla ricerca di un altro oggetto.
È possibile stabilire la durata del gioco...se vi va di passare 15 minuti a raccogliere oggetti, ehi, la scelta è vostra.
Le uova con il punto interrogativo sono la peggior cosa relativa alla pasqua dopo le urla di mio nonno che vuole scendere dall'attaccapanni: possono aggiungere o togliere 5 punti a random, alla fine della partita. Potete metterle nel cesto di un avversario, e sperare che siano negative. O potete metterle nelle vostre e potenzialmente perdere la partita se finite con un vantaggio di meno di 5 punti. O potete semplicemente toccare una bomba per liberarvene. O direttamente non raccoglierle. Quelle sono uova del male!
In toto, non c'è molto da dire sul gioco. Semplice, sì. Diverte, sì. Presentato bene, direi proprio di sì.
Aspetto: 4.6/5 - Menu fatti bene, arene buone, e personaggi buffi e colorati(letteralmente). Niente da eccepire.
Gameplay: 3.5/5 - La rigiocabilità è data dalle opzioni di gioco...il gameplay alla fine resta sempre lo stesso. Bombe e bulloni viola a volte compaiono proprio davanti a voi e quindi sono impossibili da evitare, un problema che la IA non ha. Programmato bene e con tanta personalizzazione, ma non eccezionale. Avrebbe sicuramente beneficiato da qualche altra variazione del gameplay, come ostacoli, powerup, obiettivi extra o altre modalità di gioco, o un ritocco generale degli avversari per renderli più in pari con il giocatore.
Rispetto Tema: 9 - Non un gioco a tema pasquale, ma un vero e proprio gioco DI pasqua. O Pasqua: Il gioco. L'unica parte che poteva renderlo ancora più evidentemente pasquale sarebbe stato un livello a tema, tipo un mondo fatto di uova di cioccolato. Ma tutto sommato è innegabile che sia pasquettoso al 100%.
Totale: 8,55
Voto di GhostRider:
Uno dei miei generi di minigame preferiti, con gli ormai leggendari coniglietti di Ste, che gridano Pasqua da ogni dove; il tema del contest direi che è centrato in pieno.
Grafica:
Tutto della grafica è ben curato, a cominciare dall'icona del gioco, passando per tutti i menu, semplici ma completi; colorati ma non pacchiani. A occhio e croce mi sembra al 90% grafica originale, tranne qualche tile che ricorda le abusatissime risorse di celianna (se non sono proprio quella), qua e la. Le mappe sono semplici e per lo più squadrate, ma servono allo scopo, essendo fondamentalmente una specie di “arena”. In generale il comparto grafico è eccellente, l'unica cosa che avrei cambiato è che, come oggetti, avrei messo diversi tipi di uova, piuttosto che i chiodini, ma è solo il mio parere; in oltre avrei abinato i colori delle casse a quelli del rispettivo coniglio; infine un'altra cosa che ho notato è che quando si seleziona l'arena c'è un riquadro vuoto accanto, che – ad intuito – direi che dovrebbe mostrare un anteprima dello stage, ma questo non si vede, non so se è un bug di priorità delle pictures, una dimenticanza oppure se è stato volutamente omesso; quale che sia il motivo rimane comunque un quadrato vuoto.
Voto Grafica: 8
Programmazione:
Qui l'unico bug presente, purtroppo bello grosso, è che a volte i coniglietti rivali si incastrano da qualche parte e non si muovono più, rendendomi facile la vittoria (dipende più che altro dalla forma dello stage – nel parco mi è successo 3 volte su 3 partite, che si incastrassero tutti e tre i conigli rivali sotto quella sorta di palco che sta al centro, in altri stage è successo più raramente e di solito dura poco); Che altro? La varietà degli oggetti-punti è più che buona, e c'è anche la componente random; le bombette sono abbastanza infami, possono comparirti davanti all'improvviso.
Ottima la possibilità di poter giocare sia a tempo che a punti, così come la presenza di un “profilo giocatore” con obiettivi, record etc... potrebbe essere un principio di un ottimo gioco arcade.
Voto Programmazione: 7,5Rispetto Tema: 8, come ho gia detto nell'introduzione il tema è centrato in pieno, sarebbe stato punteggio pieno se al posto delle bombe e dei bulloni ci sarebbero stati diverse tipologie di uova (uovo esplosivo invece della "comune" bomba, giusto per dirne una).
Voto Totale: 7,8
Voto Finale: 8,45
Infine, quelle che seguono, sotto spoiler, sono alcune considerazioni personali di Zoro, che mi ha chiesto di inserire nel topic dei risultati, poi vi darà lui ulteriori chiarimenti suppongo:
Maledizione Pasquale e CRR sono i due progetti che fra tutti mostrano più impegno nel creare l'atmosfera, creare un mondo e dei personaggi e, in essenza, aderire completamente al tema. Dei due, CRR si distingue per il gameplay più veloce, intuitivo e in genere che richiama di più la natura di un "minigioco", dove Maledizione Pasquale ha una struttura a livelli e una storia da seguire.
ABEL si piazza bene sia come aspetto che come gameplay, ma i vari bug e i difetti nei controlli, oltre ai riferimenti molto più alla lontana al tema pasquale (tra l'altro riferiti solo nei dialoghi e rispecchiati quasi per niente nel gameplay) lo hanno fatto arretrare nella classifica. Passe Dix, invece, ha un che di molto incompleto. Anche se è molto semplice...sembra comunque che oltre che al motore per lanciare i dadi si sia messo poco e niente impegno nel gioco: semplicemente non c'è contesto per giudicarlo.Che dire... tutto sommato direi che è stato un buon contest, forse con qualche "disordine" in sede di valutazione, poca comunicazione con i partecipanti, colpa nostra, sicuramente.
Io personalmente sono nel complesso soddisfatto, e ringrazio nuovamente Guardian per la collaborazione tra le due comunity, Freank che ci ha fatto da Cirano e i miei colleghi giudici Zoro e Marius, con i quali devo ammettere di essermi trovato un po' in disaccordo su alcuni giudizi, ma come ho detto, ogni giudice ha valutato indipendentemente i lavori, in piena autonomia, senza essere influenzati dagli altri giudici. Per il resto aspetterò un po' per dire la mia (nel caso a qualcuno interessi, ovviamente XDDD).
Di nuovo complimenti a tutti i partecipanti, e - ovviamente - gloria al vincitore!
-
Beh, come ha gia accennato zoro, abbiamo pensato che programmazione è gameplay andassero un po' a braccetto, e che saremmo suonati ripetitivi, per cui abbiamo un unico voto per entrambi gli aspetti (si potrebbe discutere per ore su come invece dovrebbero essere separati, me ne rendo conto, ma alla fine per semplicità abbiamo pensato di unire); secondo viene valutata la veste grafica e - infine - il rispetto al tema del contest. I giudizi sono dati autonomamente dai tre giudici, nel senso che non ci siamo confrotnati prima tra noi (per garantirne l'autenticità, suppongo); ce li siamo scambiati solo alla fine.
Alla fine ogni giudice da un voto da 1 a 10 e si fa la media (punteggio mio + punteggio di marius + puteggio di zoro /3) .
Più che template comune, ogni giudice decide col suo metro personale, chiaramente cercando di essere quanto più obiettivi possibile; in qualche modo la presenza di 3 giudici garantisce comunque più possibilità a tutti (ad esempio vi posso anticipare che la mia valutazione su ABEL è quasi l'opposto di quella di zoro, per me ha preso i punteggi più alti)
Ci scusiamo per l'incomprensione, presto avrete i risultati completi :)
-
ehm ragazzi, scusate, zoro si è confuso e li ha pubblicati subito XDDDDD mancano i giudizi miei e di Marius, questi NON sono i risultati del contest, solo il giudizio di uno dei tre giudici, dobbiamo ancora fare la media XD
-
Il contest è concluso, presto avrete i risultati; il tempo di organizzarci noi giudici :D
se non ho saltato nessuno, i partecipanti sono:
CrazyRaimbowRabbits (Ste)
A.B.E.L. (Seraph Andrew)
Maledizione Pasquale (Waldorf)
PasseDix (JeanBis)
se ho mancato qualcuno segnalatelo qui, thanx :)
-
userò purtroppo Fire Emblem come risorse per face e battler, dico purtroppo perchè una volta quando li usavo molti me li avevano criticato in quanto queste risorse erano abusate ma per accontentare voi sono finito per fare qualcosa che a me non piacevaMale, male, male. il progetto deve innanzitutto piacere a te, primo per un motivo puramente "pragmatico": parliamo di programmazione amatoriale senza scopo di lucro, non devi vendere, non ci guadagni niente ad accontentare gli altri XD e secondo perchè, se lo modifichi troppo finisci solo - appunto - per creare qualcosa di troppo diverso da ciò che volevi, e in cui non ti ci rivedi più, e ti passa la voglia.
Insomma ci sta pure che gli altri consiglino, ma alla fine penso tu debba fare quello che a te piace, e se gli altri non condividono... 'zzi loro insomma XDD
venendo al progetto beh, da quello che vedo, ti direi - scontato lo so - di curare un po' meglio le mappe, aggiungerci dettagli più che altro, mi sembrano ancora molto "essenziali", la trama mi sembra uno spunto buono come un altro, aspetterò di saperne di più prima di commentare, per ora mi piace l'idea che ammazzano subito il presidente, potrebbero seguirne un bel po' di casini; mi piace un po' meno l'italiano con cui è scritto, ma vabè andavi di fretta hai detto, quindi suppongo non sia importante.
:P

Resident Evil 2 REBORN
in Giochi e Videogiochi
Posted
arrivano un po' tardi, un certo Rod Lima gia ci lavora da un po' e ha gia praticamente finito Claire A, e l'ultimo update che ho visto (non seguo granchè), stavano a metà di Leon B.
comunque bel progetto, non da meno; però vero, con l'inglese stanno a piedi... non si tratta di errori di grammatica/sintassi, si tratta poprio di non conoscenza di come viene strutturata una frase in quella lingua (non mi sorprenderebbe se stessero traducendo da un dizionario a da google) XD