Project1

标题: 如何利用脚本指令创建一个改名卡道具? [打印本页]

作者: dst1996    时间: 2021-7-23 16:43
标题: 如何利用脚本指令创建一个改名卡道具?
var sRst=prompt("请输入角色名字:", "");
if(!!sRst) $gameActors.actor(1).setName(sRst);

目前在论坛里搜到的中文名字输入插件和脚本中,我个人最喜欢的就是这个。

但是有个小小的遗憾。我不知道如何让这个脚本生效于除了指定ID的角色身上。

比方说,我想制作一张改名卡,改名卡链接公共事件,公共事件调用这个脚本指令,

使用这样改名卡的角色调出输入窗口输入名字后,

该角色的名字会改成这个输入。请问有没有方法实现呢?

我完全不懂脚本和代码。希望高手们帮帮忙!谢谢!
作者: xiamumomo    时间: 2021-7-23 16:43
本帖最后由 xiamumomo 于 2021-7-24 09:11 编辑
dst1996 发表于 2021-7-23 23:27
并不是哦  这个插件我研究过了 甚至下了他开源的重装机兵来看他怎么设置的  然而全部照搬都无法实现 ...


var sRst=prompt("请输入角色名字:", "");
var Act=$gameParty._targetActorId
if(!!sRst) $gameActors.actor(Act).setName(sRst);

论坛找了半天终于找到了  就这个了哦对了改名卡使用范围改成使用者
作者: xiamumomo    时间: 2021-7-23 17:00
你把这个复制到公共事件  脚本    你都说改名卡了肯定要用道具   物品做一个改名卡  在物品:改名卡效果那里添加那个公共事件就好了
作者: dst1996    时间: 2021-7-23 17:11
xiamumomo 发表于 2021-7-23 17:00
你把这个复制到公共事件  脚本    你都说改名卡了肯定要用道具   物品做一个改名卡  在物品:改名卡效果那里 ...

问题是 $gameActors.actor(1)里的这个(1)指的是数据库里角色ID为1的角色。意思是只有这个角色生效。我想要的效果是通用的,使用这个道具的也能生效。比如ID3 的玛莎用了这个道具也能改名。
作者: wabcmcc    时间: 2021-7-23 17:15
公共事件添加選擇項.由玩家選擇誰改名.
選擇項內容:
  選角色1   
var sRst=prompt("请输入角色名字:", "");
if(!!sRst) $gameActors.actor(1).setName(sRst);
選角色2  
var sRst=prompt("请输入角色名字:", "");
if(!!sRst) $gameActors.actor(2).setName(sRst);
選角色3  
var sRst=prompt("请输入角色名字:", "");
if(!!sRst) $gameActors.actor(3).setName(sRst);
選角色4   
var sRst=prompt("请输入角色名字:", "");
if(!!sRst) $gameActors.actor(4).setName(sRst);
作者: dst1996    时间: 2021-7-23 18:25
wabcmcc 发表于 2021-7-23 17:15
公共事件添加選擇項.由玩家選擇誰改名.
選擇項內容:
  選角色1   

谢谢你的建议!但看样子还是无法实现通用呀。
作者: soulsaga    时间: 2021-7-23 18:52
道具调用公共事件用状态法就行..比较简易的..具体等其他人来指导..
作者: wabcmcc    时间: 2021-7-23 19:54
谢谢你的建议!但看样子还是无法实现通用呀。

不明白 "无法实现通用"
是指還有其他角色不能用?
作者: xiamumomo    时间: 2021-7-23 20:12
尴尬运动回来再伦堂搜了一下  https://rpg.blue/thread-397865-1-1.html  改名卡插件  生下你自己了解  我感觉你应该是又看到只是觉得这个插件麻烦吧
作者: dst1996    时间: 2021-7-23 23:27
xiamumomo 发表于 2021-7-23 20:12
尴尬运动回来再伦堂搜了一下  https://rpg.blue/thread-397865-1-1.html  改名卡插件  生下你自己了解  我 ...

并不是哦  这个插件我研究过了 甚至下了他开源的重装机兵来看他怎么设置的  然而全部照搬都无法实现
作者: dst1996    时间: 2021-7-24 12:30
xiamumomo 发表于 2021-7-23 16:43
var sRst=prompt("请输入角色名字:", "");
var Act=$gameParty._targetActorId
if(!!sRst) $gameActors. ...

太棒了 !完美!非常感谢!原来还有这种操作。
作者: dst1996    时间: 2021-7-24 12:32
wabcmcc 发表于 2021-7-23 19:54
不明白 "无法实现通用"
是指還有其他角色不能用?

比如 假如我有20个角色可以自由替换加入队伍和离开队伍 ,那么意味着我要做20个选项……
楼下已经有解决方案了,非常感谢您的建议。也不失为一种思路。
作者: 13272303956    时间: 2023-2-7 15:48
感谢大佬。。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1