Jump to content
Rpg²S Forum

*Decorable House


Recommended Posts

Decorable House

Descrizione

Lo script permette di poter posizionare degli elementi all'interno delle proprie mappe cosi da personalizzarle, può inoltre essere associato a ciascuna decorazione più di un evento.

Lo script è fornito insieme ad un programma appositamente realizzato per poterlo configurare più comodamente,

il programma richiede il .Net Framework 2.0 o superiore.



Autore

The Sleeping Leonhart



Demo



Script

#==============================================================================# ** Decorable House#------------------------------------------------------------------------------#  Autore: The Sleeping Leonhart#  Versione: 1.1#  Data di rilascio: 01/06/2010#------------------------------------------------------------------------------#  Descrzione:#    Questo script permette di personalizzare la propria casa aggiungendo#    oggetti decorativi.#------------------------------------------------------------------------------#  Versione:#    1.0 (06/02/2009): Versione Base.#    1.1 (01/06/2010): Aggiunto il supporto al DHConfig.exe.#------------------------------------------------------------------------------#  Istruzioni:#    Per personalizzare lo script andate nella sezione Configurazione.#    Per creare nuovi elementi per la casa e per impostare i tile usare il#    programma DHConfig.exe.#============================================================================== #==============================================================================#  Configurazione#=============================================================================module Decorable_House  #=========================================================================  #  Decorable_House: Imposta le case che possono essere decorate.  #-------------------------------------------------------------------------  #  Sintassi:  #    Decorable_House = [map_id, ...]  #  Parametri:  #    map_id: id della mappa su cui possono essere effettuate modifiche.  #=========================================================================  Decorable_House = [2]  #=========================================================================  #  EventSource: Imposta la mappa da cui saranno presi gli eventi.  #-------------------------------------------------------------------------  #  Sintassi:  #    EventSource = map_id  #  Parametri:  #    map_id: id della mappa da cui sono presi gli eventi.  #=========================================================================  EventSource = 1  #=========================================================================  #  Event: Imposta gli eventi associabili agli elementi per la casa.  #-------------------------------------------------------------------------  #  Sintassi:  #    Event = { tileset_id => {item => {[x, y] => event_id, ...}, ...}, ...}  #  Parametri:  #    tileset_id: id del tileset da cui prendere gli elementi.  #    item: nome dell'oggetto decorativio a cui associare l'oggetto.  #    x: coordinata x, partendo da 0, relativa all'oggetto nella quale verra  #       posizionato l'oggetto.  #    y: coordinata y, partendo da 0, relativa all'oggetto nella quale verra  #       posizionato l'oggetto.  #    event_id: id dell'evento associato all'oggetto.  #=========================================================================  Event = {           12 => {           "Camino" => {[1, 1] => 1}, #Fuoco per il camino           "Letto" => {[0, 1] => 2}   #Coperta per il letto           }          }   Event.default = {}end #==============================================================================# ** DHConfig#------------------------------------------------------------------------------# Stuttura di dati che contiene le informazioni dei tiles.#==============================================================================class DHConfig  attr_accessor :terrainTag  attr_accessor :passability  attr_accessor :level   def initialize    @terrainTag = []    @passability = []    @level = []  endend #==============================================================================# ** DHElement#------------------------------------------------------------------------------# Stuttura di dati che contiene io dati relativi agli elementi decorativi#==============================================================================class DHElement  #--------------------------------------------------------------------------  # * Variabili d'istanza.  #--------------------------------------------------------------------------  attr_accessor :element  attr_accessor :name  #--------------------------------------------------------------------------  # * Inizializzazzione dell'oggetto.  #--------------------------------------------------------------------------  def initialize    @element = []      @name = []  endend #==============================================================================# ** Game_Party#------------------------------------------------------------------------------# Questa classe gestisce il party.# Include informazioni sull'oro e gli oggetti posseduti.#==============================================================================class Game_Party  #--------------------------------------------------------------------------  # * Variabili d'istanza.  #--------------------------------------------------------------------------  attr_accessor :decoration_gained  attr_accessor :decorated_house  attr_accessor :decorable_house  #--------------------------------------------------------------------------  # * Aliasing dei metodi.  #--------------------------------------------------------------------------  alias tsldcrblhs_gmprt_ntzlz initialize  #--------------------------------------------------------------------------  # * Inizializzazzione dell'oggetto.  #--------------------------------------------------------------------------  def initialize    tsldcrblhs_gmprt_ntzlz    @decoration_gained = {}    @decoration_gained.default = []    @decorated_house = {}    @decorated_house.default = [{}, {}]    @decorable_house = Decorable_House::Decorable_House  end  #--------------------------------------------------------------------------  # * Ottieni decorazioni.  #--------------------------------------------------------------------------  def gain_decoration(map_id, item, number = 1)    for i in 0...number      @decoration_gained[map_id].push(item)    end  endend #==============================================================================# ** Spriteset_Map#------------------------------------------------------------------------------# Questa classe contiene la schermata della mappa, sprites, tilemaps, etc.# Viene usata all'interno della classe Scene_Map.#==============================================================================class Spriteset_Map  #--------------------------------------------------------------------------  # * Variabili d'istanza.  #--------------------------------------------------------------------------  attr_accessor :tilemap  #--------------------------------------------------------------------------  # * Nasconde gli sprite degli eventi e dell'eroe.  #--------------------------------------------------------------------------  def hide_chara    for sprite in @character_sprites      sprite.visible = false    end  endend #==============================================================================# ** Scene_Title#------------------------------------------------------------------------------#  Questa classe gestisce la schermata del titolo.#==============================================================================class Scene_Title  #--------------------------------------------------------------------------  # * Aliasing dei metodi.  #--------------------------------------------------------------------------  alias tsldcrblhs_scnttl_mn main  #--------------------------------------------------------------------------  # * Caricamento dei dati del database.  #--------------------------------------------------------------------------  def main    file = File.open("Data/DHConf.rxdata", "rb")    $dh_config  = Marshal.load(file)    $dh_element = Marshal.load(file)    file.close    tsldcrblhs_scnttl_mn  endend #==============================================================================# ** Game_Map#------------------------------------------------------------------------------# Questa classe gestisce le mappe. Include lo scrolling e le funzioni per la # determinazione della passabilità.#==============================================================================class Game_Map  #--------------------------------------------------------------------------  # * Variabili d'istanza.  #--------------------------------------------------------------------------  attr_accessor :map  #--------------------------------------------------------------------------  # * Aliasing dei metodi.  #--------------------------------------------------------------------------  alias tsldcrblhs_gmmp_stp setup  #--------------------------------------------------------------------------  # * Impostazione iniziale della mappa.  #--------------------------------------------------------------------------  def setup(*args)    tsldcrblhs_gmmp_stp(*args)    if $game_party.decorable_house.include?(@map_id)      decorate_house    end  end  #--------------------------------------------------------------------------  # * Restituisce l'ID del tileset.  #--------------------------------------------------------------------------  def tileset_id    return @map.tileset_id  end  #--------------------------------------------------------------------------  # * Restituisce il terrain tag più alto.  #--------------------------------------------------------------------------  def dhterrain_tag(x, y)    m1 = $dh_config[tileset_id].terrainTag[@map.data[x, y, 0]]    m2 = $dh_config[tileset_id].terrainTag[@map.data[x, y, 1]]    m3 = $dh_config[tileset_id].terrainTag[@map.data[x, y, 2]]    return [[m1, m2].max, m3].max  end  #--------------------------------------------------------------------------  # * Applica le decorazioni alla mappa.  #--------------------------------------------------------------------------  def decorate_house    for i in 0..1      #Lista degli elementi posizionati      poselement = $game_party.decorated_house[@map_id][i]      for j in poselement.keys        #Decorazione da poszionare        element = $dh_element[tileset_id].element[poselement[j]]        next if element == nil        #Scorre gli elementi della decorazione        for k in 0...element.size          for l in 0...element[k].size            #Determina le coordinate e posiziona il tile            x = (j % @map.width) + k            y = (j / @map.width) + l            @map.data[x, y, 1 + i] = element[k][l]            #Determina se va posizionato un evento            if Decorable_House::Event[tileset_id][$dh_element[tileset_id].name[poselement[j]]] != nil && Decorable_House::Event[tileset_id][$dh_element[tileset_id].name[poselement[j]]][[k, l]] != nil              #Carica i dati della mappa da cui prendere l'evente e lo posiziona              map = load_data(sprintf("Data/Map%03d.rxdata", Decorable_House::EventSource))              name = "#{element}#{x}#{y}".to_i              event = map.events[Decorable_House::Event[tileset_id][$dh_element[tileset_id].name[poselement[j]]][[k, l]]]              event.id = name              @events[name] = Game_Event.new(@map_id, event)              @events[name].moveto(x, y)              end          end                  end      end    end  end  #--------------------------------------------------------------------------  # * Rimuove una decorazione.  #--------------------------------------------------------------------------  def delete_element(level, el, pos)    element = $dh_element[tileset_id].element[el]    #Scorre gli elementi della decorazione    for k in 0...element.size      for l in 0...element[k].size        #Determina le coordinate e cancella il tile        x = (pos % @map.width) + k        y = (pos / @map.width) + l        @map.data[x, y, 1 + level] = 0        #Determina se va eliminato un evento        if Decorable_House::Event[tileset_id][$dh_element[tileset_id].name[el]] != nil && Decorable_House::Event[tileset_id][$dh_element[tileset_id].name[el]][[k, l]] != nil          name = "#{element}#{x}#{y}".to_i          @events.delete(name)        end      end    end  endend class Window_PlacedDecoration < Window_Selectable  #--------------------------------------------------------------------------  # * Inizializzazzione dell'oggetto.  #--------------------------------------------------------------------------  def initialize(width, commands, row_max)    super(0, 0, width, [[row_max, commands.size].min * 32 + 32, 64].max)    @item_max = commands.size    @commands = commands    self.contents = Bitmap.new(width - 32, [@item_max * 32, 32].max)    refresh    self.index = 0  end  #--------------------------------------------------------------------------  # * Refresh  #--------------------------------------------------------------------------  def refresh    self.contents.clear    for i in 0...@item_max      draw_item(i)    end  end  #--------------------------------------------------------------------------  # * Disegna Oggetto  #--------------------------------------------------------------------------  def draw_item(index)    self.contents.font.color = normal_color    rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))    self.contents.draw_text(rect, @commands[index])  endend #==============================================================================# ** Window_PutDecoration#------------------------------------------------------------------------------# Finestra selezionabile vuota utilizzata per il posizionamento delle decorazioni.# Contiene tanti elementi selezionabili quanti sono i tile della mappa.#==============================================================================class Window_PutDecoration < Window_Selectable  #--------------------------------------------------------------------------  # * Inizializzazzione dell'oggetto.  #--------------------------------------------------------------------------  def initialize    super(-16, -16, 672, 512)    self.contents = Bitmap.new($game_map.width * 32, $game_map.height * 32)    @column_max = $game_map.width    @item_max = $game_map.width * $game_map.height    @sprite = Sprite.new    @op_count = 0    @sprite.z = self.z    self.visible = false    self.opacity = 0    self.index = 0    self.active = false  end  #--------------------------------------------------------------------------  # * Genera la grafica dell'elemento da posizionare.  #--------------------------------------------------------------------------  def gen_sprite(e)    return if e == nil    @sprite.bitmap.dispose if @sprite.bitmap != nil    element = $dh_element[$game_map.tileset_id].element[e]    max = 0    for i in 0...element.size      max = [max, element[i].size].max    end    @sprite.bitmap = Bitmap.new(element.size * 32, max * 32)    for i in 0...element.size      for j in 0...element[i].size        tile = RPG::Cache.tile($game_map.tileset_name, element[i][j], 0)        @sprite.bitmap.blt(i * 32, j * 32, tile, Rect.new(0, 0, tile.width, tile.height))      end    end  end  #--------------------------------------------------------------------------  # * Effettua il dispose della finstra.  #--------------------------------------------------------------------------  def dispose    super    @sprite.bitmap.dispose if @sprite.bitmap != nil    @sprite.dispose  end  #--------------------------------------------------------------------------  # * Aggiorna la finestra.  #--------------------------------------------------------------------------  def update    x = @index % @column_max * 32    y = @index / @column_max * 32        ix = x - ((320 * (@index % @column_max) / (@column_max / 2)) / 32) * 32    ix = 0 if ix < 0    self.ox = ix        iy = y - ((240 * (@index / @column_max) / ((@item_max / @column_max) / 2)) / 32) * 32    iy = 0 if ix < 0    self.oy = iy        @sprite.x = x - self.ox    @sprite.y = y - self.oy    @op_count = (@op_count + 1) % 32    if @op_count < 16      op = (16 - @op_count) * 6    else      op = (@op_count - 16) * 6    end        @sprite.opacity = 196 - op    @sprite.visible = self.visible    if self.active and @item_max > 0 and @index >= 0      if Input.repeat?(Input::DOWN)        cursor_down      elsif Input.repeat?(Input::UP)        cursor_up      elsif Input.repeat?(Input::RIGHT)        cursor_right      elsif Input.repeat?(Input::LEFT)        cursor_left      end    end  end   #--------------------------------------------------------------------------  # * Muove il cursore giu  #--------------------------------------------------------------------------  def cursor_down    if (@index < @item_max - @column_max)      sub = 0      sub = @sprite.bitmap.height / 32 if @sprite.bitmap != nil      @index = (@index + @column_max) % @item_max if @index / @column_max != @item_max / @column_max - sub    end  end  #--------------------------------------------------------------------------  # * Muove il cursore su  #--------------------------------------------------------------------------  def cursor_up    if (@index > @column_max)       @index = @index - @column_max    end  end  #--------------------------------------------------------------------------  # * Muove il cursore a destra  #--------------------------------------------------------------------------  def cursor_right    if (@index < @item_max - 1)      sub = 0      sub = @sprite.bitmap.width / 32 if @sprite.bitmap != nil      @index = @index + 1 if @index % @column_max != @column_max  - sub    end  end  #--------------------------------------------------------------------------  # * Muove il cursore a sinistra  #--------------------------------------------------------------------------  def cursor_left    if (@index > 0)       @index = @index - 1 if @index % @column_max != 0    end  endend #==============================================================================# ** Window_DecorativeElement#------------------------------------------------------------------------------# Finestra che mostra la lista delle decorazioni possedute dal party.#==============================================================================class Window_DecorativeElement < Window_Selectable  #--------------------------------------------------------------------------  # * Inizializzazzione dell'oggetto.  #--------------------------------------------------------------------------  def initialize    super(0, 0, 128, 160)    @column_max = 1    @item_max = $game_party.decoration_gained[$game_map.map_id].size    self.contents = Bitmap.new(width - 32, [@item_max * 32, 32].max)    refresh    self.index = 0    self.visible = false    self.active = false  end  #--------------------------------------------------------------------------  # * Restituisce l'id della decorazione selezionata.  #--------------------------------------------------------------------------  def selected    for i in 0...$dh_element[$game_map.tileset_id].element.size      return i if $dh_element[$game_map.tileset_id].name[i] == @data[self.index]    end  end  #--------------------------------------------------------------------------  # * Effettua un refresh della finestra.  #--------------------------------------------------------------------------  def refresh    self.contents.clear    @data = []    @item_max = $game_party.decoration_gained[$game_map.map_id].size    self.height = [192, [@item_max * 32 + 32, 64].max].min    self.contents = Bitmap.new(width - 32, [@item_max * 32, 32].max)        for i in $game_party.decoration_gained[$game_map.map_id]      @data.push(i)    end    for i in 0...@data.size      draw_item(i)    end  end  #--------------------------------------------------------------------------  # * Disegna un elemento.  #--------------------------------------------------------------------------  def draw_item(i)    return if @data.size == 0    self.contents.draw_text(4, i * 32, 128, 32, @data[i])  endend #==============================================================================# ** Scene_Decorate#------------------------------------------------------------------------------# Scene che gestitsce l'intera operazione di decorazione della mappa.#==============================================================================class Scene_Decorate  #--------------------------------------------------------------------------  # * Metodo principale e d'ingresso alla scena.  #--------------------------------------------------------------------------  def main    #Imposta la mappa come sfondo e nasconde i chara    @map = Spriteset_Map.new    @map.hide_chara    #Inizializza alcuni elementi    @selected = []    $game_party.decoration_gained[$game_map.map_id].sort!        @level = 1    #Crea le finestre    @command = Window_Command.new(128, ["Aggiungi", "Muovi", "Rimuovi"])    @put = Window_PutDecoration.new    @elem = Window_DecorativeElement.new    draw_pla    @pla.active = false    @pla.visible = false    #Update principale    Graphics.transition    loop do      #Aggiorna grafica ed input e chiama il metodo update      Graphics.update      Input.update      update      #Se la scena è nulla esce dal ciclo      if $scene != self        break      end    end    Graphics.freeze    #Effettua il dispose degli elementi grafici    @command.dispose    @put.dispose    @elem.dispose    @map.dispose    @pla.dispose  end    #--------------------------------------------------------------------------  # * Aggiorna finestre, sfondo ed in base alle finestre attive richiama  #   altri metodi di update.  #--------------------------------------------------------------------------  def update    @put.update    @elem.update    @command.update    @pla.update    @map.tilemap.ox = @put.ox if @put.ox != @map.tilemap.ox    @map.tilemap.oy = @put.oy if @put.oy != @map.tilemap.oy    if @command.active      update_command    elsif @elem.active      update_elem    elsif @put.active      update_put    elsif      update_pla    end      end  #--------------------------------------------------------------------------  # * Crea una finestra contenente la lista degli elementi posizionati.  #--------------------------------------------------------------------------  def draw_pla    value = []    for i in 0..1      for j in $game_party.decorated_house[$game_map.id][i].values        value.push($dh_element[$game_map.tileset_id].name[j])      end    end    @pla = Window_PlacedDecoration.new(128, value, 8)  end  #--------------------------------------------------------------------------  # * Calcola il numero di elemnti posizionati.  #--------------------------------------------------------------------------  def pla_size    value = []    for i in 0..1      for j in $game_party.decorated_house[$game_map.id][i].values        value.push($dh_element[$game_map.tileset_id].name[j])      end    end    return value.size  end  #--------------------------------------------------------------------------  # * Gestisce le azioni effettuabili dalla finestra dei comandi.  #--------------------------------------------------------------------------  def update_command    if Input.trigger?(Input::B)      $scene = Scene_Map.new      return    elsif Input.trigger?(Input::C)      case @command.index      when 0        @command.active = false        @command.visible = false        @elem.active = true        @elem.visible = true      when 1..2        return if pla_size == 0        @command.active = false        @command.visible = false        @pla.dispose        draw_pla        @pla.active = true        @pla.visible = true      end      return    end  end  #--------------------------------------------------------------------------  # * Gestisce le azioni effettuabili dalla finestra degli elementi piazzati.  #--------------------------------------------------------------------------  def update_pla    if Input.trigger?(Input::B)      @command.active = true      @command.visible = true      @pla.active = false      @pla.visible = false      return    elsif Input.trigger?(Input::C)      #Determina l'elemento selezionato      s = $game_party.decorated_house[$game_map.map_id][0].size      if @pla.index < s        @level = 0        @selected = [$game_party.decorated_house[$game_map.map_id][0].keys[@pla.index], $game_party.decorated_house[$game_map.map_id][0].values[@pla.index]]      else        @level = 1        @selected = [$game_party.decorated_house[$game_map.map_id][1].keys[@pla.index - s], $game_party.decorated_house[$game_map.map_id][1].values[@pla.index - s]]      end      @put.index = @selected[0]      #Rimuove l'elemento dalla mappa      $game_party.decorated_house[$game_map.map_id][@level].delete(@selected[0])      $game_map.delete_element(@level, @selected[1], @selected[0])      @level = 1      @pla.active = false      @pla.visible = false      @put.gen_sprite(@selected[1])      #Determina se l'elemento va mosso o eleminato      if @command.index == 1        @put.active = true        @put.visible = true      elsif @command.index == 2        @command.active = true        @command.visible = true        $game_party.decoration_gained[$game_map.map_id].push($dh_element[$game_map.tileset_id].name[@selected[1]])        $game_party.decoration_gained[$game_map.map_id].sort!        @elem.refresh      end      return    end  end  #--------------------------------------------------------------------------  # * Gestisce le azioni effettuabili dalla finestra degli elementi posseduti.  #--------------------------------------------------------------------------  def update_elem    if Input.trigger?(Input::B)      @command.active = true      @command.visible = true      @elem.active = false      @elem.visible = false      return    elsif Input.trigger?(Input::C) && $game_party.decoration_gained[$game_map.map_id].size > 0      @elem.active = false      @elem.visible = false      @put.active = true      @put.visible = true      @put.gen_sprite(@elem.selected)      return    end  end  #--------------------------------------------------------------------------  # * Gestisce le azioni effettuabili dalla finestra di posizionamento degli  # elementi.  #--------------------------------------------------------------------------  def update_put    if Input.trigger?(Input::B)      @put.active = false      @put.visible = false      #Se stava effettuando uno spostamento rimette l'elemento dove era      if @command.index == 1        $game_party.decorated_house[$game_map.map_id][@level][@selected[0]] = @selected[1]        $game_map.decorate_house        @command.active = true        @command.visible = true      elsif @command.index == 0        @elem.active = true        @elem.visible = true      end      return    elsif Input.trigger?(Input::C)      #Determina se l'elemento è posizionabile e sa sta venendo spostato o posizionato      if @command.index == 0 && puttable?(@elem.selected)        $game_party.decorated_house[$game_map.map_id][@level - 1][@put.index] = @elem.selected        $game_map.decorate_house        $game_party.decoration_gained[$game_map.map_id].delete_at(@elem.index)        @put.active = false        @put.visible = false        @elem.index = 0        @elem.refresh        @elem.active = true        @elem.visible = true        @level = 1      elsif @command.index == 1 && puttable?(@selected[1])         $game_party.decorated_house[$game_map.map_id][@level - 1][@put.index] = @selected[1]        $game_map.decorate_house        @put.active = false        @put.visible = false        draw_pla        @pla.active = true        @pla.visible = true        @level = 1      end    end  end  #--------------------------------------------------------------------------  # * Determina se l'elemento è posizionabile.  #--------------------------------------------------------------------------  def puttable?(el)    element = $dh_element[$game_map.tileset_id].element[el]    for i in 0...element.size      for j in 0...element[i].size        x = (@put.index % $game_map.width) + i        y = (@put.index / $game_map.width) + j        ter = $dh_config[$game_map.tileset_id].passability[element[i][j]]        return false unless ter.include?($game_map.dhterrain_tag(x, y))        if $game_map.map.data[x, y, @level] != 0          if $dh_config[$game_map.tileset_id].level.include?(element[i][j])            @level = 2            return false if $game_map.map.data[x, y, @level] != 0          else            return false          end        end      end    end        return true  endend



