Jaekoppi's quest showcase

9 posts / 0 new
Last post
jaekoppi's picture
jaekoppi
Quest Developer
Joined:
2024-08-31 17:45
Last seen:
1 month 1 hour ago

Google docs document with dialogue

Hello

I've been working on this for a few days and thought that it's in a good state for some feedback.

Summary: Romil's been robbed. You offer to help him and when you find the culprits there's a twist! They too have been robbed (kinda). So you have to help them get their stuff back before getting to Romil.

Should fulfill the requirements and meet the quidelines.

 

AttachmentSizeDate
Binary Data TR_m4_Romil's_stolen_treasure.esp27.64 KB2024-08-31 19:01
jaekoppi's picture
jaekoppi
Quest Developer
Joined:
2024-08-31 17:45
Last seen:
1 month 1 hour ago

Updated version as attachment. Somehow the file got smaller.

Ran the validator this time. Fixed most issues brought up by it, except I couldn't get PositionCell to work with the bandits. Not sure how big of a problem that is.

Also added another way to complete the quest by talking to a guard at fort Ancylis after accepting the quest from Romil and fixed a way break the quest.

AttachmentSizeDate
Binary Data TR_m4_Romils_stolen_treasureV2.esp24.66 KB2024-09-01 19:59
Mortimer's picture
Mortimer
Senior DeveloperQuest Reviewer
Joined:
2016-06-10 21:48
Last seen:
1 hour 19 min ago

So the good news is I think you understand how questing works. You understand filters, and scripting, and how the journal system works. If you can clean some of this stuff up I think you would do great.

  • Anything in the validator is a big issue usually. positioncell requires a cell argument.
    • You have player->PositionCell, -49172, -130900, 2344, 180, "(-7,-17)"
    • You don't want grid, you want cell name. "Roth Roryn Region" is a cell name, even if its used multiple times, give it the name of the region if that's where you're positioncelling to.
  • I think stylistically the fadein/fadeout thing can be over-abused for sure. the player standing in place while things happen around them isn't normal. for the showcase and the showcase alone it's probably okay
  • player->AddItem, "gold_001", 250 = nix the commas, player->AddItem "gold_001" 250
  • your getdistance disable checks should be cellchanged checks
  • you need an early return in your npc scripts. you're setting tr_map every frame, add a loop right above it thats like if tr_map; return; endif (but in proper format and not semicolons. in the tr scripts this is normally done in the khajiit check which obviously you dont have)
  • addtopic is a global operation, not on an npc. don't do this in npc scripts, do this in dialogue.
  • You're getting a bit spammy with new topics. A misc should generally have between 1-3 unique topics *at most*, especially when they'll only be used for this single quest. Also Damn Imperials shouldn't have a capitalized D
  • Romil Arendas has been robbed is kind of specific of a topic, as before try to reduce # of topics in general. if TR has 1000 quests we can't have 7000 topics lol
  • Legion should always be capitalized when referring to the Imperial Legion; Imperial (and races in general) should be capitalized
  • Choices typically end with periods (ie Nevermind.)
  • journal entry 25 references they didn't have anything valuable on them, but triggers ondeath. not sure how the player would know. I would make it an activate trigger when you attempt to loot them, or something.
  • If you pick up the shield before the quest, Romil steals the shield immediately which is very bad quest form. Instead, have the same quest filters but make it a choice where you can be like "oh you mean this shield?" or choose to not turn it in immediately. On that note I'm not sure why he would be so pissed you got his shield back. Certainly he knows you didn't rob him.
  • reduce.... the ellipses... just a bit.
  • Ohhh... what am I going to do. -> end with question mark
  • As promised this is all the gold I have. as promised, comma (make sure your grammar is spot on)
jaekoppi's picture
jaekoppi
Quest Developer
Joined:
2024-08-31 17:45
Last seen:
1 month 1 hour ago

