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

Project1

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

[有事请教] 请问是否能用变量决定不同角色学不同技能?

[复制链接]

Lv2.观梦者

梦石
0
星屑
377
在线时间
125 小时
注册时间
2023-1-19
帖子
61
跳转到指定楼层
1
发表于 2023-1-24 19:07:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
比如我有主角A,主角B,主角C,分别给3个主角设置三个变量,叫潜力A,潜力B,潜力C。技能有火球术。

现在我希望使用物品技能书学习技能,一个物品叫技能书。使用物品就能学习这个技能。

是否能够达到,火球书需要潜力大于10才能学?

现在我想做到这个效果:我对主角A使用了技能书,会验证主角A潜力是否大于10,大于10能学会,否则提示潜力不足。然后同一个物品-技能书,对主角B和主角C使用,也会分别验证他们潜力是否大于10,是则学会,否则提示潜力不足。
请问能否做到这个效果?谢谢

Lv2.观梦者

梦石
0
星屑
377
在线时间
125 小时
注册时间
2023-1-19
帖子
61
13
 楼主| 发表于 2023-1-25 00:05:36 | 只看该作者
xiamumomo 发表于 2023-1-24 23:22
第一句我将临时变量a = 目标角色的id(使用道具的这个人)
如果是1号角色那么a=1 如果是2号角色使用那么a= ...

原来如此,对于代码小白还是有点难懂,不过看着大佬的代码逻辑,给了我启发我想到了个更简单的方法,使用物品之后公共事件加选项,分别三个角色,选指定角色再判断各自变量就行了。就是多一步,还是谢谢大佬的启发

点评

你一起啊哦明白事件选项如果玩家选择其他的你还是要判断选择的是否是对应的角色  发表于 2023-1-25 09:46
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9852
在线时间
1884 小时
注册时间
2020-1-2
帖子
1089
12
发表于 2023-1-24 23:25:14 | 只看该作者
if($gameActors.actor(a).skills().contains($dataSkills[技能ID])){这句是判断使用技能书的这个角色是否拥有了这个技能如果拥有提示他已经学会xxxxxx并且我们还要设置获得这个道具毕竟我写的是可以消耗的技能书使用后就会失去的
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9852
在线时间
1884 小时
注册时间
2020-1-2
帖子
1089
11
发表于 2023-1-24 23:22:28 | 只看该作者
haohaoniu 发表于 2023-1-24 23:08
那怎么知道他判断的是几号变量呢

第一句我将临时变量a = 目标角色的id(使用道具的这个人)
如果是1号角色那么a=1 如果是2号角色使用那么a=2
if($gameVariables.value(a) >= 10) 就意味着如果是1号角色那么就是判断1号变量是否大等于10
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
377
在线时间
125 小时
注册时间
2023-1-19
帖子
61
10
 楼主| 发表于 2023-1-24 23:08:22 | 只看该作者
xiamumomo 发表于 2023-1-24 22:52
你不是3个角色每个分配一个变量  这样写就等于你数据库角色1号选择的是变量1的值  给1号用就是判断变量1 ...

那怎么知道他判断的是几号变量呢
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9852
在线时间
1884 小时
注册时间
2020-1-2
帖子
1089
9
发表于 2023-1-24 22:52:16 | 只看该作者
haohaoniu 发表于 2023-1-24 22:37
请问改成$gameVariables.value(a)之后,变量应该写在什么地方

你不是3个角色每个分配一个变量  这样写就等于你数据库角色1号选择的是变量1的值  给1号用就是判断变量1给二号角色用就是判断变量2
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9852
在线时间
1884 小时
注册时间
2020-1-2
帖子
1089
8
发表于 2023-1-24 22:48:20 | 只看该作者
haohaoniu 发表于 2023-1-24 22:37
请问改成$gameVariables.value(a)之后,变量应该写在什么地方
  1. var a = $gameParty._targetActorId;
  2. if($gameActors.actor(a).skills().contains($dataSkills[技能ID])){
  3. $gameMessage.add("他已经学会了这个技能请不要再让他学")
  4. $gameParty.gainItem($dataItems[技能书ID], 1);}
  5. else{var i =1;i <=3
  6. if($gameVariables.value(a) >= 10){
  7. $gameActors.actor(a).learnSkill(技能ID);
  8. $gameMessage.add("成功学了了技能: 火球");
  9. }else{
  10. $gameMessage.add("你的潜力不足");
  11. $gameParty.gainItem($dataItems[技能书ID], 1);}
  12. };
复制代码
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
377
在线时间
125 小时
注册时间
2023-1-19
帖子
61
7
 楼主| 发表于 2023-1-24 22:37:41 | 只看该作者
xiamumomo 发表于 2023-1-24 22:01
把这个删掉改为$gameVariables.value(a);然后你讲变量1到3分别对应1到3号角色还有 ...

请问改成$gameVariables.value(a)之后,变量应该写在什么地方
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9852
在线时间
1884 小时
注册时间
2020-1-2
帖子
1089
6
发表于 2023-1-24 22:01:38 | 只看该作者
haohaoniu 发表于 2023-1-24 21:48
是的,总共只有三个

把这个
  1. [color=Red]$gameActors.actor(a).level >= 10[/color]
  2. 脚本中的[color=Red]和[/color]是论坛字体颜色的我不知道什么时候点进去了
复制代码
删掉改为$gameVariables.value(a);然后你讲变量1到3分别对应1到3号角色还有
B站没人气的夏目漠漠,直播间:5378938实用插件教程点击红字传送
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
377
在线时间
125 小时
注册时间
2023-1-19
帖子
61
5
 楼主| 发表于 2023-1-24 21:48:24 | 只看该作者

是的,总共只有三个
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 21:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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