Forbidden-Forums
Would you like to react to this message? Create an account in a few clicks or log in to continue.

How to do "Roll/Rolled" and "Daily" Quests!

Go down

How to do "Roll/Rolled" and "Daily" Quests! Empty How to do "Roll/Rolled" and "Daily" Quests!

Post by Soul Sun Nov 27, 2016 11:15 am

Hey guys, i'm posting this incase a few of you decide to write up a few neat quests that uses daily or roll/rolled actions/rules
Now this is a prime example of How to use these rules/actions
I did this on my first attempt of learning it.
But those who don't know what these functions are.

Daily: Resets the quest daily at 12am, (Duhh)
Roll: Rolls in the ingredients needed for the quest as in example: "Collect 10 snake teeth" as the first ingredient, then use "Crow Claws" as 2nd, everyday it'll switch the ingredient's for the first step of the quest.
Rolled: Basically like roll, but it's switches the ingredient's around mixing it up a little.
Hourly: Basically like daily, but resets the timer from once a day to once an hour.

Here's a prime example of these functions in a quest.

Code:
Main
{
    questname    "Baru Supplies (daily)"
   version        1.0
}

state Begin
{
    desc    "Talk to baru shepherd."
   action    Roll(5)
   rule      DoneDaily(1)goto EndWithoutReset // once a day (1)
   rule      Rolled(1)goto Ing1
   rule      Rolled(2)goto Ing2
   rule      Rolled(3)goto Ing3
   rule      Rolled(4)goto Ing4
   rule      Rolled(5)goto Ing5
}
state Ing1
{
    desc    "Find 10 Cranes"
   action    AddNpcText(56, "Oh dear, i seem haved dropped something down the drain, if only I had something to grab it with.");
   action    AddNpcText(56, "Can you find get me some cranes?");
   action    AddNpcInput(56,1, "No way");
   action    AddNpcInput(56,2, "I'm workin on it");
   rule      DoneDaily(1)goto EndWithoutReset // once a day (1)
   rule      InputNpc(1)goto Reset
   rule      GotItems(398,10)goto Shepherd
}
state Shepherd
{
    desc    "Talk to baru shepherd."
   action    AddNpcText(56, "Thank you");
   action    AddNpcText(56, "I'm kind of thirsty, can you get me some Aqua hands?");
   action    AddNpcInput(56,1, "No way");
   action    AddNpcInput(56,2, "I'm working on it");
   rule      DoneDaily(1)goto EndWithoutReset // once a day (1)
   rule      InputNpc(1)goto Reset
   rule      InputNpc(2)goto Ing2
}
state Ing2
{
    desc    "Find 10 Aqua Hands"
   action    RemoveItem(398,10);
   rule      GotItems(474,10)goto Limbo
}
state Limbo
{
    desc    "Talk to baru shepherd."
   action    AddNpcText(56, "Thank you");
   action    AddNpcText(56, "Now i seem a little too hot.");
   action    AddNpcText(56, "Can you get me some ice cubes?");
   action    AddNpcInput(56,1, "No way");
   action    AddNpcInput(56,2, "I'm workin on it");
   rule      DoneDaily(1)goto EndWithoutReset // once a day (1)
   rule      InputNpc(1)goto Reset
   rule      InputNpc(2)goto Ing3
}
state Ing3
{
    desc    "Find 10 Ice Cubes"
   action    RemoveItem(474,10);
   rule    GotItems(338,10)goto BaruTalk
}
state BaruTalk
{
    desc    "Talk to baru shepherd."
   action    AddNpcText(56, "Wonderful, now i'll need Ice gems for my drinks");
   action    AddNpcInput(56,1, "No way");
   action    AddNpcInput(56,2, "I'm workin on it");
   rule      DoneDaily(1)goto EndWithoutReset // once a day (1)
   rule      InputNpc(1)goto Reset
   rule      InputNpc(2)goto Ing4
}
state Ing4
{
    desc    "Find 10 Ice Gems"
   action    RemoveItem(338,10);
   rule      GotItems(337,10)goto TalkBaru
}
state TalkBaru
{
    desc    "Talk to baru shepherd."
   action    AddNpcText(56, "Now i'm gonna need some springs");
   action    AddNpcInput(56,1, "No way");
   action    AddNpcInput(56,2, "I'm workin on it");
   rule      DoneDaily(1)goto EndWithoutReset // once a day (1)
   rule      InputNpc(1)goto Reset
   rule      InputNpc(2)goto Ing5
}
state Ing5
{
    desc    "Find 10 Springs"
   action    RemoveItem(337,10)
   rule      GotItems(478,10)goto Final
}
state Final
{
    desc    "Talk to baru shepherd."
   action    AddNpcText(56, "Wonderful, everything is fixed, and set.");
   action    AddNpcText(56, "Now i ain't so hot, thanks to these cubes.");
   action    AddNpcText(56, "And everything else just helped so much.");
   action    AddNpcText(56, "Take this as an reward.");
   rule      TalkedToNpc(56)goto GetReward
}
state GetReward
{
    action    ShowHint("You gained 2600 exp, and a baru flock!")
    action    GiveExp(2600);
   action    PlaySound(17);
   action    GiveItem(491,1);
   action    ResetDaily();
}
state EndWithoutReset
{
    desc    "Talk to baru shepherd."
   action    AddNpcText(56, "I don't need anything else today.");
   action    AddNpcText(56, "You've finished this quest for today, come back tomorrow.");
   rule      TalkedToNpc(56)goto Reset // requires to talk
}
state Reset
{
    action    Reset();
}
You won't see the ''Hourly'' function used, as i haven't set a hourly quest yet, but there will be one in the works pretty soon.
Hopefully this helps you out a bit in learning a few functions for daily/roll/rolled quests.
If you have any questions, let me know in this topic, or PM me ingame.
Soul
Soul
Founder
Founder

Posts : 8
Realm Gold : 17
Reputation : 0
Join date : 2016-09-29
Age : 29
Location : Canada

http://forbidden-realm.com

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum