Giter Site home page Giter Site logo

nonebot_plugin_xiuxian's Introduction

nonebot_plugin_xiuxian

🎉🎉🎉修仙模拟器!🎉🎉🎉

简介

本插件主要为实现群聊修仙功能,最近经常封号,请自行判断后再使用,已默认转成图片模式,如需关闭,可在config.py处调整img字段为false

已暂停更新,可去nonebot商店查询xiuxian2~~~

特色功能

指令较多,具体查看指令 修仙帮助
1、悬赏令系统:发送指令 悬赏令帮助 获取信息
2、宗门系统:发送指令 宗门帮助 获取信息
3、世界boss系统:发送 世界boss帮助 获取信息
4、坊市:查询商店信息,当前商品为用户自行上架拍卖,发送指令 背包帮助 获取信息
5、灵庄:银行系统,发送 灵庄帮助 获取信息
6、功法:功法系统,发送指令 功法帮助
7、炼丹:发送 炼丹帮助 获取对应操作指令,需要炼丹炉,可在世界boss处获取。
8、秘境:发送 秘境帮助 获取对应操作指令。

安装

1、下载插件文件

  • 使用脚手架安装(推荐github处拉取源码使用)
pip install nonebot-plugin-xiuxian
nb plugin install nonebot-plugin-xiuxian
  • 使用github处拉取源码使用
git clone https://github.com/s52047qwas/nonebot_plugin_xiuxian.git

2、下载数据文件

使用git clone的方法的,进入插件目录,把data文件夹中的全部内容移动到bot的数据文件夹中
使用pip的,在GitHub处下载data文件夹,把data文件夹中的全部内容移动到bot的数据文件夹中
bot的数据文件夹一般为bot.py同级目录下的data文件夹

3、加载插件

  • 然后在bot.py文件中添加
nonebot.load_plugin('nonebot_plugin_xiuxian')

4、如果遇到问题,请先百度和查看下方的 【一些问题】

5、如解决不了进交流群:760517008 提问,提问请贴上完整的日志

配置文件

1、配置文件一般在data/xiuxian文件夹下,自行按照json格式修改即可,一些字段的含义可以进群交流
2、子插件的配置会在插件运行后在子插件文件中生成config.json文件,该文件字段含义在同级目录的xxxconfig.py有备注。注意:修改配置只需要修改json即可,修改.py文件的话需要删除json文件才会生效,任何修改都需要重启bot

更新

  • 使用脚手架安装的
pip install nonebot-plugin-xiuxian -U
pip install nonebot-plugin-xiuxian --upgrade
  • 使用github处拉取源码使用的 进入插件目录执行命令:
git pull

功能展示

  • 使用 /我要修仙 指令触发机器人,机器人创建用户信息,生成灵根,境界等信息。
  • 发送突破,当修为足够时,可突破境界。
  • 发送修仙签到,获取每日初始化的灵石及修为。

image

一些问题

  • 当前首次使用,未自动创建json文件及sql文件,请在githut处,目录data -> xiuxian 处下载的文件,放置于bot目录,data -> xiuxian文件夹处
  • 当为放置为plugins目录使用时,请修改根目录下__init__.py文件中的42行:src=''中的内容,填写的是存放插件的目录,一般情况下 src='src.plugins.' 如有不同请按照格式修改

特别感谢

  • NoneBot2:本插件实装的开发框架。
  • go-cqhttp:稳定完善的 CQHTTP 实现。

插件依赖

  • nonebot2
  • nonebot-adapter-onebot
  • go-cqhttp

支持

大家喜欢的话可以给这个项目点个star

有bug、意见和建议都欢迎提交 Issues 或者联系进入QQ交流群:760517008

许可证

本项目使用 MIT 作为开源许可证

nonebot_plugin_xiuxian's People

Contributors

ria-klee avatar rshock avatar s52047qwas avatar sam5440 avatar shinoakii avatar subved avatar wuyukwi avatar zyp981204 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nonebot_plugin_xiuxian's Issues

boss收益优化

现在boss有两个问题,一个是卷boss其他人拿不到,另一个是前一个境界打得过满收益的boss,一直刷高境界boss,打了收益不到前面打得过的1/10。
对此建议是每个人能限定对boss输出,比如boss血量十倍,每个人一次最多打掉1/5的血,这1/5血量打掉就是满收益,然后boss一旦总计损失1/5的血就会在一小时或者多久后逃跑,避免打的人少一直堆积

【建议】总结一下目前可能会有用的建议

目前更新到最新版本0.4.30

1、世界boss---合刀降低大佬收益

由于有的大佬勤快,导致萌新没办法打到低等级boss,建议削弱超范围的收益,或者判定一刀秒杀的时候低收益/没收益

2、切磋---显示问题

使用切磋的时候,一方重伤不允许切磋是合理的,但是此时仍然显示是对方已经重伤隐匿无法抢劫,建议只是改文案,比如“侠义之士不应该趁人之危”

3、坊市---建议丹药固定数值回血

从目前的测试里看,丹药似乎做成了百分比回血,我认为这样也容易造成大佬和萌新差距过大的情况,建议就是分级,比如微型丹药回复500,小丹药回复5000,中丹药回复50000,大丹药回复500000这种形式的,然后价格递增。

4、讨伐世界boss---建议加入组队讨伐

虽然当前加入技能后,打boss容易了许多,但是最高级别的boss仍然很难打,因为对战是回合制,所以群友很多建议加入合刀机制,组队2人讨伐或者更多。这个很早就群友提但我感觉工作量很大就没提之前,这次顺便提了)

5、to do----双修

#36 里面看到有提出这个建议并且表示过在做,也希望这个功能可以实装。

6、我的宗门--查看宗门弟子名单

虽然之前也提过这个iss,不过被关闭了,就再提一次吧),建议是只有宗主、长老能看名单

7、修仙签到---随机事件

也是在 #36 里面看到的,建议在修仙签到的时候加入些随机事件,目前如果玩到后期的话,修仙签到那一点点的收益非常的低,做个宗门任务都有几十万修为,打个世界boss都有几十万灵石,签到有时候因为收益过低就被大佬遗忘了,所以希望可以加入趣味性从而使得这个功能常用起来,当然如果说这个是对萌新友好而不改我也认可。

以上只是建议,大佬可以作为参考不要有太大心理压力,做到目前的修仙系统真的很棒!

一些宗门任务文案参考

不花灵石类:
外出探查
宗门东北方有烟雾弥漫,请你前去查看情况。
查抄窝点
有少量弟子不在金银阁消费,私自架设小型窝点,请道友前去查抄。
抓捕劣徒
有弟子坠于铜臭,借钱抛洒,债台高筑,请道友将其抓回惩戒。
狩猎邪修
传言山外村庄有邪修抢夺灵石,请道友下山为民除害。
花费灵石类:
九转仙丹
山门将开,宗门急缺一批药草熬制九转丹,请道友下山购买。
劝离凡俗
有凡俗漂泊至山外,虽有仙缘,但无仙份,请道友筹措一笔盘缠,助其回乡,重入红尘。
仗义疏财
你在宗门外见到师弟欠了别人灵石被追打,请道友帮助其还清赌债。
红尘寻宝
山下一月一度的市场又开张了,其中虽凡物较多,但是请道友慷慨解囊,为宗门购买一些蒙尘奇宝。

导入插件报错