Istruzioni per l'uso

All'interno della demo è inserito un piccolo file di help in HTML che tenta di spiegare il funzionamento del programma.

Per personalizzare lo script andate nella sezione Configurazione.

Per creare nuovi elementi per la casa e per impostare i tile usare il programma DHConfig.exe.



Bugs e Conflitti Noti

Il programma non riscrive alcun metodo ma presenta alcuni aliasing che non dovrebbero interferire con altri script

Edited by Sleeping Leonhart
Link to comment
Share on other sites

Ottimo lavoro Sleeping! Provo subito :3

file di help in HTML che tenta di spiegare

XD

Continua a rimpinzarci di script :D

^ ^

 

EDIT: se metti un oggetto non passabile alle coordinate dell' eroe, questo non può più muoversi; logicamente è tanto per segnalare visto che comunque il cristallo rimane lì vicino e puoi rimuovere facilmente l' oggetto che ti ostacola i movimenti.

^ ^

(\_/)
(^ ^) <----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) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"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:3
Ricorda...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.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: 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 interne
Levaitan

Spada a due mani elsa lunga

Guanti 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)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Ma ci vuole una dll particolare?

 

EDIT : Ok,dopo aver risolto il problema della dll posso dirti che è un bello script,anche se non mi si leggono le scritte.(Font?)

