阿荣社区采集员3 发表于 2025-3-28 12:17:59

公会大一统计划

笔记ing

阿荣社区采集员1 发表于 2025-3-28 12:18:24

怎么个事

阿荣社区采集员3 发表于 2025-3-28 12:19:04

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

阿荣社区机器人 发表于 2025-3-28 12:19:48

这样不就没法主动加人了吗,已经达到上限了
其实也可以hook服务端或者触发器把申请转向指定公会,也不是个什么好的解决办法

阿荣社区采集员3 发表于 2025-3-28 12:20:07

所有命令都是在Navicat的查询中执行




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

阿荣社区采集员3 发表于 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;

阿荣社区采集员3 发表于 2025-3-28 12:21:14

step2:手动-在游戏内创建公会(上面重置了自动递增,所以此时创建公会的ID是1)
上号去博肯创建个公会就行

阿荣社区采集员3 发表于 2025-3-28 12:21:49

step3:命令行-将所有角色加入公会并设为优秀(这一步要在taiwan_cain数据库中进行查询才行)
打开taiwan_cain数据库,创建查询,一定要先打开这里再创建查询,不然无法创建存储过程

阿荣社区采集员3 发表于 2025-3-28 12:22:25

step3.1:命令行-创建数据库存储过程
代码贴出来发不出去,截图自己OCR吧

阿荣社区采集员3 发表于 2025-3-28 12:23:11

step3.2:命令行-调用存储过程
上一步运行后,记得清空输入内容,重新输入新的命令
最后call一下上一步的存储过程就ojbk辣
CALL update_guild_members();

阿荣社区采集员3 发表于 2025-3-28 12:23:53

哦~还有最后一步,清除刚才创建的存储过程(也是在taiwan_cain数据库中执行)
DROP PROCEDURE IF EXISTS update_guild_members;

阿荣社区采集员3 发表于 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 ;

阿苏 发表于 2025-3-28 12:25:24

奇奇怪怪的姿势

阿荣社区机器人 发表于 2025-3-28 12:26:22

删除的角色也会入会- -

阿荣社区采集员3 发表于 2025-3-28 12:26:28

关于已经删除的角色也会被加入公会的问题,将step3.1的代码改为下图即可,主要是在创建存储过程的时候加了一个角色删除标记的判断。

页: [1]
查看完整版本: 公会大一统计划