pangolp / mod-recruit-friend

Module for azerothCore that allows you to recruit a friend within the game.
11 stars 6 forks source link

Feature: about recruit friend #2

Closed stefan3126 closed 1 year ago

stefan3126 commented 1 year ago

Describe your feature request or suggestion in detail

1,How can I find out who the recruiter is recruiting in the auth database? 2,What level does the recruited player reach to automatically cancel the recruiting relationship? 3,Can the recruiter manually cancel the recruitment relationship halfway? Recruit reset does not cancel the relationship between them, the recruiter cannot recruit the second object 4,It is hoped that after the recruit reaches a custom level, the in-game email will reward the recruiter with items

Describe a possible solution to your feature or suggestion in detail

No response

Additional context

No response

stefan3126 commented 1 year ago

When both parties reach level 80, the recruitment relationship still exists. Can a player only recruit one friend?

pangolp commented 1 year ago

Recruitment is at the account level, not at the player level. So when you reach level 80, the recruitment between both accounts continues to exist. This recruitment does not give extra benefits, only those explained in the README.md file. There are other types of recruitments, that give rewards, and end up having multiple accounts recruited, and all that, but this module, is 1 to 1, and seeks that 2 people basically, go up together in level, in an easier way, than if they were not recruited. And more taking into account, that being in a group, the npc, usually give a little less experience.

If the person stops playing, you simply reset and recruit another person, the reset is totally free, for the moment, it has no limits, later on, the idea is to limit the amount of queries to the database. At the same time, if you want to know who has recruited a person, you could make a command that shows it, or directly in the auth database, having the username or id, you can query and get the ID of the recruited person. Although on second thought, perhaps the best thing to do would be to make a command that shows this information.

pangolp commented 1 year ago

I will see if I can create the command, and at the same time, I will clarify a little more in the README.md, because the explanation is not clear at all.

pangolp commented 1 year ago

The new recruit view command returns the list of characters you have recruited. They are always the characters of the account. So it helps you to identify and know which is the person you have recruited. That way, you can have more information. But you can always do a recruit reset at any time, and re-recruit another person or the same person. At the moment, there is no limit to the number of queries in the database. In the future, they will possibly be limited.

WoWScrnShot_061823_212233 WoWScrnShot_061823_212307

stefan3126 commented 1 year ago

In the auth table, I can only find the record of the recruiter, but not the record of the recruiterhttps://tc.aawlk.com/i/2023/06/19/evulgd.pngAnd according to your statement, can the recruiter recruit more than one person? Wouldn't it be better if the recruited party was required to confirm the recruitment relationship, otherwise the recruiter would recruit many targets at once? How to end a recruiting relationship early and recruit a second person?

stefan3126 commented 1 year ago

When I use recruit reset, I can't end the previous recruitment relationship, nor can I recruit new player

pangolp commented 1 year ago

In the auth table, I can only find the record of the recruiter, but not the record of the recruiterhttps://tc.aawlk.com/i/2023/06/19/evulgd.pngAnd according to your statement, can the recruiter recruit more than one person? Wouldn't it be better if the recruited party was required to confirm the recruitment relationship, otherwise the recruiter would recruit many targets at once? How to end a recruiting relationship early and recruit a second person?

The account can only have 1 recruit. If the other person does not recruit you, you are not affected. The bonus occurs if both are recruited. So if a stranger recruits you, it doesn't affect you at all. This is the blizzlike behavior. We are not inventing anything, just linking the accounts and nothing else. The photo you uploaded is not visible, to make it visible, drag it to the text box, and it will be uploaded.

pangolp commented 1 year ago

When I use recruit reset, I can't end the previous recruitment relationship, nor can I recruit new player

You should be able to. Because the add works, when the value of the record is equal to 0, which is the default value, that has that attribute in the table.

pangolp commented 1 year ago

In any case, what you mention can be left for another issue. But the idea of this module is simply that, to link the accounts, to enjoy the benefits that the emulator provides, as the README.md file says. If someone recruits you, without your knowledge, it does not give any benefit. So to go around confirming, really does not make sense, because to obtain the benefits, the recruitment must be mutual.

stefan3126 commented 1 year ago

Do you mean to use the command .recruit add A to B, and B also needs to use the command .recruit add B to A. Under this condition, the reward will take effect? Included rewards are leveling up each other, calling each other once an hour? How many experience rewards will the two parties upgrade together?

pangolp commented 1 year ago

Do you mean to use the command .recruit add A to B, and B also needs to use the command .recruit add B to A. Under this condition, the reward will take effect? Included rewards are leveling up each other, calling each other once an hour? How many experience rewards will the two parties upgrade together?

In the pull request, this information is being expanded. Now when we finish checking that they work well, all these questions will be answered, but I have not yet passed the corresponding tests.

stefan3126 commented 1 year ago

In the actual situation, I use .recruit A to B. In the case of not needing .recruit B to A, A can summon B, and give B1 level reward for every 2 levels

pangolp commented 1 year ago

In the actual situation, I use .recruit A to B. In the case of not needing .recruit B to A, A can summon B, and give B1 level reward for every 2 levels

It should work that way if, however, B, will have no experience bonus, when playing with A, nor will he be able to assign levels to him, nor will he be able to summon him. It should work that way. However, this module does not do that. That is the behavior of the code, inside the emulator. This module, the only thing it does, is to allow that under certain command, some tasks are performed, that otherwise, should be executed via the web site, or by means of sql commands.

The idea is to update this module and improve it, but not to change its function. Its function is that, to link the accounts, in a way, that the player, does not have to be asking anyone to link them, or even, to make a free restart, and to be able to recruit all the accounts that he wants, always with a 1 to 1 linking.

Let me give you an example. Imagine that A links B, and B links A. But B, has to stop playing, for some reason, or they have different time zone. A can continue to play with C, until B connects the next day, or until he returns to the game. That is why the restart is free. In order not to tie anyone, and that people can enjoy a little more friendly levee, playing with someone and doing missions together.

stefan3126 commented 1 year ago

I suggest that you can provide custom item rewards and send reward items by email, and provide more detailed configuration files to control whether to open the level-up or summon function. Another important thing is to provide the function of detecting that the same IP cannot obtain the recruitment relationship. . GM can see how many recruits recruiters have recruited at different times.

pangolp commented 1 year ago

I suggest that you can provide custom item rewards and send reward items by email, and provide more detailed configuration files to control whether to open the level-up or summon function. Another important thing is to provide the function of detecting that the same IP cannot obtain the recruitment relationship. . GM can see how many recruits recruiters have recruited at different times.

Unfortunately, this is another module. This module is not intended to deliver items, or anything like that. We would be talking about another type of module, perhaps a little more complex. You could try, with the lua module, that the community has. Maybe that will help you a little more. https://github.com/55Honey/Acore_RecruitAFriend

stefan3126 commented 1 year ago

Thank you for your support, you are a kind and nice person, I think your mods are very suitable for original settings, for those players who want to experience the original environment!

pangolp commented 1 year ago

Thank you for your support, you are a kind and nice person, I think your mods are very suitable for original settings, for those players who want to experience the original environment!

Adding more to it than you currently have would alter what you want to achieve with the module. The module is intended only to link the accounts. And to be able to obtain the benefits that the emulator has with respect to this topic. But not to add anything new, because it would already be another type of experience, or for that, there would be the other module that I mentioned that is developed in lua, and that is used by the ChromieCraft community in its server. That one has rewards, multiple recruits, an expiration time and other issues, I prefer that the recruits do not expire, that you can assign levels, and get some kind of bonus for playing together.