Thanks for the feedback! Improved version as attachment.

  • Replaced Position with PositionCell.
  • Decided to get rid of the fadeout when pc isn't teleported.
  • Removed commas immediately following function calls. I should've got most of them.
  • CellChanged instead of getDistance.
  • TR_Map is no longer being set every frame.
  • AddTopics moved.
  • Reduced number of topics down to three. "Romil Arendas has been robbed" is now "robbed merchant".
  • Made journal entry 25 activate only when Giarmu's corpse is activated.
  • Romil is now thankful if you've found the shield before he tells you about it.
  • Fixed a bunch spellling mistakes. No more ellipses! (except one)

Also removed the additional stuff in castle Ancylis, I felt it served no real purpose except to make the quest more complicated.

Edit: Went through the dialogue and fixed some capitalisation issues and removed some more commas from function calls. V4

Second edit: Accidentally broke the topic "robbed merchant" on the first edit. Should be fixed.

AttachmentSizeDate
Binary Data TR_m4_Romils_stolen_treasureV3.esp22.75 KB2024-09-06 09:02
Binary Data TR_m4_Romils_stolen_treasureV4.esp22.94 KB2024-09-08 07:17
Mortimer's picture
Mortimer
Senior DeveloperQuest Reviewer
Joined:
2016-06-10 21:48
Last seen:
1 hour 19 min ago

Still some issues I need covered.

  • Sujamma (and other liquors) shouldn't be capitalized. Legion in the latest rumors topic still isn't capitalized. Imperial in the journal isn't capitalized. The quest name isn't capitalized. The shield name isn't capitalized. These are easy typos to spot, and this is not a complete list.
  • If you hire the bandits and turn around and talk to Giarnu, you immediately complete the quest. He shouldn't give you the shield, either. Have the npcs say good job, and let the player loot it.
  • Do not teleport the player. You can fade out to make the guard disappear - sure. I forgot to mention this last time. Your script is complex enough, just remove the positioncell part from the player.
  • The topic "from the fortress" is broken for the guard. The line starting "About time!" that triggers the quest has a filter Journal < 30 which means you don't even get the first choice option.
  • The quest lacks direction. I get the latest rumor but it doesn't tell you where the quest starts. South of town? East of town? In the closest Imperial fort? I think the rumor should probably point to Romil, if anything.
  • Giarnu's friend points you to him, but Giarnu has nothing to say before the quest starts. Keep every quest state in mind. For your showcase this is... acceptable, but in a real quest this can be a flaw. An npc that's pointed to should lead you in the right direction.
  • The bandits 2nd choice "Nevermind" doesn't seem like it permanently locks you out, but it does. If that's the case (ie, you only want the two bandits to offer to help once ever), nevermind should be changed to something more permanent sounding.
  • Keep quest logic out of greeting 5 as much as you can. Again, for your showcase, this is probably fine. I would have given Giarmu another unique line post-quest as well.
  • Ironically you went too far with removing ellipses lol. " I, I don't know if I can ever repay you. That shield. It's everything to me. here take this" (capitalization error, too). This line in particular, if you wanted this format you would say "I... I don't know if I can ever repay you. That shield is everything to me." But I would probably change this in review to just say "I don't know if I can ever repay you" etc.
  • If you give Romil the shield early and click "drown the shame" he still hates you afterwards and says "get away from me"

You need to be careful in the future and avoid sloppy mistakes. You fixed everything in the validator which is great, please review the dialogue and fix the major quest errors.

Practice makes perfect, and I think you can get there eventually.

jaekoppi's picture
jaekoppi
Quest Developer
Joined:
2024-08-31 17:45
Last seen:
1 month 1 hour ago

