collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: (Tech) Über 9999 HP  (Gelesen 2001 mal)

Streetball

  • Gast
(Tech) Über 9999 HP
« am: Juli 09, 2009, 22:22:09 »
Hallo,
Ich wollte mal fragen ob es vieleicht ein Weg gibt das man über 9999 Leben haben kann.
Wie z.b. in dem spiel Final Fantasy wo man bestimmte Items finden muss damit man die 9999 grenze
überschreiten kann.
Oder gibt es vllt ein Skript dafür ?

Re: Über 9999 leben

Offline Phi

  • Forscher
  • Eventmeister
  • ***
  • Beiträge: 368
  • Im Auftrag der Wissenschaft
Re: Über 9999 leben
« Antwort #1 am: Juli 09, 2009, 22:47:04 »
ich vermute das geht nicht, da man nicht einmal mit dem script:
$game_actors[1].maxhp = 12000
die maximalen HP über 9999 kommt

Re: Über 9999 leben

Streetball

  • Gast
Re: Über 9999 leben
« Antwort #2 am: Juli 09, 2009, 22:49:37 »
Hm ... das ja schade
aber naja kann man woll nix machen.

Re: Über 9999 leben

Offline xelawebdev

  • Eventmeister
  • ***
  • Beiträge: 306
  • Webdeveloper, Designer
    • [Nicht fertig - Testseite]
Re: Über 9999 leben
« Antwort #3 am: Juli 09, 2009, 22:49:50 »
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ? ???? - KGC_LimitBreak ? VX ?
#_/    ? Last update : 2008/01/09 ?
#_/----------------------------------------------------------------------------
#_/  ?????????????????
#_/============================================================================
#_/  ???????????????????????????
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ? ???????? - Customize ?
#==============================================================================

module KGC
module LimitBreak
  # ? ???????
  #   0..?????????
  #      (100????????? PARAMETER_CALC_EXP ???)
  #
  #   1..??????????2????
  #        a:???1??  b:???2??  c:???3??  x:????
  #      ????
  #        ax^2 + bx + c
  #      ???????????
  #
  #   2..??????????1????
  #        b:???2??  c:???3??  x:????
  #      ????
  #        bx + c
  #      ???????????
  #      (??? 2 ? 3 ????????2??????????????????)
  PARAMETER_CALC_METHOD = 0

  # ? ??? 100 ?????????
  #  PARAMETER_CALC_METHOD = 0 ??????????
  #  ? level..????  param[x]..??? x ???? ?
  #  ?????????? 99 ???????????
  PARAMETER_CALC_EXP = "(param[99] - param[98]) * (level - 99)"

  # ? ??????????
  ACTOR_FINAL_LEVEL = []  # ? ?????????!
  # ????????????????????
  #   ACTOR_FINAL_LEVEL[????ID] = ?????
  # ????????????
  # <?> ? ???? 1 ?????? 999
  ACTOR_FINAL_LEVEL[1] = 255

  # ? ?????????? (?????)
  #  ????????????????????????????????
  ACTOR_FINAL_LEVEL_DEFAULT = 255
  # ? ??????????
  ACTOR_EXP_LIMIT = 999999999

  # ? ????? MaxHP ??
  ACTOR_MAXHP_LIMIT     = 99999
  # ? ????? MaxMP ??
  ACTOR_MAXMP_LIMIT     = 9999
  # ? ??????????????????????
  ACTOR_PARAMETER_LIMIT = 9999

  # ? ????? MaxHP ??
  ENEMY_MAXHP_LIMIT     = 9999999
  # ? ????? MaxMP ??
  ENEMY_MAXMP_LIMIT     = 9999999
  # ? ??????????????????????
  ENEMY_PARAMETER_LIMIT = 9999

  # ? ??????????
  #  ?????????????????? ?% ?????
  #  ?????????????? 100 ????????
  ENEMY_MAXHP_RATE = 100 # MaxHP
  ENEMY_MAXMP_RATE = 100 # MaxMP
  ENEMY_ATK_RATE   =  100 # ???
  ENEMY_DEF_RATE   =  100  # ???
  ENEMY_SPI_RATE   =  100 # ???
  ENEMY_AGI_RATE   =  100 # ???

  # ? ?????
  GOLD_LIMIT = 99999999

  # ? ?????????
  ITEM_NUMBER_LIMIT = 30

  module_function
  #--------------------------------------------------------------------------
  # ? ????????
  #     ?????? MaxHP ?????????????????
  #     ????????????????????????????????
  #--------------------------------------------------------------------------
  def set_enemy_parameters
    #  <?> ID:10 ??? MaxHP ? 2000000 ?????
    # $data_enemies[10].maxhp = 2000000
    #  <?> ID:16 ??????? 5000 ?????
    # $data_enemies[16].atk = 5000
    #  <?> ID:20 ???????2??????
    # $data_enemies[20].def *= 2
  end
