设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 7478|回复: 5
打印 上一主题 下一主题

[RMVA发布] RMVA 升级获得自由属性加点系统。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
276 小时
注册时间
2011-6-5
帖子
133
跳转到指定楼层
 楼主| 发表于 2013-3-6 23:06:23 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 救世小树 于 2013-3-8 15:24 编辑

想给自己游戏弄个加点系统,但是VA找不到合适的,    白字卖萌
于是自己动手,查来查去,边查边写,有了这个不算完美的脚本。
写完之后想想来这里这么久了,一直在潜水,    白字卖萌
于是就鼓起勇气把这第一次自己完成的功能型脚本修改了一下,送给大家。


新版本正常向发布
新版正常向不再采用增长百分比
就是普通的加法运算,也没有了蛋疼的每个角色设置成长率
可以设定加点的种类,每种点对角色18个属性的影响(加法),总之比这个版本更普适。
http://rpg.blue/thread-295517-1-1.html



首先要准备好大量的变量位置,因为每个角色要消耗7个变量位置,
储存属性点的变量编号是   x+角色id*7  ,
[x+角色id*7] ~ [x+角色id*7+6]号变量分别储存了
自由点; 体力点; 精神点;力量点; 魔力点; 韧性点; 灵活点。
体力精神影响HPMP上限和再生率,每个角色的影响程度可以在脚本一开始的数组里设置;
角色MHP=原MHP*(1+影响系数*角色体力点)
角色MMP=原MMP*(1+影响系数*角色精神点)
角色ATK=原ATK*(1+影响系数*角色力量点)
角色MAT=原MAT*(1+影响系数*角色魔力点)
这样设定纯粹是为了好玩【O(∩_∩)O~】
不过这样子计算时装备附加的HPMP物攻魔攻的效果也会被这样影响,
如果在数据库中把人物的基础物攻魔攻HPMP设定得比较低而且没有成长而单纯靠加点成长的话,那就装备附加上面四种属性的影响就比较强了。
至于其它属性的设置就全都是加法了。

通过加点可以影响的属性有:
MHP、HP再生、
MMP、MP再生、
物攻、
魔攻、
物防、魔防、
敏捷、物理魔法回避。

想要增加其它的属性也可以照着样子改,额,懂一点脚本的应该改起来不难。
--------------------------------------------------------------------------------------------------
第一次发脚本,可能有很多不好的地方,请多担待。
使用脚本将它放在该放的位置就行了,菜单中会多出加点的选项。
每个角色对应系数,洗点水的物品编号和一些文字可以自己在脚本开头设置。
    白字卖萌
最后我怎么可能会告诉你这里顺便附带了一个升级回满血蓝的小功能【想必这个是大家都会的基础吧】
希望这脚本少出点bug。。。我自认为是写得挺认真的。。。

范例没有打包dll,请自行添加。
Project3.rar (306.7 KB, 下载次数: 197)

修一个不算大的bug:洗点之后mp超过mmp;
150行左右:
def use_item(item)
  super
  if item.id == RESET_ITEM
    reset(self.id)
    self.hp = [self.hp,self.mhp].min
    self.mp = [self.mp,self.mmp].min   #加上这行。。。
  end
end


      这行白字是在卖萌?

