Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More

Recommended Posts

Nome Script: Dividi per...?
Versione: 1.0
Autore/i: 3xter (io)

Informazioni:
Questo script serve per dividere per un determinato numero un characterset.
Di default se antecediamo $ al nome di un chara, esso viene diviso per 3
(un solo elemento) e non per 12 (4 elementi)
Con questo script, il file verrà diviso per il numero inserito all'inizio del chara.

Istruzioni:
Rinominare la risorsa interessata con il numero di frame presenti per X e Y.

Prendiamo per esempio questo chara:
armae_10.png

Di default il vx lo visualizzerebbe male..
Importiamolo nel nostro progetto e rinominiamolo: 44 truppe.png
Così facendo abbiamo ottenuto ciò che ci serviva: visualizzare correttamente qualsiasi chara!

Script:

=begin

Script: Dividi per...?
Autore: 3xter

                        http://wwww.rpgmkr.net

Questo script serve per dividere per un determinato numero un characterset.
Di default se antecediamo $ al nome di un chara, esso viene diviso per 3
(un solo elemento) e non per 12 (4 elementi)
Con questo script, il file verrà diviso per il numero inserito all'inizio del chara.

Esempio:

Chara   (diviso per 12)
$Chara  (diviso per 3)
5Chara  (diviso per 5)

=end

class Sprite_Character < Sprite_Base

def update_bitmap
    if @tile_id != @character.tile_id or
       @character_name != @character.character_name or
       @character_index != @character.character_index
      @tile_id = @character.tile_id
      @character_name = @character.character_name
      @character_index = @character.character_index
      if @tile_id > 0
        sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
        sy = @tile_id % 256 / 8 % 16 * 32;
        self.bitmap = tileset_bitmap(@tile_id)
        self.src_rect.set(sx, sy, 32, 32)
        self.ox = 16
        self.oy = 32
      else
        self.bitmap = Cache.character(@character_name)
        #Il valore numerico di un numero in stringa è di (valore - 48)
        #La variabile num infatti è uguale al primo carattere di @character_name
        #meno 48. Visualizzo tramite finestra il valore di x e y con print (commentato)
        #dopo averli convertito in intero
        prima = @character_name[0].to_i
        seconda = @character_name[1].to_i
        x = (prima - 48)
        y = (seconda - 48)
        x.to_i
        y.to_i
        #Mostra il valore di X e Y
        #print x, " e ", y
        sign = @character_name[/^[!$]./]
        if sign != nil and sign.include?('$')
          @cw = bitmap.width / 3
          @ch = bitmap.height / 4
        #Delimita il campo ai numeri da -infinito a 9
        elsif x < 10 and y < 10
          @cw = bitmap.width / x
          @ch = bitmap.height / y
        else
          @cw = bitmap.width / 12
          @ch = bitmap.height / 8
        end

        self.ox = @cw / 2
        self.oy = @ch
      end
    end
  end
end

#############################################################################

class Window_Base < Window
  def draw_character(character_name, character_index, x, y)
    return if character_name == nil
    bitmap = Cache.character(character_name)
        #Il valore numerico di un numero in stringa è di (valore - 48)
        #La variabile num infatti è uguale al primo carattere di @character_name
        #meno 48. Visualizzo tramite finestra il valore di num con print num
        #dopo averlo convertito in intero
        prima = @character_name[0].to_i
        seconda = @character_name[1].to_i
        x = (prima - 48)
        y = (seconda - 48)
        x.to_i
        y.to_i
        #Mostra il valore di X e Y
        #print x, " e ", y
        sign = @character_name[/^[!$]./]
        if sign != nil and sign.include?('$')
          @cw = bitmap.width / 3
          @ch = bitmap.height / 4
        #Delimita il campo ai numeri da -infinito a 9
        elsif x < 10 and y < 10
          @cw = bitmap.width / x
          @ch = bitmap.height / y
        else
          @cw = bitmap.width / 12
          @ch = bitmap.height / 8
        end
    n = character_index
    src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end
