Issue information

Issue ID
#3970
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Dec 24, 2009 20:57
Last Post
Hercules Elf Bot
May 21, 2012 15:24
Confirmation
Yes (1)
No (0)

Hercules Elf Bot - Dec 24, 2009 20:57

Originally posted by [b]Arcenciel[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=3970

After registration with 2 people online in the party, the party is still allowed to do the Instance even if the other person is offline and there is only one person in the party.

Breaks the 2+ requirement.

Hercules Elf Bot - Jan 2, 2012 14:59

Originally posted by [b]Masao[/b]
Unfortunatly this is one of the Problems we're dealing with since ages in eA, but also as far as i know, it works this way too on official servers?

If it doesn't work like that on official servers, someone can provide ma link with proof for it?

Hercules Elf Bot - May 12, 2012 20:09

Originally posted by [b]sizenine[/b]
Also it doesn't check for base level requirement of other partymates

Hercules Elf Bot - May 12, 2012 20:55

Originally posted by [b]Masao[/b]
Fixed in [rev=16107]

About the lvl issue, well i could fix it but i won't, since i myself at least would need to use sql querys in order to do so, which would end up in performance issues.

But if anyone else knows how to do this in another way, feel free to tell me.

Hercules Elf Bot - May 12, 2012 22:59

Originally posted by [b]Lemongrass[/b]
[quote name='Masao' timestamp='1336856111' post='9188']
Fixed in [rev=16107]About the lvl issue, well i could fix it but i won't, since i myself at least would need to use sql querys in order to do so, which would end up in performance issues.But if anyone else knows how to do this in another way, feel free to tell me.
[/quote]

if you already check if the player is online, just attach him and check his baselevel?

or do something like(pseudo code):

[code]
array = getparymembers();
count = 1; // player himself

for( i = 0; i < count(array); i++ ){
if( attach( array[i] ) && baselevel >= requiredlevel ){
// player is online and attached and has the right baselevel
count++;
}
}
[/code]

get my idea?

This post has been edited by Lemongrass on May 12, 2012 23:00

Hercules Elf Bot - May 13, 2012 7:58

Originally posted by [b]QQfoolsorellina[/b]
[quote name='Masao' timestamp='1336856111' post='9188']
Fixed in [rev=16107]About the lvl issue, well i could fix it but i won't, since i myself at least would need to use sql querys in order to do so, which would end up in performance issues.But if anyone else knows how to do this in another way, feel free to tell me.
[/quote]

Hi Masao,
it still bugged

I notice the .@loggedin value always 0


my temporary solution:
[code]

getpartymember(.@party_id),1;
getpartymember(.@party_id),2;
set .@partymembercount,$@partymembercount;
copyarray .@partymemberaid,$@partymemberaid[0],.@partymembercount;
copyarray .@partymembercid,$@partymembercid[0],.@partymembercount;
for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
if(isloggedin(.@partymemberaid[.@i],.@partymembercid[.@i])){
set .@loggedin,.@loggedin+1;
}
}

[/code]

This post has been edited by QQfoolsorellina on May 13, 2012 14:29

Hercules Elf Bot - May 13, 2012 12:15

Originally posted by [b]Masao[/b]
@[url="http://rathena.org/board/user/413-qqfoolsorellina/"]QQfoolsorellina[/url] : No clue why it doesn't work for you, i've texted that script several times on my test server, using the original instance npc's and an test npc to check the isloggedin function itself, and it always worked for me.

Hercules Elf Bot - May 13, 2012 14:45

Originally posted by [b]QQfoolsorellina[/b]
[quote name='Masao' timestamp='1336911316' post='9210']
@[url="http://rathena.org/board/user/413-qqfoolsorellina/"]QQfoolsorellina[/url] : No clue why it doesn't work for you, i've texted that script several times on my test server, using the original instance npc's and an test npc to check the isloggedin function itself, and it always worked for me.
[/quote]


I cant entry the instant it always show the below message

http://3.imgland.net/7vu5h.jpg



in picture the announce '0' is my addtion script to show the value of [b].@loggedin[/b]

[code]
for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
set .@loggedin,.@loggedin+1;
}
}
+ announce ""+.@loggedin,8;// this is the only script add by me
[/code]

This post has been edited by QQfoolsorellina on May 13, 2012 14:48

Hercules Elf Bot - May 13, 2012 21:42

Originally posted by [b]Masao[/b]
Should finally be fixed in [rev=16111] i hope.

Hercules Elf Bot - May 14, 2012 16:06

Originally posted by [b]Lemongrass[/b]
[quote name='Masao' timestamp='1336945367' post='9217']
Should finally be fixed in [rev=16111] i hope.
[/quote]

Since you seem to ignore me, here's a small diff for a fix that should work and even provide the possibility to check the required level of the online players.

Please mind that I haven't had the time to test it on a running server, but there weren't any compiling issues.

Feel free to add it to the SVN, but please add a credit if you do so.

This post has been edited by Lemongrass on May 14, 2012 16:06

Hercules Elf Bot - May 14, 2012 16:45

Originally posted by [b]Masao[/b]
@Lemongrass

I'm not ignoring you, but this report is about the issue of 2 players which need to be online and in a party in order to join the instance ^^ The level issue is something different, which i sure will also take care of some time, and thank you for your input, but it's not on position 1. on my To-Do list.

Hercules Elf Bot - May 21, 2012 15:24

Originally posted by [b]Masao[/b]
Fixed in [rev=16135] .