Project1

标题: 我如果直接重新定义RMXP里的角色能力要怎么写脚本? [打印本页]

作者: chd114    时间: 2013-4-13 08:32
标题: 我如果直接重新定义RMXP里的角色能力要怎么写脚本?
  1. module RPG
  2.   class State
  3.     def initialize
  4.       @id = 0
  5.       @name = ""
  6.       @animation_id = 0
  7.       @restriction = 0
  8.       @nonresistance = false
  9.       @zero_hp = false
  10.       @cant_get_exp = false
  11.       @cant_evade = false
  12.       @slip_damage = false
  13.       @rating = 5
  14.       @hit_rate = 100
  15.       @maxhp_rate = 100
  16.       @maxsp_rate = 100
  17.       @str_rate = 100
  18.       @dex_rate = 100
  19.       @agi_rate = 100
  20.       @int_rate = 100
  21.       @atk_rate = 100
  22.       @pdef_rate = 100
  23.       @mdef_rate = 100
  24.       [url=home.php?mod=space&uid=284635]@eva[/url] = 0
  25.       @battle_only = true
  26.       @hold_turn = 0
  27.       @auto_release_prob = 0
  28.       @shock_release_prob = 0
  29.       @guard_element_set = []
  30.       @plus_state_set = []
  31.       @minus_state_set = []
  32.     end
  33.     attr_accessor :id
  34.     attr_accessor :name
  35.     attr_accessor :animation_id
  36.     attr_accessor :restriction
  37.     attr_accessor :nonresistance
  38.     attr_accessor :zero_hp
  39.     attr_accessor :cant_get_exp
  40.     attr_accessor :cant_evade
  41.     attr_accessor :slip_damage
  42.     attr_accessor :rating
  43.     attr_accessor :hit_rate
  44.     attr_accessor :maxhp_rate
  45.     attr_accessor :maxsp_rate
  46.     attr_accessor :str_rate
  47.     attr_accessor :dex_rate
  48.     attr_accessor :agi_rate
  49.     attr_accessor :int_rate
  50.     attr_accessor :atk_rate
  51.     attr_accessor :pdef_rate
  52.     attr_accessor :mdef_rate
  53.     attr_accessor :eva
  54.     attr_accessor :battle_only
  55.     attr_accessor :hold_turn
  56.     attr_accessor :auto_release_prob
  57.     attr_accessor :shock_release_prob
  58.     attr_accessor :guard_element_set
  59.     attr_accessor :plus_state_set
  60.     attr_accessor :minus_state_set
  61.   end
  62. end
复制代码
  1. module RPG
  2.   class Actor
  3.     def initialize
  4.       @id = 0
  5.       @name = ""
  6.       @class_id = 1
  7.       @initial_level = 1
  8.       @final_level = 99
  9.       @exp_basis = 30
  10.       @exp_inflation = 30
  11.       @character_name = ""
  12.       @character_hue = 0
  13.       @battler_name = ""
  14.       @battler_hue = 0
  15.       @parameters = Table.new(6,100)
  16.       for i in 1..99
  17.         @parameters[0,i] = 500+i*50
  18.         @parameters[1,i] = 500+i*50
  19.         @parameters[2,i] = 50+i*5
  20.         @parameters[3,i] = 50+i*5
  21.         @parameters[4,i] = 50+i*5
  22.         @parameters[5,i] = 50+i*5
  23.       end
  24.       @weapon_id = 0
  25.       @armor1_id = 0
  26.       @armor2_id = 0
  27.       @armor3_id = 0
  28.       @armor4_id = 0
  29.       @weapon_fix = false
  30.       @armor1_fix = false
  31.       @armor2_fix = false
  32.       @armor3_fix = false
  33.       @armor4_fix = false
  34.     end
  35.     attr_accessor :id
  36.     attr_accessor :name
  37.     attr_accessor :class_id
  38.     attr_accessor :initial_level
  39.     attr_accessor :final_level
  40.     attr_accessor :exp_basis
  41.     attr_accessor :exp_inflation
  42.     attr_accessor :character_name
  43.     attr_accessor :character_hue
  44.     attr_accessor :battler_name
  45.     attr_accessor :battler_hue
  46.     attr_accessor :parameters
  47.     attr_accessor :weapon_id
  48.     attr_accessor :armor1_id
  49.     attr_accessor :armor2_id
  50.     attr_accessor :armor3_id
  51.     attr_accessor :armor4_id
  52.     attr_accessor :weapon_fix
  53.     attr_accessor :armor1_fix
  54.     attr_accessor :armor2_fix
  55.     attr_accessor :armor3_fix
  56.     attr_accessor :armor4_fix
  57.   end
  58. end
复制代码
要给角色添加新的属性类型要从状态那加还是从角色那加?
作者: joe5491    时间: 2013-4-13 09:06
是要從Game_Battler裡面改,不是Game_Actor
作者: chd114    时间: 2013-4-13 11:20
joe5491 发表于 2013-4-13 09:06
是要從Game_Battler裡面改,不是Game_Actor

我是要加新的角色能力种类···gamebattler又要怎么弄?
作者: hys111111    时间: 2013-4-13 13:26
这些还需要在Game_Actor里面添加吧。

设置在attr_accessor那里。

然后def setup(actor)那里也需要修改,

假如你在RPG::Actor那里添加了一个zero_hp
在Game_Actor的def setup那里加一个@zero_hp = actor.zero_hp。
作者: chd114    时间: 2013-4-13 13:53
hys111111 发表于 2013-4-13 13:26
这些还需要在Game_Actor里面添加吧。

设置在attr_accessor那里。

比如说?举个例子···我刚才试着加了一个但是只要一执行就会出错···




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1