end
end

#???????????????????????????????????????

$imported = {} if $imported == nil
$imported["LimitBreak"] = true

module KGC::LimitBreak
  # ???????
  module Regexp
    # ???????
    module BaseItem
      # ?????
      NUMBER_LIMIT = /<(?:NUMBER_LIMIT|?????)[ ]*(\d+)>/i
    end
  end

  module_function
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def revise_enemy_parameters
    (1...$data_enemies.size).each { |i|
      enemy = $data_enemies[i]
      enemy.maxhp = enemy.maxhp * ENEMY_MAXHP_RATE / 100
      enemy.maxmp = enemy.maxmp * ENEMY_MAXMP_RATE / 100
      enemy.atk = enemy.atk * ENEMY_ATK_RATE / 100
      enemy.def = enemy.def * ENEMY_DEF_RATE / 100
      enemy.spi = enemy.spi * ENEMY_SPI_RATE / 100
      enemy.agi = enemy.agi * ENEMY_AGI_RATE / 100
    }
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ RPG::BaseItem
#==============================================================================

class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ? ????????????
  #--------------------------------------------------------------------------
  def create_limit_break_cache
    @__number_limit = KGC::LimitBreak::ITEM_NUMBER_LIMIT

    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::LimitBreak::Regexp::BaseItem::NUMBER_LIMIT
        # ?????
        @__number_limit = $1.to_i
      end
    }
  end
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def number_limit
    create_limit_break_cache if @__number_limit == nil
    return @__number_limit
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Battler
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ? MaxHP ??????
  #--------------------------------------------------------------------------
  def maxhp_limit
    return KGC::LimitBreak::ENEMY_MAXHP_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? MaxMP ??????
  #--------------------------------------------------------------------------
  def maxmp_limit
    return KGC::LimitBreak::ENEMY_MAXMP_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? MaxMP ???
  #--------------------------------------------------------------------------
  def maxmp
    return [[base_maxmp + @maxmp_plus, 0].max, maxmp_limit].min
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def parameter_limit
    return KGC::LimitBreak::ENEMY_PARAMETER_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def atk
    n = [base_atk + @atk_plus, 1].max
    states.each { |state| n *= state.atk_rate / 100.0 }
    n = [[Integer(n), 1].max, parameter_limit].min
    return n
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def def
    n = [base_def + @def_plus, 1].max
    states.each { |state| n *= state.def_rate / 100.0 }
    n = [[Integer(n), 1].max, parameter_limit].min
    return n
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def spi
    n = [base_spi + @spi_plus, 1].max
    states.each { |state| n *= state.spi_rate / 100.0 }
    n = [[Integer(n), 1].max, parameter_limit].min
    return n
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def agi
    n = [base_agi + @agi_plus, 1].max
    states.each { |state| n *= state.agi_rate / 100.0 }
    n = [[Integer(n), 1].max, parameter_limit].min
    return n
  end
  #--------------------------------------------------------------------------
  # ? MaxHP ???
  #     new_maxhp : ??? MaxHP
  #--------------------------------------------------------------------------
  def maxhp=(new_maxhp)
    @maxhp_plus += new_maxhp - self.maxhp
    @maxhp_plus = [[@maxhp_plus, -maxhp_limit].max, maxhp_limit].min
    @hp = [@hp, self.maxhp].min
  end
  #--------------------------------------------------------------------------
  # ? MaxMP ???
  #     new_maxmp : ??? MaxMP
  #--------------------------------------------------------------------------
  def maxmp=(new_maxmp)
    @maxmp_plus += new_maxmp - self.maxmp
    @maxmp_plus = [[@maxmp_plus, -maxmp_limit].max, maxmp_limit].min
    @mp = [@mp, self.maxmp].min
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     new_atk : ??????
  #--------------------------------------------------------------------------
  def atk=(new_atk)
    @atk_plus += new_atk - self.atk
    @atk_plus = [[@atk_plus, -parameter_limit].max, parameter_limit].min
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     new_def : ??????
  #--------------------------------------------------------------------------
  def def=(new_def)
    @def_plus += new_def - self.def
    @def_plus = [[@def_plus, -parameter_limit].max, parameter_limit].min
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     new_spi : ??????
  #--------------------------------------------------------------------------
  def spi=(new_spi)
    @spi_plus += new_spi - self.spi
    @spi_plus = [[@spi_plus, -parameter_limit].max, parameter_limit].min
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     agi : ??????
  #--------------------------------------------------------------------------
  def agi=(new_agi)
    @agi_plus += new_agi - self.agi
    @agi_plus = [[@agi_plus, -parameter_limit].max, parameter_limit].min
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  def make_exp_list
    @exp_list = Array.new(final_level + 2)
    @exp_list[1] = @exp_list[final_level + 1] = 0
    m = actor.exp_basis
    n = 0.75 + actor.exp_inflation / 200.0
    (2..final_level).each { |i|
      @exp_list[i] = @exp_list[i-1] + Integer(m)
      m *= 1 + n
      n *= 0.9
    }
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def final_level
    n = KGC::LimitBreak::ACTOR_FINAL_LEVEL[self.id]
    return (n != nil ? n : KGC::LimitBreak::ACTOR_FINAL_LEVEL_DEFAULT)
  end
  #--------------------------------------------------------------------------
  # ? MaxHP ??????
  #--------------------------------------------------------------------------
  def maxhp_limit
    return KGC::LimitBreak::ACTOR_MAXHP_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? MaxMP ??????
  #--------------------------------------------------------------------------
  def maxmp_limit
    return KGC::LimitBreak::ACTOR_MAXMP_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? ?????????????
  #--------------------------------------------------------------------------
  def parameter_limit
    return KGC::LimitBreak::ACTOR_PARAMETER_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def exp_limit
    return KGC::LimitBreak::ACTOR_EXP_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     exp  : ??????
  #     show : ???????????
  #--------------------------------------------------------------------------
  def change_exp(exp, show)
    last_level = @level
    last_skills = skills
    @exp = [[exp, exp_limit].min, 0].max
    while @exp >= @exp_list[@level+1] && @exp_list[@level+1] > 0
      level_up
    end
    while @exp < @exp_list[@level]
      level_down
    end
    @hp = [@hp, maxhp].min
    @mp = [@mp, maxmp].min
    if show && @level > last_level
      display_level_up(skills - last_skills)
    end
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #     level : ??????
  #     show  : ???????????
  #--------------------------------------------------------------------------
  def change_level(level, show)
    level = [[level, final_level].min, 1].max
    change_exp(@exp_list[level], show)
  end
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  def base_parameter(type)
    case KGC::LimitBreak::PARAMETER_CALC_METHOD
    when 0  # ????
      if @level >= 100
        calc_text = KGC::LimitBreak::PARAMETER_CALC_EXP.dup
        calc_text.gsub!(/level/i) { "@level" }
        calc_text.gsub!(/param\[(\d+)\]/i) {
          "actor.parameters[type, #{$1.to_i}]"
        }
        return actor.parameters[type, 99] + eval(calc_text)
      end
    when 1  # ????
      a = actor.parameters[type, 1]
      b = actor.parameters[type, 2]
      c = actor.parameters[type, 3]
      return ((a * @level + b) * @level + c)
    when 2  # ????
      b = actor.parameters[type, 2]
      c = actor.parameters[type, 3]
      return (b * @level + c)
    end
    return actor.parameters[type, @level]
  end
  #--------------------------------------------------------------------------
  # ? ?? MaxHP ???
  #--------------------------------------------------------------------------
  def base_maxhp
    return base_parameter(0)
  end
  #--------------------------------------------------------------------------
  # ? ?? MaxMP ???
  #--------------------------------------------------------------------------
  def base_maxmp
    return base_parameter(1)
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def base_atk
    n = base_parameter(2)
    equips.compact.each { |item| n += item.atk }
    return n
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def base_def
    n = base_parameter(3)
    equips.compact.each { |item| n += item.def }
    return n
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def base_spi
    n = base_parameter(4)
    equips.compact.each { |item| n += item.spi }
    return n
  end
  #--------------------------------------------------------------------------
  # ? ????????
  #--------------------------------------------------------------------------
  def base_agi
    n = base_parameter(5)
    equips.compact.each { |item| n += item.agi }
    return n
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Party
#==============================================================================

