Issue information

Issue ID
#6998
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Dec 11, 2012 2:54
Last Post
Hercules Elf Bot
Dec 11, 2012 18:15
Confirmation
Yes (1)
No (0)

Hercules Elf Bot - Dec 11, 2012 2:54

Originally posted by [b]exneval[/b]
Seems there are problems with 3 NPC Doha Order.

[CODE]
Speak to the following 3 NPCs in any order:

In the center of El Dicastes (dicastes01 207, 210), speak to Walking Knit and ask about other races.
In the north west part of El Dicastes (112, 248), speak to Resting Piom.
In the south east area (249, 140), speak to Training Galten.
[/CODE]

Source http://irowiki.org/wiki/Doha%27s_Secret_Orders

Walking Knit

[CODE]
if (checkquest(7188) >= 0) {
mes "[Knit]";
mes "And especially their ear and tail!!";
next;
select("Have you seen this man?");
mes "[Knit]";
mes "Eh? Huh?";
mes "Man? Human male?";
mes "A human male with cat ears?";
mes "Never heard such thing..";
next;
mes "[Knit]";
mes "Humans are amazing!";
mes "Didn't even think of that...!";
mes ".....";
next;
mes "[Knit]";
mes "But they are really lovely.";
mes "Those cute cats..";
next;
mes "[Knit]";
mes "But Ahat is also loveable even for a Sapha.";
mes "....if my hair is like a dry winter tree..";
mes "Ahat's hair is like new sprouts in early spring.....";
next;
mes "[Knit]";
mes "I can't believe how he does his work for Dicastes";
mes "and still maintain such great hair.";
mes "I can almost see a glow.";
next;
mes "[Knit]";
mes "Ah.....his skin is divine.";
mes "But he never comes out from his office high up in Dicastes Diel.";
next;
mes "[Knit]";
mes "But I guess it would be better for Ahat's complexion...";
mes "to stay warm and safe like a crystal bird in Diel instead of being out in the winter weather!";
next;
mes "- Continues to talk about Ahat.";
mes "Don't think I'll get any more information. -";
setquest 7188;
close;
}
[/CODE]

The checkquest(7188) above seems wrong :

1. The script won't give player quest 7188 because player hasn't have it in log quest.

2. If the player has quest ID 7188 (ex, Mysql edit ini table quest), map server console will error cause player already have the quest but the script keep giving him/her the quest.

3. The quest will stuck because player should have 3 Quest id to continue, 7188, 7189, 7190 in the next NPC "Shay".

maybe the checkquest fix is like this

[CODE]
if (checkquest(7188) == -1) {

(dialog)

setquest 7188;
close;

}
[/CODE]

[CODE]
if (checkquest(7189) == -1) {

(dialog)

setquest 7189;
close;

}
[/CODE]

[CODE]
if (checkquest(7190) == -1) {

(dialog)

setquest 7190;
close;

}
[/CODE]

===============================================================

Another Bug /Typo in NPC Diel Guard

[CODE]
else if (ep13_3_secret > 13) {
mes "[Diel Guard]";
mes "Ah, you are " + strcharinfo(0) + "..";
mes "I received an order from Ahat to let you through anytime.";
mes "Please go up.";
close;
warp "dic_in01",241,177;
end;
}
[/CODE]

Diel guard wont warp you to the next room because of the "close;"

it suppose to be "close2;"

Please check it

This post has been edited by exneval on Dec 11, 2012 3:13

Hercules Elf Bot - Dec 11, 2012 12:47

Originally posted by [b]exneval[/b]
Update : Found another bug

In Npc Jarute HesLanta

[CODE]
else if (ep13_3_secret == 19 && ep13_3_secret == 20) {
if (ep13_3_secret == 19) {
mes "[HesLanta]";
mes "I'm sorry to bring you here suddenly.";
mes "But I wanted to check someone.";
next;
mes "[HesLanta]";
mes "Jarute.. what did Ahat look like to you?";
next;
set .@m, select("I don't understand your question.:My master.") - 1;
if (.@m) {
mes "[HesLanta]";
mes "....huh....?";
mes "You do? I guess I made a mistake.";
mes "Sorry.";
next;
mes "HesLanta is upset with my reply.";
mes "His expression is complex and dark.";
set ep13_3_secret, 20;
close;
}
mes "[HesLanta]";
mes "I'll rephrase my question.";
mes "Have you found anything strange about Ahat?";
next;
select("Why are you asking?");
mes "[HesLanta]";
mes "Well, because I don't trust Ahat.";
mes "There are too many odd things about Ahat.";
next;
select("Are you allowed to say that?");
}
else if (ep13_3_secret == 20) {
mes "[HesLanta]";
mes "Ah, sorry.";
mes "You can't get out?";
mes "It was designed that way.";
mes "I will send you out";
next;
select("I was joking before.");
mes "[" + strcharinfo(0) + "]";
mes "I want to know about Ahat too.";
mes "I want to talk about him with you.";
mes "But aren't you too defenseless while I'm talking like this?";
next;
}
(dialog)
}
[/CODE]

in that check, you must have both ep13_3_secret 19 and 20, because the operator AND,
but the quest ep13_3_secret 20 is gotten by the next check, so the quest will stuck again.

the fix should like be :
[CODE]
else if (ep13_3_secret == 19 || ep13_3_secret == 20) {
(dialog)
}
[/CODE]

This post has been edited by exneval on Dec 11, 2012 12:48

Hercules Elf Bot - Dec 11, 2012 18:15

Originally posted by [b]Joseph[/b]
Fixed in [rev=17015].