Ikatchi's Quests

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Ikatchi's Quests

Ikatchi
This post was updated on .
The npc quest id is 99 and the npc name in the quest file is ''NPC'' so those need changed if this was to be added.

Apocalyspe survivor Quest (Reward 2 25m exp scrolls 1 pois apple Repeatable)

State Start
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "How did you make it here alive?!");
        action     AddNpcInput(99, 1, "What do you mean?");
        action     AddNpcText(99, "The zombies! How did they not eat you alive?");
        action     AddNpcText(99, "No matter. I have a proposition for you. That is, if you're interested.");
        action     AddNpcInput(99, 2, "Sure, what is it?");
        action     AddNpcInput(99, 3, "No thanks, I don't have the time.");
        action     AddNpcText(99, "I need you to kill some of those zombies for me.");
        action     AddNpcText(99, "I'm too weak to do it myself and I need to get back home.");
       

        rule         InputNpc(2) goto Start2
        rule         InputNpc(3) goto Dick
}
State Start2
{
        desc       ''Talk to NPC''  
       
        action     AddNpcText(99, "I need you to kill some of those zombies for me.");
        action     AddNpcText(99, "I'm too weak to do it myself and I need to get back home.");
        action     AddNpcText(99, "So, could you do it for me?");
        action     AddNpcInput(99, 4, "Sure, leave it to me!");
        action     AddNpcInput(99, 5, "On second thought I'd better not...");
       
        rule         InputNpc(3) goto KillZambies
        rule         InputNpc(4) goto Dick
}
State KillZambies
{
        desc        "Kill 40 Zombies"

        rule         KilledNpcs(145, 40) goto KillZambies2
}
State KillZambies2
{
        desc        "Kill 40 Zombies"

        rule         KilledNpcs(405, 40) goto Return
}
State Return
{
        desc        "Return to NPC"

        action     AddNpcText(99, "Thank you!");
        action     AddNpcText(99, "I can finally return home now!");
        action     AddNpcText(99, "Here, please accept this as a token of my gratitude.");
       
        rule         TalkedToNpc(QuestID) goto Reward
}
State Reward
{
        action     GiveItem(683, 2);
        action     GiveItem(264, 1);
        action     Reset();
}
State Dick
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "Oh, *frown* I see....");
        action     Reset();
}

Reply | Threaded
Open this post in threaded view
|

Re: Ikatchi's Quests

Nurd
I'm gonna use the Islander Quest and another quest as refrence.

Okay first of all, if you're gonna have a repeatable quest make sure that the prize can't be abused. Like your 50mil exp can be abused pretty easily and cause people to reborn so much quicker than they should be.

Second, all quests should start like this:

Main
{
    questname  "<Enter Quest Name Here>"
    version    1.0
}
State Begin
{


Third, at your state 'Start', when you click on ''What do you mean?'' It'll just close the quest. Always have the AddNpcInput as the last action, followed by the rule, then end the state.

Fourth, you should have slashes in before single quotation marks. For example, You're would be You\'re. Or, here:

    action  AddNpcText(15, "Hello there, Traveller. You seem a little lost. How can I help you?");
    action  AddNpcInput(15,1,"I\'m a little lost..");
    action  AddNpcInput(15,2,"I\'m fine, thanks.");
    action  AddNpcInput(15,3,"I don\'t speak to strangers.");


Fifth, when you're having AddNpcInput, make sure it's followed by a rule, like so:

    action  AddNpcInput(15,1,"Oh. Well.. What\'s the problem?");
    action  AddNpcInput(15,2,"I\'m not a helpful person.");
    rule    InputNpc(1) goto Continue
    rule    InputNpc(2) goto Exit2


Sixth, in your desc's, you have it as desc    ' '<InsertDescHere> ' ' instead of desc    "<InsertDescHere>" (Shift + 2)

Seventh, your rule 'InputNpc' should have a matching number to your action AddNpcInput. So for example, if your AddNpcInput is:

action  AddNpcInput(15,2,"I\'m not a helpful person.");         (Note the 2)

Your InputNpc should be:

rule    InputNpc(2) goto Exit2                  (Again, note the 2 in the brackets)

Eighth, in your states 'KillZambies' and 'KillZambies2' you should give as much information as possible when you're set out to kill something, so the player doesn't have to keep going to their quest log in order to see what they have to do next. So for example, you should have it like this:

    desc    "Kill 25 Baby Alfs"
    action  AddNpcText(2, "Return to me for your next objective once you've finished. Good luck, soldier!");
    rule    KilledNpcs(57,25) goto Task




Sorry if I let you down, but there is quite a good amount of mistakes.
Work on fixing these mistakes and you should be fine! :P
I'm only here for the food.
Reply | Threaded
Open this post in threaded view
|

Re: Ikatchi's Quests

Ikatchi
okay, I took those into consideration when making this next quest: (Quest name is Path of Exile)

Main
{
        questname   "Path of Exile"
        version  1.0
}

State Begin
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "*Mumbling to (him/her)self*");
        action     AddNpcInput(99, 1, "Uhm, hello?");
        rule         InputNpc(1) goto Begin2
}