class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def gold_limit
    return KGC::LimitBreak::GOLD_LIMIT
  end
  #--------------------------------------------------------------------------
  # ? ??????? (??)
  #     n : ??
  #--------------------------------------------------------------------------
  def gain_gold(n)
    @gold = [[@gold + n, 0].max, gold_limit].min
  end
  #--------------------------------------------------------------------------
  # ? ??????? (??)
  #     item          : ????
  #     n             : ??
  #     include_equip : ???????
  #--------------------------------------------------------------------------
  def gain_item(item, n, include_equip = false)
    number = item_number(item)
    case item
    when RPG::Item
      @items[item.id] = [[number + n, 0].max, item.number_limit].min
    when RPG::Weapon
      @weapons[item.id] = [[number + n, 0].max, item.number_limit].min
    when RPG::Armor
      @armors[item.id] = [[number + n, 0].max, item.number_limit].min
    end
    n += number
    if include_equip && n < 0
      members.each { |actor|
        while n < 0 && actor.equips.include?(item)
          actor.discard_equip(item)
          n += 1
        end
      }
    end
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Window_ShopBuy
#==============================================================================

class Window_ShopBuy < Window_Selectable
  #--------------------------------------------------------------------------
  # ? ?????
  #     index : ????
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    number = $game_party.item_number(item)
    enabled = (item.price <= $game_party.gold && number < item.number_limit)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    draw_item_name(item, rect.x, rect.y, enabled)
    rect.width -= 4
    self.contents.draw_text(rect, item.price, 2)
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_Title
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  alias load_database_KGC_LimitBreak load_database
  def load_database
    load_database_KGC_LimitBreak

    set_enemy_parameters
  end
  #--------------------------------------------------------------------------
  # ? ????????????????
  #--------------------------------------------------------------------------
  alias load_bt_database_KGC_LimitBreak load_bt_database
  def load_bt_database
    load_bt_database_KGC_LimitBreak

    set_enemy_parameters
  end
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def set_enemy_parameters
    KGC::LimitBreak.revise_enemy_parameters
    KGC::LimitBreak.set_enemy_parameters
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_File
#==============================================================================

