Project1
标题:
用腳本指令來判斷是否學過某技能,不過出了點問題
[打印本页]
作者:
duzine
时间:
2017-3-14 17:11
标题:
用腳本指令來判斷是否學過某技能,不過出了點問題
(一點題外話
是這樣的,由於早期不熟悉腳本,所以製作系統都是採用並行公共事件進行製作
直到後來對事件使用有了心得以後,也大幅的改善了系統運行
不過雖然改善了很多,但是某次在一些評論中
我發現到部分遊戲對某些玩家來說還是很卡的,而這部分遊戲對我來講並不是那麼卡
並且我遊戲的幀數比起這些遊戲還要來的低
於是我開始反省,是否該朝著真正的腳本系統路線邁進
凡事有個起頭,不過我很快碰上了麻煩
----------以下正戲開始---------------
我寫了這麼一個腳本指令,用來判斷角色 1 是否學過 第151號技能
沒學過就讓他學會,學過就讓他忘記
不過這段腳本好像只會傳回 false...所以學了技能以後,再次執行並不會忘掉
請問各位大大們,這是怎麼一回事呢?
if $game_actors[1].skill_learn?(151)
$game_actors[1].forget_skill(151)
else
$game_actors[1].learn_skill(151)
end
作者:
魔法丶小肉包
时间:
2017-3-14 17:36
本帖最后由 魔法丶小肉包 于 2017-3-14 17:45 编辑
仔细观察一下脚本的话你会发现
(, 下载次数: 67)
上传
点击文件名下载附件
(, 下载次数: 56)
上传
点击文件名下载附件
(, 下载次数: 58)
上传
点击文件名下载附件
[pre lang="ruby"]a = $data_skills[151]
if $game_actors[1].skill_learn?(a)
$game_actors[1].forget_skill(151)
else
$game_actors[1].learn_skill(151)
end [/pre]
作者:
duzine
时间:
2017-3-14 17:58
雖然只是簡單的代碼
但對我來說卻也是一大步
能緩緩感覺到,曾停止不前的時間,再次流動
作者:
cinderelmini
时间:
2017-3-14 19:58
虽然有点废话,不过稍微一提吧,
可以在Game_Actor类里新定义一个方法,用技能数组ID来判定也挺方便的。
class Game_Actor < Game_Battler
def xxx_skill_learn?(skill_id)
total_list = (@skills | added_skills)
return total_list.include?(skill_id)
end
end
复制代码
大概就是这样吧,
用这个方法可以直接用技能ID来判定某角色是否学会了某个ID的技能就是了……
(至于为什么官方不这样做,或者说这样做有什么弊端的话,其实我也不是很明白……
作者:
duzine
时间:
2017-3-14 21:21
cinderelmini 发表于 2017-3-14 19:58
虽然有点废话,不过稍微一提吧,
可以在Game_Actor类里新定义一个方法,用技能数组ID来判定也挺方便的。
大 ...
感謝提供方法OWO
又可以長姿勢了
目前還在研究這段方法中
(不過我的腳本能力只到入門程度,需要用法上的協助
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X5.0