以下脚本代码
RUBY 代码复制
  1. #encoding:utf-8
  2. #=============================================================================
  3. #-----------------RMVA加点系统-v1.00---By:救世小树--------转载请注明出处-------
  4. #=============================================================================
  5.  
  6. module Point_Tree
  7.  
  8.   POINT_VARIABLE = 33
  9.   #储存属性点的变量编号是33+角色id*7,
  10.   #即40号变量为一号角色自由点;41号为体力点;42号为精神点;
  11.   #43号为力量点;44号为魔力点;45号为韧性点;46号为灵活点。
  12.  
  13.   LEVEL_UP_POINT = 3
  14.   #每升一级属性点增加数
  15.  
  16.   RESET_ITEM     = 20   #洗点水编号
  17.  
  18.   #每一种点的称呼
  19.   STR_BODY       = "体力"
  20.   STR_MENTAL     = "精神"
  21.   STR_STR        = "力量"
  22.   STR_MAG        = "魔力"
  23.   STR_HAR        = "韧性"
  24.   STR_SPE        = "灵活"
  25.  
  26.   STR_ALL        = [STR_BODY,STR_MENTAL,STR_STR,STR_MAG,STR_HAR,STR_SPE]
  27.  
  28.   #菜单项名称
  29.   ADDPOINT       = "加点"
  30.  
  31.   POINT_NAME     = "属性点"
  32.  
  33.   BODY_MHP   = [0,
  34.   2.0,2.6,4.2,2.3,3.5,      10,10,10,10,10]
  35.   #第一个0请无视,第二个2.0即1号角色对应的增加一点体力时MHP增加百分数
  36.   #即一号角色MHP=原MHP*(1+2.0*一号角色体力点)
  37.  
  38.   BODY_HP    = [0,
  39.   2,5,8,3,7, 10,10,10,10,10]
  40.   #各角色每增加一点体力HP恢复率增加值(万分率)
  41.  
  42.   MENTAL_MMP = [0,
  43.   4.4,3.9,2.6,4.2,3.5, 2,2,2,2,2]
  44.   #各角色每增加一点精神MMP增加百分数
  45.  
  46.   MENTAL_MP  = [0,
  47.   12,10,7,9,7, 10,10,10,10,10]
  48.   #各角色每增加一点精神MP恢复率增加值(万分率)
  49.  
  50.   STR_ATK    = [0,
  51.   1.0,1.6,3.7,1.2,3.0, 2,2,2,2,2]
  52.   #各角色每增加一点力量物理攻击增加百分数
  53.  
  54.   MAG_MAT    = [0,
  55.   3.6,3.9,2.2,3.8,3.0, 7,7,7,7,7]
  56.   #各角色每增加一点魔力魔法攻击增加百分数
  57.  
  58.   HAR_DEF    = [0,
  59.   0,2,5,2,4, 3,3,3,3,3]
  60.   #各角色每增加一点韧性物理防御增加点数
  61.  
  62.   HAR_MDF    = [0,
  63.   7,5,5,6,4, 3,3,3,3,3]
  64.   #各角色每增加一点韧性魔法防御增加点数
  65.  
  66.   SPE_AGI    = [0,
  67.   3,2,2,4,2, 3,3,3,3,3]
  68.   #各角色每增加一点灵活敏捷增加点数
  69.  
  70.   SPE_EVA    = [0,
  71.   10,6,4,15,7, 2,2,2,2,2]
  72.   #各角色每增加一点灵活物理魔法闪避增加点数(万分率)
  73.  
  74.   def reset(actor_id)
  75.     for i in 1..6
  76.       $game_variables[actor_id*7 + POINT_VARIABLE]+=$game_variables[actor_id*7 + POINT_VARIABLE+i]
  77.       $game_variables[actor_id*7 + POINT_VARIABLE+i]=0
  78.     end
  79.   end
  80.  
  81.   def temp_all
  82.     return $temp_body+$temp_mental+$temp_str+$temp_mag+$temp_har+$temp_spe
  83.   end
  84.  
  85. end
  86.  
  87. $temp_body   = 0
  88. $temp_mental = 0
  89. $temp_str    = 0
  90. $temp_mag    = 0
  91. $temp_har    = 0
  92. $temp_spe    = 0
  93.  
  94. class Game_Actor < Game_Battler
  95.   include Point_Tree
  96.   alias level_up_tre level_up
  97.   def level_up
  98.     level_up_tre
  99.     @hp += mhp
  100.     @mp += mmp
  101.     $game_variables[self.id*7 + POINT_VARIABLE] += LEVEL_UP_POINT
  102.   end
  103.   def point_plus(param_id,extra_add = 0)
  104.     case param_id
  105.     when 3
  106.       return (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+5])*HAR_DEF[self.id]
  107.     when 5
  108.       return (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+5])*HAR_MDF[self.id]
  109.     when 6
  110.       return (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+6])*SPE_AGI[self.id]
  111.     end
  112.     return 0
  113.   end
  114.   def point_rate(param_id,extra_add=0)
  115.     case param_id
  116.     when 0
  117.       return 1+((extra_add+$game_variables[self.id*7+POINT_VARIABLE+1])*BODY_MHP[self.id]/100.0)
  118.     when 1
  119.       return 1+((extra_add+$game_variables[self.id*7+POINT_VARIABLE+2])*MENTAL_MMP[self.id]/100.0)
  120.     when 2
  121.       return 1+((extra_add+$game_variables[self.id*7+POINT_VARIABLE+3])*STR_ATK[self.id]/100.0)
  122.     when 4
  123.       return 1+((extra_add+$game_variables[self.id*7+POINT_VARIABLE+4])*MAG_MAT[self.id]/100.0)
  124.     end
  125.     return 1
  126.   end
  127.   alias point_base_param param
  128.  
  129.   def param(param_id,extra_add = 0)
  130.     value = param_base(param_id) + param_plus(param_id) + point_plus(param_id,extra_add)
  131.     value *= param_rate(param_id) * point_rate(param_id,extra_add) * param_buff_rate(param_id)
  132.     [[value, param_max(param_id)].min, param_min(param_id)].max.to_i
  133.   end
  134.   def xparam(xparam_id,extra_add=0)
  135.     xp = super(xparam_id)
  136.     case xparam_id
  137.     when 1
  138.       return xp + (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+6])*SPE_EVA[self.id]/10000.0
  139.     when 4
  140.       return xp + (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+6])*SPE_EVA[self.id]/10000.0
  141.     when 7
  142.       return xp + (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+1])*BODY_HP[self.id]/10000.0
  143.     when 8
  144.       return xp + (extra_add+$game_variables[self.id*7 + POINT_VARIABLE+2])*MENTAL_MP[self.id]/10000.0
  145.     end
  146.     return xp
  147.   end
  148.   def use_item(item)
  149.     super
  150.     if item.id == RESET_ITEM
  151.       reset(self.id)
  152.       self.hp = [self.hp,self.mhp].min
  153.       self.mp = [self.mp,self.mmp].min
  154.     end
  155.   end
  156. end
  157.  
  158. class Window_Point_Command < Window_Command
  159.  
  160.   include Point_Tree
  161.   #--------------------------------------------------------------------------
  162.   # ● 初始化指令选择位置(类方法)
  163.   #--------------------------------------------------------------------------
  164.   def self.init_command_position
  165.     @@last_command_symbol = nil
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● 初始化对象
  169.   #--------------------------------------------------------------------------
  170.   def initialize(actor)
  171.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  172.     super(0,0)
  173.     select_last
  174.   end
  175.   def actor=(actor)
  176.     return if [url=home.php?mod=space&uid=95897]@actor[/url] == actor
  177.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  178.     refresh
  179.   end
  180.   #--------------------------------------------------------------------------
  181.   # ● 获取窗口的宽度
  182.   #--------------------------------------------------------------------------
  183.   def window_width
  184.     return 160
  185.   end
  186.   #--------------------------------------------------------------------------
  187.   # ● 获取显示行数
  188.   #--------------------------------------------------------------------------
  189.   def visible_line_number
  190.     item_max
  191.   end
  192.   def get_actor_point(id)
  193.     s = $game_variables[@actor.id*7+POINT_VARIABLE+id].to_s
  194.     case id
  195.     when 1
  196.       return "("+s+")+"+$temp_body.to_s
  197.     when 2
  198.       return "("+s+")+"+$temp_mental.to_s
  199.     when 3
  200.       return "("+s+")+"+$temp_str.to_s
  201.     when 4
  202.       return "("+s+")+"+$temp_mag.to_s
  203.     when 5
  204.       return "("+s+")+"+$temp_har.to_s
  205.     when 6
  206.       return "("+s+")+"+$temp_spe.to_s
  207.     end
  208.   end
  209.   #--------------------------------------------------------------------------
  210.   # ● 生成指令列表
  211.   #--------------------------------------------------------------------------
  212.   def make_command_list
  213.     add_command(STR_BODY   + get_actor_point(1)  , :point_body  ,add_enabled)
  214.     add_command(STR_MENTAL + get_actor_point(2)  , :point_mental,add_enabled)
  215.     add_command(STR_STR    + get_actor_point(3)  , :point_str   ,add_enabled)
  216.     add_command(STR_MAG    + get_actor_point(4)  , :point_mag   ,add_enabled)
  217.     add_command(STR_HAR    + get_actor_point(5)  , :point_har   ,add_enabled)
  218.     add_command(STR_SPE    + get_actor_point(6)  , :point_spe   ,add_enabled)
  219.     add_command("确认",  :point_ok)
  220.     add_command("取消",  :point_cancle)
  221.   end
  222.   #--------------------------------------------------------------------------
  223.   # ● 按下确定键时的处理
  224.   #--------------------------------------------------------------------------
  225.   def process_ok
  226.     @@last_command_symbol = current_symbol
  227.     super
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # ● 返回最后一个选项的位置
  231.   #--------------------------------------------------------------------------
  232.   def select_last
  233.     select_symbol(@@last_command_symbol)
  234.   end
  235.  
  236.   def add_enabled
  237.     temp_all < $game_variables[@actor.id*7 + POINT_VARIABLE]
  238.   end
  239.  
  240.   def update_help
  241.     @help_window.set_text(self.index+1) if @help_window
  242.   end
  243. end
  244.  
  245. #帮助窗口
  246. class Window_Point_Help < Window_Base
  247.   include Point_Tree
  248.   def initialize()
  249.     super(0, 216, 160, 200)
  250.   end
  251.   def set_text(id)
  252.     contents.clear
  253.     text = ""
  254.     case id
  255.     when 1
  256.       text = STR_BODY + "影响:\n\\}  " + Vocab::param(0) +"\n(百分之)\n  回合HP再生\n(万分之)"
  257.     when 2
  258.       text = STR_MENTAL + "影响:\n\\}  " + Vocab::param(1) +"\n(百分之)\n  回合MP再生\n(万分之)"
  259.     when 3
  260.       text = STR_STR + "影响:\n\\}  " + Vocab::param(2) +"\n(百分之)"
  261.     when 4
  262.       text = STR_MAG + "影响:\n\\}  " + Vocab::param(4) +"\n(百分之)"
  263.     when 5
  264.       text = STR_HAR + "影响:\n\\}  " + Vocab::param(3) +"\n  "+Vocab::param(5)
  265.     when 6
  266.       text = STR_SPE + "影响:\n\\}  " + Vocab::param(6) +"\n  双回避\n(万分之)"
  267.     when 7
  268.       text = "\\}确认此次加点分配"
  269.     when 8
  270.       text = "\\}取消此次加点分配"
  271.     end
  272.     draw_text_ex(8, 8, text)
  273.   end
  274. end
  275.  
  276.  
  277. #角色状态窗口
  278. class Window_Point_Actor < Window_Base
  279.   include Point_Tree
  280.   def initialize(actor)
  281.     super(160, 0, Graphics.width - 160, Graphics.height)
  282.     @actor = actor
  283.     refresh
  284.   end
  285.   def actor=(actor)
  286.     return if @actor == actor
  287.     @actor = actor
  288.     refresh
  289.   end
  290.   def refresh
  291.     contents.clear
  292.     draw_actor_name(@actor, 2, 0)
  293.     draw_actor_level(@actor, 102,  line_height * 1)
  294.     draw_actor_class(@actor, 140, 0)
  295.     draw_actor_face(@actor, 2, line_height * 1)
  296.     draw_actor_point(100,line_height*2)
  297.     draw_actor_param_point(8,line_height * 5)
  298.   end
  299.   def draw_actor_point(x,y)
  300.     draw_text(x,y,200,line_height,"  未分配"+POINT_NAME + ":" + $game_variables[@actor.id*7 + POINT_VARIABLE].to_s)
  301.     draw_text(x,y+line_height,200,line_height,"此次分配"+POINT_NAME + ":" + temp_all.to_s)
  302.   end
  303.   def draw_actor_param_point(x,y)
  304.     11.times {|i| actor_param_to_s(x,y,i)}
  305.   end
  306.   def actor_param_to_s(x,y,param_id)
  307.     s1 = ""
  308.     s2 = ""
  309.     s3 = ""
  310.     s4 = ""
  311.     case param_id
  312.     when 0
  313.       s1 = Vocab::param(0)
  314.       s2 = @actor.param(0).to_s
  315.       s3 = @actor.param(0,$temp_body).to_s
  316.       s4 = "成长" + BODY_MHP[@actor.id].to_s
  317.     when 1
  318.       s1 = Vocab::param(1)
  319.       s2 = @actor.param(1).to_s  
  320.       s3 =  @actor.param(1,$temp_mental).to_s
  321.       s4 = "成长" + MENTAL_MMP[@actor.id].to_s
  322.     when 2
  323.       s1 = Vocab::param(2)
  324.       s2 = @actor.param(2).to_s  
  325.       s3 =   @actor.param(2,$temp_str).to_s
  326.       s4 = "成长" + STR_ATK[@actor.id].to_s
  327.     when 3
  328.       s1 = Vocab::param(3)
  329.       s2 = @actor.param(3).to_s  
  330.       s3 =  @actor.param(3,$temp_har).to_s
  331.       s4 = "成长" + HAR_DEF[@actor.id].to_s
  332.     when 4
  333.       s1 = Vocab::param(4)
  334.       s2 = @actor.param(4).to_s  
  335.       s3 =  @actor.param(4,$temp_mag).to_s
  336.       s4 = "成长" + MAG_MAT[@actor.id].to_s
  337.     when 5
  338.       s1 = Vocab::param(5)  
  339.       s2 = @actor.param(5).to_s  
  340.       s3 =  @actor.param(5,$temp_har).to_s
  341.       s4 = "成长" + HAR_MDF[@actor.id].to_s
  342.     when 6
  343.       s1 = Vocab::param(6)  
  344.       s2 = @actor.param(6).to_s  
  345.       s3 =  @actor.param(6,$temp_spe).to_s
  346.       s4 = "成长" + SPE_AGI[@actor.id].to_s
  347.     when 7
  348.       s1 = "物理闪避"  
  349.       s2 = sprintf("%02.1f%%",@actor.xparam(1)*100)  
  350.       s3 =  sprintf("%02.1f%%",@actor.xparam(1,$temp_spe)*100)
  351.       s4 = "成长" + SPE_EVA[@actor.id].to_s
  352.     when 8
  353.       s1 = "魔法闪避"  
  354.       s2 = sprintf("%02.1f%%",@actor.xparam(4)*100)  
  355.       s3 =   sprintf("%02.1f%%",@actor.xparam(4,$temp_spe)*100)
  356.       s4 = "成长" + SPE_EVA[@actor.id].to_s
  357.     when 9
  358.       s1 = "HP恢复"  
  359.       s2 = sprintf("%02.1f%%",@actor.xparam(7)*100)  
  360.       s3 =  sprintf("%02.1f%%",@actor.xparam(7,$temp_body)*100)
  361.       s4 = "成长" + BODY_HP[@actor.id].to_s
  362.     when 10
  363.       s1 = "MP恢复"  
  364.       s2 = sprintf("%02.1f%%",@actor.xparam(8)*100)  
  365.       s3 =  sprintf("%02.1f%%",@actor.xparam(8,$temp_mental)*100)
  366.       s4 = "成长" + MENTAL_MP[@actor.id].to_s
  367.     end
  368.     change_color(system_color)
  369.     draw_text(x,y+line_height*param_id,100,line_height,s1)
  370.     change_color(normal_color)
  371.     s2+= " →"
  372.     draw_text(x+82,y+line_height*param_id,120,line_height,s2,2)
  373.     change_color(system_color)
  374.     draw_text(x+150,y+line_height*param_id,100,line_height,s3,2)
  375.     change_color(normal_color)
  376.     contents.font.size = 16
  377.     draw_text(x+266,y+line_height*param_id,100,line_height,s4)
  378.     contents.font.size = 24
  379.   end
  380. end
  381.  
  382. class Scene_Point < Scene_Base
  383.   include Point_Tree
  384.   def start
  385.     super
  386.     create_background
  387.     @actor = $game_party.menu_actor
  388.     create_command_window
  389.     create_status_window
  390.     create_help_window
  391.  
  392.   end
  393.   def terminate
  394.     super
  395.     dispose_background
  396.   end
  397.   def create_background
  398.     @background_sprite = Sprite.new
  399.     @background_sprite.bitmap = SceneManager.background_bitmap
  400.     @background_sprite.color.set(16, 16, 16, 128)
  401.   end
  402.   def dispose_background
  403.     @background_sprite.dispose
  404.   end
  405.  
  406.   def create_command_window
  407.     @command_window = Window_Point_Command.new(@actor)
  408.     @command_window.set_handler(:cancel,      method(:return_scene))
  409.     @command_window.set_handler(:pagedown,    method(:next_actor))
  410.     @command_window.set_handler(:pageup,      method(:prev_actor))
  411.     @command_window.set_handler(:point_body,  method(:add_body))
  412.     @command_window.set_handler(:point_mental,method(:add_mental))
  413.     @command_window.set_handler(:point_str,   method(:add_str))
  414.     @command_window.set_handler(:point_mag,   method(:add_mag))
  415.     @command_window.set_handler(:point_har,   method(:add_har))
  416.     @command_window.set_handler(:point_spe,   method(:add_spe))
  417.     @command_window.set_handler(:point_ok,    method(:add_ok))
  418.     @command_window.set_handler(:point_cancle,method(:add_cancle))
  419.  
  420.   end
  421.   def return_scene
  422.     add_cancle
  423.     SceneManager.return
  424.   end
  425.   def create_status_window
  426.     @status_window = Window_Point_Actor.new(@actor)
  427.   end
  428.   def create_help_window
  429.     @help_window = Window_Point_Help.new
  430.     @help_window.viewport = @viewport
  431.     @command_window.help_window = @help_window
  432.     @command_window.activate
  433.   end
  434.  
  435.   def add_body
  436.     if temp_all >= $game_variables[@actor.id*7 + POINT_VARIABLE] #or $game_variables[@actor.id*7 + POINT_VARIABLE] == 0
  437.       @command_window.activate
  438.       return
  439.     end
  440.     $temp_body += 1
  441.     @status_window.refresh
  442.     @command_window.refresh
  443.     @command_window.activate
  444.   end
  445.  
  446.   def add_mental
  447.     if temp_all >= $game_variables[@actor.id*7 + POINT_VARIABLE]
  448.       @command_window.activate
  449.       return
  450.     end
  451.     $temp_mental += 1
  452.     @status_window.refresh
  453.     @command_window.refresh
  454.     @command_window.activate
  455.   end
  456.  
  457.   def add_str
  458.     if temp_all >= $game_variables[@actor.id*7 + POINT_VARIABLE]
  459.       @command_window.activate
  460.       return
  461.     end
  462.     $temp_str += 1
  463.     @status_window.refresh
  464.     @command_window.refresh
  465.     @command_window.activate
  466.   end
  467.   def add_mag
  468.     if temp_all >= $game_variables[@actor.id*7 + POINT_VARIABLE]
  469.       @command_window.activate
  470.       return
  471.     end
  472.     $temp_mag += 1
  473.     @status_window.refresh
  474.     @command_window.refresh
  475.     @command_window.activate
  476.   end
  477.   def add_har
  478.     if temp_all >= $game_variables[@actor.id*7 + POINT_VARIABLE]
  479.       @command_window.activate
  480.       return
  481.     end
  482.     $temp_har += 1
  483.     @status_window.refresh
  484.     @command_window.refresh
  485.     @command_window.activate
  486.   end
  487.   def add_spe
  488.     if temp_all >= $game_variables[@actor.id*7 + POINT_VARIABLE]
  489.       @command_window.activate
  490.       return
  491.     end
  492.     $temp_spe += 1
  493.     @status_window.refresh
  494.     @command_window.refresh
  495.     @command_window.activate
  496.   end
  497.   def add_ok
  498.     $game_variables[@actor.id*7 + POINT_VARIABLE+1] += $temp_body
  499.     $game_variables[@actor.id*7 + POINT_VARIABLE+2] += $temp_mental
  500.     $game_variables[@actor.id*7 + POINT_VARIABLE+3] += $temp_str
  501.     $game_variables[@actor.id*7 + POINT_VARIABLE+4] += $temp_mag
  502.     $game_variables[@actor.id*7 + POINT_VARIABLE+5] += $temp_har
  503.     $game_variables[@actor.id*7 + POINT_VARIABLE+6] += $temp_spe
  504.     $game_variables[@actor.id*7 + POINT_VARIABLE] -= temp_all
  505.     add_cancle
  506.   end
  507.  
  508.   def add_cancle
  509.     $temp_body   = 0
  510.     $temp_mental = 0
  511.     $temp_str    = 0
  512.     $temp_mag    = 0
  513.     $temp_har    = 0
  514.     $temp_spe    = 0
  515.     @status_window.refresh
  516.     @command_window.refresh
  517.     @command_window.activate
  518.   end
  519.  
  520.  
  521.   def next_actor
  522.     @actor = $game_party.menu_actor_next
  523.     on_actor_change
  524.   end
  525.   #--------------------------------------------------------------------------
  526.   # ● 切换到上一个角色
  527.   #--------------------------------------------------------------------------
  528.   def prev_actor
  529.     @actor = $game_party.menu_actor_prev
  530.     on_actor_change
  531.   end
  532.   #--------------------------------------------------------------------------
  533.   # ● 切换角色
  534.   #--------------------------------------------------------------------------
  535.   def on_actor_change
  536.     @status_window.actor = @actor
  537.     @command_window.actor = @actor
  538.     @command_window.activate
  539.   end
  540.  
  541. end
  542.  
  543. class Window_MenuCommand < Window_Command
  544.   alias add_original_commands_old add_original_commands
  545.   def add_original_commands
  546.     add_original_commands_old
  547.     add_command(Point_Tree::ADDPOINT,    :addpoint)
  548.   end
  549. end
  550.  
  551. class Scene_Menu < Scene_MenuBase
  552.   alias create_command_window_old create_command_window
  553.   def create_command_window
  554.     create_command_window_old
  555.     @command_window.set_handler(:addpoint,method(:add_point))
  556.   end
  557.   def add_point
  558.     @status_window.select_last
  559.     @status_window.activate
  560.     @status_window.set_handler(:ok,     method(:on_ok))
  561.     @status_window.set_handler(:cancel, method(:on_personal_cancel))
  562.   end
  563.   def on_ok
  564.     SceneManager.call(Scene_Point)
  565.     Window_Point_Command::init_command_position
  566.   end
  567. end
  568.  
  569. class Window_Status < Window_Selectable
  570.   include Point_Tree
  571.   alias draw_parameters_old draw_parameters
  572.   def draw_parameters(x, y)
  573.     draw_parameters_old(x,y)
  574.     draw_point(x,y)
  575.   end
  576.   def draw_point(x,y)
  577.     for i in 0..5
  578.       change_color(system_color)
  579.       draw_text(x+100, y+ line_height * i, 80, line_height, STR_ALL[i])
  580.       change_color(normal_color)
  581.       draw_text(x+180, y+ line_height * i, 36, line_height,$game_variables[@actor.id*7+POINT_VARIABLE+i+1], 2)
  582.     end
  583.   end
  584.  
  585. end
  586.  
  587. class Window_Base < Window
  588.   def draw_actor_param(actor, x, y, param_id)
  589.     change_color(system_color)
  590.     draw_text(x-30, y, 80, line_height, Vocab::param(param_id))
  591.     change_color(normal_color)
  592.     draw_text(x+ 50, y, 36, line_height, actor.param(param_id), 2)
  593.   end
  594. end
  595.  
  596. class Scene_ItemBase < Scene_MenuBase
  597.   def item_usable?
  598.     if item.id == Point_Tree::RESET_ITEM
  599.       return true
  600.     end
  601.     user.usable?(item) && item_effects_valid?
  602.   end
  603. end


    白字卖萌