class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #     file : ??????????????? (??????)
  #--------------------------------------------------------------------------
  alias read_save_data_KGC_LimitBreak read_save_data
  def read_save_data(file)
    read_save_data_KGC_LimitBreak(file)

    (1...$data_actors.size).each { |i|
      actor = $game_actors[i]
      actor.make_exp_list
      # ?????????
      if actor.level > actor.final_level
        while actor.level > actor.final_level
          actor.level_down
        end
        # ???? HP ????????????????
        actor.change_level(actor.final_level, false)
      end
    }
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_Shop
#==============================================================================

class Scene_Shop < Scene_Base
  #--------------------------------------------------------------------------
  # ? ???????????
  #--------------------------------------------------------------------------
  def update_buy_selection
    @status_window.item = @buy_window.item
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @command_window.active = true
      @dummy_window.visible = true
      @buy_window.active = false
      @buy_window.visible = false
      @status_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.trigger?(Input::C)
      @item = @buy_window.item
      number = $game_party.item_number(@item)
      if @item == nil || @item.price > $game_party.gold ||
          number == @item.number_limit
        Sound.play_buzzer
      else
        Sound.play_decision
        max = (@item.price == 0 ?
          @item.number_limit : $game_party.gold / @item.price)
        max = [max, @item.number_limit - number].min
        @buy_window.active = false
        @buy_window.visible = false
        @number_window.set(@item, max, @item.price)
        @number_window.active = true
        @number_window.visible = true
      end
    end
  end
end

Zeile 46-66 ist es möglich DEINE Limits zu setzen.

Zeile 71-76 bezieht sich auf die Zeilen 123-128 (Siehe unten)

Zeile 123-128 Kannst du gegner Parameter-Formel verändern. (Mate einbisschen, wenn überhaupt)
Bei Zeile 82(Itemlimit) rat ich ab über 999 zu machen. Verursacht kleine Grafikfehler. Kommt auf den Font an.
Über main einfügen, und ja das Script ist schwer zu finden, daher kein Kommentar von wegen nicht gesucht.

Credits dafür gehen an "KGC"

MfG
Caps (?_?)

Re: Über 9999 leben

Streetball

  • Gast
Re: Über 9999 leben
« Antwort #4 am: Juli 09, 2009, 22:55:53 »
Danke das skript wird mir weiter helfen:D
« Letzte Änderung: Juli 12, 2009, 11:52:14 von Streetball »

 


 Bild des Monats

rooftop party

Views: 4490
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal