aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database
diff options
context:
space:
mode:
authorazazel <none@none>2010-10-17 19:54:13 +0600
committerazazel <none@none>2010-10-17 19:54:13 +0600
commitc0faed2251dff3814fe60e1a8ba86a046e48f707 (patch)
tree068f2ab41c2d32bbdeddd2e5c722dc6239cdd073 /src/server/shared/Database
parentf5911917b4ea1e97b0f22876dc8f35bbfa9833c9 (diff)
Core/Guilds: guild code was completely refactored and rewritten.
* OOP desing and implementation; * all the queries are moved to prepared statements; * guild loading is optimized; * all the possible interaction with guild's data is done inside the guild class; * added more hooks to GuildScript class; WARNING: Make sure you backup your characters database before applying this change (just in case). Known problems with guilds: * when new member is added to the guild, MOTD is not displayed for him in guild tab of social window; * if you add item with random property to guild bank visual representation of item below it becomes wrong (it displays wrong stack number); * packets order differs from official: currently guild bank packet traffic is twice as more than on offy. --HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database')
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.cpp116
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.h75
2 files changed, 190 insertions, 1 deletions
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
index 60e29f22f54..4963a0b89f3 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
@@ -88,7 +88,6 @@ bool CharacterDatabaseConnection::Open()
PrepareStatement(CHAR_LOAD_ACCOUNT_DATA, "SELECT type, time, data FROM account_data WHERE account = ?");
PrepareStatement(CHAR_LOAD_PLAYER_MAILITEMS, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, item_guid, item_template, owner_guid FROM mail_items JOIN item_instance ON item_guid = guid WHERE mail_id = ?");
PrepareStatement(CHAR_LOAD_AUCTION_ITEMS, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, itemguid, item_template FROM auctionhouse JOIN item_instance ON itemguid = guid");
- PrepareStatement(CHAR_LOAD_GUILD_BANK_ITEMS, "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, TabId, SlotId, item_guid, item_entry, guildid FROM guild_bank_item JOIN item_instance ON item_guid = guid");
PrepareStatement(CHAR_LOAD_ITEM_REFUNDS, "SELECT player_guid, paidMoney, paidExtendedCost FROM item_refund_instance WHERE item_guid = ? AND player_guid = ? LIMIT 1");
PrepareStatement(CHAR_LOAD_ITEM_BOP_TRADE, "SELECT allowedPlayers FROM item_soulbound_trade_data WHERE itemGuid = ? LIMIT 1");
PrepareStatement(CHAR_DEL_ITEM_BOP_TRADE, "DELETE FROM item_soulbound_trade_data WHERE itemGuid = ? LIMIT 1");
@@ -97,5 +96,120 @@ bool CharacterDatabaseConnection::Open()
PrepareStatement(CHAR_DEL_ITEM_INSTANCE, "DELETE FROM item_instance WHERE guid = ?");
PrepareStatement(CHAR_GET_ACCOUNT_BY_NAME, "SELECT account FROM characters WHERE name = ?");
+ // Guild handling
+ // 0: uint32, 1: string, 2: uint32, 3: string, 4: string, 5: uint64, 6-10: uint32, 11: uint64
+ PrepareStatement(CHAR_ADD_GUILD, "INSERT INTO guild (guildid, name, leaderguid, info, motd, createdate, EmblemStyle, EmblemColor, BorderStyle, BorderColor, BackgroundColor, BankMoney) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD, "DELETE FROM guild WHERE guildid = ?"); // 0: uint32
+ // 0: uint32, 1: uint32, 2: uint8, 4: string, 5: string
+ PrepareStatement(CHAR_ADD_GUILD_MEMBER, "INSERT INTO guild_member (guildid, guid, rank, pnote, offnote) VALUES (?, ?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD_MEMBER, "DELETE FROM guild_member WHERE guid = ?"); // 0: uint32
+ PrepareStatement(CHAR_DEL_GUILD_MEMBERS, "DELETE FROM guild_member WHERE guildid = ?"); // 0: uint32
+ // 0: uint32, 1: uint8, 3: string, 4: uint32
+ PrepareStatement(CHAR_ADD_GUILD_RANK, "INSERT INTO guild_rank (guildid, rid, rname, rights) VALUES (?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD_RANKS, "DELETE FROM guild_rank WHERE guildid = ?"); // 0: uint32
+ PrepareStatement(CHAR_DEL_GUILD_LOWEST_RANK, "DELETE FROM guild_rank WHERE guildid = ? AND rid >= ?"); // 0: uint32, 1: uint8
+ PrepareStatement(CHAR_ADD_GUILD_BANK_TAB, "INSERT INTO guild_bank_tab (guildid, TabId) VALUES (?, ?)"); // 0: uint32, 1: uint8
+ PrepareStatement(CHAR_DEL_GUILD_BANK_TAB, "DELETE FROM guild_bank_tab WHERE guildid = ? AND TabId = ?"); // 0: uint32, 1: uint8
+ PrepareStatement(CHAR_DEL_GUILD_BANK_TABS, "DELETE FROM guild_bank_tab WHERE guildid = ?"); // 0: uint32
+ // 0: uint32, 1: uint8, 2: uint8, 3: uint32, 4: uint32
+ PrepareStatement(CHAR_ADD_GUILD_BANK_ITEM, "INSERT INTO guild_bank_item (guildid, TabId, SlotId, item_guid, item_entry) VALUES (?, ?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD_BANK_ITEM, "DELETE FROM guild_bank_item WHERE guildid = ? AND TabId = ? AND SlotId = ?"); // 0: uint32, 1: uint8, 2: uint8
+ PrepareStatement(CHAR_DEL_GUILD_BANK_ITEMS, "DELETE FROM guild_bank_item WHERE guildid = ?"); // 0: uint32
+ PrepareStatement(CHAR_ADD_GUILD_BANK_RIGHT_DEFAULT, "INSERT INTO guild_bank_right (guildid, TabId, rid) VALUES (?, ?, ?)"); // 0: uint32, 1: uint8, 2: uint8
+ // 0: uint32, 1: uint8, 2: uint8, 3: uint8, 4: uint32
+ PrepareStatement(CHAR_ADD_GUILD_BANK_RIGHT, "INSERT INTO guild_bank_right (guildid, TabId, rid, gbright, SlotPerDay) VALUES (?, ?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD_BANK_RIGHT, "DELETE FROM guild_bank_right WHERE guildid = ? AND TabId = ? AND rid = ?"); // 0: uint32, 1: uint8, 2: uint8
+ PrepareStatement(CHAR_DEL_GUILD_BANK_RIGHTS, "DELETE FROM guild_bank_right WHERE guildid = ?"); // 0: uint32
+ PrepareStatement(CHAR_DEL_GUILD_BANK_RIGHTS_FOR_RANK, "DELETE FROM guild_bank_right WHERE guildid = ? AND rid = ?"); // 0: uint32, 1: uint8
+ // 0-1: uint32, 2-3: uint8, 4-5: uint32, 6: uint16, 7: uint8, 8: uint64
+ PrepareStatement(CHAR_ADD_GUILD_BANK_EVENTLOG, "INSERT INTO guild_bank_eventlog (guildid, LogGuid, TabId, EventType, PlayerGuid, ItemOrMoney, ItemStackCount, DestTabId, TimeStamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD_BANK_EVENTLOG, "DELETE FROM guild_bank_eventlog WHERE guildid = ? AND LogGuid = ? AND TabId = ?"); // 0: uint32, 1: uint32, 2: uint8
+ PrepareStatement(CHAR_DEL_GUILD_BANK_EVENTLOGS, "DELETE FROM guild_bank_eventlog WHERE guildid = ?"); // 0: uint32
+ // 0-1: uint32, 2: uint8, 3-4: uint32, 5: uint8, 6: uint64
+ PrepareStatement(CHAR_ADD_GUILD_EVENTLOG, "INSERT INTO guild_eventlog (guildid, LogGuid, EventType, PlayerGuid1, PlayerGuid2, NewRank, TimeStamp) VALUES (?, ?, ?, ?, ?, ?, ?)");
+ PrepareStatement(CHAR_DEL_GUILD_EVENTLOG, "DELETE FROM guild_eventlog WHERE guildid = ? AND LogGuid = ?"); // 0: uint32, 1: uint32
+ PrepareStatement(CHAR_DEL_GUILD_EVENTLOGS, "DELETE FROM guild_eventlog WHERE guildid = ?"); // 0: uint32
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_PNOTE, "UPDATE guild_member SET pnote = ? WHERE guid = ?"); // 0: string, 1: uint32
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_OFFNOTE, "UPDATE guild_member SET offnote = ? WHERE guid = ?"); // 0: string, 1: uint32
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_RANK, "UPDATE guild_member SET rank = ? WHERE guid = ?"); // 0: uint8, 1: uint32
+ PrepareStatement(CHAR_SET_GUILD_MOTD, "UPDATE guild SET motd = ? WHERE guildid = ?"); // 0: string, 1: uint32
+ PrepareStatement(CHAR_SET_GUILD_INFO, "UPDATE guild SET info = ? WHERE guildid = ?"); // 0: string, 1: uint32
+ PrepareStatement(CHAR_SET_GUILD_LEADER, "UPDATE guild SET leaderguid = ? WHERE guildid = ?"); // 0: uint32, 1: uint32
+ PrepareStatement(CHAR_SET_GUILD_RANK_NAME, "UPDATE guild_rank SET rname = ? WHERE rid = ? AND guildid = ?"); // 0: string, 1: uint8, 2: uint32
+ PrepareStatement(CHAR_SET_GUILD_RANK_RIGHTS, "UPDATE guild_rank SET rights = ? WHERE rid = ? AND guildid = ?"); // 0: uint32, 1: uint8, 2: uint32
+ // 0-5: uint32
+ PrepareStatement(CHAR_SET_GUILD_EMBLEM_INFO, "UPDATE guild SET EmblemStyle = ?, EmblemColor = ?, BorderStyle = ?, BorderColor = ?, BackgroundColor = ? WHERE guildid = ?");
+ // 0: string, 1: string, 2: uint32, 3: uint8
+ PrepareStatement(CHAR_SET_GUILD_BANK_TAB_INFO, "UPDATE guild_bank_tab SET TabName = ?,TabIcon = ? WHERE guildid = ? AND TabId = ?");
+ PrepareStatement(CHAR_SET_GUILD_BANK_MONEY, "UPDATE guild SET BankMoney = ? WHERE guildid = ?"); // 0: uint64, 1: uint32
+ // 0: uint8, 1: uint32, 2: uint8, 3: uint32
+ PrepareStatement(CHAR_SET_GUILD_BANK_EVENTLOG_TAB, "UPDATE guild_bank_eventlog SET TabId = ? WHERE guildid = ? AND TabId = ? AND LogGuid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_MONEY, "UPDATE guild_member SET BankRemMoney = ? WHERE guildid = ? AND guid = ?"); // 0: uint32, 1: uint32, 2: uint32
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_MONEY, "UPDATE guild_member SET BankResetTimeMoney = ?, BankRemMoney = ? WHERE guildid = ? AND guid = ?"); // 0: uint32, 1: uint32, 2: uint32, 3: uint32
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_RESET_TIME, "UPDATE guild_member SET BankResetTimeMoney = 0 WHERE guildid = ? AND rank = ?"); // 0: uint32, 1: uint8
+ PrepareStatement(CHAR_SET_GUILD_RANK_BANK_MONEY, "UPDATE guild_rank SET BankMoneyPerDay = ? WHERE rid = ? AND guildid = ?"); // 0: uint32, 1: uint8, 2: uint32
+ PrepareStatement(CHAR_SET_GUILD_BANK_TAB_TEXT, "UPDATE guild_bank_tab SET TabText = ? WHERE guildid = ? AND TabId = ?"); // 0: string, 1: uint32, 2: uint8
+ // 0: uint32, 1: uint32, 2: uint32
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS0, "UPDATE guild_member SET BankRemSlotsTab0 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS1, "UPDATE guild_member SET BankRemSlotsTab1 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS2, "UPDATE guild_member SET BankRemSlotsTab2 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS3, "UPDATE guild_member SET BankRemSlotsTab3 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS4, "UPDATE guild_member SET BankRemSlotsTab4 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS5, "UPDATE guild_member SET BankRemSlotsTab5 = ? WHERE guildid = ? AND guid = ?");
+ // 0: uint32, 1: uint32, 2: uint32, 3: uint32
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS0, "UPDATE guild_member SET BankResetTimeTab0 = ?, BankRemSlotsTab0 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS1, "UPDATE guild_member SET BankResetTimeTab1 = ?, BankRemSlotsTab1 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS2, "UPDATE guild_member SET BankResetTimeTab2 = ?, BankRemSlotsTab2 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS3, "UPDATE guild_member SET BankResetTimeTab3 = ?, BankRemSlotsTab3 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS4, "UPDATE guild_member SET BankResetTimeTab4 = ?, BankRemSlotsTab4 = ? WHERE guildid = ? AND guid = ?");
+ PrepareStatement(CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS5, "UPDATE guild_member SET BankResetTimeTab5 = ?, BankRemSlotsTab5 = ? WHERE guildid = ? AND guid = ?");
+ // 0: uint32, 1: uint8
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME0, "UPDATE guild_member SET BankResetTimeTab0 = 0 WHERE guildid = ? AND rank = ?");
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME1, "UPDATE guild_member SET BankResetTimeTab1 = 0 WHERE guildid = ? AND rank = ?");
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME2, "UPDATE guild_member SET BankResetTimeTab2 = 0 WHERE guildid = ? AND rank = ?");
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME3, "UPDATE guild_member SET BankResetTimeTab3 = 0 WHERE guildid = ? AND rank = ?");
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME4, "UPDATE guild_member SET BankResetTimeTab4 = 0 WHERE guildid = ? AND rank = ?");
+ PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME5, "UPDATE guild_member SET BankResetTimeTab5 = 0 WHERE guildid = ? AND rank = ?");
+ PrepareStatement(CHAR_LOAD_GUILDS,
+ // 0 1 2 3 4 5 6
+ "SELECT g.guildid, g.name, g.leaderguid, g.EmblemStyle, g.EmblemColor, g.BorderStyle, g.BorderColor,"
+ // 7 8 9 10 11 12
+ "g.BackgroundColor, g.info, g.motd, g.createdate, g.BankMoney, COUNT(gbt.guildid) "
+ "FROM guild g LEFT JOIN guild_bank_tab gbt ON g.guildid = gbt.guildid GROUP BY g.guildid ORDER BY g.guildid ASC");
+ // 0 1 2 3 4
+ PrepareStatement(CHAR_LOAD_GUILD_RANKS, "SELECT guildid, rid, rname, rights, BankMoneyPerDay FROM guild_rank ORDER BY guildid ASC, rid ASC");
+ PrepareStatement(CHAR_LOAD_CHAR_DATA_FOR_GUILD, "SELECT name, level, class, zone, account FROM characters WHERE guid = ?");
+ PrepareStatement(CHAR_LOAD_GUILD_MEMBERS,
+ // 0 1 2 3 4 5 6
+ "SELECT guildid, gm.guid, rank, pnote, offnote, BankResetTimeMoney, BankRemMoney,"
+ // 7 8 9 10 11 12
+ "BankResetTimeTab0, BankRemSlotsTab0, BankResetTimeTab1, BankRemSlotsTab1, BankResetTimeTab2, BankRemSlotsTab2,"
+ // 13 14 15 16 17 18
+ "BankResetTimeTab3, BankRemSlotsTab3, BankResetTimeTab4, BankRemSlotsTab4, BankResetTimeTab5, BankRemSlotsTab5,"
+ // 19 20 21 22 23 24
+ "c.name, c.level, c.class, c.zone, c.account, c.logout_time "
+ "FROM guild_member gm LEFT JOIN characters c ON c.guid = gm.guid ORDER BY guildid ASC");
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_RIGHTS,
+ // 0 1 2 3 4
+ "SELECT guildid, TabId, rid, gbright, SlotPerDay FROM guild_bank_right ORDER BY guildid ASC, TabId ASC");
+ // 0 1 2 3 4
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_TABS, "SELECT guildid, TabId, TabName, TabIcon, TabText FROM guild_bank_tab ORDER BY guildid ASC, TabId ASC");
+ PrepareStatement(CHAR_LOAD_GUILD_EVENTLOGS,
+ // 0 1 2 3 4 5 6
+ "SELECT guildid, LogGuid, EventType, PlayerGuid1, PlayerGuid2, NewRank, TimeStamp FROM guild_eventlog ORDER BY TimeStamp DESC, LogGuid DESC");
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_EVENTLOGS,
+ // 0 1 2 3 4 5 6 7 8
+ "SELECT guildid, TabId, LogGuid, EventType, PlayerGuid, ItemOrMoney, ItemStackCount, DestTabId, TimeStamp FROM guild_bank_eventlog ORDER BY TimeStamp DESC, LogGuid DESC");
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_ITEMS,
+ // 0 1 2 3 4 5 6 7 8 9 10
+ "SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, "
+ // 11 12 13 14 15
+ "guildid, TabId, SlotId, item_guid, item_entry FROM guild_bank_item INNER JOIN item_instance ON item_guid = guid");
+
+ PrepareStatement(CHAR_CLEAN_GUILD_RANKS, "DELETE FROM guild_rank WHERE guildId NOT IN (SELECT guildid FROM guild)");
+ PrepareStatement(CHAR_CLEAN_GUILD_MEMBERS, "DELETE FROM guild_member WHERE guildId NOT IN (SELECT guildid FROM guild)");
+ PrepareStatement(CHAR_CLEAN_GUILD_BANK_TABS, "DELETE FROM guild_bank_tab WHERE guildId NOT IN (SELECT guildid FROM guild)");
+ PrepareStatement(CHAR_CLEAN_GUILD_BANK_RIGHTS, "DELETE FROM guild_bank_right WHERE guildId NOT IN (SELECT guildid FROM guild)");
+ PrepareStatement(CHAR_CLEAN_GUILD_BANK_ITEMS, "DELETE FROM guild_bank_item WHERE guildId NOT IN (SELECT guildid FROM guild)");
return true;
}
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h
index ae3c730d1a5..041afca2a23 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.h
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.h
@@ -102,6 +102,81 @@ enum CharacterDatabaseStatements
CHAR_DEL_INVENTORY_ITEM,
CHAR_DEL_ITEM_INSTANCE,
CHAR_GET_ACCOUNT_BY_NAME,
+
+ CHAR_ADD_GUILD,
+ CHAR_DEL_GUILD,
+ CHAR_ADD_GUILD_MEMBER,
+ CHAR_DEL_GUILD_MEMBER,
+ CHAR_DEL_GUILD_MEMBERS,
+ CHAR_ADD_GUILD_RANK,
+ CHAR_DEL_GUILD_RANKS,
+ CHAR_DEL_GUILD_LOWEST_RANK,
+ CHAR_ADD_GUILD_BANK_TAB,
+ CHAR_DEL_GUILD_BANK_TAB,
+ CHAR_DEL_GUILD_BANK_TABS,
+ CHAR_ADD_GUILD_BANK_ITEM,
+ CHAR_DEL_GUILD_BANK_ITEM,
+ CHAR_DEL_GUILD_BANK_ITEMS,
+ CHAR_ADD_GUILD_BANK_RIGHT_DEFAULT,
+ CHAR_ADD_GUILD_BANK_RIGHT,
+ CHAR_DEL_GUILD_BANK_RIGHT,
+ CHAR_DEL_GUILD_BANK_RIGHTS,
+ CHAR_DEL_GUILD_BANK_RIGHTS_FOR_RANK,
+ CHAR_ADD_GUILD_BANK_EVENTLOG,
+ CHAR_DEL_GUILD_BANK_EVENTLOG,
+ CHAR_DEL_GUILD_BANK_EVENTLOGS,
+ CHAR_ADD_GUILD_EVENTLOG,
+ CHAR_DEL_GUILD_EVENTLOG,
+ CHAR_DEL_GUILD_EVENTLOGS,
+ CHAR_SET_GUILD_MEMBER_PNOTE,
+ CHAR_SET_GUILD_MEMBER_OFFNOTE,
+ CHAR_SET_GUILD_MEMBER_RANK,
+ CHAR_SET_GUILD_MOTD,
+ CHAR_SET_GUILD_INFO,
+ CHAR_SET_GUILD_LEADER,
+ CHAR_SET_GUILD_RANK_NAME,
+ CHAR_SET_GUILD_RANK_RIGHTS,
+ CHAR_SET_GUILD_EMBLEM_INFO,
+ CHAR_SET_GUILD_BANK_TAB_INFO,
+ CHAR_SET_GUILD_BANK_MONEY,
+ CHAR_SET_GUILD_BANK_EVENTLOG_TAB,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_MONEY,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_MONEY,
+ CHAR_RESET_GUILD_RANK_BANK_RESET_TIME,
+ CHAR_SET_GUILD_RANK_BANK_MONEY,
+ CHAR_SET_GUILD_BANK_TAB_TEXT,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS0,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS1,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS2,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS3,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS4,
+ CHAR_SET_GUILD_MEMBER_BANK_TIME_REM_SLOTS5,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS0,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS1,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS2,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS3,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS4,
+ CHAR_SET_GUILD_MEMBER_BANK_REM_SLOTS5,
+ CHAR_RESET_GUILD_RANK_BANK_TIME0,
+ CHAR_RESET_GUILD_RANK_BANK_TIME1,
+ CHAR_RESET_GUILD_RANK_BANK_TIME2,
+ CHAR_RESET_GUILD_RANK_BANK_TIME3,
+ CHAR_RESET_GUILD_RANK_BANK_TIME4,
+ CHAR_RESET_GUILD_RANK_BANK_TIME5,
+ CHAR_LOAD_GUILDS,
+ CHAR_LOAD_GUILD_RANKS,
+ CHAR_LOAD_CHAR_DATA_FOR_GUILD,
+ CHAR_LOAD_GUILD_MEMBERS,
+ CHAR_LOAD_GUILD_BANK_RIGHTS,
+ CHAR_LOAD_GUILD_BANK_TABS,
+ CHAR_LOAD_GUILD_EVENTLOGS,
+ CHAR_LOAD_GUILD_BANK_EVENTLOGS,
+ CHAR_CLEAN_GUILD_RANKS,
+ CHAR_CLEAN_GUILD_MEMBERS,
+ CHAR_CLEAN_GUILD_BANK_TABS,
+ CHAR_CLEAN_GUILD_BANK_RIGHTS,
+ CHAR_CLEAN_GUILD_BANK_ITEMS,
+
MAX_CHARACTERDATABASE_STATEMENTS,
};