Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Npc dialog window is vanishing #2177

Open
lelouch22 opened this Issue May 30, 2017 · 22 comments

Comments

Projects
None yet
@lelouch22
Copy link

commented May 30, 2017

  • Client Date: 2014-10-22bRagexe
  • Server Mode: Pre-Renewal
  • Description of Issue:
    • Result: There is a chance that npc dialog window will got vanished after you clicked an npc (ex. Quest Shop) and you got stock which you cannot talk to any npc unless you reconnect to the game to talk to that npc again.
    • Expected Result: This shouldn't occur even you stay in that npc with npc dialog window it will not got vanished.
@anacondaq

This comment has been minimized.

Copy link

commented May 30, 2017

Can confirm. Later will provide steps how reproduce.
Modifications not really matters for the problem, exe too. Issue can happen on 2012(?) / 2013 / 2014 / 2015 exes. I though it's custom mods at mine emulator, but after testing on clean rathena i can confirm that the issue exist too in rAthena and not really related to game exe. Server mode any: pre-re or re, other settings are default, but tried different scenarios and always issue happened.

After debugging some time ago, the issue were related for calling:
clif_scriptclose() and select dialogue / or NPC dialogue removed.
For example it happened with different "dye" stylists where you wish to change a lot of pallets and click 5-10x times then menu vanished by itself and you can't do anything.

@Lemongrass3110

This comment has been minimized.

Copy link
Member

commented May 30, 2017

This sounds just like the secure npc timeout? Or are you talking about something else?

@lelouch22

This comment has been minimized.

Copy link
Author

commented May 30, 2017

Yea i think its connected to the secure npc timeout but mine is already disabled and its still occuring.

/**
 * Optional NPC Dialog Timer
 * When enabled all npcs dialog will 'timeout' if user is on idle for longer than the amount of seconds allowed
 * - On 'timeout' the npc dialog window changes its next/menu to a 'close' button
 * Comment to disable the timer.
 **/
//#define SECURE_NPCTIMEOUT
@Jeybla

This comment has been minimized.

Copy link
Member

commented May 30, 2017

For example it happened with different "dye" stylists where you wish to change a lot of pallets and click 5-10x times then menu vanished by itself and you can't do anything.

Sounds like a npc timeout on npcs using a menu dialog without a mes-window?

@anacondaq

This comment has been minimized.

Copy link

commented May 30, 2017

@Jeybla exactly!
btw, this is not related to #define SECURE_NPCTIMEOUT was tested with and without this setting.

@Lemongrass3110

This comment has been minimized.

Copy link
Member

commented Jun 1, 2017

I just tried this and I am unable to reproduce this when I disable the SECURE_NPCTIMEOUT.
I can reproduce it when it is enabled though.

@anacondaq

This comment has been minimized.

Copy link

commented Jun 1, 2017

@Lemongrass3110 no, this is not really related to SECURE_NPCTIMEOUT it was tested several times some time ago (maybe 1 month ago) and results the same with / without SECURE_NPCTIMEOUT, and yes, time to time it's looks like with disabled SECURE_NPCTIMEOUT the issue does not appears again, but it's not, just need faster to click enter (because looks like some delay inside)

I have tested it a few minutes ago and...

I still can reproduce the issue...

Let's talk about details:

  1. take script for reproducing the bug and load it to the game: https://pastebin.com/XuDyiFWx
  2. now go to NPC and log-off (this is very important)
  3. now login to the game and do not click anything, don't walk, etc, when you login first action what you need start to do it's left click on NPC at Prontera from the script above and press as fast as a possible enter button. Usually 5-10 times enough to reproduce the issue.
  4. After around 5-10 times very fast pressing enter the menu will be vanished and not showed up anymore, you will be still blocked by moving (because you have not unlocked moving at all).

Important things
I can't reproduce the issue if I log in and doing something in the game for a while.
I can reproduce issue always when login to the game and first what I do it's clicking on NPC and start to press enter button fast to switch menu

Information about server-side / client / etc
The issue happened not only to me, and not related to specific client date.
Possible to reproduce it on 2012, 2013, 2014, 2015 exes, don't know about 2016 ones
Renewal / PRE-RE - does not matter.
hash: b00f1e0 (i have tested on clean ra few minutes ago)
SECURE_NPCTIMEOUT does not matter too.

@Lemongrass3110

This comment has been minimized.

Copy link
Member

commented Jun 1, 2017

Cant reproduce it with your script either. I even tried spamming the enter button on your script with MacroX.
It always waited for the dialog to show up before accepting the next enter...

@anacondaq

This comment has been minimized.

Copy link

commented Jun 1, 2017

It always waited for the dialog to show up before accepting the next enter...

Sorry, I'm on a laptop and can't write a video how to reproduce it. The problem not in "waiting for dialogue" the problem that something in client or emulator manually turns off showing the dialogue only when you are login to the game and do nothing, except clicking on NPC and pressing enter button 8-10 times fast, at the same time need to move cursor in screen (sounds crazy, I know), and need to try to click to any place outside the screen.

If you can't to reproduce it, no problem at all, when I will drop some an overwhelming work, I will try to debug it and fix and share results.

@keitenai

This comment has been minimized.

Copy link
Contributor

commented Sep 3, 2017

@Lemongrass3110 try adding this on a separated script:

OnPCLoginEvent: sleep2 1000; end;
then talk to a different NPC with this script:

`menu "test",ontest,"test again",ontestag;

ontest: menu "test",ontest,"test again",ontestag;

ontestag: menu "test",ontest,"test again",ontestag;

end;`

@Jeybla

This comment has been minimized.

Copy link
Member

commented Sep 6, 2017

Thanks for your evaluation on this issue. From what I've seen by now this issue happens when you're in a NPC menu and another script gets attached and ends. The attachment can be by sleep2 like @keitenai mentioned or just by using an addrid or attachrid.
I'd suggest you to avoid any recurring addrids/attachrids and to minimize the sleep2 interval in OnPCLoginEvents until this issue is fixed.

@poporing

This comment has been minimized.

Copy link

commented Sep 6, 2017

@Jeybla this issue is happening with all npc from rathena having a switch menu. It's happen randomly and it can be on the first char you create and the first npc you talk.

I put back the info from the other issues that was closed:

On only a few players and on some NPC, a bug appears. the next disappears to leave a closed place.
if you click on close or it can autoclose too and then opens the menu ...
whatever he does, the player remains blocked. He can not do anything.
A message appears next if the player wants to talk to an NPC.
He is obliged to deco reco to regain his mobility and be able to speak to a NPC.

1> git version: 470364c
2> Client : 2015-11-04
3> NPC Offi from rathena (Ex: Captain Carroc > Izlude)
4> The bug appears on some players but not all, it's random.
5> It seems that the npcs that bug are those with a switch menu.
6> Version Re and Pre-re (Test on both)
7> No console error

for more information :

https://www.youtube.com/watch?v=OYebrfrLE6I

This is completly random and not happen to all players. It's happen on official script that have switch in the script from last git rathena, I'm using 2015-05-13 exe version.
I don't have any custom source and I didn't touch npc.
As you can see in the video when the script goes to the switch menu it's auto close then you are stuck
I have this problem since I start my server in october 2016
I try to disable SECURE_NPCTIMEOUT and completly remove it but I always got the problem.
There is no console error.

@rye305

This comment has been minimized.

Copy link

commented Jan 22, 2018

Can confirm this. Not all players have this issue. been sitting around 6 hours on this trying to fix it. Thought i fixed it but i didn't - it truly happens very randomly. Some players get stuck when interacting with the warper which is provided by rathena (unmodified)

@uddevil

This comment has been minimized.

Copy link
Contributor

commented Jan 22, 2018

I think its not random, try this step :

  • player A click on warper, do not choose anything, leave the selection menu open
  • player B use skill on player A, try different one from the list below :
    • Standard Skill (just randomly casting skill using shift + click)
    • Damaging Skill (maybe using @duel)
    • Targeted Buff Skill (that change sc_)
    • Party Buff Skill (that change sc_ and must be in a party)
  • one of those skills make the npc window vanishes, and player get stuck.
  • somehow it happened with other npc that has long dialogues
@ghost

This comment has been minimized.

Copy link

commented Feb 27, 2018

Just experienced this. And yeah for the warper it indeed freezes the character.

@RadianFord

This comment has been minimized.

Copy link
Contributor

commented Feb 27, 2018

I encounter this issue before and all i can say is, its related to this part

/**
 * Optional NPC Dialog Timer
 * When enabled all npcs dialog will 'timeout' if user is on idle for longer than the amount of seconds allowed
 * - On 'timeout' the npc dialog window changes its next/menu to a 'close' button
 * Comment to disable the timer.
 **/
#define SECURE_NPCTIMEOUT

And try checking your scripts that runs a timer that is attached on the character.

@anacondaq

This comment has been minimized.

Copy link

commented Feb 28, 2018

Can you please share what exe are you using and what diffs? Just print them here, we will compare.
I guess this is a client-side issue related to broken diff at NEMO, and not related to specific exe. Because I was able to reproduce the issue on 2012-04-10, and on 2015-11-04, and on 2013-08-07 and so on.

@uddevil

This comment has been minimized.

Copy link
Contributor

commented Feb 28, 2018

@anacondaqq I'm using 2015-11-04 but i don't understand what you mean with "just print them here", i'm assuming that its from the log, here you go

6 Force Send Client Hash Packet
8 Custom Window Title
9 Disable 1rag1 type parameters (Recommended)
13 Disable Ragexe Filename Check (Recommended)
19 Enable Title Bar Menu
23 Enable /who command (Recommended)
24 Fix Camera Angles (Recommended)
28 Increase Headgear ViewID
29 Disable Game Guard (Recommended)
33 Always Call SelectKoreaClientInfo() (Recommended)
34 Enable /showname (Recommended)
36 Read msgstringtable.txt (Recommended)
37 Read questid2display.txt (Recommended)
38 Remove Gravity Ads (Recommended)
39 Remove Gravity Logo (Recommended)
40 Restore Login Window (Recommended)
41 Disable Nagle Algorithm (Recommended)
44 Translate Client (Recommended)
46 Use Normal Guild Brackets (Recommended)
47 Use Ragnarok Icon
48 Use Plain Text Descriptions (Recommended)
49 Enable Multiple GRFs (Recommended)
51 Always Show License Screen
52 Use Custom Font
53 Use Ascii on All LangTypes (Recommended)
64 @ Bug Fix (Recommended)
65 Load Custom lua file instead of iteminfo*.lub (Recommended)
71 Ignore Resource Errors
72 Ignore Missing Palette Error
73 Remove Hourly Announce (Recommended)
75 Enable Flag Emoticons
76 Enforce Official Login Background
81 Rename License File
84 Remove Serial Display (Recommended)
85 Show Cancel To Service Select
90 Enable DNS Support (Recommended)
91 Disconnect to Login Window
97 Cancel to Login Window (Recommended)
204 Increase Attack Display
207 Resize Font
213 Disable Help Message on Login (Recommended)
@Rolfxx

This comment has been minimized.

Copy link

commented May 1, 2018

@Jeybla any news on this issue? I can still reproduce it after checking all of the above
client: 20160203
it is very redundant when you click on the default npc/custom/warper.txt , even tho this script doesnt attach the players..
it also happens in other npc, at locations without mapflag loadevent nor related scripts using sleep2

@Jeybla

This comment has been minimized.

Copy link
Member

commented May 1, 2018

@Rolfxx If you're able to reproduce the issue easily, please be free to share your test settings. Best if you'd describe the necessary steps to reproduce it with the current head revision. This could help to track the actual issue.

@Rolfxx

This comment has been minimized.

Copy link

commented Jun 6, 2018

i'm using c5ceda0
i was able to reproduce the issue with this
prontera,155,185,4 script test3 111,{
cutin "bat_crua2.bmp",4; //any cutin will do
close3;
}
i'm not sure if it has something to do or why i get it.. but i couldn't stop the message from appearing with this simple script.
also, i added a small dialog to the warper and the problem never repeated again.. don't know why .. if you are currently reproducing by relogging and quickly clicking on the warper try the following, it will force a close but the char won't get stuck.
- script Warper -1,{
mes "[Warper]";
mes "hello"; //added these
function Go; function Disp; function Pick; function Restrict;
seems to work for me as temporal solution, i honestly can't say what is causing the bug but, from my humble point of view, i would point out that menu has something to do with it
to test the things above i unloaded all my custom scripts
i hope it helps, i'm sorry i can't provide more detailed information, it's so random ..

@reunite-ro

This comment has been minimized.

Copy link

commented Dec 5, 2018

Hello, Im also having this issue. yes, im using the hourly reward script that have

OnPCLoginEvent:
attachnpctimer ""+strcharinfo(0)+"";
initnpctimer;
end;

any way to solve this issue or better way to use for hourly reward script ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.