感谢支持
  

评分

参与人数 1星屑 +7 收起 理由
李梦遥 + 7 塞糖

查看全部评分

研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这话句后,才发这现里的字全是都乱的

Lv1.梦旅人

梦石
0
星屑
120
在线时间
188 小时
注册时间
2014-1-18
帖子
254
5
发表于 2014-1-28 13:16:30 | 只看该作者
要的就是这种!!!依旧要值槽(别忘了设上限)...
没事的过来瞄一眼,有事的也过来瞄一眼...群组,XAS PS VA
http://rpg.blue/forum.php?mod=group&fid=537
XAS探索目录:http://rpg.blue/home.php?mo ... o=blog&id=12595
如果有人对你说,你如此帅气(美丽),你要分三个角度去想:
1.就像妈妈对你说:“你如此帅气(美丽)。”(安慰)
2.就像女(男)朋友对你说:“你如此帅气(美丽)”(欺瞒)
3.就像乞丐对你说:“你如此帅气(美丽)”(讨好)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1048
在线时间
26 小时
注册时间
2013-7-19
帖子
4
4
发表于 2013-8-16 17:37:53 | 只看该作者
顶LZ,这是个好东西
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
170 小时
注册时间
2011-4-3
帖子
14
3
发表于 2013-8-11 14:45:21 | 只看该作者

顶LZ,这是个好东西
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
25 小时
注册时间
2010-8-8
帖子
30
2
发表于 2013-7-29 01:12:50 | 只看该作者
这个真心不错,支持你一下!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
54 小时
注册时间
2010-6-28
帖子
11
1
发表于 2013-7-15 02:39:52 | 只看该作者
顶LZ,这是个好东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 10:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表