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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
476 小时
注册时间
2011-3-22
帖子
46
跳转到指定楼层
1
发表于 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
这样把这句话写上几十次吗?要遗忘另一个角色的技能时又要把这个写一遍?
有没有什么脚本可以简单一点,达到遗忘某角色所有技能的效果?????
另外,本人对脚本基本是一窍不通,请各位高手回答时写详细一点。
非常感谢~~~~~~~~~谢~~~~~~~~~~~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2012-1-16
帖子
15
2
发表于 2012-1-22 00:03:12 | 只看该作者
本帖最后由 zeroorez 于 2012-1-22 00:12 编辑

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

使用道具 举报

Lv1.梦旅人

音速君

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

开拓者贵宾

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

使用道具 举报

Lv1.梦旅人

Mr.Gandum

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

贵宾

4
发表于 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. }
复制代码
直接执行即可。
回复

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
132 小时
注册时间
2012-1-21
帖子
512
6
发表于 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
复制代码
直接调用也可以���
心情大好呢
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-28 22:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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