stdout: 10-20 11:50:38 [ERROR] nonebot | Failed to import "xiuxian_bank"
stdout: Traceback (most recent call last):
stdout: File "/bot/bot.py", line 15, in
stdout: nonebot.load_plugins("extensive_plugin")
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/load.py", line 45, in load_plugins
stdout: return manager.load_all_plugins()
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 168, in load_all_plugins
stdout: return set(
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 169, in
stdout: filter(None, (self.load_plugin(name) for name in self.available_plugins))
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 145, in load_plugin
stdout: module = importlib.import_module(
stdout: File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
stdout: return _bootstrap._gcd_import(name[level:], package, level)
stdout: File "", line 1030, in _gcd_import
stdout: File "", line 1007, in _find_and_load
stdout: File "", line 986, in _find_and_load_unlocked
stdout: File "", line 680, in _load_unlocked
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 233, in exec_module
stdout: super().exec_module(module)
stdout: File "", line 850, in exec_module
stdout: File "", line 228, in _call_with_frames_removed
stdout: File "/bot/extensive_plugin/nonebot_plugin_xiuxian/init.py", line 75, in
stdout: nonebot.load_all_plugins(
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/load.py", line 59, in load_all_plugins
stdout: return manager.load_all_plugins()
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 168, in load_all_plugins
stdout: return set(
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 169, in
stdout: filter(None, (self.load_plugin(name) for name in self.available_plugins))
stdout: > File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 143, in load_plugin
stdout: module = importlib.import_module(self._third_party_plugin_names[name])
stdout: File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
stdout: return _bootstrap._gcd_import(name[level:], package, level)
stdout: File "", line 1030, in _gcd_import
stdout: File "", line 1007, in _find_and_load
stdout: File "", line 972, in _find_and_load_unlocked
stdout: File "", line 228, in _call_with_frames_removed
stdout: File "", line 1030, in _gcd_import
stdout: File "", line 1007, in _find_and_load
stdout: File "", line 972, in _find_and_load_unlocked
stdout: File "", line 228, in _call_with_frames_removed
stdout: File "", line 1030, in _gcd_import
stdout: File "", line 1007, in _find_and_load
stdout: File "", line 972, in _find_and_load_unlocked
stdout: File "", line 228, in _call_with_frames_removed
stdout: File "", line 1030, in _gcd_import
stdout: File "", line 1007, in _find_and_load
stdout: File "", line 986, in _find_and_load_unlocked
stdout: File "", line 680, in _load_unlocked
stdout: File "", line 850, in exec_module
stdout: File "", line 228, in _call_with_frames_removed
stdout: File "/bot/bot.py", line 12, in
stdout: nonebot.load_plugin("nonebot_plugin_apscheduler")
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/load.py", line 32, in load_plugin
stdout: manager = PluginManager([module_path])
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 52, in init
stdout: self.prepare_plugins()
stdout: File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 94, in prepare_plugins
stdout: raise RuntimeError(
stdout: RuntimeError: Plugin already exists: nonebot_plugin_apscheduler! Check your plugin name

【反馈】一些问题和疑问

1、世界boss清零

世界boss功能出来后,如果重启bot则会全部清零,希望可以保存数据,同时增加boss存在时间,可以是24小时,保证群不会被一堆打不过的boss刷满了。
以及刚刚更新的两个小版本后,找不到本地存放Boss名称的位置了

2、悬赏令低效

悬赏令给予的灵石和世界Boss差距过大,这样导致悬赏令收益率很低,建议以后在做的道具系统中可以加入到悬赏令,使得悬赏令是一个积攒道具的主要途径

3、我的宗门信息查看

目前宗门所有人,都无法通过指令查看自己宗门的人员情况,我认为这种关系很影响与玩家的交互体验,是很需要的功能。

【报错】无法突破

终端如下

09-09 08:46:14 [ERROR] nonebot | Running matcher <Matcher from nonebot_plugin_xiuxian, type=message, priority=5, temp=False> failed.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.9/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/usr/lib/python3.9/multiprocessing/spawn.py", line 129, in _main
    return self._bootstrap(parent_sentinel)
  File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.9/dist-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/usr/local/lib/python3.9/dist-packages/uvicorn/server.py", line 60, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.9/dist-packages/nonebot/message.py", line 146, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
> File "/usr/local/lib/python3.9/dist-packages/nonebot/message.py", line 196, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "/usr/local/lib/python3.9/dist-packages/nonebot/internal/matcher.py", line 672, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "/usr/local/lib/python3.9/dist-packages/nonebot/internal/matcher.py", line 639, in simple_run
    await handler(
  File "/usr/local/lib/python3.9/dist-packages/nonebot/dependencies/__init__.py", line 92, in __call__
    return await self.call(**values)
  File "/usr/local/lib/python3.9/dist-packages/nonebot_plugin_xiuxian/__init__.py", line 390, in update_level
    level_rate = XiuxianJsonDate().level_rate(level_name)  #对应境界突破的概率
  File "/usr/local/lib/python3.9/dist-packages/nonebot_plugin_xiuxian/xiuxian2_handle.py", line 413, in level_rate
    return data[0][level]
KeyError: 0

关于更新

谢谢修仙插件,群友很喜欢。
顺便想问一下,每次更新只需要用”pip install nonebot-plugin-xiuxian -U或者pip install nonebot-plugin-xiuxian --upgrade“这两个代码就可以了么?
我使用后并没有更新呀?

偷灵石逻辑问题

image
Power rate在这里是一个位于0-1之间的数,大于9.5部分无法运作
(另外默认cd有点短)

【报错】无法闭关/出关

版本是0.4.25

10-17 14:14:19 [ERROR] nonebot | Running matcher <Matcher from nonebot_plugin_xiuxian.command, type=message, priority=5, temp=False> failed.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.9/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/usr/lib/python3.9/multiprocessing/spawn.py", line 129, in _main
    return self._bootstrap(parent_sentinel)
  File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.9/dist-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/usr/local/lib/python3.9/dist-packages/uvicorn/server.py", line 60, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.9/dist-packages/nonebot/message.py", line 146, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
> File "/usr/local/lib/python3.9/dist-packages/nonebot/message.py", line 196, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "/usr/local/lib/python3.9/dist-packages/nonebot/internal/matcher.py", line 672, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "/usr/local/lib/python3.9/dist-packages/nonebot/internal/matcher.py", line 639, in simple_run
    await handler(
  File "/usr/local/lib/python3.9/dist-packages/nonebot/dependencies/__init__.py", line 92, in __call__
    return await self.call(**values)
  File "/usr/local/lib/python3.9/dist-packages/nonebot_plugin_xiuxian/__init__.py", line 295, in _
    user_id, group_id, mess = await data_check(bot, event)
  File "/usr/local/lib/python3.9/dist-packages/nonebot_plugin_xiuxian/__init__.py", line 1076, in data_check
    msg = sql_message.get_user_message(user_qq)
  File "/usr/local/lib/python3.9/dist-packages/nonebot_plugin_xiuxian/xiuxian2_handle.py", line 166, in get_user_message
    return UserDate(*result)
TypeError: <lambda>() missing 1 required positional argument: 'sect_task'

建议统一命令的消息事件响应器

如题

部分命令为on_command,亦有部分命令为on_fullmatch,如下。

in_closing = on_fullmatch("闭关", priority=5)
out_closing = on_command("出关", aliases={"灵石出关"}, priority=5)

这样就导致当NoneBot环境变量中COMMAND_START不为空时,on_command的命令必须加前缀,on_fullmatch的命令必须去掉前缀。

更新后突破报错

image
没有修改任何东西,修为够不够都是报错这个,其他报错也挺多的,

合并转发建议

合并转发应该是可以用机器人以外的人发言的,建议改成谁的回合就用谁发言,直观一点,boss就机器人发言

意见~

1 希望打完世界BOSS能把每个参加的成员的伤害列出来
2 可以查看自己血量
3 宗门可以看有多少人
4 排位
5 金银阁可以组队一起(

头像缓存可能需要加一行创建文件夹的代码

        try:
            logger.info("头像不存在,开始下载")
            image_bytes = await download_avatar(user_id)
            im = Image.open(io.BytesIO(image_bytes)).resize((280, 280)).convert("RGBA")
            im.save(USER_AVATAR_PATH, "PNG")
        except:
            logger.error("获取头像出错")
    
        return im

对于这个代码可能因为path不存在无法save
LO}LBO2VM49@60G W`A AJM

所以我加了一行代码

        try:
            logger.info("头像不存在,开始下载")
            image_bytes = await download_avatar(user_id)
            im = Image.open(io.BytesIO(image_bytes)).resize((280, 280)).convert("RGBA")
            os.makedirs(PLAYERSDATA/user_id)
            im.save(USER_AVATAR_PATH, "PNG")
        except:
            logger.error("获取头像出错")
    
        return im

但是我听说别人用不报错,而且我用的是真寻,也许是我的问题。

【报错】导入插件失败……?

环境:Ubuntu 22.04(LTS),Python3.9.8,nonebot-2.0.0-rc1
*由于租不起服务器,就拿了手机改服务器,所谓Ubuntu其实是termux模拟的()
问题描述:经由pip安装本插件后使用bot.py导入,在启动时报错。奇怪的是,这个插件在我Windows上跑的好好的(Python3.9.7),啥事没有……
详细报错代码:
11-12 23:38:38 [ERROR] nonebot | Failed to import "nonebot_plugin_xiuxian"
Traceback (most recent call last):
File "/usr/local/bin/nb", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1130, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/nb_cli/commands/main.py", line 30, in run
run_bot(file, app)
File "/usr/local/lib/python3.9/site-packages/nb_cli/handlers/deploy.py", line 20, in run_bot
module = importlib.import_module(module_name)
File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/root/??/bot_linux/./bot.py", line 31, in
nonebot.load_plugin('nonebot_plugin_xiuxian')
File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/load.py", line 34, in load_plugin
return manager.load_plugin(module_path)

File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 141, in load_plugin
module = importlib.import_module(name)
File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/manager.py", line 233, in exec_module
super().exec_module(module)
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/usr/local/lib/python3.9/site-packages/nonebot_plugin_xiuxian/init.py", line 33, in
scheduler = require("nonebot_plugin_apscheduler").scheduler
File "/usr/local/lib/python3.9/site-packages/nonebot/plugin/load.py", line 167, in require
raise RuntimeError(f'Cannot load plugin "{name}"!')
RuntimeError: Cannot load plugin "nonebot_plugin_apscheduler"!
所有资源文件已经安装到位,nonebot_plugin_apscheduler版本为0.2.0(0.1.4),无论如何均报错。
不知道是系统问题还是插件问题又或者是什么奇奇怪怪的问题了……

排行榜的触发问题

用命令触发排行榜时,如果不添加空的命令符,无法触发排行,建议改为正则触发器,然后使用关键词处理

@command.rank.handle()
async def _(event: GroupMessageEvent):
"""排行榜"""
message = str(event.message)
if ('排行榜' in message) and (('修仙' in message) or ('境界' in message)):
p_rank = sql_message.realm_top()
await rank.finish(message=p_rank)
elif ('排行榜' in message) and (('灵石' in message) or ('财力' in message)):
a_rank = sql_message.stone_top()
await rank.finish(message=a_rank)
elif ('排行榜' in message) and (('战斗' in message) or ('战力' in message)):
a_rank = sql_message.power_top()
await rank.finish(message=a_rank)
elif ('排行榜' in message) and (('宗门' in message) or ('宗门建设度' in message)):
s_rank, _ = sql_message.scale_top()
await rank.finish(message=s_rank)

一些想法

加了这插件群友每天高强度修仙)于是收集了点群友的想法:
1,两个人一起修炼加快速度(甚至多个人)
2.对战胜利可以吸取他人修为
3.商店里可以出售灵丹提升修炼效率(突破几率,作战时的战斗能力)
4.打副本可以产出灵药,灵兽,天地精华总之就是增加属性的随机物品,可以放到商店出售(一天一次)
5.个人可以自己炼丹用或者去卖
6.突破时可以出现雷劫,用骰子的大小来提升突破时的概率
7.每日签到可以加点随机事件当做奇遇
8.GM可以增加修为
9.偷灵石失败触发对战
10,多人副本
群友玩这个真的很热情)于是收集了这些想法

一些想法

增加职业系统:比如剑修符修器修丹修等等,还可以有修仙修魔等对立职业
探索系统:可以去各种地方探索,获得各种素材,可添加随机事件
功德系统:可以和修仙修魔随机事件绑在一起,功德负有概率堕落成魔修,影响随机事件好坏概率等等
功法法宝:增加修为功德等作用
钱庄系统:可以存储灵石等交易货币,可以设置储存上限以保证偷灵石和抢灵石功能不被影响

我个人的一些小想法,大佬们可以参考一下,希望这个插件可以越做越好

插件响应问题(?

装上插件之后
另一个ai模块没有触发
我猜测是由于程序时间限制的部分
ai的priority=998
而time_mes = on_message(priority=100)
所以在结束之前拦截了
但是理论上不会触发,因为会直接pass
我也搞不懂
而且删掉插件就正常
(最后改成time_mes = on_message(priority=999)完成)

【报错】当前的一些错误

目前版本是当前时间最新版本 0.4.30
1、修仙帮助 指令无法打开,报错如下
image
2、boss生成 当之前boss到达上限后,重启无法生成世界boss并报boss数量已达上限(但重启已经删去boss)
image

【严重问题】每日定时刷新签到,任务无效

连续两天,修仙签到和宗门任务什么的都没有刷新了,这两天正好从0.4.30更新到0.4.31版本
由于0点直接睡大觉,并没有看到报错
ubuntu20.04
python3.9.15
nonebot2=2.0.0b5
nonebot_plugin_apscheduler==0.1.4

建议添加直接卖店功能 and秘境建议

1.现在基于宗门系统有功法和神通产出的情况下 秘境产出的低级功法和神通似乎有些多余

大部分玩家选择直接往坊市一扔就完了,但基于游戏平台的缘故几乎是不可能有新人接盘的。

建议给坊市一个系统直接回收的选项。

2.现在秘境的收益有些意义不明。

一是秘境不像闭关什么时候收都可以,收晚了就不如闭关回血讨伐boss。建议给秘境结束后到实际结算这段时间差加一些灵石,比如一个小时可收的秘境,我两个小时后才收可以附带一些灵石,类似闭关一样有1.5倍修为上限的缓冲时间。

二是目前秘境收益的不稳定性过高(时间成本也高),基本上只有装备和修为是刚需,功法神通还是宗门占大头,后续如果实装仙阶功法神通建议直接扔秘境里,由于功法没有学习限制宗门的功法探索实在是过于强势。灵石按照现在boss给的钱也还算小赚。其他收益总体来算都是亏的。

三是因为存在boss战的原因必须留一些血量进洞,如果被玩家抢灵石那就更得不偿失了。建议进洞给抢劫加锁,当然现在有回状态的丹药也算是有操作空间了。

【报错】无法安装

python3.9.13,nonebot2=2.0.0b5
如题,下面是安装报错

Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting nonebot_plugin_xiuxian
  Using cached https://mirrors.aliyun.com/pypi/packages/bb/3f/2f3372ff9382f85acd25ab1fb0c79319ca39dadb905cb7c02919b305102a/nonebot_plugin_xiuxian-0.2.1.tar.gz (7.4 kB)
  Preparing metadata (setup.py) ... done
  Using cached https://mirrors.aliyun.com/pypi/packages/f8/d6/0d22c9caf4fd57abdda5430ea249f06a7e493f1f39b759a59faf7a44c104/nonebot_plugin_xiuxian-0.2.tar.gz (7.4 kB)
  Preparing metadata (setup.py) ... done
  Using cached https://mirrors.aliyun.com/pypi/packages/99/18/1025bedd210b5cabd427d59202a12c8416e2e3d9c8bf66e056ba84b41956/nonebot_plugin_xiuxian-0.1.tar.gz (6.6 kB)
  Preparing metadata (setup.py) ... done
ERROR: Cannot install nonebot-plugin-xiuxian==0.1, nonebot-plugin-xiuxian==0.2 and nonebot-plugin-xiuxian==0.2.1 because these package versions have conflicting dependencies.

The conflict is caused by:
    nonebot-plugin-xiuxian 0.2.1 depends on collections
    nonebot-plugin-xiuxian 0.2 depends on collections
    nonebot-plugin-xiuxian 0.1 depends on collections

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

同时抢boss出现鞭尸以及抢人头问题

聊天记录

【吐槽】群欧皇,吸光群友欧气 2022/10/28 15:00:01
讨伐boss3


【活跃】花千树 2022/10/28 15:00:01
讨伐boss3


【管理员】里真寻 2022/10/28 15:00:02
[群聊的聊天记录]

      【管理员】Boss战 14:55:01
      ☆------群土豪,全是面包的回合------☆
      
      【管理员】Boss战 14:55:01
      群土豪,全是面包发起攻击,造成了22978伤害
      
      【管理员】Boss战 14:55:01
      洪荒蛮龙剩余血量-43133
      
      【管理员】Boss战 14:55:01
      群土豪,全是面包胜利

【管理员】里真寻 2022/10/28 15:00:02
[群聊的聊天记录]

      【管理员】Boss战 14:55:01
      ☆------黄叶树的回合------☆
      
      【管理员】Boss战 14:55:01
      黄叶树发起攻击,造成了22285伤害
      
      【管理员】Boss战 14:55:01
      洪荒蛮龙剩余血量529805
      
      【管理员】Boss战 14:55:01
      ☆------洪荒蛮龙的回合------☆
      
      【管理员】Boss战 14:55:01
      洪荒蛮龙发起会心一击,造成了5409伤害
      
      【管理员】Boss战 14:55:01
      黄叶树剩余血量104916
      (下略)

【管理员】里真寻 2022/10/28 15:00:02
恭喜道友击败洪荒蛮龙,收获灵石20000枚(给了第一个鞭尸的人)


希望在战斗前加一个血量判断(或者异步锁什么的)防止抢人头行为

小想法

灵石目前用途单一,而且悬赏令容易让灵石溢出。未来除了市场,有没有考虑过再出一个可以持续消耗灵石的系统,比如我想的是 神兽 系统,目前我的设定是神兽需要通过 定时任务/手动投喂 消耗灵石,越稀有的神兽消耗的越多。神兽饥饿时无法发挥全力或者干脆摆烂,喂过灵石的可以在规定时间或者规定次数内在未来的战斗中发挥作用,然后神兽也许还可以用灵石来升级(

只是小想法,插件非常好玩

一些小想法与建议

1.排行榜可以增加每日奖励机制(主要群里赌🐕多,一天下来灵石都没有存多少),鼓励上排行榜,拉动积极性,建议
(第一名:8000;第二名:5000;第三名:3000;第四,第五:1500;第六,第十:1000);
每当次日签到时,会弹出签到给的奖励+“排行榜”给的奖励;
2.对未来对战系统的一些想法:每日可对战次数3次,花费灵石参与对决(被动参与的对手不会有任何损失),可与自身相差两个段修为的人对决,同段位基础胜率50%,随着对手段位越高胜率越低(参考最低概率0.6%),奖励也越高(建议奖励灵石,修为或是物品?),如果失败则损失修为,甚至掉段(不会损失灵石,有些老六卡0灵石来)
3.偷灵石的改进:建议增加偷灵石的次数(你先赢赢赢,最后被老六偷光光/(ㄒoㄒ)/~~),主要会影响排行榜的公正

关于拍卖行的两点小建议

1、可以增加倒计时推送功能,提升竞拍积极性(进阶可以加入延时功能)
2、中拍信息全群推送,目前只在中拍人的群进行推送

缺少错误提示

没有注册的情况也能改名和闭关,指令错误没有提示。比如没闭关的情况下出关没有提示

关于插件

这个和youzai的修仙插件好像啊,这个以后会返回图片吗

更新后提示路径失败,求解答一下

系统:Ubuntu20.04
nonebot2版本:2.0.0b5
Python版本: 3.9.14

那个load_all_plugins的路径具体是什么?我设置成bot的plugins还是提示找不到路径。
TypeError: the 'package' argument is required to perform a relative import

报错QAQ

10-28 12:53:48 [ERROR] nonebot | Failed to import "nonebot_plugin_xiuxian"
Traceback (most recent call last):
File "c:\program files\python38\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\program files\python38\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Program Files\Python38\Scripts\nb.exe_main
.py", line 7, in
sys.exit(main())
File "c:\program files\python38\lib\site-packages\click\core.py", line 1130, in call
return self.main(*args, **kwargs)
File "c:\program files\python38\lib\site-packages\click\core.py", line 1055, in main
rv = self.invoke(ctx)
File "c:\program files\python38\lib\site-packages\click\core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\program files\python38\lib\site-packages\click\core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\program files\python38\lib\site-packages\click\core.py", line 760, in invoke
return _callback(*args, **kwargs)
File "c:\program files\python38\lib\site-packages\nb_cli\commands\main.py", line 30, in run
run_bot(file, app)
File "c:\program files\python38\lib\site-packages\nb_cli\handlers\deploy.py", line 20, in run_bot
module = importlib.import_module(module_name)
File "c:\program files\python38\lib\importlib_init
.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File ".\bot.py", line 27, in
nonebot.load_from_toml("pyproject.toml")
File "c:\program files\python38\lib\site-packages\nonebot\plugin\load.py", line 122, in load_from_toml
return load_all_plugins(plugins, plugin_dirs)
File "c:\program files\python38\lib\site-packages\nonebot\plugin\load.py", line 59, in load_all_plugins
return manager.load_all_plugins()
File "c:\program files\python38\lib\site-packages\nonebot\plugin\manager.py", line 168, in load_all_plugins
return set(
File "c:\program files\python38\lib\site-packages\nonebot\plugin\manager.py", line 169, in
filter(None, (self.load_plugin(name) for name in self.available_plugins))

File "c:\program files\python38\lib\site-packages\nonebot\plugin\manager.py", line 141, in load_plugin
module = importlib.import_module(name)
File "c:\program files\python38\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "c:\program files\python38\lib\site-packages\nonebot\plugin\manager.py", line 233, in exec_module
super().exec_module(module)
File "", line 783, in exec_module
File "", line 219, in call_with_frames_removed
File "c:\program files\python38\lib\site-packages\nonebot_plugin_xiuxian_init
.py", line 33, in
scheduler = require("nonebot_plugin_apscheduler").scheduler
File "c:\program files\python38\lib\site-packages\nonebot\plugin\load.py", line 167, in require
raise RuntimeError(f'Cannot load plugin "{name}"!')

一些影响流程进行的问题和一些优化

最近因为看更新了不少系统,把整个存档删了重开
可能是各位作者没用重开过所以不知道一些从头开始的问题
有一部分是数值设计问题,这部分因为还在开发所以很正常,大伙自己也都能改就不着重提
从突破丹药开始讲吧,突破需要丹药,一开始我看了拍卖会默认配置不会roll突破丹药,秘境也没有,看了一下好像宗门丹坊会出
可是宗门需要化神圆满,化神圆满需要突破丹药,虽说宗门开启的要求可以改,但是如果丹药只靠这个来获取的话这个宗门创建的限制就没意义了
于是我去加拍卖会,但是这样一来就得加很多,而一次又只能roll一个,时间还久,人还多,关于这个我提交了管理员指定物品排名的issues
那么比较合理的是加到秘境获取里,但是秘境获取是随机性很高的,秘境次数还少
我认为有两种方案解决,一种是进入秘境时选择探索倾向,比如(探索秘境 突破丹药),增减概率或者只出突破丹药,应该不用做对应境界,毕竟可以纺市转手,也能促进纺市流通
另一种是秘境可以优化掉装备和功法,转为掉几种基础材料,基础材料可以打造装备、功法和丹药,另外目前没什么用的悬赏令也能把一部分奖励改为获得基础材料。宗门任务也可以奖励一下,纺市也可以每天固定上架一些随机材料供人采购,全靠这个拍卖会的话一次只出一个,实在是难集(倒是拍卖会可以加一个数量,而不是不管什么都固定一个)

关于交互优化
目前这个秘境,本质上和宗门任务、悬赏令,是一样的,就是选一个,然后等时间,获得奖励
建议方面,秘境结算时,如果遇到前辈,不会马上给一个奖励,而是根据权重出来两个或三个选项,玩家选择一个再获得,并且玩家可以选择继续探索一次或多少次(毕竟秘境又少还有次数限制),可以加一个最大持续探索次数。直到遇到boss的话强制最后一次深入秘境。

宗门神通查看啊,可以改成合并转发了,现在这个一个是刷屏,一个是可读性差,转发的话可以一个功法一条消息,可读性好,就是想背包那样

还有部分指令
比如说重入仙途,在群里十分刷屏,能不能默认改成私聊就能触发,每次更新都要手动改一下,其他的可以改的有趣点
(感觉有点像甲方,说了一大堆,下面的看看乐就好)其实这个秘境挺有潜力的,比如可以中途遇到秘境专用神通,这次秘境打怪就用这个神通,还有临时武器。搞得像个肉鸽似的,不过流程实在时太长了,估计做起来也麻烦,在群里交互这么频繁也多少有点。

还有一些建议是一些新的系统了,这里就先不提出来扰乱各位心思了(虽然提了个打造,这东西还得每个物品加个合成材料列表,也非常非常麻烦),虽然现在不提到时候可能忘了

战斗的补充

1.增加木桩npc,世界boss,输入道号便可以攻击,金币爆率上升至50%。
2.真元可以回复气血,灵石补充真元,真元气血1:1,真元灵石1:1000。
3.宗门灵石提取。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.