Edited by Squall_Leonheart

Iscriviti sul mio canale youtube -

https://www.youtube.com/channel/UCYOxXExvlXiOFfYD1fTFpww?view_as=subscriber

Seguimi su Instagram -

https://www.instagram.com/ancestralguitarist/

---------------------------------------------------------------------------------------------------------------------------------------
Contest vinti
---------------------------------------------------------------------------------------------------------------------------------------

FACE CONTEST # 3
BANNER CONTEST #69

Link to comment
Share on other sites

Apri il file .rxproj con il blocco note e scrivi la tua versione al posto della sua =)

"Oh perché dobbiamo essere così, noi? – ci domandiamo talvolta allo specchio - con questa faccia, con questo corpo? – alziamo una mano, nell'incoscienza; e il gesto ci resta sospeso. Ci pare strano che l'abbiamo fatto noi. Ci vediamo vivere. […] In certi momenti di silenzio interiore, in cui l'anima nostra si spoglia di tutte le funzioni abituali, e gli occhi nostri diventano più acuti e più penetranti, noi vediamo noi stessi nella vita, e in se stessa la vita, quasi in una modalità arida, inquietante; ci sentiamo assaltare da una strana impressione, come se, in un baleno, ci si chiarisse una realtà diversa da quella che normalmente percepiamo, una realtà vivente oltre la vista umana, fuori delle forme dell'umana ragione." [L.P.]

 

