Everfrost Quest / NPC scripts

Discussions of the design and development of in-game content.

Moderator: Team Members

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Sat Sep 26, 2015 3:41 pm

Figured I'd make a thread dedicated to scripts in this zone.

I'm pretty sure Marta Terrilon's Fur hunt is working correctly now. The only issue I've noticed is that the coin reward doesn't actually arrive in a players coin pool. Like the coin will show up in the reward window but doesn't make it into the coin pool when accepted. This appears to be an issue with all the quests i've tested though and not just the quests i've written.


I worked on Fish for Grunthor a bit today. I got the item id's and the proper updates and the quest to complete. I need to figure out a way to limit the "a tiny barracuda plushie" to just the first completion. I browsed through a few quests that are already scripted but all of the quests I saw had selectable item rewards and were not repeatable. This one is an always there on first completion reward. It popped up correctly on the "offer quest" window but it didn't show up on the quest completion reward window. Although the "a tiny barracuda plushie" did end up in my inventory.



Posting this to remind myself in the future but I was also having issues with the quest step update on this one. Took me like an hour to figure out what I was doing wrong. I had mixed up the Update function for the completion of the step.

I used UpdateQuestStepDescription() instead of the correct function UpdateQuestTaskGroupDescription() and it was causing the quest to display wrong in the mini quest window but everything else worked fine.

So Fish For Grunthor just needs to be changed over to the function AddQuestStepHarvest() but for this I will need to work on the tier 4 harvest nodes. I might take a look at working on that later today or at least reading about it some and taking notes.

If I don't work on it today it will probably be 3 weeks until I can work on this again. Gonna keep taking notes on this so it's easier to come back and work on it when I get a chance.

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Wed Oct 14, 2015 10:32 am

I added a few more dialogs to the fish for grunthor quest and I'm certain I got them all now. I need to be more thorough when I write the next quest. There are so many different dialog paths on some of these quests. I just saw your note on the ground spawn editor not being fully functional yet so I'll hold off on changing Fish for Grunthor over to the AddQuestStepHarvest() function.

Gonna start working on a new quest now.

edit

I decided to start working on the quest Brahnagan MacLahnan's quest chain. It's a little more complicated than the other quest I worked on before. The first quest in the chain "The Stories of Everfrost" has a multiple substeps in the first quest step and I'm not sure how to make that function correctly.

It should appear something like this in the quest journal

***TaskGroupCheckBox - "I have been sent by McLahnan to speak with a number of individuals around Stormedge Isle so I can better appreciate the situation in Everfrost."
******SubStepCheckBox - "I should interview Newlyn Icebreaker."
******SubStepCheckBox - "I should interview Li Ning Ventur."

I tried something like this but it doesn't function properly:

Code: Select all

function Init(Quest)

     AddQuestRewardCoin(Quest, math.random(20,60), math.random(30,90), math.random(3,5), 0)

     AddQuestStepChat(Quest, 1, "I should interview Newlyn Icebreaker.", 1, "I have been sent by McLahnan to speak with a number of individuals around Stormedge Isle so I can better appreciate the situation in Everfrost.", 0, 410013)
     AddQuestStepChat(Quest, 2, "I should interview Li Ning Ventur.", 1, "I have been sent by McLahnan to speak with a number of individuals around Stormedge Isle so I can better appreciate the situation in Everfrost.", 0, 410011)
     AddQuestStepCompleteAction(Quest, 1, "Spoke_To_Newlyn_Icebreaker")
     AddQuestStepCompleteAction(Quest, 2, "Spoke_To_Li_Ning_Ventur")

end
I'm pretty sure the AddQuestStepCompleteAction() function is only for main steps and not substeps. How do you work with substeps or is there a quest I can reference that has multiple substeps?

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Everfrost Quest / NPC scripts

Post by Jabantiz » Wed Oct 14, 2015 9:59 pm

That script is actually right, in the complete actions you need to check to see if the other step is complete and if it is then you can advance it to step 3. A good example for this would be the harvesting tutorial, "Quests/FrostfangSea/tutorial_learning_to_harvest.lua"

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Thu Oct 15, 2015 2:03 am

You were right. I don't know why it wasn't working correctly before but it works fine now.

I started adding the dialogs for Brahnagan Mclahnan and started working on Li Ning Ventur's dialogs. Li Ning Ventur has a lot of dialog options also and another quest starts midway through the dialog options for The Stories of Everfrost update.

