Project1

标题: 求技能介绍脚本。。。 [打印本页]

作者: CR~    时间: 2014-10-25 21:08
标题: 求技能介绍脚本。。。
求一个技能介绍脚本,技能介绍的时候会显示颜色,会显示变量,还会自己做算术。。。
比如

魔法十字斩:对敌人照成80%力量(0.8*1号角色力量,蓝色)+80%智力(0.8*1号角色智力,红色)+100%攻击力(1*攻击力,黑色)

最后是这个效果

对敌人照成80%力量(24)+80%智力(24)+100%攻击力(30)

谢谢。
作者: 国产吃货    时间: 2014-10-25 21:08
CR~ 发表于 2014-10-27 21:36
那么问题来了,

100字的限制,,可不可以低于100字的直接在数据库里写,高于100字的在脚本中写,在数据 ...

太多介绍可以再脚本里定义。
换行有什么用?再换行也不能全都显示出来吧。
作者: 573932914    时间: 2014-10-26 10:30
如果所有技能的介绍都是这样千篇一律容易完成
作者: CR~    时间: 2014-10-26 11:18
573932914 发表于 2014-10-26 10:30
如果所有技能的介绍都是这样千篇一律容易完成

释放附有魔法的十字斩,对敌人照成80%力量(24)+80%智力(24)+100%攻击力(30)


括号里的数值是会随着角色属性变化变动的。。。
作者: 573932914    时间: 2014-10-26 13:54
CR~ 发表于 2014-10-26 11:18
释放附有魔法的十字斩,对敌人照成80%力量(24)+80%智力(24)+100%攻击力(30)

不断地计算就行
作者: CR~    时间: 2014-10-27 15:30
求大神啊。。。
作者: 国产吃货    时间: 2014-10-27 19:10
CR~ 发表于 2014-10-27 15:30
求大神啊。。。

详细介绍?
比如怎么显示?
怎么设置?
作者: 芯☆淡茹水    时间: 2014-10-27 19:42
怎么没人回答
  1. #==============================================================================
  2. class Window_Skill < Window_Selectable
  3.   #--------------------------------------------------------------------------
  4.   def update_help
  5.     @help_window.set_skill(@actor, skill)
  6.   end
  7. end
  8. #==============================================================================
  9. class Window_Help < Window_Base
  10.   #--------------------------------------------------------------------------
  11.   def set_skill(actor, skill)
  12.     self.contents.clear
  13.     return if skill.nil? or actor.nil?
  14.     x = 0; cx = contents.text_size("对敌人照成80%力量(").width
  15.     self.contents.font.color = normal_color
  16.     self.contents.draw_text(x, 0, cx, 32, "对敌人照成80%力量(")
  17.     txt = (actor.str * 80 / 100).to_s; x += cx
  18.     cx = contents.text_size(txt).width
  19.     self.contents.font.color = Color.new(255, 128, 255)
  20.     self.contents.draw_text(x, 0, cx, 32, txt)
  21.     x += cx
  22.     cx = contents.text_size(")+80%智力(").width
  23.     self.contents.font.color = normal_color
  24.     self.contents.draw_text(x, 0, cx, 32, ")+80%智力(")
  25.     txt = (actor.int * 80 / 100).to_s; x += cx
  26.     cx = contents.text_size(txt).width
  27.     self.contents.font.color = Color.new(255, 0, 0)
  28.     self.contents.draw_text(x, 0, cx, 32, txt)
  29.     x += cx
  30.     cx = contents.text_size(")+100%攻击力(").width
  31.     self.contents.font.color = normal_color
  32.     self.contents.draw_text(x, 0, cx, 32, ")+100%攻击力(")
  33.     x += cx
  34.     cx = contents.text_size(actor.atk.to_s).width
  35.     self.contents.font.color = Color.new(0, 0, 0)
  36.     self.contents.draw_text(x, 0, cx, 32, actor.atk.to_s)
  37.     x += cx
  38.     self.contents.font.color = normal_color
  39.     self.contents.draw_text(x, 0, 64, 32, ")。")
  40.   end
  41. end
  42. #=============================================================================