http://img43.imageshack.us/img43/4231/vgmiud3f.png

 

 

http://rpg2s.net/gif/SCContest1Oct.gif http://www.rpg2s.net/img/fablecontest3rd.png http://rpg2s.net/gif/SCContest1Oct.gif

 

RPG by forum

 

 

 

 

 

 

 

 

 

 

http://img59.imageshack.us/img59/6/av2w.png

Nome: Erech (In elfico "lancia solitaria", da er (ereb) = "solitario" e ech = "lancia")

 

Età: 19

 

Razza: Umani

 

Descrizione: Erech è un ragazzo alto e slanciato, dalla corporatura tonica e scattante. Ha capelli lunghi e violacei come gli occhi che però sono spesso coperti in parte da un elegante cappello nero. Veste con uno stile classico, una camicetta bianca sotto una giacca nera e un fiocco al collo ornato con un'immancabile piuma azzurra. Gli piace leggere e scrivere e ama tradurre testi in lingue antiche.

 

Carattere: Il ragazzo ha un carattere chiuso e introverso, è di poche parole e preferisce i fatti alle parole. Non si relaziona spesso con i coetanei o se lo fa significa che si fida cecamente della persona che ha davanti; è diffidente e tende a non raccontare fatti del suo passato, belli o brutti che siano.

 

 