It's a work in progress but I got the basic framework for it set up. I want to concentrate on the Brahnagan Mclahnan storyline before working on other quests but I made a placeholder for the Li Ning Ventur quest just so the references to it aren't null.

My current issue is after I speak to Li Ning Ventur I update the check box for the substep with this (and it works correctly):

Code: Select all

    SetStepComplete(Spawn, TheStoriesofEverfrost, 2)
(done in the npc script)

Although I can't get the actual description for the substep to update with this (done in the quest script):

Code: Select all

function Spoke_To_Li_Ning_Ventur(Quest, QuestGiver, Player)
        UpdateQuestStepDescription(Quest, 2, "I have interviewed Li Ning Ventur")
	ProgressCheck_Quest1(Quest, QuestGiver, Player)
end
I'm probably just too tired to see what I'm doing wrong but I wanted to post my progress on this.

edit..

I tried restarting the server completely and now it works correctly. Guess I can try that in the future if it doesn't work properly. Everything is good. I may work on this some tomorrow. Idk if I feel like going to work for overtime yet or not. Guess we'll see when I wake up if I want extra money or to tinker with this some.

If not I can probably get some content work done not this weekend but next weekend. Either way good night!

User avatar
Cynnar
Project Leader
Posts: 738
Joined: Sat Sep 27, 2014 1:22 am
EQ2Emu Server: Eq2emulator
Characters: Vlash
Veinlash
Taragak
Cynnar

Re: Everfrost Quest / NPC scripts

Post by Cynnar » Thu Oct 15, 2015 2:57 am

Flunklesnarkin wrote: My current issue is after I speak to Li Ning Ventur I update the check box for the substep with this (and it works correctly):

Code: Select all

    SetStepComplete(Spawn, TheStoriesofEverfrost, 2)
(done in the npc script)

Although I can't get the actual description for the substep to update with this (done in the quest script):

Code: Select all

function Spoke_To_Li_Ning_Ventur(Quest, QuestGiver, Player)
        UpdateQuestStepDescription(Quest, 2, "I have interviewed Li Ning Ventur")
	ProgressCheck_Quest1(Quest, QuestGiver, Player)
end
I'm probably just too tired to see what I'm doing wrong but I wanted to post my progress on this.

edit..

I tried restarting the server completely and now it works correctly. Guess I can try that in the future if it doesn't work properly. Everything is good. I may work on this some tomorrow. Idk if I feel like going to work for overtime yet or not. Guess we'll see when I wake up if I want extra money or to tinker with this some.

If not I can probably get some content work done not this weekend but next weekend. Either way good night!
Glad you got it working. If I am remembering correctly when working on quests you have to use /reload luasystem for changes to take effect. Seems like Jab told me that /reload quests just reloaded the players quest and didn't reload quest scripts. So when you restarted the server your changes finally got loaded.

With that said I have noticed that sometimes a server reboot will fix some of the random craziness that comes up. Especially if you try to create a new toon and are locked out of a race.

Nice work by the way.
[ 01000011 01111001 01101110 01101110 01100001 01110010 ]

Follow on:
Twitter Facebook

Contact me:
PM Discord chat email

Hardware: the parts of a computer that can be kicked

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Fri Oct 23, 2015 2:22 pm

Thanks cynnar, the /reload luasystem is exactly what I needed.

I'm working through the Stories of Everfrost at the moment. Lots of dialog options to fix and other settings to adjust but I think I'm almost done with it.

I wanted to write down a few notes of things I noticed before I forget. In no particular order:

*When I click on the mender Newlyn Icebreaker for the questchat update the mender window opens but the quest conversation does not begin. I have to manually hail him by pushing the "H" key to initiate the quest conversations. On live the repair window opens up and the quest conversation begins at the same time. Not the hugest issue but something I noticed.

*I noticed that I'd forgotten to check if a character was in level range because the NPC dialogs differ if you are under level versus high enough level for the quest. So I made the appropriate level checks in the NPC script and added in the new dialogs. I then set my characters level to under level and the quest flag was still there. I tried logging off and resetting the server even though I was doubtful that would change anything. Minimum levels for quests vary too much for some sort of blanket script in the quest system I'd think. So how do you keep the quest flag from showing up if the character does not meet the requirements to start the quest?