Thanks again, I know from playtesting that going through these can be a bit of a pain. A few questions. Why is teleporting the player a problem? Also, I had the impression that proper nouns are always capitalised, is that not the case? Capitalisation is something I never really understood about English grammar. I had my lines in greeting 5 drop all the way down to the bottom of the list once. I think I'd just removed Giarmu's greeting, though not sure. Any idea how that could've happened? Anyhow here's the changes:

  • Removed Giarmu's greeting. There's a few new lines under "robbed merchant" instead.
  • Totally removed the script for teleporting the player and npcs. It was always a bit of a gimmick.
  • I removed a filter for "from the fortress" when I was playtesting. I suppose I forgot to put it back. Well, it's fixed now.
  • Rewrote the rumor. It now directs you to Romil.
  • Giarmu's friend now only has a unique line at quest stage 10.
  • The bandits' second choice is now "I won't help you."
  • I took your advice on Romil's ellipse line.
  • Romil now says the same thing when you return the shield early as he does when you complete the quest normally.
  • Touched up some of the quest stages so that they make sense in the new context. Removed stages 4 and 6 so the quest isn't forced on the player.
  • Did my best on the capitalisation.

 

AttachmentSizeDate
Binary Data TR_m4_Romils_stolen_treasureV5.esp21.3 KB2024-09-09 18:17
Mortimer's picture
Mortimer
Senior DeveloperQuest Reviewer
Joined:
2016-06-10 21:48
Last seen:
1 hour 19 min ago

Bugs

  • Sujamma, flin, mazte etc are considered generic nouns like beer or wine.
    • The way I remember any noun's capitalization is by using the text search function in the CS to see what the vanilla game does.
  • What I meant about heirloom shield capitalization is that the item name has to be capitalized. When talking about it, it's just "Thank you again for recovering my heirloom shield. Thank you." The item itself that you pick up has every word capitalized in its name.
  • The line you wrote was "Thank you again. For recovering my Heirloom Shield. Thank you."
    • "For recovering my heirloom shield" isn't a complete sentence.
  • Instead of duplicating lines for each end condition, just add a filter journal >= 45
  • The choice response "You got it back?! Thank you so much! I don't know if I can ever repay you. Here take this. It's all I have." has no NPC condition.
  •     Choices "I got your shield back" 1 "Nevermind" 2 need periods after each one.
    •  This was mentioned previously
    • The bandits still follow you after the quest is done

    General tips

    • You want to build your topic responses from the top down - the top condition should be the latest entry / last journal response. In the 'robbed merchant' topic you go in reverse. [You can change the order of responses with left and right arrow keys btw]
      • This makes it a lot easier to do something like the above, where you say anything >= journal 10 will have response X, which gets overridden by another line if they have a line with >= journal 30
    • Getdeadcount should always check >0 instead of == 1. Weird script thing, I know.
    • Don't use same faction (or same race), just use the PC Faction filter on the bottom left.
      • Race filter doesn't really make sense for this one

    ---------

    I think what you have is good, on one condition - that you describe how you would fix the bandits from following you after the quest is done. Either provide a short code snippet or describe where you would insert a function to fix the bug. No need to update the esp and repost it.

    If you can do that, and it works, you will get the badge.

    jaekoppi's picture
    jaekoppi
    Quest Developer
    Joined:
    2024-08-31 17:45
    Last seen:
    1 month 1 hour ago

    This one's a little bit more in depth.

    I'm assuming by quest is done you mean when the shield has been recovered. Then adding

    short endvar

    if ( getJournalIndex "TR_m4_Romil" >= 30 )
        if ( endvar == 0 )
            modfight -10000
            set follow to -1
            set endvar to 1
        endif
    endif

    to both bandits' scripts before the early return fixes them continuing to follow the player. I'm thinking that the modfight -10000 is alright because the bandits are going to be disabled soon enough.

    Mortimer's picture
    Mortimer
    Senior DeveloperQuest Reviewer
    Joined:
    2016-06-10 21:48
    Last seen:
    1 hour 19 min ago

    Not sure what endvar is, it's not declared in the script. your example on discord was correct. modfight won't do much, that's just their propensity to attack you.

    This quest got a bit complex with cutting and reworking, but I think if you have a solid concept you can execute on it. Just make sure to watch your punctuation wink

    Recommending for promotion