Sign in to follow this  
Xilanthus

Legit Mod Request that will Revolutionize WU

Recommended Posts

Hi, there all you Modders. How would you like to be the Mod Developer that created the best NPC Interaction Mod ever for Wurm Unlimited?

 

This request allows NPCs to have Actual two-way conversations? with a built-in Quest Management System.  I can't do it because I am not very skilled a Java and I have no clue how to get started writing a Mod.  However, I have come up with an idea for an XML document for the conversation.  I imagine a Mod that would interpret the dialog.xml document and present it to the player to interact with in a new client-side custom Dialog Box.  It would require both server and client mods. 

 

Here is an example of what the dialog.xml document might look.  It isn't perfect, but I think it conveys my idea.

 

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
    <npcs>
      <npc name="Rachel Long">
        <!-- Conditional Starting Dialoges must come before the Default Starting Dialog -->
        <!-- Starting Dialog if PC is currently on the NPC's Find Ring Quest -->
        <dialogue id="100">
            <condition Quest="Rachel_Long_Find_Ring" QuestState="GT0.0 AND LT100.0"></condition>
          <text>"Hey, have you found my ring yet??"</text>
          <options>
            <option text="Yes I did. Here it is.">
                <condition PCHasItemByWurmID="10948830368771"></condition>
                <action GiveItemToNPCByWurmID="10948830368771"></action>
                <action dialogue="101"></action>
            </option>
                
            <option text="Yes, but I think it is worth more than 10 copper. I'll give it to you for 20 copper!">
                <condition PCHasItemByWurmID="10948830368771"></condition>
                <action dialogue="102"></action>
            </option>
                
            <option text="Not yet, I'm still looking though.">
                <action EndDialog></action>
            </option>
                
            <option text="Actually, I don't think I can do this. You should find someone else.">
                <action Quest="Rachel_Long_Find_Ring" SetQuestState"-1.0"></action>
                <action EndDialog></action>
            </option>
          </options>
        </dialogue>
          
        <!-- Starting Dialog if PC failed or completed the NPC's Find Ring Quest -->
        <dialogue id="110">
            <condition Quest="Rachel_Long_Find_Ring" QuestState="LT0.0 OR GTE100.0"></condition>
          <text>"Hello again."</text>
        </dialogue>
          
        <!-- Default Starting Dialog -->
        <dialogue id="0" Quest""> 
          <text>"Hi there. I was wondering if you could assist me?"</text>
          <options>
              <option text="Maybe, what do you need?">
                <action dialogue="2"></action>
            </option>
            <option text="I don't have time to help you.">
                <action EndDialog></action>
            </option>
          </options>
        </dialogue>
          
        <dialogue id="2">
          <text>"Last week, when I was exploring the South Shore Mines, I seemed to have lost my silver ring. I was wondering if you could go look for it, and return it to me if you find it?"</text>
          <options>
              <option text="Why were you in the South Shore Mines? It's quite dangerous there.">
                <action dialogue="3"></action>
            </option>
              <option text="If you were in the mines last week, why don't you go look for it yourself?">
                <action dialogue="3"></action>
            </option>
              <option text="That is a dangerous place. What's the reward if I find it?">
                <action dialogue="4"></action>
            </option>
              <option text="Sure, I'v got nothing better to do.">
                <action Quest="Rachel_Long_Find_Ring" SetQuestState"1.0"></action>
                <action EndDialog></action>
            </option>
              <option text="No, I don't think I can help you right now.">
                <action EndDialog></action>
            </option>
          </options>
        </dialogue>
          
        <dialogue id="3">
          <text>"I am interested in insects and the cave bugs there are very large and intriguing. Last week, I went with a group of people who were skilled fighters. They are not in town and I desparately want to get my ring back."</text>
          <text>"Will you assist me?"</text>
          <options>
              <option text="That is a dangerous place. What's the reward if I find it?">
                <action dialogue="4"></action>
            </option>
              <option text="Sure, I'v got nothing better to do.">
                <action Quest="Rachel_Long_Find_Ring" SetQuestState"1.0"></action>
                <action EndDialog></action>
            </option>
              <option text="No, I don't think I can help you right now.">
                <action EndDialog></action>
            </option>
          </options>
        </dialogue>
          
        <dialogue id="4">
          <text>"I was planning on giving you a reward afterward, based on how quickly you returned. But, since you are asking me up front, I will give you 10 copper for the ring's return."</text>
          <text>"Will you assist me?"</text>
          <options>
              <option text="Sure, I'v got nothing better to do.">
                <action Quest="Rachel_Long_Find_Ring" SetQuestState"1.0"></action>
                <action EndDialog></action>
            </option>
              <option text="No, I don't think I can help you right now.">
                <action EndDialog></action>
            </option>
          </options>
        </dialogue>
                
          
        <dialogue id="101">
          <text>"Oh, thank you so much! This means so much to me."</text>
          <options>
            <action GiveKarmaToPC="100"></action>
            <action GiveMoneyToPC="1000"></action>
            <action Quest="Rachel_Long_Find_Ring" SetQuestState"100.0"></action>
            <action EndDialog></action>
          </options>
        </dialogue>
          
        <dialogue id="102">
          <text>"This is extortion, but whatever! Here's your 20 copper!"</text>
          <options>
            <action AdjustPCAlignment="-20"></action>
            <action GiveMoneyToPC="2000"></action>
            <action Quest="Rachel_Long_Find_Ring" SetQuestState"100.0"></action>
            <action EndDialog></action>
          </options>
        </dialogue>
      </npc>
    </npcs>

3

 

 

Thanks - Xil

Share this post


Link to post
Share on other sites

if the answers are just multiple choice you can easily do that without needing client side mod, the game already handles each answer you make to the pop up questions. Think of the GMtool as an example, you can choose to look at a players skills, at their mails, at their friends, at their inventory, all from the 1 window popup.

 

I said can be done easily, I mean can be done with many many many hours work though.

Share this post


Link to post
Share on other sites

Yeah it could be a ton of popup dialogs with multiple choice options all server side. Wouldn't look very pretty but wouldn't need a client mod either.

 

I made one once where it was just multiple choice kingdom selection and teleporting you to the kingdoms spawnpoint, but you could make it do other stuff like what you want.

Edited by Alexgopen

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this