Jump to content

[suggestion] Waitingroom2partypause time


Anubis-K

Recommended Posts


  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  60
  • Reputation:   21
  • Joined:  01/15/13
  • Last Seen:  

Hi,

 

    Inspired by this topic (http://rathena.org/board/topic/67764-party-vs-party-project/) and the not-high-enough-efficiency of my own script I would like to sugest the implementation of that command.

 

WBAQ

(Will Be Asked Questions)

 

Q: what is good about it?

A: it could simplify the scripting.

 

Q: why?

A: when a player signs with an npc to start whatever they want to start, if they are not online when the signs up, the event could bug itself. Normally a good scripter prevent that cases.

 

Q: can a script by npc do that?

A: yes

 

Q: how?

C: it is described lower.

 

 

In my head it does work like as follow:

 

Some player joins a waitingroom, when the requeriments are fulfilled the triger to whatever is activated (normally warp them to some place by using "warpwaitingpc"). In that moment the command can be activated to send all of them to a certain new party wich a certain name as a seed gived to the script(can be used to build the final one).

In the case of "waitingroom2bg" it asigns them to a certain bg team.

 

After that, all the players are in the same party.

 

The party could be a temporal structure (struct party_data*) not asigned to any db which overides the actual party of the user (or the script could remove the character from his/her party before). I have seen this "faking process" for structures in a paid emulator that is based on eAthena and runs rAthena as well.

 

 

How can I do it?

 

This "possible command" can be just emulated by scripting, but it is very unefficient, specially when the players have a party and the party's name must be assigned, because it could exist from before.

 

 

This is how I did emulate that:

 

1) I use "warpwaitingpc"

2) I remove all the users from theirs party.

3) I take one user from the group and create a party by using "party_create" (whoever programed that command, did something great! thanyou about that). This is the most critical part.

 

4) Done.

 

 

Where is the problem with my method:

Each time a player is removed from the party it makes a query to the sql and the same when the party is created (I have a delay for the step 2 and 3)

 

My guess: My method can create conflicts with the db if many querry are submited or the delay between querry and querry  is not enough (this is just a guess about what the problem can be).

Link to comment
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.   Paste as plain text instead

  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...