Here's an old daily I used for gifts, maybe it can give you a general idea.
Main
{
questname "Get your gift! (Daily)"
version 1
}
state Begin
{
desc "Get your gift! (Daily)"
action AddNpcChat(5, "I have daily free gifts for those above level 20!");
if IsLevel(20) goto Begin1
else Reset();
}
state Begin1
{
desc "Get your gift! (Daily)"
action AddNpcText( 5 , "Welcome to Delos, [name]! Once per day, you can come to me for your free gift!");
action AddNpcInput( 5 , 1 , "Thank you!");
rule InputNpc ( 1 ) goto Check1
}
state Check1
{
desc "Get your gift! (Daily)"
action Roll(5)
rule DoneDaily( 1 ) goto EndWithoutReset
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
{
action GiveItem(16, 50);
action ShowHint("You have won a Gift of Potions!");
action SetState("GetReward");
}
state Ing2
{
action GiveItem(1, 45000);
action ShowHint("You have won a Gift of Cash");
action SetState("GetReward");
}
state Ing3
{
action GiveItem(20, 10);
action ShowHint("You have won a Gift of Exp Potions");
action SetState("GetReward");
}
state Ing4
{
action GiveItem(32, 1);
action ShowHint("You have won a ... Golden...Turd?!");
action SetState("GetReward");
}
state Ing5
{
action GiveItem(451, 1);
action ShowHint("You've won Sunglasses!");
action SetState("GetReward");
}
state GetReward
{
action ShowHint("You have been gifted! (DAILY)");
action PlaySound(3);
action GiveExp(2000)
action ResetDaily();
}
state EndWithoutReset
{
desc "Get your gift! (Pending Reset)"
action ShowHint("You can only complete this quest once a day.");
action AddNpcText( 5 , "You have already had your free gift today, please come back tomorrow." );
rule TalkedToNpc( 5 ) goto Reset
}
state Reset
{
action ShowHint("Get your gift quest aborted...")
action Reset();
}