Link to comment
Share on other sites

Io scelgo il luogo dell'oggetto, premo INVIO e mi dà quell' errore lì.

L'altro caso è che avvio un salvataggio e mi viene fuori un altro errore : Errore di script'Decorable House' sulla linea 204 del tipo 'NoMethodError'

undefined method include?' for nil:NilClass

http://img14.imageshack.us/img14/9595/obbiettivogiocaconnoi.png
Link to comment
Share on other sites

Se il salvataggio è precedente all'inserimento dello script è normale l'errore altrimenti non so, ma stai usando la demo che ho postato o hai inserito lo script in un proggetto nuovo? comunque ora controllo bene ;)
Link to comment
Share on other sites

Allora: adesso il problema del salvataggio non c'è ma resta quello della collocazione degli oggetti.

Io ho inserito perfettamente e correttamente lo script e le parti del programma in un progetto nuovo.

http://img14.imageshack.us/img14/9595/obbiettivogiocaconnoi.png
Link to comment
Share on other sites

Domanda stupidotta prima che parto per la caccia al bug, hai creato qualche decorazione con il programma?

Perchè altrimenti non ti crea il file DHConfig.rxdata dentro Data e ti crasha.

Link to comment
Share on other sites

si le ho già fatte. Ma il file si deve chiamare per forza "DHConfig.rxdata" o si può chiamare anche "DHConf.rxdata"?
http://img14.imageshack.us/img14/9595/obbiettivogiocaconnoi.png
Link to comment
Share on other sites

No no si deve chiamare DHConf scusa :smile:

Comunque mi sono perso una stringa per strada che dovrebbe essere la causa per la quale ti da errore lo script,

Devi aggiungere nella configurazione, sotto

  Event = { blablabla....}

questo

  Event.default = {}

ed in teoria non dovrebbe piu darti errore, ora aggiorno lo script nel primo post e piu tardi la demo :sisi:

Link to comment
Share on other sites

Sleeping,i tuoi script sono sempre ben accetti,in quanto fantastici,uno capisce che sei bravo guardando anche il tuo gioco(Crystal Sanctuary).

PROGETTI IN CORSO:

 

http://img88.imageshack.us/img88/8484/bannerfirmabetatester.jpg

 

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

In chat il mio nickname sarà Aleks o Al, mi pento ancora di essermi messo il nick tamarro di Aliuzz.ç_ç

 

http://img571.imageshack.us/img571/6659/alicei.png

membro ufficiale fondatore n4 di mrfruffolobatuffolo

http://img717.imageshack.us/img717/4789/mrfruffolobanner.jpg

 

 

Rudo:

Ti ringrazio. Ci misi tutto me stesso diversi anni fa per realizzare CrystalQuest. Sebbene la mia visione sia cambiata con il passare del tempo, ci sono molti aspetti che manterrei se dovessi (per assurdo) realizzare una nuova avventura oggi.

 

