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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
4
星屑
641
在线时间
69 小时
注册时间
2017-7-2
帖子
23
跳转到指定楼层
1
发表于 2023-6-30 20:49:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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


如果有适合使用的脚本也欢迎推荐!(虽然感觉没有……
写点什么证明我存在过

Lv1.梦旅人

梦石
0
星屑
186
在线时间
45 小时
注册时间
2023-6-26
帖子
5
2
发表于 2023-6-30 22:52:54 | 只看该作者
本帖最后由 resty 于 2023-6-30 22:58 编辑

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



  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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-8 02:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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