Creare Videogiochi - Game Developer
[BUG FIX] Game_Interpreter - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Rpg Maker Italia (https://www.making-videogames.net/giochi/Forum-Rpg-Maker-Italia)
+--- Forum: Rpg Maker Vx (https://www.making-videogames.net/giochi/Forum-Rpg-Maker-Vx)
+---- Forum: Script Rpg Maker Vx (https://www.making-videogames.net/giochi/Forum-Script-Rpg-Maker-Vx)
+---- Discussione: [BUG FIX] Game_Interpreter (/thread-BUG-FIX-Game-Interpreter)



[BUG FIX] Game_Interpreter - Johnny 97 - 14-09-2011

DESCRIZIONE:
Questo script corregge un bug dello script originale "Game_Interpreter".
"le prime versioni di rpg maker sofforno di questo bug nel codice... un errore che si attiva quando si usa un determinato evento che ora mi sfugge... con l'ultima versione(1.02) non è necessario... se non trovate when 4 alla linea 750 del game interpreter inserite lo script se lo trovate non c'è bisogno..."
Si ringrazia Melosx per quest'ultima precisazione.

AUTORE/I:
Sconosciuto

ISTRUZIONI:
Copiare sotto Materials

SCRIPT:[SPOILER]
Codice:
class Game_Interpreter
  def command_122
    value = 0
    case @params[3]  # Operand
    when 0  # Constant
      value = @params[4]
    when 1  # Variable
      value = $game_variables[@params[4]]
    when 2  # Random
      value = @params[4] + rand(@params[5] - @params[4] + 1)
    when 3  # Item
      value = $game_party.item_number($data_items[@params[4]])
    when 4  # Actor
      actor = $game_actors[@params[4]]
      if actor != nil
        case @params[5]
        when 0  # Level
          value = actor.level
        when 1  # Experience
          value = actor.exp
        when 2  # HP
          value = actor.hp
        when 3  # MP
          value = actor.mp
        when 4  # Maximum HP
          value = actor.maxhp
        when 5  # Maximum MP
          value = actor.maxmp
        when 6  # Attack
          value = actor.atk
        when 7  # Defense
          value = actor.def
        when 8  # Spirit
          value = actor.spi
        when 9  # Agility
          value = actor.agi
        end
      end
    when 5  # Enemy
      enemy = $game_troop.members[@params[4]]
      if enemy != nil
        case @params[5]
        when 0  # HP
          value = enemy.hp
        when 1  # MP
          value = enemy.mp
        when 2  # Maximum HP
          value = enemy.maxhp
        when 3  # Maximum MP
          value = enemy.maxmp
        when 4  # Attack
          value = enemy.atk
        when 5  # Defense
          value = enemy.def
        when 6  # Spirit
          value = enemy.spi
        when 7  # Agility
          value = enemy.agi
        end
      end
    when 6  # Character
      character = get_character(@params[4])
      if character != nil
        case @params[5]
        when 0  # x-coordinate
          value = character.x
        when 1  # y-coordinate
          value = character.y
        when 2  # direction
          value = character.direction
        when 3  # screen x-coordinate
          value = character.screen_x
        when 4  # screen y-coordinate
          value = character.screen_y
        end
      end
    when 7  # Other
      case @params[4]
      when 0  # map ID
        value = $game_map.map_id
      when 1  # number of party members
        value = $game_party.members.size
      when 2  # gold
        value = $game_party.gold
      when 3  # steps
        value = $game_party.steps
      when 4  # play time
        value = Graphics.frame_count / Graphics.frame_rate
      when 5  # timer
        value = $game_system.timer / Graphics.frame_rate
      when 6  # save count
        value = $game_system.save_count
      end
    end
    for i in @params[0] .. @params[1]   # Batch control
      case @params[2]  # Operation
      when 0  # Set
        $game_variables[i] = value
      when 1  # Add
        $game_variables[i] += value
      when 2  # Sub
        $game_variables[i] -= value
      when 3  # Mul
        $game_variables[i] *= value
      when 4  # Div
        $game_variables[i] /= value if value != 0
      when 5  # Mod
        $game_variables[i] %= value if value != 0
      end
      if $game_variables[i] > 99999999    # Maximum limit check
        $game_variables[i] = 99999999
      end
      if $game_variables[i] < -99999999   # Minimum limit check
        $game_variables[i] = -99999999
      end
    end
    $game_map.need_refresh = true
    return true
  end
end
[/SPOILER]


BUG E CONFLITTI NOTI:
Nessuno.


RE: [BUG FIX] Game_Interpreter - lavezzinapoli7 - 15-09-2011

a cosa serve questo script?


RE: [BUG FIX] Game_Interpreter - Johnny 97 - 19-09-2011

corregge un bug dello script "Game_Interpreter"... non so che bug è, io ho trovato questo bug fix, che sarà sicuramente la correzione di un bug dovuto a qualche incompatibilità con qualche script... xD


RE: [BUG FIX] Game_Interpreter - Melosx - 10-02-2012

Per informazione... le prime versione di rpg maker sofforno di questo bug nel codice... un errore che si attiva quando si usa un determinato evento che ora mi sfugge... con l'ultima versione(1.02) non è necessario... se non trovate when 4 alla linea 750 del game interpreter inserite lo script se lo trovate non c'è bisogno...