Retrolexip Posted January 16, 2015 Share Posted January 16, 2015 (edited) Ho trovato un ABS realizzato da Shuuchan per VX, ed è beliissimo! È mooolto semplice da impostare e implementare, ma allo stesso tempo da grande libertà di personalizzazione per chi sa dove mettere le mani.Così ho deciso di renderlo compatibile per Ace e... ce l'ho fatta! :DPer le istruzioni su come funziona vi rimando al topic originale del progetto (dove trovate anche la FONDAMENTALE grafica da mettere nel progetto per farlo funzionare)Se invece volete aiutarmi nel migliorarlo ancora di più potete andare al topic di supporto! (non ancora creato! :P) #=============================================================================== # ** BUBBLE BS Ace #------------------------------------------------------------------------------- # di Shuuchan # su suggerimento di Omivino # convertito da Retrolexip # versione B1.0 # basata su versione 1.1 del 31-01-2009 # 16-01-2015 # RGSS3 / RPG Maker VX Ace #------------------------------------------------------------------------------- #=============================================================================== # .--** ISTRUZIONI **--. #------------------------------------------------------------------------------- # 1) Copiare lo script sotto "Materials", o appena sopra "Main" nello Script # Editor. # 2) Copiare/importare il file immagine PNG "Energy Ball" nella cartella # "Graphics/Characters" del proprio progetto. # 3) Regolare le Impostazioni Generali. #------------------------------------------------------------------------------- # ** PER CREARE UN NEMICO ** #------------------------------------------------------------------------------- # 1) Creare un Nuovo Evento. # 2) Inserire la Grafica del character, e impostare le Opzioni Movimento # preferite (in un nemico "serio" di solito il movimento è "Vicino", ovvero # il nemico si muove in direzione dell'Eroe. Ma si possono creare anche # nemici con movimento personalizzato, o fissi, come delle Trappole). # 3) Inserire nella casella "Nome:" (in alto a sinistra nell'editor dell'evento) # le opzioni per creare il nemico. Le opzioni sono le seguenti: # # .enemy --> l'evento viene considerato un nemico, e perciò può essere # attaccato e distrutto dalle sfere sparate dall'Eroe. # Un evento senza .enemy nel Nome sarà ignorato dal BS, e # considerato solo un ostacolo. # da .01 a .99 --> indica il numero di sfere necessarie per uccidere il # nemico. ATTENZIONE: il numero deve essere SEMPRE A DUE # CIFRE. Per i numeri minori di 10 inserire uno 0 davanti # (perciò 5 sarà da scrivere .05). # .noatt --> il nemico può essere distrutto, ma NON attacca (opzione # utile per creare oggetti da distruggere). # # ATTENZIONE: ricordarsi sempre di scrivere il . davanti all'opzione desiderata. # # Quindi, per esempio, un nemico da uccidere in 2 colpi, avrà nel Nome: # # .enemy.02 # # Oppure, un "nemico" che non attacca da uccidere in 12 colpi, per esempio una # "porta" da sfondare con le sfere, avrà scritto nel Nome: # # .enemy.12.noatt # #------------------------------------------------------------------------------- # ** PER ATTACCARE CON UNA SFERA #------------------------------------------------------------------------------- # Premere il Tasto D sulla tastiera all'interno di una mappa. Dall'Eroe # scaturirà una sfera. # Attenzione: se lo Switch che attiva il BS è OFF (vedi Impostazioni Generali # qui sotto), sia l'Eroe che i nemici NON spareranno sfere. #------------------------------------------------------------------------------- module Shuu_Bubble #=============================================================================== # .--** IMPOSTAZIONI GENERALI **--. #------------------------------------------------------------------------------- ID_SWITCH_BUBBLE_BS = 1 # Id dello switch che permette di attivare il # Bubble BS. Se lo switch è ON è possibile # utilizzare il BS, altrimenti è disattivato. #------------------------------------------------------------------------------- SE_MORTE = "Audio/SE/Collapse1" # Nome del file Audio utilizzato alla morte # di un nemico (SE, effetto sonoro). #------------------------------------------------------------------------------- SE_SFERA = "Audio/SE/Wind7" # Nome del file Audio usato quando viene # "sparata" una sfera. #------------------------------------------------------------------------------- INDICE_SFERA_EROE = 0 # Da 0 a 7, indice della sfera sparata # dall'Eroe (da scegliere nel file PNG # "Energy Ball": 0 è il primo chara in alto # a sinistra, 1 è il chara immediatamente # alla sua destra, e così via fino al 7, che # è l'ultimo chara in basso a destra). #------------------------------------------------------------------------------- INDICE_SFERA_NEMICI = 1 # Da 0 a 7, indice della sfera sparata # dai nemici (da scegliere anche questo nel # file PNG "Energy Ball"). #------------------------------------------------------------------------------- VELOCITA = 5 # Da 2 a 7, velocità delle sfere sparate sia # dall'Eroe che dai nemici. #------------------------------------------------------------------------------- DISTANZA = 7 # Da 1 a 16 (consigliato: 7), distanza # massima a cui possono giungere le sfere # sparate da Eroe e nemici. #------------------------------------------------------------------------------- MOLT_EXP = 2 # Da 1 a 5 (consigliato: 2), indica la # il "grado" di Punti Esperienza guadagnati # all'uccisione di un nemico: maggiore sarà # il numero, maggiori gli EXP ottenuti. #------------------------------------------------------------------------------- ANIM_LEVEL_UP = 37 # Id dell'Animzaione usata quando l'Eroe # sale di Livello (da scegliere tra le # Animazioni in Database --> Animazioni). #------------------------------------------------------------------------------- ANIM_SFERA = 14 # Id dell'Animazione usata quando una sfera # colpisce un bersaglio (anche questa da # scegliere tra le Animazioni del Database). #------------------------------------------------------------------------------- MOLT_DANNO_NEMICI = 20 # Da 1 a 100 (consigliato: 20), indica il # "grado" di danni ai PV subiti dall'Eroe # quando viene colpito da una sfera: maggiore # sarà il numero, maggiori i danni. #------------------------------------------------------------------------------- TEMPO_ATTACCO_EROE = 30 # Indica il tempo di attacco (ovvero il tempo # minimo per il lancio di due sfere # consecutive) dell'Eroe. 60 = 1 secondo #------------------------------------------------------------------------------- TEMPO_ATTACCO_NEMICI = 30 # Indica il tempo di attacco dei nemici. #=============================================================================== # .--** FINE IMPOSTAZIONI **--. #=============================================================================== end class Game_Map attr_accessor :nemici alias shuu_bubble_initialize initialize alias shuu_bubble_setup_events setup_events def initialize shuu_bubble_initialize @nemici = [] end def setup_events shuu_bubble_setup_events @nemici.clear for evento in @events.values next if evento == nil if evento.nome.include?(".enemy") @nemici.push(evento) end end end end class Game_Actor def change_exp(exp, show) @exp[@class_id] = [exp, 0].max last_level = @level last_skills = skills level_up while !max_level? && self.exp >= next_level_exp level_down while self.exp < current_level_exp #display_level_up(skills - last_skills) if show && @level > last_level if show and @level > last_level and SceneManager.scene_is?(Scene_Map) $game_player.animation_id = Shuu_Bubble::ANIM_LEVEL_UP $game_player.damage = "Level Up!" end refresh end end class Game_Character def move_type_toward_player sx = @x - $game_player.x sy = @y - $game_player.y if sx.abs + sy.abs >= 12 # modifica Move Approach by Shuuchan move_random elsif sx.abs + sy.abs <= 4 move_toward_player else case rand(12) when 0..9; move_toward_player when 10; move_random when 11; move_forward end end end end class Game_Player < Game_Character attr_accessor :tempo_attacco alias shuu_bubblebs_initialize initialize alias shuu_bubblebs_update update def initialize shuu_bubblebs_initialize @tempo_attacco = 0 end def update shuu_bubblebs_update @actor = $game_party.members[0] SceneManager.goto(Scene_Gameover) if @actor.hp <= 0 @tempo_attacco -= 1 if @tempo_attacco > 0 if $game_switches[Shuu_Bubble::ID_SWITCH_BUBBLE_BS] == true if Input.trigger?(Input::Z) and @tempo_attacco <= 0 @tempo_attacco = Shuu_Bubble::TEMPO_ATTACCO_EROE - @actor.level*2 @tempo_attacco = 30 if @tempo_attacco < 30 Audio.se_play(Shuu_Bubble::SE_SFERA) indice = Shuu_Bubble::INDICE_SFERA_EROE $distanza.push(Game_Distanza.new($game_player, indice)) end end end end class Game_Event < Game_Character attr_accessor :per_morire attr_accessor :nome attr_accessor :morto attr_accessor :hp attr_accessor :esperienza attr_accessor :original_hp attr_accessor :tempo_attacco attr_accessor :wait_count alias shuu_bubble_initialize initialize alias shuu_bubble_update update def initialize(map_id, event) shuu_bubble_initialize(map_id, event) @nome = @event.name @morto = false @per_morire = 0 @hp = 1 @esperienza = 0 @tempo_attacco = 0 if @nome.include?(".enemy") for i in 1..99 sbstr = "." sbstr += "0" if i < 10 sbstr += i.to_s if @nome.include?(sbstr) hp_nemico = (sbstr.slice(1,2)).to_i break end end if hp_nemico.is_a?(Numeric) @original_hp = hp_nemico @hp = hp_nemico @tempo_attacco = Shuu_Bubble::TEMPO_ATTACCO_NEMICI @esperienza += @hp*(($game_party.members[0]).level)*Shuu_Bubble::MOLT_EXP end end end def attacca_pg Audio.se_play(Shuu_Bubble::SE_SFERA) indice = Shuu_Bubble::INDICE_SFERA_NEMICI $distanza.push(Game_Distanza.new(self, indice)) end def update shuu_bubble_update if $game_switches[Shuu_Bubble::ID_SWITCH_BUBBLE_BS] == true if @hp <= 0 and not @morto Audio.se_play(Shuu_Bubble::SE_MORTE, 80) @morto = true ($game_party.members[0]).gain_exp(@esperienza) @per_morire = 255 lock end if @per_morire != 0 and @morto @per_morire -= 4 @per_morire = 0 if @per_morire < 0 @opacity = @per_morire end if @per_morire == 0 and @morto erase end if not @morto if @nome.include?(".enemy") and not @nome.include?(".noatt") sx = @x - $game_player.x sy = @y - $game_player.y @tempo_attacco -= 1 if @tempo_attacco > 0 and (sx.abs + sy.abs <= 12) and @wait_count <= 0 @wait_count -= 1 if @wait_count > 0 if @tempo_attacco <= 0 if sx.abs + sy.abs <= 12 and @wait_count <= 0 @tempo_attacco = Shuu_Bubble::TEMPO_ATTACCO_NEMICI - @original_hp*4 @tempo_attacco = 100 if @tempo_attacco < 100 attacca_pg end end end end end end end module DataManager class << self alias shuu_bubble_game_objects create_game_objects alias shuu_bubble_write make_save_contents alias shuu_bubble_read extract_save_contents end def self.create_game_objects shuu_bubble_game_objects $distanza = [] end def self.make_save_contents contents = shuu_bubble_write contents[:distanza] = $distanza contents end def self.extract_save_contents(contents) shuu_bubble_read(contents) $distanza = contents[:distanza] end end class Game_Distanza < Game_Character attr_accessor :draw attr_accessor :destroy attr_accessor :character_name def initialize(parent,chara_index=0,speed=4,range=0) super() @parent = parent @character_name = "Energy Ball" @character_index = chara_index @move_speed = Shuu_Bubble::VELOCITA @range = Shuu_Bubble::DISTANZA @step = 0 pd = @parent.direction moveto(@parent.x,@parent.y) set_direction(pd) @destroy = false @draw = false end def update super return @destroy = true if @step >= @range move_route check_event_trigger_touch(@x, @y) end def move_route return unless movable? d = @direction move_straight(d) @step += 1 end def movable? return false if moving? return false if @move_route_forcing return true end def check_event_trigger_touch(x, y) return if @destroy if @parent.is_a?(Game_Player) for nemico in $game_map.nemici if nemico.x == x and nemico.y == y and not nemico.morto nemico.animation_id = Shuu_Bubble::ANIM_SFERA colpisci_nemico(nemico) end end else if $game_player.x == x and $game_player.y == y $game_player.animation_id = Shuu_Bubble::ANIM_SFERA colpisci_eroe(@parent) end end end def colpisci_nemico(bersaglio) @destroy = true bersaglio.jump(0,0) danno = 1 bersaglio.hp -= danno bersaglio.wait_count = 60 end def colpisci_eroe(source) @destroy = true $game_player.jump(0,0) colpo = rand(5 + ($game_party.members[0]).level) + (Shuu_Bubble::MOLT_DANNO_NEMICI*($game_party.members[0]).level)/3 danno = ((source.original_hp)*Shuu_Bubble::MOLT_DANNO_NEMICI) - ((($game_party.members[0]).def)) + colpo danno = 1 if danno <= 0 ($game_party.members[0]).hp -= danno end end class Spriteset_Map alias shuu_bubblebs_create_characters create_characters alias shuu_bubblebs_update_characters update_characters alias shuu_bubblebs_dispose dispose def create_characters @range_sprites = [] for range in $distanza next if range == nil @range_sprites.push(Sprite_Character.new(@viewport1,range)) end shuu_bubblebs_create_characters end def update_characters shuu_bubblebs_update_characters for range in @range_sprites next if range == nil range.update end for range in $distanza next if range == nil if range.draw == false @range_sprites.push(Sprite_Character.new(@viewport1,range)) range.draw = true end if range.destroy == true $distanza.delete(range) range.character_name = "" end end end def dispose for range in @range_sprites next if range == nil range.dispose end shuu_bubblebs_dispose end end class Scene_Map < Scene_Base alias shuu_bubble_update update def update for range in $distanza next if range == nil range.update end shuu_bubble_update end end class Game_Character attr_accessor :damage attr_accessor :specialtext alias shuu_abs2_initialize initialize def initialize shuu_abs2_initialize @damage = nil @specialtext = nil end end class Sprite_Base #~ alias animation animation_set_sprites #~ def animation_set_sprites(frame) #~ cell_data = frame.cell_data #~ for i in 0..15 #~ sprite = @animation_sprites[i] #~ next if sprite == nil #~ pattern = cell_data[i, 0] #~ if pattern == nil or pattern == -1 #~ sprite.visible = false #~ next #~ end #~ if pattern < 100 #~ sprite.bitmap = @animation_bitmap1 #~ else #~ sprite.bitmap = @animation_bitmap2 #~ end #~ sprite.visible = true #~ sprite.src_rect.set(pattern % 5 * 192, #~ pattern % 100 / 5 * 192, 192, 192) #~ if @animation_mirror #~ sprite.x = @animation_ox - cell_data[i, 1] / 2 #~ sprite.y = @animation_oy - cell_data[i, 2] / 2 #~ sprite.angle = (360 - cell_data[i, 4]) #~ sprite.mirror = (cell_data[i, 5] == 0) #~ else #~ sprite.x = @animation_ox + cell_data[i, 1] / 2 #~ sprite.y = @animation_oy + cell_data[i, 2] / 2 #~ sprite.angle = cell_data[i, 4] #~ sprite.mirror = (cell_data[i, 5] == 1) #~ end #~ sprite.z = self.z + 300 #~ sprite.ox = 96 #~ sprite.oy = 96 #~ sprite.zoom_x = cell_data[i, 3] / 200.0 #~ sprite.zoom_y = cell_data[i, 3] / 200.0 #~ sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 #~ sprite.blend_type = cell_data[i, 7] #~ end #~ end end class Sprite_Character < Sprite_Base alias shuu_abs2_sprch_update update alias shuu_abs2_sprch_dispose dispose def initialize(viewport, character = nil) super(viewport) @character = character @balloon_duration = 0 @_damage_duration = 0 @last_hp = 0 @hpbar_duration = 0 update end def update super if @hpbar_duration > 0 @hpbar_duration -=1 @hpbar_sprite.x = self.x if @hpbar_sprite != nil @hpbar_sprite.y = self.y - self.oy / 2 - 40 if @hpbar_sprite != nil if @hpbar_duration <= 0 or @_damage_duration > 0 dispose_hpbar end end if @character != nil and @character.is_a?(Game_Player) and @last_hp > ($game_party.members[0]).hp hpbar end @last_hp = ($game_party.members[0]).hp if @_damage_duration > 0 @_damage_duration -=1 @_damage_sprite.x = self.x if @_damage_duration <= 0 dispose_damage end end if @character != nil and @character.damage != nil damage(@character.damage) @character.damage = nil end shuu_abs2_sprch_update end def dispose shuu_abs2_sprch_dispose dispose_damage dispose_hpbar end def hpbar dispose_hpbar @hpbar_duration = 120 bitmap = Bitmap.new(160, 48) gw = 30 * ($game_party.members[0]).hp / ($game_party.members[0]).mhp gc1 = Color.new(224,128,64) gc2 = Color.new(240,192,64) gbc = Color.new(32,32,64) bitmap.fill_rect(65, 34, 30, 4, gbc) bitmap.gradient_fill_rect(65, 34, gw, 4, gc1, gc2) @hpbar_sprite = ::Sprite.new(self.viewport) @hpbar_sprite.bitmap = bitmap @hpbar_sprite.ox = 80 @hpbar_sprite.oy = 20 @hpbar_sprite.x = self.x @hpbar_sprite.y = self.y - self.oy / 2 - 40 @hpbar_sprite.z += 99990 end def damage(value) dispose_damage if value.is_a?(Numeric) damage_string = value.abs.to_s @_damage_duration = 30 else damage_string = value.to_s @_damage_duration = 60 end bitmap = Bitmap.new(160, 48) bitmap.font.name = "Arial" bitmap.font.size = 20 bitmap.font.bold = true if value.is_a?(Numeric) and value <= 0 bitmap.font.color.set(255, 255, 128) else bitmap.font.color.set(255, 255, 255) end bitmap.draw_text(1, 13, 160, 36, damage_string, 1) bitmap.draw_text(0, 12, 160, 36, damage_string, 1) @_damage_sprite = ::Sprite.new(self.viewport) @_damage_sprite.bitmap = bitmap @_damage_sprite.ox = 80 @_damage_sprite.oy = 20 @_damage_sprite.x = self.x @_damage_sprite.y = self.y - self.oy / 2 - 40 @_damage_sprite.z += 99999 end def dispose_damage if @_damage_sprite != nil @_damage_sprite.dispose @_damage_sprite = nil end end def dispose_hpbar if @hpbar_sprite != nil @hpbar_sprite.dispose @hpbar_sprite = nil end end end ~ Retrolexip Edited January 16, 2015 by Retrolexip ~ Lex, l'amichevole omino pixelloso di quartiere! Link to comment Share on other sites More sharing options...
Guardian of Irael Posted January 16, 2015 Share Posted January 16, 2015 Shuuchan ;____ ; Comunque ottimo per il porting, abbiamo quel semplice e nostrano BS anche per ACE ora.^ ^ (\_/)(^ ^) <----coniglietto rosso, me! (> <) Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^ http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^ http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^ REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.Bozze vesti non definitive qui.Equipaggiamento:Indossa:60$ e 59$ divisi in due tasche interneLevaitanSpada a due mani elsa lungaGuanti del Defender (2PA)Anello del linguaggio animale (diventato del Richiamo)Scrinieri da lanciere (2 PA)Elmo del Leone (5 PA)Corazza del Leone in Ferro Corrazzato (7 PA) ZAINO (20) contenente:Portamonete in pelle di cinghiale contenente: 100$Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
Omivino Posted February 22, 2015 Share Posted February 22, 2015 Lo script che shu fece per meeeeeeeeeeee!Era un caldo pomeriggio d'estate sul forum di legend e dissi a shu che mi sarebbe piaciuto che il personaggio sparasse energia ai nemici senza tanti fronzoli.Tempo un ora e mi aveva già fatto lo script! :wub:Bravo retro, bravo bravo bravo :wub: http://i19.servimg.com/u/f19/18/56/59/72/lohett10.pngPurapallex PurapallexPurapallex Purapallex!!! Link to comment Share on other sites More sharing options...
Nerghray Posted May 27, 2015 Share Posted May 27, 2015 è uno script divertente... sto provandolo ma noto una cosa: se faccio una mappa e imposto dei nemici non riesco a trovare un modo per attivare switch o eventi a scontro terminato. È una funzione che manca allo script o sono io? :) spero qualcuno possa delucidarmi :) Link to comment Share on other sites More sharing options...
Retrolexip Posted May 31, 2015 Author Share Posted May 31, 2015 (edited) è uno script divertente... sto provandolo ma noto una cosa: se faccio una mappa e imposto dei nemici non riesco a trovare un modo per attivare switch o eventi a scontro terminato. È una funzione che manca allo script o sono io? :) spero qualcuno possa delucidarmi :)Purtroppo è una funzione che manca. Questo BS è molto molto grezzo e si limita a dare la possibilità di interagire con degli eventi nemici. Edited May 31, 2015 by Retrolexip ~ Lex, l'amichevole omino pixelloso di quartiere! Link to comment Share on other sites More sharing options...
Nerghray Posted May 31, 2015 Share Posted May 31, 2015 Capisco :) grazie :) Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 31, 2015 Share Posted May 31, 2015 come mai c'è una parte di codice commentata e quindi impossibile da usare? Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
Guardian of Irael Posted May 31, 2015 Share Posted May 31, 2015 Probabilmente col passaggio ad ACE non serviva quella parte, ti dà errori? ^ ^ (\_/)(^ ^) <----coniglietto rosso, me! (> <) Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^ http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^ http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^ REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^ 🖤http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3http://i.imgur.com/MpaUphY.jpg by Idriu E:3Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44) http://i.imgur.com/PgUqHPm.pngUfficiale"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.pngGrazie Testament XD Fan n°1 ufficiale di PQ! :DVivail Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che nonavevo programmi di grafica per fare un banner su questo pc XD (ora ho dinuovo il mio PC veramente :D) Rosso Guardiano dellahttp://i.imgur.com/Os5rvhx.pngRpg2s RPG BY FORUM:Nome: Darth Reveal PV totali 2PA totali 16Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.Bozze vesti non definitive qui.Equipaggiamento:Indossa:60$ e 59$ divisi in due tasche interneLevaitanSpada a due mani elsa lungaGuanti del Defender (2PA)Anello del linguaggio animale (diventato del Richiamo)Scrinieri da lanciere (2 PA)Elmo del Leone (5 PA)Corazza del Leone in Ferro Corrazzato (7 PA) ZAINO (20) contenente:Portamonete in pelle di cinghiale contenente: 100$Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)CordaBottiglia di idromeleForma di formaggioTorcia (serve ad illuminare, dura tre settori)Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)Ampolla BiancaSemi di Balissa CAVALLO NORMALE + SELLA (30 +2 armi) contentente:66$Benda di pronto soccorso x3Spada a due maniFagotto per Adara (fazzoletto ricamato) Link to comment Share on other sites More sharing options...
Retrolexip Posted May 31, 2015 Author Share Posted May 31, 2015 come mai c'è una parte di codice commentata e quindi impossibile da usare?Quella parte commentata, come funzionalità, è praticamente identica a quella dello script che c'è di default.Solo che le variabili in ACE hanno nomi diversi, quindi quella parte di script l'ho commentata. (In realtà si poteva eliminare, però non si è mai troppo prudenti. :P) ~ Lex, l'amichevole omino pixelloso di quartiere! Link to comment Share on other sites More sharing options...
KenzaMe92 Posted May 31, 2015 Share Posted May 31, 2015 capito, probabilmente gli darò un occhio appena avrò un po' di tempo e vedrò se si può scommentare facendola funzionare. Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
Nerghray Posted June 17, 2015 Share Posted June 17, 2015 Piccola richiesta: con questo script gli eventi 'nemici' quando vengono uccisi/distrutti hanno un tempo di sparizione di circa un secondo, durante il quale continuano ad ostacolare la passabilità per il player. Qualcuno saprebbe dirmi se è possibile annullare o velocizzare questo fadeout e, se si, a quale riga? Grazie :) Link to comment Share on other sites More sharing options...
KenzaMe92 Posted June 18, 2015 Share Posted June 18, 2015 Piccola richiesta: con questo script gli eventi 'nemici' quando vengono uccisi/distrutti hanno un tempo di sparizione di circa un secondo, durante il quale continuano ad ostacolare la passabilità per il player. Qualcuno saprebbe dirmi se è possibile annullare o velocizzare questo fadeout e, se si, a quale riga? Grazie :)non ho provato, perchè non mi va Game.exe, per altri motivi (VC++), prova così: #=============================================================================== # ** BUBBLE BS Ace #------------------------------------------------------------------------------- # di Shuuchan # su suggerimento di Omivino # convertito da Retrolexip # versione B1.0 # basata su versione 1.1 del 31-01-2009 # 16-01-2015 # RGSS3 / RPG Maker VX Ace #------------------------------------------------------------------------------- #=============================================================================== # .--** ISTRUZIONI **--. #------------------------------------------------------------------------------- # 1) Copiare lo script sotto "Materials", o appena sopra "Main" nello Script # Editor. # 2) Copiare/importare il file immagine PNG "Energy Ball" nella cartella # "Graphics/Characters" del proprio progetto. # 3) Regolare le Impostazioni Generali. #------------------------------------------------------------------------------- # ** PER CREARE UN NEMICO ** #------------------------------------------------------------------------------- # 1) Creare un Nuovo Evento. # 2) Inserire la Grafica del character, e impostare le Opzioni Movimento # preferite (in un nemico "serio" di solito il movimento è "Vicino", ovvero # il nemico si muove in direzione dell'Eroe. Ma si possono creare anche # nemici con movimento personalizzato, o fissi, come delle Trappole). # 3) Inserire nella casella "Nome:" (in alto a sinistra nell'editor dell'evento) # le opzioni per creare il nemico. Le opzioni sono le seguenti: # # .enemy --> l'evento viene considerato un nemico, e perciò può essere # attaccato e distrutto dalle sfere sparate dall'Eroe. # Un evento senza .enemy nel Nome sarà ignorato dal BS, e # considerato solo un ostacolo. # da .01 a .99 --> indica il numero di sfere necessarie per uccidere il # nemico. ATTENZIONE: il numero deve essere SEMPRE A DUE # CIFRE. Per i numeri minori di 10 inserire uno 0 davanti # (perciò 5 sarà da scrivere .05). # .noatt --> il nemico può essere distrutto, ma NON attacca (opzione # utile per creare oggetti da distruggere). # # ATTENZIONE: ricordarsi sempre di scrivere il . davanti all'opzione desiderata. # # Quindi, per esempio, un nemico da uccidere in 2 colpi, avrà nel Nome: # # .enemy.02 # # Oppure, un "nemico" che non attacca da uccidere in 12 colpi, per esempio una # "porta" da sfondare con le sfere, avrà scritto nel Nome: # # .enemy.12.noatt # #------------------------------------------------------------------------------- # ** PER ATTACCARE CON UNA SFERA #------------------------------------------------------------------------------- # Premere il Tasto D sulla tastiera all'interno di una mappa. Dall'Eroe # scaturirà una sfera. # Attenzione: se lo Switch che attiva il BS è OFF (vedi Impostazioni Generali # qui sotto), sia l'Eroe che i nemici NON spareranno sfere. #------------------------------------------------------------------------------- module Shuu_Bubble #=============================================================================== # .--** IMPOSTAZIONI GENERALI **--. #------------------------------------------------------------------------------- ID_SWITCH_BUBBLE_BS = 1 # Id dello switch che permette di attivare il # Bubble BS. Se lo switch è ON è possibile # utilizzare il BS, altrimenti è disattivato. #------------------------------------------------------------------------------- SE_MORTE = "Audio/SE/Collapse1" # Nome del file Audio utilizzato alla morte # di un nemico (SE, effetto sonoro). #------------------------------------------------------------------------------- SE_SFERA = "Audio/SE/Wind7" # Nome del file Audio usato quando viene # "sparata" una sfera. #------------------------------------------------------------------------------- INDICE_SFERA_EROE = 0 # Da 0 a 7, indice della sfera sparata # dall'Eroe (da scegliere nel file PNG # "Energy Ball": 0 è il primo chara in alto # a sinistra, 1 è il chara immediatamente # alla sua destra, e così via fino al 7, che # è l'ultimo chara in basso a destra). #------------------------------------------------------------------------------- INDICE_SFERA_NEMICI = 1 # Da 0 a 7, indice della sfera sparata # dai nemici (da scegliere anche questo nel # file PNG "Energy Ball"). #------------------------------------------------------------------------------- VELOCITA = 5 # Da 2 a 7, velocità delle sfere sparate sia # dall'Eroe che dai nemici. #------------------------------------------------------------------------------- DISTANZA = 7 # Da 1 a 16 (consigliato: 7), distanza # massima a cui possono giungere le sfere # sparate da Eroe e nemici. #------------------------------------------------------------------------------- MOLT_EXP = 2 # Da 1 a 5 (consigliato: 2), indica la # il "grado" di Punti Esperienza guadagnati # all'uccisione di un nemico: maggiore sarà # il numero, maggiori gli EXP ottenuti. #------------------------------------------------------------------------------- ANIM_LEVEL_UP = 37 # Id dell'Animzaione usata quando l'Eroe # sale di Livello (da scegliere tra le # Animazioni in Database --> Animazioni). #------------------------------------------------------------------------------- ANIM_SFERA = 14 # Id dell'Animazione usata quando una sfera # colpisce un bersaglio (anche questa da # scegliere tra le Animazioni del Database). #------------------------------------------------------------------------------- MOLT_DANNO_NEMICI = 20 # Da 1 a 100 (consigliato: 20), indica il # "grado" di danni ai PV subiti dall'Eroe # quando viene colpito da una sfera: maggiore # sarà il numero, maggiori i danni. #------------------------------------------------------------------------------- TEMPO_ATTACCO_EROE = 30 # Indica il tempo di attacco (ovvero il tempo # minimo per il lancio di due sfere # consecutive) dell'Eroe. 60 = 1 secondo #------------------------------------------------------------------------------- TEMPO_ATTACCO_NEMICI = 30 # Indica il tempo di attacco dei nemici. #=============================================================================== # .--** FINE IMPOSTAZIONI **--. #=============================================================================== end class Game_Map attr_accessor :nemici alias shuu_bubble_initialize initialize alias shuu_bubble_setup_events setup_events def initialize shuu_bubble_initialize @nemici = [] end def setup_events shuu_bubble_setup_events @nemici.clear for evento in @events.values next if evento == nil if evento.nome.include?(".enemy") @nemici.push(evento) end end end end class Game_Actor def change_exp(exp, show) @exp[@class_id] = [exp, 0].max last_level = @level last_skills = skills level_up while !max_level? && self.exp >= next_level_exp level_down while self.exp < current_level_exp #display_level_up(skills - last_skills) if show && @level > last_level if show and @level > last_level and SceneManager.scene_is?(Scene_Map) $game_player.animation_id = Shuu_Bubble::ANIM_LEVEL_UP $game_player.damage = "Level Up!" end refresh end end class Game_Character def move_type_toward_player sx = @x - $game_player.x sy = @y - $game_player.y if sx.abs + sy.abs >= 12 # modifica Move Approach by Shuuchan move_random elsif sx.abs + sy.abs <= 4 move_toward_player else case rand(12) when 0..9; move_toward_player when 10; move_random when 11; move_forward end end end end class Game_Player < Game_Character attr_accessor :tempo_attacco alias shuu_bubblebs_initialize initialize alias shuu_bubblebs_update update def initialize shuu_bubblebs_initialize @tempo_attacco = 0 end def update shuu_bubblebs_update @actor = $game_party.members[0] SceneManager.goto(Scene_Gameover) if @actor.hp <= 0 @tempo_attacco -= 1 if @tempo_attacco > 0 if $game_switches[Shuu_Bubble::ID_SWITCH_BUBBLE_BS] == true if Input.trigger?(Input::Z) and @tempo_attacco <= 0 @tempo_attacco = Shuu_Bubble::TEMPO_ATTACCO_EROE - @actor.level*2 @tempo_attacco = 30 if @tempo_attacco < 30 Audio.se_play(Shuu_Bubble::SE_SFERA) indice = Shuu_Bubble::INDICE_SFERA_EROE $distanza.push(Game_Distanza.new($game_player, indice)) end end end end class Game_Event < Game_Character attr_accessor :per_morire attr_accessor :nome attr_accessor :morto attr_accessor :hp attr_accessor :esperienza attr_accessor :original_hp attr_accessor :tempo_attacco attr_accessor :wait_count alias shuu_bubble_initialize initialize alias shuu_bubble_update update def initialize(map_id, event) shuu_bubble_initialize(map_id, event) @nome = @event.name @morto = false @per_morire = 0 @hp = 1 @esperienza = 0 @tempo_attacco = 0 if @nome.include?(".enemy") for i in 1..99 sbstr = "." sbstr += "0" if i < 10 sbstr += i.to_s if @nome.include?(sbstr) hp_nemico = (sbstr.slice(1,2)).to_i break end end if hp_nemico.is_a?(Numeric) @original_hp = hp_nemico @hp = hp_nemico @tempo_attacco = Shuu_Bubble::TEMPO_ATTACCO_NEMICI @esperienza += @hp*(($game_party.members[0]).level)*Shuu_Bubble::MOLT_EXP end end end def attacca_pg Audio.se_play(Shuu_Bubble::SE_SFERA) indice = Shuu_Bubble::INDICE_SFERA_NEMICI $distanza.push(Game_Distanza.new(self, indice)) end def update shuu_bubble_update if $game_switches[Shuu_Bubble::ID_SWITCH_BUBBLE_BS] == true if @hp <= 0 and not @morto Audio.se_play(Shuu_Bubble::SE_MORTE, 80) @morto = true ($game_party.members[0]).gain_exp(@esperienza) #~ @per_morire = 255 lock end #~ if @per_morire != 0 and @morto #~ @per_morire -= 4 #~ @per_morire = 0 if @per_morire < 0 #~ @opacity = @per_morire #~ end if @morto # era: @per_morire == 0 and @morto erase end if not @morto if @nome.include?(".enemy") and not @nome.include?(".noatt") sx = @x - $game_player.x sy = @y - $game_player.y @tempo_attacco -= 1 if @tempo_attacco > 0 and (sx.abs + sy.abs <= 12) and @wait_count <= 0 @wait_count -= 1 if @wait_count > 0 if @tempo_attacco <= 0 if sx.abs + sy.abs <= 12 and @wait_count <= 0 @tempo_attacco = Shuu_Bubble::TEMPO_ATTACCO_NEMICI - @original_hp*4 @tempo_attacco = 100 if @tempo_attacco < 100 attacca_pg end end end end end end end module DataManager class << self alias shuu_bubble_game_objects create_game_objects alias shuu_bubble_write make_save_contents alias shuu_bubble_read extract_save_contents end def self.create_game_objects shuu_bubble_game_objects $distanza = [] end def self.make_save_contents contents = shuu_bubble_write contents[:distanza] = $distanza contents end def self.extract_save_contents(contents) shuu_bubble_read(contents) $distanza = contents[:distanza] end end class Game_Distanza < Game_Character attr_accessor :draw attr_accessor :destroy attr_accessor :character_name def initialize(parent,chara_index=0,speed=4,range=0) super() @parent = parent @character_name = "Energy Ball" @character_index = chara_index @move_speed = Shuu_Bubble::VELOCITA @range = Shuu_Bubble::DISTANZA @step = 0 pd = @parent.direction moveto(@parent.x,@parent.y) set_direction(pd) @destroy = false @draw = false end def update super return @destroy = true if @step >= @range move_route check_event_trigger_touch(@x, @y) end def move_route return unless movable? d = @direction move_straight(d) @step += 1 end def movable? return false if moving? return false if @move_route_forcing return true end def check_event_trigger_touch(x, y) return if @destroy if @parent.is_a?(Game_Player) for nemico in $game_map.nemici if nemico.x == x and nemico.y == y and not nemico.morto nemico.animation_id = Shuu_Bubble::ANIM_SFERA colpisci_nemico(nemico) end end else if $game_player.x == x and $game_player.y == y $game_player.animation_id = Shuu_Bubble::ANIM_SFERA colpisci_eroe(@parent) end end end def colpisci_nemico(bersaglio) @destroy = true bersaglio.jump(0,0) danno = 1 bersaglio.hp -= danno bersaglio.wait_count = 60 end def colpisci_eroe(source) @destroy = true $game_player.jump(0,0) colpo = rand(5 + ($game_party.members[0]).level) + (Shuu_Bubble::MOLT_DANNO_NEMICI*($game_party.members[0]).level)/3 danno = ((source.original_hp)*Shuu_Bubble::MOLT_DANNO_NEMICI) - ((($game_party.members[0]).def)) + colpo danno = 1 if danno <= 0 ($game_party.members[0]).hp -= danno end end class Spriteset_Map alias shuu_bubblebs_create_characters create_characters alias shuu_bubblebs_update_characters update_characters alias shuu_bubblebs_dispose dispose def create_characters @range_sprites = [] for range in $distanza next if range == nil @range_sprites.push(Sprite_Character.new(@viewport1,range)) end shuu_bubblebs_create_characters end def update_characters shuu_bubblebs_update_characters for range in @range_sprites next if range == nil range.update end for range in $distanza next if range == nil if range.draw == false @range_sprites.push(Sprite_Character.new(@viewport1,range)) range.draw = true end if range.destroy == true $distanza.delete(range) range.character_name = "" end end end def dispose for range in @range_sprites next if range == nil range.dispose end shuu_bubblebs_dispose end end class Scene_Map < Scene_Base alias shuu_bubble_update update def update for range in $distanza next if range == nil range.update end shuu_bubble_update end end class Game_Character attr_accessor :damage attr_accessor :specialtext alias shuu_abs2_initialize initialize def initialize shuu_abs2_initialize @damage = nil @specialtext = nil end end class Sprite_Base #~ alias animation animation_set_sprites #~ def animation_set_sprites(frame) #~ cell_data = frame.cell_data #~ for i in 0..15 #~ sprite = @animation_sprites[i] #~ next if sprite == nil #~ pattern = cell_data[i, 0] #~ if pattern == nil or pattern == -1 #~ sprite.visible = false #~ next #~ end #~ if pattern < 100 #~ sprite.bitmap = @animation_bitmap1 #~ else #~ sprite.bitmap = @animation_bitmap2 #~ end #~ sprite.visible = true #~ sprite.src_rect.set(pattern % 5 * 192, #~ pattern % 100 / 5 * 192, 192, 192) #~ if @animation_mirror #~ sprite.x = @animation_ox - cell_data[i, 1] / 2 #~ sprite.y = @animation_oy - cell_data[i, 2] / 2 #~ sprite.angle = (360 - cell_data[i, 4]) #~ sprite.mirror = (cell_data[i, 5] == 0) #~ else #~ sprite.x = @animation_ox + cell_data[i, 1] / 2 #~ sprite.y = @animation_oy + cell_data[i, 2] / 2 #~ sprite.angle = cell_data[i, 4] #~ sprite.mirror = (cell_data[i, 5] == 1) #~ end #~ sprite.z = self.z + 300 #~ sprite.ox = 96 #~ sprite.oy = 96 #~ sprite.zoom_x = cell_data[i, 3] / 200.0 #~ sprite.zoom_y = cell_data[i, 3] / 200.0 #~ sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 #~ sprite.blend_type = cell_data[i, 7] #~ end #~ end end class Sprite_Character < Sprite_Base alias shuu_abs2_sprch_update update alias shuu_abs2_sprch_dispose dispose def initialize(viewport, character = nil) super(viewport) @character = character @balloon_duration = 0 @_damage_duration = 0 @last_hp = 0 @hpbar_duration = 0 update end def update super if @hpbar_duration > 0 @hpbar_duration -=1 @hpbar_sprite.x = self.x if @hpbar_sprite != nil @hpbar_sprite.y = self.y - self.oy / 2 - 40 if @hpbar_sprite != nil if @hpbar_duration <= 0 or @_damage_duration > 0 dispose_hpbar end end if @character != nil and @character.is_a?(Game_Player) and @last_hp > ($game_party.members[0]).hp hpbar end @last_hp = ($game_party.members[0]).hp if @_damage_duration > 0 @_damage_duration -=1 @_damage_sprite.x = self.x if @_damage_duration <= 0 dispose_damage end end if @character != nil and @character.damage != nil damage(@character.damage) @character.damage = nil end shuu_abs2_sprch_update end def dispose shuu_abs2_sprch_dispose dispose_damage dispose_hpbar end def hpbar dispose_hpbar @hpbar_duration = 120 bitmap = Bitmap.new(160, 48) gw = 30 * ($game_party.members[0]).hp / ($game_party.members[0]).mhp gc1 = Color.new(224,128,64) gc2 = Color.new(240,192,64) gbc = Color.new(32,32,64) bitmap.fill_rect(65, 34, 30, 4, gbc) bitmap.gradient_fill_rect(65, 34, gw, 4, gc1, gc2) @hpbar_sprite = ::Sprite.new(self.viewport) @hpbar_sprite.bitmap = bitmap @hpbar_sprite.ox = 80 @hpbar_sprite.oy = 20 @hpbar_sprite.x = self.x @hpbar_sprite.y = self.y - self.oy / 2 - 40 @hpbar_sprite.z += 99990 end def damage(value) dispose_damage if value.is_a?(Numeric) damage_string = value.abs.to_s @_damage_duration = 30 else damage_string = value.to_s @_damage_duration = 60 end bitmap = Bitmap.new(160, 48) bitmap.font.name = "Arial" bitmap.font.size = 20 bitmap.font.bold = true if value.is_a?(Numeric) and value <= 0 bitmap.font.color.set(255, 255, 128) else bitmap.font.color.set(255, 255, 255) end bitmap.draw_text(1, 13, 160, 36, damage_string, 1) bitmap.draw_text(0, 12, 160, 36, damage_string, 1) @_damage_sprite = ::Sprite.new(self.viewport) @_damage_sprite.bitmap = bitmap @_damage_sprite.ox = 80 @_damage_sprite.oy = 20 @_damage_sprite.x = self.x @_damage_sprite.y = self.y - self.oy / 2 - 40 @_damage_sprite.z += 99999 end def dispose_damage if @_damage_sprite != nil @_damage_sprite.dispose @_damage_sprite = nil end end def dispose_hpbar if @hpbar_sprite != nil @hpbar_sprite.dispose @hpbar_sprite = nil end end end Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
Nerghray Posted June 18, 2015 Share Posted June 18, 2015 Devo sovrascrivere lo Script con questo quindi? Link to comment Share on other sites More sharing options...
KenzaMe92 Posted June 18, 2015 Share Posted June 18, 2015 si Nuovi progetti: Script: KZM - MZ Engine (solo core e party per ora) KZM - MV Core KZM - Engine Ace Tutorial Tutorial Uso Variabili per Gestione Opacità Finestre Pocket Quest! by Testament Spoiler da guardare se vi interessano Progetti in corso Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza |||||||||||||||||||| 10% Restart imminente Avanzamento Undead |||||||||||||||||||| 15% Avanzamento Le Cronache di Arshes - La Storia Continua |||||||||||||||||||| 20% Restart Imminente Adozioni... (\__/) ( ^^ ) (< >) Screen Contests MANIFESTO DEL MAKING ITALIANO SALVIAMO IL MAKING ITALIANO!! Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k). Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!! Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!! Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!? BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!! Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero! Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!! Come allegare immagini al forum Bottega Rise of The Hero Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now