实现一个自动COC跑团机器人
这几天玩博德之门3有点累了
#假如你有一台服务器,你最想做哪些事?#
这他妈是什么idea收集器,你们就是靠这个收集idea吗,那我就说一个绝对不赚钱的了。
简单实现了追书人的基本流程,最后的活动和结局经过一定缩减,因为chatgpt输入的prompt数量太大会反应很慢。
测试地址:
流程
- 打开InsCode:
- 选择一个模板项目:例如基于Vue的含有prompt的模板
3. 打开src.App.vue 修改代码:
我下载了追书人的模组,并摘取模组中的关键信息
根据关键信息。建立prompt。
建立的流程如下
每次到了一定的节点,就加载相应的promtp。
除此之外,还要附上调查人的个人信息,因此个人信息由用户填写,每次填写完毕保存后隐藏相关按钮。直到发起新对话才重新显示。
然后处理一下全局的初始化参数和每个部分的标志(flag)就行了。
以调查(Investigation)为例:
追书人的调查阶段一共有6个调查地点,建立包含结束调查在内的7个调查动作。
每次做一次调查,就从列表中删除。
当使用者回应时,根据关键词加载对应调查地点的信息,加入prompt,删除调查动作。
调查结束,或者调查员主动结束时。进入下一个环节也就是Action。
后续的Action和Results的处理逻辑完全类似。
追书人添加信息代码示例:
let start_prompt = "请扮演克苏鲁主题,COC模组的keeper,引导我做各种行动."+
"背景:1992年, 一位未解之谜探索协会(SEU)的调查员,来到密歇根市,调查托马斯·金博尔家的书籍失窃案."+
"托马斯·金博尔居住在艾尔斯伯里大街 218 号的一栋小屋,热爱读书, 但最近他家里似乎遭了贼,被盗的是一些他叔叔最喜欢的书."+
"这个谜团有些不同寻常,这位叔叔在一年前就神秘失踪,没有留下任何踪迹."+
"因此,托马斯·金博尔请求调查员调查这起偷书案,同时查明他的叔叔道格拉斯失踪的原因,并承诺提供报酬."+
"以下是我作为调查员的个人信息:";
let checking_prompt = "请你扮演coc模组的keeper,现在回复我信息,再回复我调查阶段可以做的事."+
"调查阶段可做的事:";
// 1.询问附近居民;2.查看墓地周边;3.在图书馆调查本地消息;4.询问警方;5.查阅本地报纸《阿诺兹堡广告报》的旧刊6.查看金博尔家周边.7.结束调查.";
// "以下是我作为调查员的个人信息:";
let action_prompt = "请你扮演coc模组的keeper,现在回复我行动阶段可以做的事(理论上调查员只能做一件事)."+
"行动阶段可做的事:";
// 1.检查道格拉斯·金博尔最喜欢的墓碑;2调查墓地中的隧道;3.监视屋子或墓地.";
// "以下是我作为调查员的个人信息:";
let result_prompt = "请你扮演coc模组的keeper,现在回复我结局信息.";
// "以下是我作为调查员的个人信息:";
模组测试
背景:
追书人为单个玩家设计(尽管它经过一些调整后可以容纳两位玩家),需要玩家选择一位预设调查员,或者创建一个新的(他可能是私家侦探或是记者)。简短的前情提要会让玩家了解到模组的内容,好让他们选择或创建合适的调查员。