找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1007|回复: 14

公会大一统计划

[复制链接]

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
发表于 2025-3-28 12:17:59 | 显示全部楼层 |阅读模式
笔记ing
回复

使用道具 举报

2067

主题

1万

回帖

5万

积分

出神入化

积分
58692
发表于 2025-3-28 12:18:24 | 显示全部楼层
怎么个事
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:19:04 | 显示全部楼层
大一统计划分三个步骤:
step1:命令行-解散所有公会并取消所有角色的公会标记
step2:手动-在游戏内创建公会(上面重置了自动递增,所以此时创建公会的ID是1)
step3:命令行-将所有角色加入公会并设为优秀(这一步要在taiwan_cain数据库中进行查询才行)
step3.1:命令行-创建数据库存储过程
step3.2:命令行-调用存储过程

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

发表于 2025-3-28 12:19:48 | 显示全部楼层
这样不就没法主动加人了吗,已经达到上限了
其实也可以hook服务端或者触发器把申请转向指定公会,也不是个什么好的解决办法
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:20:07 | 显示全部楼层
所有命令都是在Navicat的查询中执行




输入命令,点击运行即可,运行完成后记得把命令清空掉

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:20:53 | 显示全部楼层
step1:命令行-解散所有公会并取消所有角色的公会标记
TRUNCATE TABLE d_guild.guild_member;
TRUNCATE TABLE d_guild.guild_info;
ALTER TABLE d_guild.guild_info AUTO_INCREMENT = 1;
TRUNCATE TABLE d_guild.guild_introduce;
TRUNCATE TABLE d_guild.guild_member_introduce;
TRUNCATE TABLE d_guild.guild_skill;
TRUNCATE TABLE d_guild.guild_visit;
UPDATE taiwan_cain.charac_info SET guild_id = 0, guild_right = 0;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:21:14 | 显示全部楼层
step2:手动-在游戏内创建公会(上面重置了自动递增,所以此时创建公会的ID是1)
上号去博肯创建个公会就行
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:21:49 | 显示全部楼层
step3:命令行-将所有角色加入公会并设为优秀(这一步要在taiwan_cain数据库中进行查询才行)
打开taiwan_cain数据库,创建查询,一定要先打开这里再创建查询,不然无法创建存储过程

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:22:25 | 显示全部楼层
step3.1:命令行-创建数据库存储过程
代码贴出来发不出去,截图自己OCR吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:23:11 | 显示全部楼层
step3.2:命令行-调用存储过程
上一步运行后,记得清空输入内容,重新输入新的命令
最后call一下上一步的存储过程就ojbk辣
CALL update_guild_members();

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:23:53 | 显示全部楼层
哦~还有最后一步,清除刚才创建的存储过程(也是在taiwan_cain数据库中执行)
DROP PROCEDURE IF EXISTS update_guild_members;
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:24:50 | 显示全部楼层
再最后呢,就是建议搭配新角色自动入会的脚步一起食用。
DELIMITER //
CREATE TRIGGER auto_join
AFTER INSERT ON taiwan_cain.charac_stat
FOR EACH ROW
BEGIN
DECLARE v_m_id INT;
DECLARE v_charac_no INT;
DECLARE v_charac_name VARCHAR(255);
DECLARE v_lev INT;
DECLARE v_job INT;
DECLARE v_grow_type INT;
DECLARE v_current_time DATETIME;
-- 更新 charac_info 表的 guild_id 和 guild_right
UPDATE taiwan_cain.charac_info
SET guild_id = 1, guild_right = 1
WHERE charac_no = NEW.charac_no;
-- 获取新插入的角色信息
SELECT m_id, charac_no, charac_name, lev, job, grow_type, NOW() INTO v_m_id, v_charac_no, v_charac_name, v_lev, v_job, v_grow_type, v_current_time
FROM taiwan_cain.charac_info
WHERE charac_no = NEW.charac_no;
-- 插入新成员到 guild_member 表
INSERT INTO d_guild.guild_member
(guild_id, m_id, server_id, charac_no, charac_name, memo, grade, job, grow_type, lev, member_time, member_flag, last_play_time, age, born_year)
VALUES
(1, v_m_id, 3, v_charac_no, v_charac_name, 'By.Rex', 3, v_job, v_grow_type, v_lev, v_current_time, 1, v_current_time, 0, '00');
-- 更新 guild_info 表的 member_count
UPDATE d_guild.guild_info
SET member_count = member_count + 1
WHERE guild_id = 1;
END //
DELIMITER ;
回复

使用道具 举报

1985

主题

1万

回帖

5万

积分

出神入化

积分
58250
发表于 2025-3-28 12:25:24 | 显示全部楼层
奇奇怪怪的姿势

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

发表于 2025-3-28 12:26:22 | 显示全部楼层
删除的角色也会入会- -
回复

使用道具 举报

2052

主题

1万

回帖

5万

积分

出神入化

积分
57969
 楼主| 发表于 2025-3-28 12:26:28 | 显示全部楼层
关于已经删除的角色也会被加入公会的问题,将step3.1的代码改为下图即可,主要是在创建存储过程的时候加了一个角色删除标记的判断。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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