Jump to content
Satan

Guild Leveling - Addon

Recommended Posts

System Name: Guild Leveling - Addon

Screenshot_1.png.5d9d0812adf480c56e661a7fbb559252.png

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 by Satan
update
  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites

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 by patrick13

Share this post


Link to post
Share on other sites
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.

  • Like 1

Share this post


Link to post
Share on other sites
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

  • Sad 1

Share this post


Link to post
Share on other sites

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)

 

^^

 

  • Like 3

Share this post


Link to post
Share on other sites

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 by Spidpex
  • Like 2

Share this post


Link to post
Share on other sites

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

  • Like 1

Share this post


Link to post
Share on other sites
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.

  • Like 1

Share this post


Link to post
Share on other sites

!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

  • Thanks 2

Share this post


Link to post
Share on other sites

 

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!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×