请选择 进入手机版 | 继续访问电脑版

站内搜索

搜索
热搜: 活动 交友 discuz

iFAction 世界需要你的想象力!

[小技巧] 【ACT教程】限制角色可穿戴的装备

6

主题

14

帖子

148

积分

iF基础方块

Rank: 3Rank: 3

积分
148
发表于 2022-8-9 19:08:51 | 显示全部楼层 |阅读模式
本帖最后由 Heiko 于 2022-8-9 19:22 编辑

前言
不会太多脚本,所以用最简单的方法实现


正题
对于这种条件判定用数组最合适了,当然我也不完全会数组的用法,都是临时百度出来了,现搜现用,数组是什么也可以百度百度qwq
我有好几个角色,我想让他们能穿什么武器不能穿什么武器通用触发器,并行自动全勾,条件则是当前操控角色

  1. var  A = [0, 1, 2, 3, 4, 5];
  2.       B =RV.GameData.actor.equips[-1];
  3. if (!A.includes(B)) {
  4. RV.GameData.actor.equipUnload(-1);
  5. RF.ShowTips("非法装备");
  6. }
复制代码
▶脚本解析:
▶声明了一个数组A和变量B,A里面存了6个数字,至于这6个数字那肯定是要作为ID使用,哪里的ID,由变量B决定;
RV.GameData.actor.equips[-1] 获取的是当前武器ID,所以变量B的一举一动都是跟数据库武器的ID有关;

▶然后就是一个很常见的 if(条件){满足条件执行} 判断。括号内填的是数组的一个判断条件,加了个运算符 !


可以这么理解:  如果B的值不等于A数组内的任意一个数,则执行后面的内容,后面的内容是卸下当前武器并弹出提示 非法装备,结合实际的话就是如果我们穿的武器ID不等于A数组内的任意一个数字,则执行后面的内容


▶当然,把运算符 去掉,就会变成如果B的值等于A数组内的任意一个 数,则执行后面的内容。

▶百度到的这个数组的用法:    js中的includes用法 - 前端白雪 - 博客园 (cnblogs.com)

==============================================


▶允许一个角色穿什么装备,那就往A数组里塞吧,没有穿武器的话获取到的武器ID则是0,穿了武器获取到的则是它们的ID

▶如果是在装备界面装备的话,效果是弹出提示但装备并不会卸下来,只有回到地图场景才会卸下来,如果是快捷栏点击装备,则装备不上。

==============================================
▶以上说的是武器,那防具呢?防具也是一样的
这段脚本获取的是武器ID  RV.GameData.actor.equips[-1]  

那这段脚本获取的是就是头盔ID   RV.GameData.actor.equips[0]     //不一样的地方就是括号内的数字-1是武器,0是头盔,2是盔甲以此类推,顺序参考设置-角色设置-默认装备的顺序
卸下防具也如此       RV.GameData.actor.equipUnload(-1)           //卸武器
                              RV.GameData.actor.equipUnload(0)            //卸头盔 ,以此类推
▶快去试试吧




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
黄粱一梦终不悔
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系我们
QQ群:977585123
iFAction下载
Windows客户端
反馈
意见建议
iFAction

iFAction

京ICP备15053274号-1

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.