Questo non accade tutti i giorni,sono commosso.ç_ç

 

 

Orgoglioso membro del trio *o*

Link to comment
Share on other sites

  • 4 weeks later...

Caro sleeping,dichiaro di adorarti :*

Questo script è stupendo,complimenti *O*

Però anche a me da quell'errore quando cerco di posizionare l'oggetto...

._.

Sono stanco e devo rinnovare la firma

-cut-

Link to comment
Share on other sites

No no si deve chiamare DHConf scusa :spam:

Comunque mi sono perso una stringa per strada che dovrebbe essere la causa per la quale ti da errore lo script,

Devi aggiungere nella configurazione, sotto

  Event = { blablabla....}

questo

  Event.default = {}

ed in teoria non dovrebbe piu darti errore, ora aggiorno lo script nel primo post e piu tardi la demo :sisi:

 

 

Vediamo se qualcuno l'ha provato ._.

Precisamente...

Dov'è che devo mettere sta dannata stringa?xD

Sono stanco e devo rinnovare la firma

-cut-

Link to comment
Share on other sites

Lo script al primo post è già stato corretto con quella stringa, se ci fai caso si trova alla riga 65.

Un poco di attenzione! ^ ^

(\_/)
(^ ^) <----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) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"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:3
Ricorda...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.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: 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 interne
Levaitan

Spada a due mani elsa lunga

Guanti 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)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Allora mi resta il problema...

quando premo invio per posizionare l'oggetto mi dà il seguente errore:

tipo "NoMethodError" undefined method []' for nil:NilClass

-_-

Sono stanco e devo rinnovare la firma

-cut-

Link to comment
Share on other sites

Devo riprovare...

L'errore sta nelle parentesi,non so...

in quella riga ce ne sono un sacco di parentesi,e anche se comunque capirei quale fosse,non riuscirei a risolvere *asd*

Sono stanco e devo rinnovare la firma

-cut-

Link to comment
Share on other sites

Ma hai scaricato lo demo o hai solo preso lo script nel primo post?

Ti serve il programma allegato nella demo per creare la configurazione, e ti serve la configurazione per far funzionare lo script. Comunque posta l'errore completo con relativa riga indicata ;)

Link to comment
Share on other sites

funziona funziona... solo un po' di sbattimento per ritrovarsi fra i vari progetti l'RGSS103I.dll XD per il resto funziona che è un amore...

un unico problema...

come si fa ad evitare la possibilità di posizionarsi gli oggetti sotto il culo? XD

perchè io volendo posso mettere la pianta sullo stesso posto dov'è il protagonista, e giustamente lui non riesce più a muoversi XD

come si evita questo? U.U

(che alla fine è n accorgimento, visto che per mettere gli oggetti devi stare in un preciso punto, se ti metti qualcosa sotto il sedere basta riclickare sul cristallo e lo levi... però era per renderti noto il problema XD se gia non lo sapevi...)

 

 

Membro # 8-8-8 [Hachi] della:

http://img3.imageshack.us/img3/9636/bannergm.png

Link to comment
Share on other sites

Sicuramente me ne sono dimenticato xD

Non è una cosa gravissima però lo dovrei modificare, anzi aggiungo l'opzione per farlo e credo che ne mettero anche una per mostrare i chara su mappa cosi non ci si sbaglia, grazie della segnalazione :P

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...