*I can't zone out of Everfrost at all either. Even after the server restart. I tried a few different zones like FrostfangSea and and Darklight Wood but nothing seemed to work.


edit..

Ok I finished the quest for The Stories of Everfrost and added a blank quest in for the next quest Cull the Threat to the Pioneers, I didn't want to leave bad references to it when I finished the first quest. It gets called right when the previous quest is finished. It should be a fairly simple quest to complete next time I'm on.

Is there a function to play the quest completion music?

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Everfrost Quest / NPC scripts

Post by Jabantiz » Fri Oct 23, 2015 5:25 pm

Does /zone not work or are you talking a globe/bell?

For a quest prereq you need to enter it in the web editor on the details tab, same tab you enter quest rewards, this should prevent the feather from showing up if you are below the required level.

The completion music should be played automatically, it might be a struct issue with the client you use the is preventing it.

For menders and merchants it will open there store windows but never triggers a hail, you will need to manually hail them for now. On Live does it always (100%) trigger hail when you open the vendor/repair windows from clicking on them, also if you open the windows by right clicking on the npc and selecting repair or buy/sell does it trigger hail as well?

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Fri Oct 23, 2015 5:34 pm

Neither /zone or the bell works for me.

Its probably my client. I looked at my live vs eq2 emu client. Live = 12261 and my EMU client = 12149. I'll update that next time.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Everfrost Quest / NPC scripts

Post by Jabantiz » Fri Oct 23, 2015 5:50 pm

You don't need to update the emu client odds are the current live will be even worse on the emu server. It is basically what we send doesn't match exactly what your client expects and results in odd little bugs like the sound in this case.

/zone not working sounds like a zone deadlock, do other commands work when that happens?

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Fri Oct 23, 2015 6:39 pm

The game continues to run fine after I attempt to /zone

Basically it tries to zone then it drops me back into Everfrost like I never left. Game continues to run fine after that as well.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Everfrost Quest / NPC scripts

Post by Jabantiz » Sat Oct 24, 2015 1:40 pm

I honestly have no clue on that then, never seen that behavior from /zone before and not sure what would cause it.

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Sat Oct 24, 2015 1:44 pm

I made another character and I'm in frostfang sea now but can't zone to everfrost. I might just have to reinstall everything I guess. If it's just on my end.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Everfrost Quest / NPC scripts

Post by Jabantiz » Sat Oct 24, 2015 1:57 pm

I was just on the emu testing my commit today and I can't zone at all like you said, tested locally and I have no problem, I am not sure what the issue is. I will probably have to get a hold of John to help debug this.

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Sat Oct 24, 2015 2:02 pm

No biggie, I can still work on some dialogs and other quest stuff today even if I can't zone around. I just won't be able to fully debug the quests but I can get it most of the way there.

Got work and halloween stuff coming up but I can probably get another day of scripting in around veterans day.


I doubt any of this affects the zoning but the only things I've done that were different from what I normally do is I leveled down and back up to test out my under level dialogs.

I used the /level command.

I also tried to delete one of my characters through the new webeditor but it just said no such character existed. I also adjusted my characters level through the new web editor once.

I don't think any of that would have affected the zoning but that's the only "new" stuff I've tried.

User avatar
Flunklesnarkin
Posts: 79
Joined: Thu Jul 12, 2012 2:53 pm

Re: Everfrost Quest / NPC scripts

Post by Flunklesnarkin » Sun Nov 29, 2015 10:37 am

I still can't zone but I will work on writing some scripts today. I won't be able to debug them until I can zone into Everfrost but I'd like to continue working on the quest line I've started.

I'm currently using the 12149L client. If i need to update that just let me know.

edit 1

I finished the quest "Cull the Threat to the Pioneers" and I also finished the quest "Further Culling". They were both really similar so it didn't take long to add both in. Brahnagan MacLahnan's npc script is getting a bit large but I organized it in a way that I can keep adding functions and dialogs without getting confused. I'm fairly certain both quests function properly, but I can't test them at the moment and I'd like to be able to zone into everfrost before I try writing the next quest in the quest line, because I haven't written a quest like it before, and I'd like to be able to debug as I go.

I need to add in the class specific rewards to both those quests but it shouldn't take that long to do next time.

December will probably be super busy for me but I might be able to get a day in here to come back and work on some things.

Happy Holidays and thanks again for making the EQ2 EMU :D

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests