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

Project1

 找回密码
 注册会员
搜索

关于送礼物与好感度用事件怎么写

查看数: 1096 | 评论数: 2 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-6-30 20:49

正文摘要:

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

回复

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

多年菜鸟,言有未尽之处,诸君见笑。
resty 发表于 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
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-22 22:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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