查看: 1726|回复: 3

[有事请教] 关于送礼物与好感度用事件怎么写

[复制链接]
梦石
4
星屑
646
在线时间
69 小时
注册时间
2017-7-2
回帖
17
发表于 2023-6-30 20:49:58 | 显示全部楼层 |阅读模式

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

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

×
想做一个这样感觉的系统:
从各种渠道获取不同的物品,然后打开物品栏自选想送的物品送给npc,根据送的物品不同npc上涨的好感度也不一样
例如物品1 +2好感 物品2 -1好感这样的
嗯就是星露谷里npc送礼的那种感觉←

试着用事件的物品选择处理写了下,但是好像物品使用没办法和具体的不同变量(不同好感度)关联?还是我太蠢了没get正确写法
QQ图片20230426211550.png

如果有适合使用的脚本也欢迎推荐!(虽然感觉没有……
写点什么证明我存在过
梦石
0
星屑
186
在线时间
45 小时
注册时间
2023-6-26
回帖
5
发表于 2023-6-30 22:52:54 | 显示全部楼层
本帖最后由 resty 于 2023-6-30 22:58 编辑

现写一个脚本,假设物品选出来存在变量1,好感度在变量2,开关1表示选择的物品是否有效
在礼物的备注里面写上 HAOGAN: 3,之后就可以使用了

1.jpg

  1. let ITEM_VAR_ID = 1;
  2. let TARGET_ID = 2;
  3. let SWITCH_ID = 1;
  4. let v = $dataItems[ITEM_VAR_ID].note.match(/Haogan: ([+-]?[0-9])+/)
  5. if (v) {
  6.    $gameVariables.setValue(TARGET_ID, $gameVariables.value(TARGET_ID) + parseInt(v[1]));
  7.    $gameParty.gainItem($dataItems[$gameVariables.value(1)], -1);
  8.    $gameSwitches.setValue(SWITCH_ID, true);
  9. } else {
  10.    $gameSwitches.setValue(SWITCH_ID, false);
  11. }
复制代码


点评

感谢!我试试看!  发表于 2023-7-1 14:14
回复

使用道具 举报

梦石
0
星屑
51
在线时间
7 小时
注册时间
2023-7-1
回帖
1
发表于 2023-7-2 23:14:17 | 显示全部楼层
我不懂得JS,技术也比较菜。但我觉得引擎本身就足以编写这样的事件。
例如在数据库中,把物品编号101~151设定为可以赠送的道具。则定义一个变数,代入“上次使用的物品编码”,系统就能知道刚刚送出的物品编号。
此时做个分歧,当变数为101~106,好感度+5,获赠者的台词是“我好感动啊”;107~112,好感度+3,获赠者的台词“谢谢你,想要这个很久了”……
一直到135~151,好感度变成不同程度下降,获赠者台词也变得嫌弃厌恶。
这样做的话,甚至可以根据不同角色的性格、背景设定,而设置不同的好恶区间和不同的台词。

多年菜鸟,言有未尽之处,诸君见笑。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部