"Fixing" buggy quests (not bot specific)
"Fixing" buggy quests (not bot specific)
Perhaps you know that the quest "Raid plan" is currently buggy. If you have completed the quest, Morrok has a yellow check mark, but you cannot complete the quest, because Morrok does not open a dialog when you click it.
I'm asking myself if it would be possible to "fix" this using the experts here in the forum.
My question regarding this:
- who controls if a NPC opens a dialog window? Is this a "flag" of the pawn object? Maybe in our case the pawn object is simply missing this flag? In this case it should be easy to flip this flag in memory.
- I assume that the contents of a dialog are being transfered from the server. If the server does not send the quest dialog page, then it should be difficult to find a workaround. But maybe it is possible to copy a dialog page from another quest and plug it into the quest pawn for this quest.
Anybody knows more details how this does work and if any of the mentions hacks could possibly work?
I'm asking myself if it would be possible to "fix" this using the experts here in the forum.
My question regarding this:
- who controls if a NPC opens a dialog window? Is this a "flag" of the pawn object? Maybe in our case the pawn object is simply missing this flag? In this case it should be easy to flip this flag in memory.
- I assume that the contents of a dialog are being transfered from the server. If the server does not send the quest dialog page, then it should be difficult to find a workaround. But maybe it is possible to copy a dialog page from another quest and plug it into the quest pawn for this quest.
Anybody knows more details how this does work and if any of the mentions hacks could possibly work?
Re: "Fixing" buggy quests (not bot specific)
Specific areas call a function for a specific purpose, this is how they decide if an NPC should be visible for you or not. The NPC is always there even if you are not up to that part of the quest chain but the function decides if you can see it or not.
An example,
if you haven't done the quest in autolia volcano that gives you the NPC in OS to teleport you to Dalanis you can convince the game that it should actually let you see the NPC.
using that macro will make the NPC appear for 5 seconds and then disappear again. What it does is change the value of the returned function so that the game thinks you have actually done the quest even though you haven't.
How could this help you?
Well it may be possible to convince the NPC to give you the quest, as it should, even though it is bugged and not working properly.
How can you do this?
Honestly it would be a major pain purely because I can't remember the code we used way back when to print the values of the functions being called in the locations, it was like a year ago, maybe more.
Rock might remember it, or he might not.
BTW I saw your world chat about the quest
An example,
if you haven't done the quest in autolia volcano that gives you the NPC in OS to teleport you to Dalanis you can convince the game that it should actually let you see the NPC.
Code: Select all
/script oldCheckQuest = CheckQuest CheckQuest = function(val) if val and val == 423017 then return 2 else return oldCheckQuest(val) end end
/wait 5
/script CheckQuest = oldCheckQuest
How could this help you?
Well it may be possible to convince the NPC to give you the quest, as it should, even though it is bugged and not working properly.
How can you do this?
Honestly it would be a major pain purely because I can't remember the code we used way back when to print the values of the functions being called in the locations, it was like a year ago, maybe more.
Rock might remember it, or he might not.
BTW I saw your world chat about the quest
Remember no matter you do in life to always have a little fun while you are at it
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: "Fixing" buggy quests (not bot specific)
The problem is not to accept the quest, but to complete the quest. The NPC is visible and has a yellow check mark over is head, if you completed the task. When clicking the NPC it should open the dialog to complete the quest.Well it may be possible to convince the NPC to give you the quest, as it should, even though it is bugged and not working properly.
The current bug is that is does not open any dialog.
Re: "Fixing" buggy quests (not bot specific)
it was just an example but the theory is the same, it is still a long shot though.
Remember no matter you do in life to always have a little fun while you are at it
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: "Fixing" buggy quests (not bot specific)
I think we got it from the cli script, in particular
As you can see Hajikar Mashes (114777) appears depending on the status of quest 423017.
Now the quest in question Raid Plan (423063) seems to have 2 functions associated with it.Probably one of those returned values, either a quest or flag check, is wrong. Without having the quest available to me, I don't know how I could check.
Instead of checking each value you could try changing the returned value of each of those functions, eg.If you use this in a macro and run it, for 10 seconds that functions will return false (which I think is the desired value) and maybe you can complete the quest. If it doesn't work try changing it to true.
If it still doesn't work try the second function.And repeat the steps above.
Code: Select all
function LuaV_114777_114778()
if CheckQuest( 423017 ) == 2 then
return false
end
return true
end
Now the quest in question Raid Plan (423063) seems to have 2 functions associated with it.
Code: Select all
function LuaV_423063_0()
if CheckQuest(423062)==0 then
return true
end
if CheckQuest(423062)==1 and
CheckFlag(543758)==0 then
return true
end
if CheckQuest(423063)==1 and
CheckFlag(543711)==1 then
return true
end
if CheckQuest(423063)==2 then
return true
end
return false
end
--¦b´ËªL¥~µ¥ªº©ªø
function LuaV_423063_1()
if CheckQuest(423063)==0 then
return true
end
if CheckFlag(543752)==1 then
return true
end
if CheckQuest(423064)==2 then
return true
end
return false
end
Instead of checking each value you could try changing the returned value of each of those functions, eg.
Code: Select all
/script old_423063_0 = LuaV_423063_0
/script function LuaV_423063_0() return false end -- Also try changing this to true
/wait 10
/script LuaV_423063_0 = old_423063_0
If it still doesn't work try the second function.
Code: Select all
/script old_423063_1 = LuaV_423063_1
/script function LuaV_423063_1() return false end -- Also try changing this to true
/wait 10
/script LuaV_423063_1 = old_423063_1
- Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
- I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
- How to: copy and paste in micromacro
________________________
Quote:- “They say hard work never hurt anybody, but I figure, why take the chance.”
- Ronald Reagan
Re: "Fixing" buggy quests (not bot specific)
Ahh yes now I vaguely remember we were going through those files lol
Remember no matter you do in life to always have a little fun while you are at it
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: "Fixing" buggy quests (not bot specific)
Thx rock. I tried the functions like you suggested, but without success.
Normally if a NPC will talk to you and you move the mouse cursor over the NPC, the cursor changes into a small speech bubble. Currently already this speach bubble cursor does not appear.
I don't know what the functions you posted will do, but it looks like they check if the two steps of the quest have been completed. Probably this is not the bug, because the NPC shows the completed check mark over his head.
To me it looks like the Morrok pawn is in a "strange state", because he does not want to talk. I don't know if there is function that controls, if a NPC wants to talk or not.
@ Lisa
Edit: Anybody knows what the API function GC_SetDisableDisplayNPCTalk is good for?
Edit2: After digging in the fdb files, I found that SpeakFrame.lua should be responsible for the NPC dialog. Anybody knows an API call that will open this SpeakFrame for a targeted NPC?
Normally if a NPC will talk to you and you move the mouse cursor over the NPC, the cursor changes into a small speech bubble. Currently already this speach bubble cursor does not appear.
I don't know what the functions you posted will do, but it looks like they check if the two steps of the quest have been completed. Probably this is not the bug, because the NPC shows the completed check mark over his head.
To me it looks like the Morrok pawn is in a "strange state", because he does not want to talk. I don't know if there is function that controls, if a NPC wants to talk or not.
@ Lisa
Huh - I don't think so, because I never ever do any postings in world chat.BTW I saw your world chat about the quest
Edit: Anybody knows what the API function GC_SetDisableDisplayNPCTalk is good for?
Edit2: After digging in the fdb files, I found that SpeakFrame.lua should be responsible for the NPC dialog. Anybody knows an API call that will open this SpeakFrame for a targeted NPC?
Re: "Fixing" buggy quests (not bot specific)
Slightly off topic I know, but can't find another section similar to this
Has anybody investigated the possibility of modifying the client files to re-enable the crafting of runes such as Shield & Block or is this determined by the server?
Has anybody investigated the possibility of modifying the client files to re-enable the crafting of runes such as Shield & Block or is this determined by the server?
Re: "Fixing" buggy quests (not bot specific)
determined by server.ratzuk wrote:Slightly off topic I know, but can't find another section similar to this
Has anybody investigated the possibility of modifying the client files to re-enable the crafting of runes such as Shield & Block or is this determined by the server?
Remember no matter you do in life to always have a little fun while you are at it
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: "Fixing" buggy quests (not bot specific)
BTT.
I managed to find the function to open the SpeakFrame. The function is called:
SpeakFrame_LoadQuest().
The strange thing with this quest is: if I have Morrok targeted and call this function,
it opens the SpeakFrame for the last NPC I talked to.
This can be the NPC in Obsidian that transported me to Dalanis or any other NPC, that
I talked to before. If I select another NPC that likes to talk to me, the function
"SpeakFrame_LoadQuest()" opens a speak frame with the current quest stuff displayed.
Either this Morrok-Pawn has some bad internal state like "no quests available" or something,
which causes it being "unselectable" for the quest API. Selecting it via a MM script and
calling "SpeakFrame_LoadQuest()" from MM did not improve anything.
New ideas anybody?
I managed to find the function to open the SpeakFrame. The function is called:
SpeakFrame_LoadQuest().
The strange thing with this quest is: if I have Morrok targeted and call this function,
it opens the SpeakFrame for the last NPC I talked to.
This can be the NPC in Obsidian that transported me to Dalanis or any other NPC, that
I talked to before. If I select another NPC that likes to talk to me, the function
"SpeakFrame_LoadQuest()" opens a speak frame with the current quest stuff displayed.
Either this Morrok-Pawn has some bad internal state like "no quests available" or something,
which causes it being "unselectable" for the quest API. Selecting it via a MM script and
calling "SpeakFrame_LoadQuest()" from MM did not improve anything.
New ideas anybody?
Re: "Fixing" buggy quests (not bot specific)
Dropping and re-accepting the quest since Morrok would then be the last NPC you talked to. It seems to get "conditions met" after you've already spoken to the centaurs the first time, so no need to talk to them again. Just be sure you have the disguise on as Morrok will tell you to put it on. Then seeing as he'd be the last NPC, using theJandrana wrote:New ideas anybody?
SpeakFrame_LoadQuest().
should open dialogue with him, right?
Edit:
Is this a rom script that can be made into an in-game macro?
Re: "Fixing" buggy quests (not bot specific)
Unfortunately not. You must talk to the centaur leader to complete the quest. So SpeakFrame_LoadQuest()Dropping and re-accepting the quest since Morrok would then be the last NPC you talked to.
opens the dialog with the centaur leader again.
Yes, this is possible.Is this a rom script that can be made into an in-game macro?
Re: "Fixing" buggy quests (not bot specific)
I have a character stuck at this same spot in game. When I have dropped the quest and re-accepted it by talking to Morrok, it has been telling me that conditions are met before I talk to the centaur, but only because I already spoke to the centaur, so what I'm suggesting is that because conditions were met the first time I tried it, that now conditions will be met w/o going back to the centaur. So, if you drop it and re-accept, in effect, Morrok would be the last person you spoke to.Jandrana wrote:Unfortunately not. You must talk to the centaur leader to complete the quest. So SpeakFrame_LoadQuest()Dropping and re-accepting the quest since Morrok would then be the last NPC you talked to.
opens the dialog with the centaur leader again.
Edit: I'm going to make a macro for this in game when I get home and see if this works.
Re: "Fixing" buggy quests (not bot specific)
Well, I was right. It did cause Morrok's chat frame to open and it even had the quest with the checkmark and the 4 possible items available as a reward there, but I click on the "confirm" button after choosing one, and nothing happens. Think I'm gonna tweak my macro a bit and see if I can force it to auto complete the quest as well.
This is what I have so far...no it is not working, see if there's anything anyone else can do with it.
Code: Select all
/script SpeakFrame_LoadQuest()
/wait 1
/run OnClick_QuestListButton(3, 1)
/wait 1
/run SpeakFrame_ClickQuestReward(SpeakQuestReward1_Item1)
/wait 1
/run CompleteQuest()
Who is online
Users browsing this forum: No registered users and 2 guests