查看: 2747|回复: 8

[已经解决] 【已解决】ARPG技能冷却递增7次

[复制链接]
梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2022-9-29 14:40:57 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 金芒芒 于 2022-10-28 11:11 编辑

技能冷却递增7次脚本这么修改 技能冷却时间5秒 第2次递增+2秒=7秒 第三次递增+4=9秒..............7次  ,每次递增2秒
[pre lang="ruby"]    for i in 1...$shizi_code.size
      @刷新 = false
      @刷新 = true if $shizi_code == 1
      $shizi_code -= 1 if $shizi_code > 0
      @i1_window.refresh if @刷新 == true
    end
    @i2_window.refresh_code[/pre]
123..png
155.png
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-9-29 19:31:32 | 显示全部楼层
楼主你要请教什么
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2022-9-29 21:07:16 | 显示全部楼层
本帖最后由 金芒芒 于 2022-9-29 21:09 编辑
soulsaga 发表于 2022-9-29 19:31
楼主你要请教什么


ARPG 技能冷却时间递增这么弄,我不想一个角色有同样的技能7个。
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-9-29 21:48:15 | 显示全部楼层
金芒芒 发表于 2022-9-29 21:07
ARPG 技能冷却时间递增这么弄,我不想一个角色有同样的技能7个。

我看不懂你冷却时间怎么弄的
回复

使用道具 举报

梦石
0
星屑
2821
在线时间
585 小时
注册时间
2022-7-13
回帖
81
发表于 2022-9-29 22:19:14 | 显示全部楼层
本帖最后由 我为鱼肉 于 2022-9-29 22:37 编辑

改脚本数据 RPG::Skill 会导致 $data_skills那个技能的数据被改变。
建议用其他方法设定冷却时间,简单的一点比如说一个变量,纯事件就可能做到
脚本的话,可以在Game_Actor里加入这么个方法(仅供参考)
  1. def init_冷却时间
  2.   @冷却时间 = []
  3.   @冷却时间[1] = [2,0]#1号技能2秒,这这里设置初始冷却时间
  4. end
  5. def 冷却时间增加(技能id)#每次使用技能都需要用这个方法
  6.   init_冷却时间 if @冷却时间.nil?
  7.   @冷却时间[技能id][1] += 1
  8. end
  9. def 冷却时间(技能id)
  10.   init_冷却时间 if @冷却时间.nil?
  11.   return @冷却时间[技能id][0] + @冷却时间[技能id][1] * 2
  12. end
复制代码



我想了想直接改RPG::Skill也可以,如果你工程量按上面那样改太大的话
skill=$data_skills[技能id]
skill.element_set.delete(属性id)删除一个属性
skill.element_set.push(属性id)增加一个属性
属性不同冷却时间不同。
只不过战斗结束时需要
$data_skills = load_data("Data/Skills.rxdata")
也就是标题场景,读取数据,重新读一下

评分

参与人数 1星屑 +100 赞 +1 收起 理由
RyanBern + 100 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2022-9-30 08:01:49 | 显示全部楼层
本帖最后由 金芒芒 于 2022-9-30 08:28 编辑
我为鱼肉 发表于 2022-9-29 22:19
改脚本数据 RPG::Skill 会导致 $data_skills那个技能的数据被改变。
建议用其他方法设定冷却时间,简单的一 ...

第2段好用
只不过只有递增一次,能像函数一样表达出来吗
{int i;
for(i=1;i<100;i++)
printf("%3d",i);
getch();
}这是excel里的公式
或者循环脚本次数

点评

5.times {|n| 冷却时间增加(技能id) } # 循环五次  发表于 2022-9-30 09:55
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
 楼主| 发表于 2022-9-30 11:30:40 | 显示全部楼层
本帖最后由 金芒芒 于 2022-9-30 11:36 编辑
金芒芒 发表于 2022-9-30 08:01
第2段好用
只不过只有递增一次,能像函数一样表达出来吗
{int i;


问题解决了,技能升级了每个技能升60及,英雄单位70几个,被动技能300来个,是不是能把skill=$data_skills[技能id]  改为技能id号1....420号

点评

论坛不建议一帖多问 请开新提问  发表于 2022-9-30 12:56
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部