Jump to content
Eviles

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

lelouch_signature_by_vahntheknight-d4uafwj.png

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

lelouch_signature_by_vahntheknight-d4uafwj.png

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 4

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

lelouch_signature_by_vahntheknight-d4uafwj.png

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

lelouch_signature_by_vahntheknight-d4uafwj.png

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

!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 by Satan
  • Like 1

lelouch_signature_by_vahntheknight-d4uafwj.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...