end

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

  • Contenuti simili

    • Da Ally
      Nome Script: FIX Pictures su mappa
      Versione: 1.0
      Autore/i: Ally

      Informazioni:
      Vedendo uno script per VX, ne ho fatta una versione per VX Ace, sperando possa essere utile a qualcuno.

      Quest'ultimo, come da titolo, da la possibilità di fissare le picture su mappa, dandovi la possibilità quindi di utilizzare picture che staranno ancorate sulla mappa anche se il PG si muove.

      La cosa si può fare benissimo anche ad eventi, ma l'utilizzo di questo è semplicissimo e in questo modo non starete a settarvi varibili etc...

      Istruzioni:
      Inserite lo script sotto Material.

      Le istruzioni sono all'interno dello script.

      Script:
      #======================================================= # ▼FIX Picture su Mappa▼ # Autore: Ally # Data: 08/01/2012 # Versione: 1.0 # Esclusiva per http://www.rpgmkr.net # Vietato postare lo script senza il permesso dell'Autore # # ▼Info e Istruzioni▼ # Con questo script si ha la possibilità di fissare # le picture alla mappa aggiungendo semplicemente la # parola FIX prima del nome della picture. # # ▼Conflitti Noti: N/D▼ #======================================================= #============================================================================== # ** Sprite_Picture #------------------------------------------------------------------------------ #  This sprite is used to display pictures. It observes an instance of the # Game_Picture class and automatically changes sprite states. #============================================================================== class Sprite_Picture < Sprite def update_position if @picture.name.include?("FIX") self.x = -$game_map.display_x*32 self.y = -$game_map.display_y*32 else self.x = @picture.x self.y = @picture.y end self.z = @picture.number end end # Fine Script # Incompatibilità:
      N/D

      Note dell'Autore:
      Per uso a scopo commerciale, contattate l'Autore per MP.
      E' vietato distribuire lo script senza il permesso dell'Autore.
    • Da Ally
      Nome Script: Visible Debug
      Versione: 1.2c
      Autore/i: mikb89
       
      Informazioni:
      Capita che qualcosa vada storto fra switch e variabili. Non sai cosa succede, sai solo che non funziona come previsto. Qui entra in gioco questo script!
       
      Features:
      Con questo script puoi tenere sotto controllo una lista di parametri vari i cui cambiamenti saranno mostrati in tempo reale. Questa lista include:
      switch e variabili, switch locali degli eventi; grafica di eventi, giocatore, eroi, nemici; posizione e stato 'Come fantasma' di eventi e giocatore; id dei tile dove si trova il giocatore; numero di oggetti, armi, armature possedute; hp, mp, tp (se abilitato), atk, def, luk, agi, due stati dei combattenti; nomi & livello degli eroi (i nemici non li hanno); altre informazioni utili aggiunte dalle configurazioni (puoi vedere come sono fatte e aggiungerne di tue). Screenshots:
       
      Istruzioni:
      Inserite lo script sotto Materials. Le istruzioni sono fra i commenti.
       
      Script
       
      Demo:
      Demo multilingua v. 1.2c (1.33 MB)
      http://www.mediafire.com/?o5dqoberdpn9opa
       
      Incompatibilità:
      I salvataggi vengono modificati per contenere la lista di dati scelta. È possibile comunque caricare salvataggi precedenti, mentre per continuare ad usare quelli effettuati in presenza dello script, nel caso quest'ultimo venisse rimosso, è presente nella demo un piccolo codicino - per nulla invadente - da lasciare.
       
      Note dell'autore:
      Grazie a @Silver Element per avermi ispirato l'idea (:
      Grazie a @Melosx per avermi supportato con un fastidioso bug ^^
    • Da Ally
      Nome Script: Link Event
      Versione: 1.60
      Autore/i: kingartur2(kingartur3)

      Informazioni:
      Nello script ce ne sono a suffienza.
      PS : se ci sono suggerimenti sono bel accolti.

      Istruzioni:
      Le trovate sempre nello script

      Script:


      #===============================================================================# Autore : kingartur2(kingartur3)# Versione : 1.60#===============================================================================# Istruzioni :# Apporre in un evento il seguente commento :## Link Event x## dove x rappresenta l'id dell'evento da collegare# in questo modo le switch locali dell'evento con id x non saranno più# considerate e le sue switch locali saranno on se tutti gli eventi ad esso# collegati avranno quella switch locale ad on.# Esempio :# Colleghi l'evento con id 1, 2, e 3 all'evento 4.# Se tramite il comando evento cambi la switch locale A dell'evento 4 non# succede nulla, se invece nell'evento 1,2 e 3 la switch locale A risulterà# a ON allora anche nell'evento 4 sarà così, però se nell'evento 1 e 2 la switch# locale A sarà ON e nell'evento 3 sarà OFF allora sarà OFF anche nell'evento 4## Link Event [id mappa, x]# Funziona allo stesso modo del comando precedente con la differenza che in# questo caso l'evento linkato si troverà in un altra mappa#===============================================================================class Game_Map attr_accessor :link_event alias djasijdiasj initialize def initialize djasijdiasj @link_event = [] endendclass Game_Event alias fshfusdhfusdih setup_page def setup_page(new_page) fshfusdhfusdih(new_page) if [email protected]? for i in @page.list if [108, 408].include?(i.code) if i.parameters[0].downcase.include?("link event") a = i.parameters[0].clone.downcase.gsub!("link event") {""} write_link_event(a.to_i) end if i.parameters[0].downcase.include?("link event [") or i.parameters[0].downcase.include?("link event[") a = i.parameters[0].clone.downcase.gsub!("link event") {""} eval("@b = " + a) write_overlink_event(@ end end end end end def write_link_event(id) if $game_map.link_event[$game_map.map_id].nil? $game_map.link_event[$game_map.map_id] = [] end if $game_map.link_event[$game_map.map_id][id].nil? $game_map.link_event[$game_map.map_id][id] = [] end $game_map.link_event[$game_map.map_id][id].push(self.id) end def write_overlink_event(val) if $game_map.link_event[val[0]].nil? $game_map.link_event[val[0]] = [] end if $game_map.link_event[val[0]][val[1]].nil? $game_map.link_event[val[0]][val[1]] = [] end $game_map.link_event[val[0]][val[1]].push([$game_map.map_id, self.id]) end endclass Game_SelfSwitches alias jfdsijfd [] def [](key) if !$game_map.link_event[key[0]].nil? if !$game_map.link_event[key[0]][key[1]].nil? state = true for i in $game_map.link_event[key[0]][key[1]] if i.is_a?(Array) if !$game_self_switches[[i[0], i[1], key[2]]] state = false end elsif !$game_self_switches[[key[0], i, key[2]]] state = false end end return state end end jfdsijfd(key) endend Demo:
      Coming Soon(Se richiesta, vista la semplicità dello script))

      Incompatibilità:
      N/A
    • Da Ally
      Nome Script: Switch Menu
      Versione: N/D
      Autore/i: Zerbu

      Informazioni:
      Come da titolo, con questo script si possono richiamare ad esempio degli eventi comuni al posto del menù etc...

      Screenshots:



      Istruzioni:
      Inserite lo script sotto Material.
      Istruzioni del suo funzionamento come da screen

      Script:


      #============================================================================== # › Switch Menu ‹ #------------------------------------------------------------------------------ # Using this script you can make it so that when the menu is called, a # switch is turned on instead. You can still open the menu by using a # [Open Menu Screen] event call. You can use the switch to create a common # event in place of the menu, or anthing else you want. #------------------------------------------------------------------------------ # by Zerbu #============================================================================== $imported = {} if $imported.nil? $imported["SwitchMenu"] = true #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= module SwitchMenu   #============================================================================   # ♦ Switch ID ♦   #----------------------------------------------------------------------------   # Set the switch you want turned on~   #============================================================================   SWITCH_ID = 1   #--- end #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #============================================================================== # » Scene_Map #============================================================================== class Scene_Map   #----------------------------------------------------------------------------   # » overwrite method: call_menu   #----------------------------------------------------------------------------   def call_menu         $game_switches[SwitchMenu] = true         @menu_calling = false   end   #--- end
    • Da Ally
      Nome Script: MSX - XP Characters on VX/VXAce
      Versione: 1.0
      Autore/i: Melosx
       
      Informazioni:
      Lo script permette di usare i chara xp nel vx semplicemente inserendo il tag $xp.
      Compatibile con VX e VXAce.
       
      Istruzioni:
      All'interno dello script.
       
      Script:
       

      #============================================================================== # ** MSX - XP Characters on VX/VXAce #============================================================================== # Autore: Melosx # Versione: 1.0 # Compatibile con VX e VXAce # #============================================================================== # * Descrizione # ----------------------------------------------------------------------------- # Lo script permette di usare i chara xp nel vx semplicemente inserendo il tag # $xp # prima del nome del file. # Potete quindi usare i normali VX/VXAce insieme a quelli dell'XP. # #============================================================================== # * Istruzioni # ----------------------------------------------------------------------------- # Inserire lo script sotto Materials e sopra Main. Aggiungere ai chara dell'XP # il tag $xp prima del nome. # #============================================================================== #============================================================================== # ** Sprite_Character #============================================================================== class Sprite_Character < Sprite_Base def update_bitmap if @tile_id != @character.tile_id or @character_name != @character.character_name or @character_index != @character.character_index @tile_id = @character.tile_id @character_name = @character.character_name @character_index = @character.character_index if @tile_id > 0 sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32; sy = @tile_id % 256 / 8 % 16 * 32; self.bitmap = tileset_bitmap(@tile_id) self.src_rect.set(sx, sy, 32, 32) self.ox = 16 self.oy = 32 else self.bitmap = Cache.character(@character_name) sign = @character_name[/^[!$]./] if sign != nil and sign.include?('$') @cw = bitmap.width / 3 @ch = bitmap.height / 4 else @cw = bitmap.width / 12 @ch = bitmap.height / 8 end if @character_name != nil and @character_name.include?('$xp') @cw = bitmap.width / 4 @ch = bitmap.height / 4 end self.ox = @cw / 2 self.oy = @ch end end end def update_src_rect if @character_name != nil and @character_name.include?('$xp') if @tile_id == 0 pattern = @character.pattern > 0 ? @character.pattern - 1 : 3 sx = pattern * @cw sy = (@character.direction - 2) / 2 * @ch self.src_rect.set(sx, sy, @cw, @ch) end else if @tile_id == 0 index = @character.character_index pattern = @character.pattern < 3 ? @character.pattern : 1 sx = (index % 4 * 3 + pattern) * @cw sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch self.src_rect.set(sx, sy, @cw, @ch) end end end end #============================================================================== # ** Window_Base #============================================================================== class Window_Base < Window def draw_character(character_name, character_index, x, y) return if character_name == nil bitmap = Cache.character(character_name) sign = character_name[/^[!$]./] if character_name != nil and character_name.include?('$xp') cw = bitmap.width / 4 ch = bitmap.height / 4 n = character_index src_rect = Rect.new(0, 0, cw, ch) else if sign != nil and sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch) end self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) end end
×