查看: 1937|回复: 5

[已经解决] 求让某角色遗忘所有技能的脚本

[复制链接]
梦石
0
星屑
50
在线时间
476 小时
注册时间
2011-3-22
回帖
33
发表于 2012-1-19 21:06:25 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 muyumuyulnny 于 2012-1-20 21:08 编辑

脚本$game_actors[角色ID].forget_skill(技能ID)可以让某角色遗忘某个技能,可是如果想让角色遗忘他的全部技能,难道就只能
def forget_all_skill
  $game_actors[1].forget_skill(1)
  $game_actors[1].forget_skill(2)
  $game_actors[1].forget_skill(3)
  $game_actors[1].forget_skill(4)
  ... ...
$game_actors[1].forget_skill(99)
  end
这样把这句话写上几十次吗?要遗忘另一个角色的技能时又要把这个写一遍?
有没有什么脚本可以简单一点,达到遗忘某角色所有技能的效果?????
另外,本人对脚本基本是一窍不通,请各位高手回答时写详细一点。
非常感谢~~~~~~~~~谢~~~~~~~~~~~
梦石
0
星屑
50
在线时间
11 小时
注册时间
2012-1-16
回帖
12
发表于 2012-1-22 00:03:12 | 显示全部楼层
本帖最后由 zeroorez 于 2012-1-22 00:12 编辑

复制好像挺快的。。。或者可以自己在数据库复制一个没技能的同名角色。。。
z
回复

使用道具 举报

音速君

梦石
0
星屑
161
在线时间
1623 小时
注册时间
2011-6-9
回帖
3342

开拓者贵宾

发表于 2012-1-22 08:26:15 | 显示全部楼层
我觉得在这种情况下把其他资料写进一个数组里面然后初始化在读取数组里的资料会更好{:nm_7:}
Deartime
RMVA从零学起
【RMVA从零学起】【基础27课】数据库-系统
#2013年11月24日更新
偷懒了好久呢. .
于是最终还是决定暂时不写进阶教程了
先把这些基础的东西仔细说一下.w.
回复

使用道具 举报

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
回帖
2982

贵宾

发表于 2012-1-22 10:53:59 | 显示全部楼层
本帖最后由 feizhaodan 于 2012-1-22 10:54 编辑
  1. (1..$data_skills.size).each{|i|
  2. $game_actors[角色ID].forget_skill(i)
  3. }
复制代码
直接执行即可。
回复

使用道具 举报

梦石
0
星屑
49
在线时间
177 小时
注册时间
2011-7-3
回帖
133
发表于 2012-1-22 14:15:01 | 显示全部楼层
4楼地面正解.
或者说...可以用这个:
for i in 1..(技能数量)
$game_actors[角色ID].forget_skill(i)
end

应该可以在公共事件里直接调用.
回复

使用道具 举报

梦石
0
星屑
50
在线时间
132 小时
注册时间
2012-1-21
回帖
495
发表于 2012-1-22 14:27:48 | 显示全部楼层
本帖最后由 零の使魔 于 2012-1-22 14:33 编辑

事件里调用下面这条脚本
第一行的id就是你想让某角色遗忘技能的角色id
  1. id = 1
  2. class<<$game_actors[id]
  3. attr_accessor :skills
  4. end
  5. $bak = {} if $beifeng == nil
  6. $bak[id] = $game_actors[1].skills
  7. $game_actors[id].skills = []
复制代码
另,使用$bak[角色的id] 可以获得角色遗忘的技能(备份用),你可以使用

  1. id = 某角色的id自己改
  2. $game_actors[id].skills = $bak[id]
复制代码
来还原技能���




脚本Game_Actor 里追加定义
  1.   def 遗忘全部技能
  2.     @bak = @skill
  3.     @skills = []
  4.   end
  5.   def 遗忘的技能还原
  6.     @skills = @bak if @bak != nil
  7.   end
复制代码
直接调用也可以���
心情大好呢
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部