1. Dismiss Notice
  2. GOG.com logo

    Thanks to YOUR votes, GOG.com now sells:
    - Sea Dogs - Sea Dogs: Caribbean Tales
    - Sea Dogs: City of Abandoned Ships

    Vote now to add Pirates of the Caribbean to the list!

    Dismiss Notice
  3. Under the Crossbones Podcast

    A Pirate Podcast with Interviews
    Music, Comedy and all things Pirate!

    - Episode Guide - About - Subscribe -
    - Twitter - Facebook - iTunes - Android -
    - Youtube - Fill the Coffers -

    Dismiss Notice
  4. New Horizons logo

    Quick links for PotC: New Horizons
    - Download latest version
    - Wiki - FAQ - Report bugs here
    - ModDB profile

  5. GOF logo

    Quick links for AoP2: Gentlemen of Fortune 2
    - Downloads and info
    - Historical Immersion Supermod
    - ModDB Profile

Dismiss Notice
New to the forum?
Please take a moment to read our Welcome Message and Forum Rules.

Making a New Quest

Discussion in 'Tutorials' started by Zablar, Jan 3, 2008.

  1. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,629
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    What do you want to do? The player <i>should</i> have a ship, right? Weird things happen when the player has no ship. Morgan Terror once got a free Manowar that way. <img src="style_emoticons/<#EMO_DIR#>/wacko.gif" style="vertical-align:middle" emoid=":wacko:" border="0" alt="wacko.gif" />
     
  2. Darth-me

    Darth-me Landlubber

    Joined:
    Dec 16, 2007
    Messages:
    348
    Gender:
    Male
    Location:
    Lost at sea...
    The player will explore around the ship, and do quests, and sometimes be sent into port, but he won't actually sail except for a few occasions, until he becomes a Commander, that is.
     
  3. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,629
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    That'll cause some major weirdness, I'm afraid. The game doesn't particularly like the player having no ship. The ship then shows up as "error".
     
  4. Darth-me

    Darth-me Landlubber

    Joined:
    Dec 16, 2007
    Messages:
    348
    Gender:
    Male
    Location:
    Lost at sea...
    could i instantly move the ship to some random other port, where you can't get it? then when you get your own ship, it replaces it? Or something like that...
     
  5. morgan terror

    morgan terror Magnificent bastard Storm Modder News Gatherer

    Joined:
    Oct 31, 2006
    Messages:
    24,963
    Gender:
    Male
    but what about the point in the main quest when you are shipwrecked? that works. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />

    it wasn't just a free manowar i got. it came with a bonus package of wierdness. all my stats having been reset not being the least of them.
     
  6. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,629
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Well, you CAN do that with <i>SetCharacterShipLocation(Pchar, "Redmond_port");</i>. Visiting the shipyard tends to put your ship back in your current port though.
     
  7. morgan terror

    morgan terror Magnificent bastard Storm Modder News Gatherer

    Joined:
    Oct 31, 2006
    Messages:
    24,963
    Gender:
    Male
    oh, so THAT's why the shipyard in douwesen is locked at the shipwrecking scene? makes sense.
     
  8. Darth-me

    Darth-me Landlubber

    Joined:
    Dec 16, 2007
    Messages:
    348
    Gender:
    Male
    Location:
    Lost at sea...
    Could I code the shipyard to tell me that as I'm not a captain I can't use his services?

    This is awfully complex.

    Should I set up a thread to prevent clogging of this page?
     
  9. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,629
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    You could do that, but then you have to change ALL shipyard dialogs, which would be a lot of work.
     
  10. Darth-me

    Darth-me Landlubber

    Joined:
    Dec 16, 2007
    Messages:
    348
    Gender:
    Male
    Location:
    Lost at sea...
    ah. This is confusing me. I think it probably doesn't help that I'm both tired and ill, so I'll stop for the night now.
     
  11. Captain Maggee

    Captain Maggee Aussie Pirate

    Joined:
    May 4, 2009
    Messages:
    3,977
    Gender:
    Male
    Location:
    Tasmania, Australia
    Just saying that the quest tutorial is out of date with Build 14, it doesn't need big changes (I don't think) just need to say where the quest_reaction.c is located and also where to place the "check to see where player is to start quest code" is now located (eg. StartStoryline.c)

    Sorry about posting in a very old post <img src="style_emoticons/<#EMO_DIR#>/biggrin.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin.gif" />
     
  12. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,629
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    I don't care about posting in old threads when they're relevant.
    Press "Reply" on the old post, make your modifications and re-post it and then I'll go and put that in the old post instead. <img src="style_emoticons/<#EMO_DIR#>/doff.gif" style="vertical-align:middle" emoid=":doff" border="0" alt="doff.gif" />
     
  13. Captain Maggee

    Captain Maggee Aussie Pirate

    Joined:
    May 4, 2009
    Messages:
    3,977
    Gender:
    Male
    Location:
    Tasmania, Australia
    <a href="http://forum.piratesahoy.net//index.php?s=&showtopic=11382&view=findpost&p=231923" target="_blank">Click here to see start of quest writing</a>

    New tutorial for starting quest writing for Build 14 Alpha 9

    We will call the new Quest: �Chris Roupe� (You should be able to remember that <img src="http://forum.piratesahoy.net/public/style_emoticons/<#EMO_DIR#>/w00t.gif" style="vertical-align:middle" emoid=":woot" border="0" alt="w00t.gif" /> )
    Now play the game starting at Oxbay � repair your ship etc. then sail for Tortuga (not forgetting to change your flag to pirate before your arrive). Go to the Tavern and talk to the Tavern Owner.
    Remember what happened. Quit game.

    Now we will �DO Stuff� - explanations will come later. (as will whippings, if you don't get it right! <img src="style_emoticons/<#EMO_DIR#>/whippa.gif" style="vertical-align:middle" emoid=":whipa" border="0" alt="whippa.gif" /> )

    In Notepad++ OPEN: quest_reaction.c (Located in: PROGRAM\Storyline\[Storyline*]\quests)

    After the code line <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--> switch(sQuestName)
    {<!--c2--></div><!--ec2-->
    You will notice the code <img src="style_emoticons/<#EMO_DIR#>/biggrin.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin.gif" />

    Notice some lines are blue/black and those beginning with �//� are in green.
    The �//� lines are ignored by the computer but are useful for making notes.

    Go to the bottom and before the <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--> }
    }<!--c2--></div><!--ec2-->
    and hit enter a couple of times to give room, then add
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->// Chris Roupe Quest -->
    case "Chris_Roupe_start":
    SetEnterLocationQuest("Tortuga_tavern", "Chris_Roupe_start_check", 0);
    break;

    case "Chris_Roupe_start_check":
    if(makeint(PChar.rank) >= 12)
    {
    PChar.quest.Chris_Roupe = "Chris_away_we_go";
    }
    break;

    case "Chris_Roupe_start_ship_search":
    PChar.quest.Chris_Roupe = "search";
    DeleteEnterLocationQuest("Tortuga_tavern", "Chris_Roupe_start_check");
    //SetQuestHeader("Chris_Roupe_Quest");
    Pchar.quest.Chris_Ship_Search.win_condition.l1 = "location";
    Pchar.quest.Chris_Ship_Search.win_condition.l1.location = "QC_town";
    PChar.quest.Chris_Ship_Search.win_condition = "Chris_Ship_Search";
    break;

    case "Chris_Ship_Search":
    AddPartyExp(pchar, 2500);

    break;<!--c2--></div><!--ec2-->

    <b>do a file/save </b>(top left of notepad++)

    Two options here:
    Now open in Notepad++ (no need to close quest_reaction.c that you just saved)

    Program\Dialogs: John Adams_dialog.c
    Then open:
    Programs\Dialogs\ENGLISH: John Adams_dialog.h

    or

    Program\Storyline\[Storyline*]\Dialogs: John Adams_dialog.c
    Then open:
    Programs\Storyline\[Storyline*]\Dialogs\ENGLISH: John Adams_dialog.h

    (NOTE: Option B is required if John Adams_dialog's are already located in that folder <img src="style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />)

    Now you should have three tabs in Notepad++
    Quest_reaction.c � John Adams_dialog.c � John Adams_dialog.h
    And as you click each tab so that respective file will open and the others close.

    Now it will pay you to open the DialogMerge program.
    Click on Code file (the one with the icon) click through till you find Program\Dialogs\John Adams.c and open that.
    Then click on Headers file (ENGLISH should show up) click that and then open John Adams_dialog.h
    Then click the next button MERGE
    The program will run, merging the two files. When done, click on Merged File button just below and you will find the program and words spoken by John Adams as they occur.
    These we are going to change. BUT in Notepad++ (NOT YET)

    Looking in the MERGED file you can follow the dialog, here is the part we are interested in:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--> case "second time":
    Dialog.defAni = "dialog_stay1";
    Dialog.defCam = "1";
    Dialog.defSnd = "dialogs\17";
    Dialog.defLinkAni = "dialog_1";
    Dialog.defLinkCam = "1";
    Dialog.defLinkSnd = "dialogs\woman24";
    Dialog.ani = "dialog_stay2";
    Dialog.cam = "1";

    dialog.snd = "Voice\FADU\FADU003";
    dialog.text = "I am all ears. How can I help you?";
    link.l1 = pcharrepphrase("I need to hire some sailors.", "I'm looking to add to my crew.");
    link.l1.go = "crew";
    link.l2 = "Let's talk business.";
    link.l2.go = "rumours";
    Link.l3 = pcharrepphrase("I'd like a room.", "Do you have a free room in this place?");
    Link.l3.go = "room";
    link.l4 = "Never mind. I've got to go.";
    link.l4.go = "exit";
    break;<!--c2--></div><!--ec2-->
    Play the game going to the Tavern and you will see how this works: (This is where the small screen comes in handy).
    Dialog.text is John Adams speaking and Link.l1, link.l2, link.l3 and link.l4
    Are the four possible answers you can give.
    Each answer sends you to another part of the program using:
    Link.l1.go, Link.l2.go, Link.l3.go and Link.l4.go

    We need to change this dialog to get John Adams to work with our quest.

    So let�s take the case �rumours� which is you (the player) having asked to talk business::


    dialog.snd = "Voice\FADU\FADU004";
    dialog.text = "Certainly, " + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + ". What's on your mind?";
    link.l99 = "Actually, it's nothing important.";
    link.l99.go = "second time";

    Go to Notepad++ John Adams_dialog.c change that to:

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--> case "rumours":
    dialog.snd = "Voice\FADU\FADU004";
    dialog.text = DLG_TEXT[13] + GetMyAddressForm(NPChar, PChar, ADDR_CIVIL, false, false) + DLG_TEXT[14];
    if (PChar.quest.Chris_Roupe == "Chris_away_we_go")
    {
    link.l1 = DLG_TEXT[35];**
    link.l1.go = "and the answer is";
    }
    link.l99 = DLG_TEXT[16];
    link.l99.go = "second time";
    break;

    case "and the answer is":
    dialog.text = DLG_TEXT[36];**
    link.l1 = DLG_TEXT[37];**
    link.l1.go = "exit_for_Chris";
    break;

    case "exit_for_Chris":
    NextDiag.CurrentNode = NextDiag.TempNode;
    NPChar.quest.meeting = NPC_Meeting;
    DialogExit();
    AddDialogExitQuest("Chris_start_ship_search");
    break;<!--c2--></div><!--ec2-->
    <b>SAVE</b>

    Then Notepad++ John Adams_dialog.h

    Change the first line to:
    <b>string DLG_TEXT[38**] = {</b>
    (the number has changed from 35)
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->"I'm looking to escort a ship or something similar",
    "I heard if you go to Quebradas Costillas there is someone there who needs that sort of service.",
    "Thanks, I'll pay them a visit.",<!--c2--></div><!--ec2-->

    <b>SAVE</b>

    The last three lines are the NEW dialog � you can put in what you wish � just be sure to have the correct punctuation: �words words words�,
    and ONLY three lines for the moment.

    Now open: Program\Storyline\[Storyline*]\StartStoryline.c
    And ADD our quest so it looks like this: (I have shown the Tortuga Atmosphere so you can see where to put it:)
    Other stuff above this:
    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//Tortuga Atmosphere
    PChar.quest.Tortuga_atmosphere.win_condition.l1 = "location";
    PChar.quest.Tortuga_atmosphere.win_condition.l1.character = PChar.id;
    PChar.quest.Tortuga_atmosphere.win_condition.l1.location = "Tortuga_port";
    PChar.quest.Tortuga_atmosphere.win_condition = "Tortuga_atmosphere";
    //Tortuga Atmosphere

    //Chris_Roupe
    ch.quest.Chris_Roupe = "";
    ch.quest.Chris_Roupe_start.win_condition.l1 = "location";
    ch.quest.Chris_Roupe_start.win_condition.l1.character = ch.id;
    ch.quest.Chris_Roupe_start.win_condition.l1.location = "Tortuga_tavern";
    ch.quest.Chris_Roupe_start.win_condition = "Chris_Roupe_start";
    //Chris_Roupe

    // KK --><!--c2--></div><!--ec2-->
    other stuff below this

    <b>SAVE</b>

    Now you can start a new game � save when you get to Totuga Port (before you go to the Tavern)
    Enter the Tavern, talk, and nothing has changed (he he he!) <img src="style_emoticons/<#EMO_DIR#>/razz.gif" style="vertical-align:middle" emoid=":razz" border="0" alt="razz.gif" /> <img src="style_emoticons/<#EMO_DIR#>/razz.gif" style="vertical-align:middle" emoid=":razz" border="0" alt="razz.gif" />
    O.K. � the problem � in quest_reaction.c we have set the players level to be equal to, or above 12
    See: if(makeint(PChar.rank) >= 12)
    So quit the game � Reload the saved Port Game then press number pad 4 until you see the players level goes above 12.
    Then go on to the Tavern and talk again � this time all should work correctly.

    Good luck.

    * Storyline that you want quest to appear in
    ** Change the original number in the [] to number + 3 and then check the line the "" is on and -2 and the dialog will appear where it should

    Pieter don't worry about updating SJG's post, mine can be tutorial for Build 14 Alpha 9
     
  14. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    66,629
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    <a href="http://forum.piratesahoy.net//index.php?showtopic=11380" target="_blank">Very well then</a>. Thanks. <img src="style_emoticons/<#EMO_DIR#>/doff.gif" style="vertical-align:middle" emoid=":doff" border="0" alt="doff.gif" />
     
  15. Captain Maggee

    Captain Maggee Aussie Pirate

    Joined:
    May 4, 2009
    Messages:
    3,977
    Gender:
    Male
    Location:
    Tasmania, Australia
    No worries... I want to see more people that have the ability to help us write quests (even if they just use the ability to try and fix bugs <img src="style_emoticons/<#EMO_DIR#>/biggrin.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin.gif" />)
     
  16. omega

    omega a pirate wanna be.

    Joined:
    Jul 1, 2012
    Messages:
    136
    Gender:
    Male
    Occupation:
    mostly gaming
    Location:
    iran
    ok i want to make a black smith quest to upgrade my weapons using minerals or other materials, jewels and such, probably every single blade will have a quest witch make the blade unbreakable, better, and it cant be sold,
    it's not possible to start the next quest before finishing the first on
    i would like first to start making the new items

    1- ugh my head gona explode how can i make a new item with different name, same picture, different attribute, it will be a unique item but i cant understand most of this
    i want to make a complete uniqe weapon what should i do i read whole item forlders (item.c, item.h,etc...)but couldnt figure out how to make it :S
    2-at the end of quest i want to make a new weapon, not animation but there should be a new pic
    3- this are all uniqe items so i wonder where can i find their discriptions, it would be enough for now thanks :)
    and i am not sure if this make a difference but i am using build 13
    no matter i found a tutorial in this site that let me do all this stuff thanks

    and what's this link.l99 (in dialog.c) i suppose its the last line in any conversation but i cant use link.l98 right :S so it would be secound last line of any conversation
     
    Peter de Grote likes this.
  17. omega

    omega a pirate wanna be.

    Joined:
    Jul 1, 2012
    Messages:
    136
    Gender:
    Male
    Occupation:
    mostly gaming
    Location:
    iran
    i have what i need in items, i just need to know how different function work in dialog.c, my initial try to make a dialog.c fail and it was strange i couldnt find why this happened at all :S
    i can understand
    just tell me what is this it seems the most important reason that i cant understand why i failed in my attempt :S
    Dialog.defAni = "dialog_stay1";
    Dialog.defCam = "1";
    Dialog.defSnd = "dialogs\0\017";
    Dialog.defLinkAni = "dialog_1";
    Dialog.defLinkCam = "1";
    Dialog.defLinkSnd = "dialogs\woman\024";
    Dialog.ani = "dialog_stay2";
    Dialog.cam = "1";
    Dialog.snd = "dialogs\0\009";
    edit: well also i cant understand the above functions i could start making my own quest so i dont have any problem with dialog making anymore
     
  18. omega

    omega a pirate wanna be.

    Joined:
    Jul 1, 2012
    Messages:
    136
    Gender:
    Male
    Occupation:
    mostly gaming
    Location:
    iran
    hmm also i am not sure if i get a answer anymore for any of my post i ask something i hope someone help me
    where is quest record u know where the game hold its quest entry the texts that show up in quest log
     
  19. Armada

    Armada Sea Dog Staff Member Administrator Project Manager 3D Artist Storm Modder

    Joined:
    Jun 11, 2010
    Messages:
    8,078
    Gender:
    Male
    Occupation:
    Game Developer
    Location:
    Somerset, England
    Sorry you're not getting replies mate. Captain Maggee is almost never online because of university work, and Pieter is currently away at sea, either too busy to help or without internet access.
    I don't have much experience with this myself, and have a lot of work to do elsewhere, so I can't be of much help.

    Some members who may be able to give you some advice are Jack Rackham and Short Jack Gold, both of whom have experience with making quests and storylines.
    Maybe you could send a message to either of them asking if they could spare some time to help you out a bit. Be aware that they might also be quite busy, though.
     
  20. omega

    omega a pirate wanna be.

    Joined:
    Jul 1, 2012
    Messages:
    136
    Gender:
    Male
    Occupation:
    mostly gaming
    Location:
    iran
    thanks, in the mean time i try to figure things out with following some quest maybe i can understand what's going on
     

Share This Page