Project1
标题: 请教一下关于物品使用者特殊效果 [打印本页]
作者: 夜听 时间: 2022-6-17 11:41
标题: 请教一下关于物品使用者特殊效果
萌新想请教一下,关于物品使用者特殊效果的问题。
是这样的,我想给技能增加一个功法层数,做了一个道具,使用道具触发公共事件,可以提升功法的层数,并增加属性。
目的达到了,但是角色和功法数量过多,写if判断就会特别乱,要判定每个角色是否学习了这个技能,或者是否有某个状态。
是否有办法判定使用者是谁,然后直接给这一个角色写判定呢?
这是我目前的写法,技能太多,角色太多的话,会非常混乱。
emmm,发不了图片,大概是这样的
:选择 外功 时
◆文本:无, 窗口, 底部
: :你想要提升的外功武学为
◆显示选项:剑法, 刀法, 拳掌, 暗器, 奇门, 不提升了 (窗口, 右侧, #1, #6)
:选择 剑法 时
◆文本:无, 窗口, 底部
: :请选择你要提升的武学
◆显示选项:华山剑法, 不提升了 (窗口, 右侧, #1, #2)
:选择 华山剑法 时
◆文本:无, 窗口, 底部
: :你要提升的角色为
◆显示选项:\N[1], \N[2], \N[3], \N[4], \N[5], 不提升了 (窗口, 右侧, #1, #6)
:选择 \N[1] 时
◆如果:林枫 已学会 华山剑法
◆变量操作:#0101 华山剑法升阶 += 1
◆增减能力值:林枫, 最大 HP + 100
◆增减能力值:林枫, 攻击力 + 25
◆增减能力值:林枫, 敏捷 + 40
◆变量操作:#0100 卡灵精华-入门使用次数 -= 1
◆
:否则
◆文本:无, 窗口, 底部
: :该角色未习得华山剑法,无法提升
◆
:结束
◆
这是一个角色的的一个技能,全写出来太多了。
作者: Heiko 时间: 2022-6-17 16:18
本帖最后由 Heiko 于 2022-6-17 21:07 编辑
放进条件分歧,如果角色拥有22号技能就怎样,否则就怎样 ,$gameParty._targetActorId 获取物品使用者的ID
这样就不必每个角色都去做判断
$gameActors.actor($gameParty._targetActorId).hasSkill(22);
$gameActors.actor($gameParty._targetActorId).hasSkill(22);
判断是否拥有这个状态
$gameActors.actor($gameParty._targetActorId).hasState(id);
$gameActors.actor($gameParty._targetActorId).hasState(id);
增加物品使用者的能力值,ID为能力值序号,0就是最大HP, 1是最大MP, 2攻击力, 3防御力, 4魔法攻击力, 5魔法防御力, 6敏捷, 7幸运
$gameActors.actor($gameParty._targetActorId).addParam(ID,+100);
$gameActors.actor($gameParty._targetActorId).addParam(ID,+100);
再加一点吧,以下的可以拿来做升级卡之类的,比如升一级,true为显示升级信息,false为不显示
$gameActors.actor($gameParty._targetActorId).changeLevel($gameActors.actor($gameParty._targetActorId).level+1,true);
$gameActors.actor($gameParty._targetActorId).changeLevel($gameActors.actor($gameParty._targetActorId).level+1,true);
增加1000点经验值
$gameActors.actor($gameParty._targetActorId).gainExp(1000);
$gameActors.actor($gameParty._targetActorId).gainExp(1000);
改名卡
var sRst=prompt("请输入名字:", "")
$gameActors.actor($gameParty._targetActorId).setName(sRst)
var sRst=prompt("请输入名字:", "")
$gameActors.actor($gameParty._targetActorId).setName(sRst)
其他:
.gainHp(n); 增减HP
.gainMp(n); 增减MP
.gainTp(n) 增减TP
.addState(n); 增加状态
.removeState(n); 去除状态
.learnSkill(n); 学习技能
.forgetSkill(n); 遗忘技能
.recoverAll(); 单个角色全恢复, HPMP消除身上的状态等
我掌握的脚本不是很多,只能到这里了
作者: 夜听 时间: 2022-6-17 17:38
感谢,我尝试了,这样的效果已经满足我的需求了,不过这样写的话,有脚本可以给这个角色增加属性么,我对脚本也不太熟悉,因为要判断,所以也不能在物品上加属性。。。。。
作者: 夜听 时间: 2022-6-19 17:39
多谢大佬
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |