Originally posted by [b]HappyFunTimeSparkles[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=2393
After getting a letter from the Icarus guildmaster in Archer Village, if you go to Seisner, she will explain things to you. But, when you ask her to explain stats to you, you can't get out of the menu by choosing to end conversation.
The file for this is in NPC/quests/first_class, and the file is called tu_archer.txt. The code currently present is:
CODE
while(1){
switch(select("About Archers.:Stats for Archers:End Conversation.")){
case 1:
...
next;
break;
case 2:
...
next;
while(1){
switch(select("STR", "^3131FFAGI^000000", "VIT", "^FF9900INT^000000", "^FF3131DEX^000000",
"LUK", "End Conversation.")){
case 1:
...
if(tu_archer01 == 1) set tu_archer01, 2;
break;
case 7:
mes "[Seisner]";
mes "So is there";
mes "anything else that";
mes "you want to ask me?";
next;
break;
}
}
break;
case 3:
...
close;
break;
}
}
The break command only causes it to leave the switch statement, and this causes the loop to repeat infinitely.
I don't think this is the best way to fix it, but it seems to work anyway:
CODE
while(1){
// move the case 7 embedded in the case 2 here as a label
L_repeat:
mes "[Seisner]";
mes "So is there";
mes "anything else that";
mes "you want to ask me?";
next;
switch(select("About Archers.:Stats for Archers:End Conversation.")){
case 1:
...
next;
break;
case 2:
...
next;
while(1){
switch(select("STR", "^3131FFAGI^000000", "VIT", "^FF9900INT^000000", "^FF3131DEX^000000",
"LUK", "End Conversation.")){
case 1:
...
case 7:
// replace everything under case 7 with this:
goto L_repeat;
}
}
break;
case 3:
...
close;
break;
}
}