State Begin2
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "Huh, oh! What do you want!? Can\'t you see I\'m trying to think.");
        action     AddNpcInput(99, 2, "Sorry, I\'ll leave you alone then.");
        action     AddNpcInput(99, 3, "Didn\'t look it to me.");
        rule         InputNpc(2) goto Restart
        rule         InputNpc(3) goto Begin3
}

State Begin3
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "Well, who asked for you\'re damn... nevermind. Maybe you could help me.");
        action     AddNpcInput(99, 4, "Help you? Help you to do what?");
        action     AddNpcInput(99, 5, "Why would I help you?");
        rule         InputNpc(4) goto Begin4
        rule         InputNpc(5) goto Restart2
}

State Begin4
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "Well.. you seee. I got exiled from my homeland for treasony...");
        action     AddNpcInput(99, 6, "Treasony..? What\'d you do?");
        action     AddNpcInput(99, 7, "It sounds terrible, but I\'m sorry I can\'t help you.");
        rule         InputNpc(6) goto Begin5
        rule         InputNpc(7) goto Restart3
}

State Begin5
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "You see, in my homeland it\'s illegal for someone of a lowly class to marry someone of a higher class.");
        action     AddNpcText(99, "So, when my wife and I fell in love we had to keep it a secret.");
        action     AddNpcText(99, "Then, a few nights ago we ran away to get married and were soon caught by the kingdom\'s guards.");
        action     AddNpcText(99, "Since she was of royal blood she was locked away in a far discrete tower of the castle.");
        action     AddNpcText(99, "I was then thrown into the dungeon to be executed, but was given the choice of exile from the kingdom, or death.");
        action     AddNpcInput(99, 8, "Wow, that sounds terrible!");
        action     AddNpcInput(99, 9, "I\'d love to help, but I\'m afraid I\'m not yet ready for the challange.");
        rule         InputNpc(8) goto Begin6
        rule         InputNpc(9) goto Restart4
}

State Begin6
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "It is... So.. will you help me to return to my homeland?");
        action     AddNpcInput(99, 10, "Of course!");
        action     AddNpcInput(99, 11, "Maybe later.");
        rule         InputNpc(10) goto Begin7
        rule         InputNpc(11) goto Restart5
}

State Begin7
{
        desc        "Talk to NPC"

        action     AddNpcText(99, "Great! First, I\'ll need you to get me (ITEM) and then return to me with it.");
        action     AddNpcText(99, "Then, I\'ll need you to kill (NPC), (NPC), (NPC), (NPC), and then finally eliminate 1 (NPC)");
        action     AddNpcInput(99, 12, "I\'ll start right away!");
        action     AddNpcInput(99, 13, "That sounds too hard...");
        rule         InputNpc(12) goto Get(ITEM)
        rule         InputNpc(13) goto Restart6
}

State Get(ITEM)
{
        desc        "Get 1 (ITEM)"

        rule         GotItems(ItemID, amount) goto Return
}

State Return
{
        desc        "Return to (NPC)"

        action     AddNpcText(99, "Thank you! now, please defeat those beasts and return to me once more!");
        action     AddNpcInput(99, 14, "I\'m on it!");
        rule         InputNpc(14) goto Kill(NPC)
}

State Kill(NPC)
{
        desc        ''Kill 1 (NPC)''

        rule         KilledNpcs(NpcID, amount) goto Kill(NPC)2
}

State Kill(NPC)2
{
        desc        "Kill 1 (NPC)"

        rule         KilledNpcs(NpcID, amount) goto Kill(NPC)3
}

State Kill(NPC)3
{
        desc        "Kill 1 (NPC)"

        rule         KilledNpcs(NpcID, amount) goto Kill(NPC)4
}

State Kill(NPC)4
{
        desc        "Kill 1 (NPC)"

        rule         KilledNpcs(NpcID, amount) goto Kill(NPC)5
}

State Kill(NPC)5
{
        desc        "Kill 1 (NPC)"

        rule         KilledNpcs(NpcID, amount) goto Return2
}

State Return2
{
        desc        "Return to (NPC)"

        action     AddNpcText(99, "Thank you for helping me to redeem myself so that I may return home to my wife. Here, take these!");
        action     GiveItem(ID, amount);
        action     GiveItem(ID, amount);
        action     GiveItem(ID, amount);
        action     End();
}

State Restart
}
        action     AddNpcText(99, "Yeah, go on, shoo!");
        action     Reset();
}

State Restart2
{
        desc        "Talk to (NPC)"
        action     AddNpcText(99, "I don\'t want your damn help anyway!");
        action     Reset();
}

State Restart3
{
        desc        "Talk to (NPC)"

        action     AddNpcText(99, "Well.. who needs you anyway...");
        action     Reset();
}

State Restart4
{
        desc        "Talk to (NPC)"

        action     AddNpcText(99, "Well then quit wasting my time if you\'re not up for the challange!");
        action     Reset();
}

State Restart5
{
        desc        "Talk to (NPC)"

        action     AddNpcText(99, "I don\'t have time to wait around for you!");
        action     Reset();
}

State Restart6
{
        desc        "Talk to (NPC)"

        action     AddNpcText(99, "You\'re not an adventurer. you\'re a coward!");
        action     Reset();
}