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

Project1

 找回密码
 注册会员
搜索

[已解决]技能提升角色能力,如何通过脚本节省状态数量?

查看数: 382 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-10-3 19:58

正文摘要:

本帖最后由 miantouchi 于 2024-10-4 21:22 编辑 制作一个效果,就是使用这个技能给我方人员,提升N回合的力量。

回复

魔法丶小肉包 发表于 2024-10-3 22:07:24
1.在特技的说明里写<param 2,10>   这里的数字2代表力量,3代表灵巧,4代表速度,5代表魔力;数字10代表增幅%,也就是按照110%计算
2.不用担心写在说明里会在游戏里描绘出来,已经处理过了
3.随便附加个状态就行,但是持续时间会按照该特技附加的第一个状态来计算

RUBY 代码复制
  1. class Window_Skill
  2.   def update_help
  3.     text = self.skill == nil ? "" : self.skill.description.clone
  4.     text.gsub!(/<.+>/,'') if text =~ /<.+>/
  5.     @help_window.set_text(text)
  6.   end
  7. end
  8. class Scene_Battle
  9.   alias mf241003make_skill_action_result make_skill_action_result
  10.   def make_skill_action_result
  11.     mf241003make_skill_action_result
  12.     for target in @target_battlers
  13.       target.skill_param_effect(@skill)
  14.     end
  15.   end
  16. end
  17. class Game_Battler
  18.   def skill_param_effect(skill)
  19.     param = {2=>:@str_rate,3=>:@dex_rate,4=>:@agi_rate,5=>:@int_rate}
  20.     if skill.description =~ /<param\s+(.+)>/
  21.       a = $1.split(",")
  22.       state = $data_states[skill.plus_state_set[0]]
  23.       state.instance_variable_set(param[a[0].to_i],100+a[1].to_i)
  24.     end
  25.   end
  26. end

点评

精妙至极,许多知识忙点,看了半天,才大概懂了些。  发表于 2024-10-4 15:39

评分

参与人数 1+1 收起 理由
miantouchi + 1 认可答案

查看全部评分

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

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

GMT+8, 2024-11-21 18:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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