Eviles 179 Report post Posted May 31, 2019 (edited) System Name: Guild Leveling - Addon Guild System - Showoff Introduction: Currently TOP guild system is so poor , so in order to improve it i decided to create a leveling system. GameDB contains some unused coluns, where there are not created function in source to update them, meaning that we cannot use them thought lua scripts. But, since LuaSql was been released now we able to do that ! Q: Why LuaSql? A: I chose LuaSql due to the fact that we had these columns unusable, thus facilitating the use of the existing interface of the guild. However, we could also create this using Table Serialization and the NPC window as the interface. Features: + GetGuildLevel(role): returns guild level, from GameDB [dbo].character.money; + GetGuildEXP(role, exp): returns guild experience, from GameDB [dbo].character.exp; + TakeGuildEXP(role, exp): takes a amount of experience set on (role, exp) from the guild; + GuildAddEXP(role, exp): adds a amount of experience set on (role, exp) to the guild; + GuildSetLevel(role, level): set guild level according to number defined on (role, level); + GetGuildLeaderID(role): returns the id of player (guild leader) from the guild which role belongs; + IsGuildLeader(role): check if the player is the guild leader; + /deposit <playername>: Grants access to deposit items from the guild bank. Can be used by guild leaders only; + /withdraw <playername>: Grants access to remove items from the guild bank. Can be used by guild leaders only; Issues: - Values are not refreshed instantly on guild panel if it's opened, must re-open it again. Meaning that LuaSql takes milliseconds to update database. Future: - Guild Buffs to guild members according to guild level; - Guild Missions; - Guild Bank: Showoff; - Guild House; - Function to check who has access to deposit/withdraw items from bank; Any suggestion welcome. Edited June 9, 2019 by Satan update 4 1 Quote Share this post Link to post Share on other sites
Spidpex 18 Report post Posted May 31, 2019 You should also try to add a activity timer per guild member, like lets say it shows exactly how long it's been until a member has been connected to the game :P 1 Quote Share this post Link to post Share on other sites
champ 146 Report post Posted May 31, 2019 (edited) I doubt values don't get updated due to queries execution time. Most likely they get loaded upon opening the guild window hence the need to re-open. Not sure though, need to double-check the source code. Edited May 31, 2019 by patrick13 Quote Share this post Link to post Share on other sites
Eviles 179 Report post Posted May 31, 2019 1 hour ago, Spidpex said: You should also try to add a activity timer per guild member, like lets say it shows exactly how long it's been until a member has been connected to the game :P Oh, that's a nice idea. You mean like the friend system we have arealdy (CTRL + F)? If yes, it will requires deep source modification. 10 minutes ago, patrick13 said: I doubt values don't get updated due to queries execution time. Most likely they get loaded upon opening the guild window hence the need to re-open. Not sure though, need to double-check the source code. Sure, I just concluded that the other functions I've created update instantly. 1 Quote Share this post Link to post Share on other sites
Spidpex 18 Report post Posted May 31, 2019 Just now, Satan said: Oh, that's a nice idea. You mean like the friend system we have arealdy (CTRL + F)? If yes, it will requires deep source modification. Yep, pretty much :P 1 Quote Share this post Link to post Share on other sites
Spidpex 18 Report post Posted May 31, 2019 I mean you could even have their names in seperate color, depnding on how long they've been offline, so lets say, everytime you refresh/open the guild UI, you would see: Green names (0-7 days offline) Blue names (7-14 days offline) Red names (14-21 days offline) Black names (more than 21 days offline) ^^ 4 Quote Share this post Link to post Share on other sites
Spidpex 18 Report post Posted June 2, 2019 (edited) Also @Satan Do you think its possible to add "ranks" to the members of the guild, ranks that only the Guild Master/Guild Leader can assign (lets say 3 vice leader ranks) also, so that a guild master can remove these vice ranks from anyone at any time, aswell as giving his own "Guild Master" role over to another person aswell as he desires. And those "Vice Leaders" are able to retrive and put in unlimited items from the guild bank without any restrictions as much as the Guild master, do you think its doable? :o Edited June 2, 2019 by Spidpex 2 Quote Share this post Link to post Share on other sites
Spidpex 18 Report post Posted June 2, 2019 Also! What about a Guild hall aswell, maybe a NPC that is unique that players in the same guild can enter in, and they appear in a big hall, and inside the hall, it might be a outskirt area where there's a "punching bag" where players can test/showoff their damage/sleshes/bolts, maybe a few benches, a potion NPC, and just a general clean enviroment where the memebrs can hang out and discuss stuff in private in the open without being interupted by other players locally. IMO i think that would be a perfecto idea! <3 1 Quote Share this post Link to post Share on other sites
Eviles 179 Report post Posted June 2, 2019 7 hours ago, Spidpex said: Also! What about a Guild hall aswell, maybe a NPC that is unique that players in the same guild can enter in, and they appear in a big hall, and inside the hall, it might be a outskirt area where there's a "punching bag" where players can test/showoff their damage/sleshes/bolts, maybe a few benches, a potion NPC, and just a general clean enviroment where the memebrs can hang out and discuss stuff in private in the open without being interupted by other players locally. IMO i think that would be a perfecto idea! <3 That's nice idea thought and can be done. The only problem is that we should use many map copies, but i think that will be not a problem to gameserver. 1 Quote Share this post Link to post Share on other sites
Ximboliex 85 Report post Posted June 3, 2019 Guild Notice like Notice() Quote Share this post Link to post Share on other sites
Eviles 179 Report post Posted June 9, 2019 !update. Created two new functions suggested by @Spidpex. + /deposit <playername>: Grants access to deposit items from the guild bank. Can be used by guild leaders only; + /withdraw <playername>: Grants access to remove items from the guild bank. Can be used by guild leaders only; Info: - Role must have guild; - Role is guild leader; - Player who going receive access must be a real player and is online in-game; - Player who going receive access must be a member of same guild of role; - Role and player who going receive access will be notified about granted access; /deposit <playername> - showcase 2 Quote Share this post Link to post Share on other sites
VoodooPuppet 3 Report post Posted June 9, 2019 1 hour ago, Satan said: !update. Created two new functions suggested by @Spidpex. + /deposit <playername>: Grants access to deposit items from the guild bank. Can be used by guild leaders only; + /withdraw <playername>: Grants access to remove items from the guild bank. Can be used by guild leaders only; Info: - Role must have guild; - Role is guild leader; - Player who going receive access must be a real player and is online in-game; - Player who going receive access must be a member of same guild of role; - Role and player who going receive access will be notified about granted access; /deposit <playername> - showcase @Satan Nice work, my brother! Quote Share this post Link to post Share on other sites
Eviles 179 Report post Posted July 9, 2019 (edited) !update. Update^1: System no longer uses LuaSql anymore for Guild Level and Experience. I decided to use Table Serialization, so in future we can create more features; Update^2: Guild Buffs/Attributes to guild members according to their guild level. Update^3: Function which adds Guild Experience now will check and update player's Guild Level. Update^4: Guild Missions can be taken by any guild member, once completed grants Guild Experience. Update^5: Most know bosses and monsters grants Guild Experience once defeated. Info^1: - Guild Officer - Showoff - All guild information related to this addon can be verified thought HelpInfo in a NPC; - Player can also create, view current guilds and manage their guild thought this NPC; - HelpInfo will display the following: Guild Name, Leader, Guild Creation date, Total Members, Level and Experience; Info^2: - cha_timer no longer used to apply bonuses to guild members; - Bonuses can be easily modified thought a table; - Supported attributes: Max HP/SP, Min/Max Attack, Attack Speed, Defense, Physical Resist, Hit-Rate, Dodge, HP/SP Recovery and Movement Speed; Info^3: - Checks if guild can obtain experience according to their level; - Checks if guild reached experience amount to next level and update level, deducting next level experience amount; Info^4: - Guild Missions - Showoff - Mission objectives are: Hunt monsters and guild members; - Player have 10 attempts to choose a mission once click on the mission option at NPC every 30 minute(s); - Each attempt will give player a random mission; Info^5: - GetExp_PKM() hook; - Monsters and experience amount can be easily configured thought a table; To be honest, I did not like that mission system I created. I'll rethink about it and try to improve it, for me I see it as boring... if you have suggestions to make these missions more interesting it would be quite useful. Maybe i'll use Random quests as like promotion one's. Edited July 9, 2019 by Satan 1 Quote Share this post Link to post Share on other sites