复制代码

作者: 国产吃货    时间: 2014-10-27 19:58
本帖最后由 国产吃货 于 2014-10-27 20:02 编辑
  1. =begin
  2. #==============================================================================
  3. # ■ 简单特技说明修改。v1.0
  4. #------------------------------------------------------------------------------
  5. #  2014.10.27 By魔族宝
  6. # ★ 定制/修改脚本 QQ  774741359
  7. # ★ 脚本学习课堂 QQ群 167188561
  8. # ** 将此脚本放置在Main上即可。
  9. #==============================================================================
  10. #----------------------使用方法----------------------
  11. 1-\\c[] 改变颜色
  12. 2-#{这里面的内容自动计算}
  13.   v代表变量,n代表角色
  14.   v[1]  一号变量
  15.   n[5]  五号角色
  16. #---------------------角色的属性------------------
  17. maxhp 最大HP
  18. maxsp 最大MP
  19. hp  HP
  20. sp  SP
  21. str 力量
  22. dex 灵巧
  23. agi 速度
  24. int 魔力
  25. hit 命中率
  26. atk 攻击力
  27. pdef 物理防御
  28. mdef 魔法防御
  29. eva 回避修正
  30. =end
  31. class Window_Help < Window_Base
  32.   #--------------------------------------------------------------------------
  33.   # ● 设置文本
  34.   #     text  : 窗口显示的字符串
  35.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  36.   #--------------------------------------------------------------------------
  37.   def set_text(text, align = 0)
  38.     if text != @text or align != @align
  39.       # 再描绘文本
  40.       self.contents.clear
  41.       self.contents.font.color = normal_color
  42.       n=$game_actors
  43.       v=$game_variables
  44.       text=eval("\"#{text}\"")
  45.       #
  46.      x=0
  47.       text.gsub!(/\\\\/) { "\000" }
  48.       text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  49.       while ((c = text.slice!(/./m)) != nil)
  50.         case c
  51.         when "\000" # /
  52.           c = "\\"
  53.         when "\001" #颜色
  54.           text.sub!(/\[([0-9]+)\]/, "")
  55.           self.contents.font.color = text_color($1.to_i)        
  56.           next
  57.         end
  58.         self.contents.draw_text(x+4, 0, 40, 32, c)
  59.         x += self.contents.text_size(c).width
  60.       end
  61.       @text = text
  62.       @align = align
  63.       @actor = nil
  64.     end
  65.     self.visible = true
  66.   end
  67. end
复制代码
魔法十字斩:
对敌人照成80%力量(\\c[1] #{  n[1].str * 0.8 }  \\c[0] )+80%智力(\\c[1] #{  n[1].agi * 0.8 }  \\c[0] )+100%攻击力(\\c[3]#{100}\\c[0])
作者: CR~    时间: 2014-10-27 21:36
国产吃货 发表于 2014-10-27 19:58
魔法十字斩:
对敌人照成80%力量(\\c[1] #{  n[1].str * 0.8 }  \\c[0] )+80%智力(\\c[1] #{  n[1].agi  ...

那么问题来了,

100字的限制,,可不可以低于100字的直接在数据库里写,高于100字的在脚本中写,在数据库的技能介绍中如果有标记,就直接去脚本里读取改技能ID的技能介绍



不知道可不可以弄成自动换行,,,谢谢!
作者: CR~    时间: 2014-10-28 12:25
国产吃货 发表于 2014-10-28 11:05
太多介绍可以再脚本里定义。
换行有什么用?再换行也不能全都显示出来吧。 ...

如何在脚本里定义???

能不能把哪两个技能介绍的框框加个三四行啊。
作者: 上贺茂润    时间: 2015-1-16 16:11
字太多要写在备注里 使用xp读取备注脚本和详尽帮助脚本才能实现窗口化
作者: CR~    时间: 2015-1-16 23:05
已经自己解决了。




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