Ideas for Quests/ Item Progression

Voya

Golden Oldie
Golden Oldie
Mar 15, 2008
967
53
135
USA
I'm wanting to come up with some NEW ideas for Quests/Item Progression [Upgrades]

And events..

We need to try an revolutionize the Mir3 Community, starting with the content..
 

TheDayIDie

Banned
Banned
Dedicated Member
Jul 29, 2011
4,071
97
135
UK
I'm wanting to come up with some NEW ideas for Quests/Item Progression [Upgrades]

And events..

We need to try an revolutionize the Mir3 Community, starting with the content..

People are to greedy now days to share their idea's.
People are to lazy now days to make new idea's.
If you want to start making a base content for mir3 then start with basic quests/scripts that involve collecting a quest, killing 10 hens and then handing it in. :)

Once you have a base then you can start evolving it and bringing in new features.
I was thinking about making a quest system for each warrior,tao and wizard. At level 50 they will all get a quest that they will complete and receive a part.
Warrior - Part1
Wizard - Part2
Taoist - Part3
-> They must all use their parts to form a key and enter a boss which they must kill to complete the overall quest which will give them a nice reward :P
-> The boss requires teamwork (with the pieces) and with the killing.
My tao pet blows up all mobs around it for 30k damage but only has 500hp
(and will only attack when attacked). They must find get the warrior to tank the boss and then get the wizard next to the boss to hit the pet which will run over and blow them up or do it to good old way of, poison, tank or poison trap :P

-> All party members must be alive as on the death of the boss each class obtain a separate item

Warrior - Heart
Taoist - Horn
Wizard - Hide
These will then be given to one of the characters which will then be crafted into 3 of the special items that i mentioned above and shared around (so you must have trust in the other players) :)

-.- i waffle on :)
 
Last edited:

Shyfx

Dedicated Member
Dedicated Member
May 19, 2007
247
106
89
Random quest NPC I made a while ago as far as I remember it worked OK never got it finished but the idea is there.


QuestDiary\RandomQuests\MainNPC.txt
Code:
{
;-------------------------------------------------------------------------------------

[@Main_RandomQuests]
#ACT
FormatStr "Market_Def\VE_UserData\Characters\%s.ini" %USERNAME
Mov A0 %A9
LoadValue D0 %A0 [RandomQuests] [Index]
LoadValue D1 %A0 [RandomQuests] [Type]
LoadValue A1 %A0 [RandomQuests] [Progress]

#IF
Equal A1 "Mid"
#ACT
GoTo @CheckQuestProgress
Break

#IF
Equal A1 "Done"
#ACT
GoTo @StartNewQuest

;-------------------------------------------------------------------------------------

[@CheckQuestProgress]
#ACT
LoadValue A2 %A0 [RandomQuests] [Objective]
LoadValue D2 %A0 [RandomQuests] [ObjectiveAmount]
LoadValue D3 %A0 [RandomQuests] [CurrentAmount]
LoadValue A3 %A0 [RandomQuests] [Location]
LoadValue D4 %A0 [RandomQuests] [RewardExp]
LoadValue D5 %A0 [RandomQuests] [RewardFame]
LoadValue D6 %A0 [RandomQuests] [RewardGold]
LoadValue D7 %A0 [RandomQuests] [SkipCost]

#IF
Equal D1 0
#ACT
GoTo @MidKillQuest
Break

#IF
Equal D1 1
#ACT
GoTo @MidBootyQuest
Break

;-------------------------------------------------------------------------------------

[@MidKillQuest]
#SAY
{FCOLOR/10}Current Quest Information:{FCOLOR/12}\\
Objective: Kill {FCOLOR/10}<$OUTPUT(D2)> <$OUTPUT(A2)>(s){FCOLOR/12}\
Location: {FCOLOR/10}<$OUTPUT(A3)>{FCOLOR/12}\
Progress: {FCOLOR/10}<$OUTPUT(D3)>{FCOLOR/12} / {FCOLOR/10}<$OUTPUT(D2)>{FCOLOR/12}\
Experience: {FCOLOR/10}<$OUTPUT(D4)>{FCOLOR/12}\
Fame Reward: {FCOLOR/10}<$OUTPUT(D5)>{FCOLOR/12}\
Gold Reward: {FCOLOR/10}<$OUTPUT(D6)>{FCOLOR/12}\\

#IF
Equal D3 %D2 
#SAY
<Complete Quest/@CompleteKillQuest>\
#ELSESAY
{FCOLOR/1}Complete Quest{FCOLOR/12}\

#IF
#SAY
<Skip Quest/@TrySkipQuest>\\
<Leave/@Exit>\

;-------------------------------------------------------------------------------------

[@MidBootyQuest]
#SAY
{FCOLOR/10}Current Quest Information:{FCOLOR/12}\\
Objective: Collect {FCOLOR/10}<$OUTPUT(D2)> <$OUTPUT(A2)>(s){FCOLOR/12}\
Location: {FCOLOR/10}<$OUTPUT(A3)>{FCOLOR/12}\
Experience: {FCOLOR/10}<$OUTPUT(D4)>{FCOLOR/12}\
Fame Reward: {FCOLOR/10}<$OUTPUT(D5)>{FCOLOR/12}\
Gold Reward: {FCOLOR/10}<$OUTPUT(D6)>{FCOLOR/12}\\

#IF
CheckItem %A2 %D2
#SAY
<Complete Quest/@CompleteBootyQuest>\
#ELSESAY
{FCOLOR/1}Complete Quest{FCOLOR/12}\

#IF
#SAY
<Skip Quest/@TrySkipQuest>\\
<Leave/@Exit>\

;-------------------------------------------------------------------------------------

[@TrySkipQuest]
#IF
Equal D7 0
#SAY
{FCOLOR/10}Current Quest Information:{FCOLOR/12}\\
Are you sure you want to skip this quest?\\
<Yes/@SkipQuestFree>\
<No/@Main_RandomQuests>\
#ACT
Break

#IF
CheckFame
#ACT
Mov D8 %P9

#IF
eLarge D8 %D7
#SAY
{FCOLOR/10}Current Quest Information:{FCOLOR/12}\\
Skip Cost: {FCOLOR/10}<$OUTPUT(D7)>{FCOLOR/12} fame\\
Are you sure you want to skip this quest?\\
<Yes/@SkipQuestFame>\
<No/@Main_RandomQuests>\
#ELSESAY
{FCOLOR/10}Current Quest Information:{FCOLOR/12}\\
Skip Cost: {FCOLOR/1}<$OUTPUT(D7)>{FCOLOR/12} fame\
You need more fame to skip this quest.\\
<Back/@Main_RandomQuests>\
<Leave/@Exit>\

;-------------------------------------------------------------------------------------

[@SkipQuestFame]
#IF
CheckFame
#ACT
Mov D8 %P9
Dec D8 %D7
SetFame %D8
GoTo @SkipQuestFree

;-------------------------------------------------------------------------------------

[@SkipQuestFree]
#ACT
FormatStr "Market_Def\VE_UserData\Characters\%s.ini" %USERNAME
SaveValue %A9 [RandomQuests] [Progress] "Done"
GoTo @Main_RandomQuests

;-------------------------------------------------------------------------------------

[@CompleteKillQuest]
#ACT
GoTo @LoadQuestRewards

;-------------------------------------------------------------------------------------

[@CompleteBootyQuest]
#IF
CheckItem %A2 %D2
#ACT
Take %A2 %D2
GoTo @LoadQuestRewards
#ELSEACT
GoTo @MidBootyQuest

;-------------------------------------------------------------------------------------

[@LoadQuestRewards]
#ACT
FormatStr "FLD_Index='%s'" %D0
ReadValueSql "VE_RandomQuests" %A9 "FLD_ReEXP, FLD_ReFame, FLD_ReGold, FLD_ReItem, FLD_ReItemAmount" [@QuestRewardsLoaded]
#SAY
{FCOLOR/10}Please Wait...{FCOLOR/12}\

;-------------------------------------------------------------------------------------

[@QuestRewardsLoaded()]
#ACT
Mov D4 %ARG(1)
Mov D5 %ARG(2)
Mov D6 %ARG(3)
Mov A4 %ARG(4)
Mov D7 %ARG(5)

FormatStr "Market_Def\VE_UserData\Characters\%s.ini" %USERNAME
SaveValue %A9 [RandomQuests] [Progress] "Done"

#SAY
{FCOLOR/10}Quest Reward Information:{FCOLOR/12}\\

#IF
!Equal D4 0
#ACT
GiveExp %USERNAME %D4
#SAY
Experience: {FCOLOR/10}<$OUTPUT(D4)>{FCOLOR/12}\

#IF
!Equal D5 0
CheckFame
#ACT
Mov D8 %P9
Inc D8 %D5
SetFame %D8
#SAY
Fame: {FCOLOR/10}<$OUTPUT(D5)>{FCOLOR/12}\

#IF
!Equal D1 0
#ACT
Give Gold %D6
#SAY
Gold: {FCOLOR/10}<$OUTPUT(D6)>{FCOLOR/12}\

#IF
!Equal D7 0
#ACT
Give %A4 %D7
#SAY
Item: {FCOLOR/10}<$OUTPUT(D7)> <$OUTPUT(A4)>{FCOLOR/12}\

#IF
#ACT
SysMsg "Quest Completed!"
#SAY
\
<New Quest/@Main_RandomQuests>\
<Leave/@Exit>\

;-------------------------------------------------------------------------------------
;CHANGE MovR FOR MORE QUESTS (This should be the amount of quests in the database?)
;-------------------------------------------------------------------------------------

[@StartNewQuest]
#ACT
MovR D0 133
FormatStr "FLD_Index='%s'" %D0
ReadValueSql "VE_RandomQuests" %A9 "FLD_MinLevel, FLD_MaxLevel" [@CheckMainQuest]
#SAY
{FCOLOR/10}Please Wait...{FCOLOR/12}\

;-------------------------------------------------------------------------------------

[@CheckMainQuest()]
#IF
CheckLevel
#ACT
Mov D1 %P9
Mov D2 %ARG(1)
Mov D3 %ARG(2)

#IF
eLarge D1 %D2
eSmall D1 %D3
#ACT
SysMsg "After <$OUTPUT(D5)> fails"
Mov D5 0
GoTo @LoadNewQuest
#ELSEACT
Inc D5 1
GoTo @TryStartNewQuest

;-------------------------------------------------------------------------------------

[@TryStartNewQuest]
#IF
Equal D5 10
#ACT
Mov D5 0
#SAY
No Quest.
#ELSEACT
GoTo @StartNewQuest

;-------------------------------------------------------------------------------------

[@LoadNewQuest]
#ACT
FormatStr "FLD_Index='%s'" %D0
ReadValueSql "VE_RandomQuests" %A9 "FLD_Type, FLD_Objective, FLD_ObjAmount, FLD_Location, FLD_SkipCost" [@LoadNewQuestRewards]
#SAY
{FCOLOR/10}Please Wait...{FCOLOR/12}\

;-------------------------------------------------------------------------------------

[@LoadNewQuestRewards()]
#ACT
Mov D1 %ARG(1)
Mov A1 %ARG(2)
Mov D2 %ARG(3)
Mov A2 %ARG(4)
Mov D3 %ARG(5)
FormatStr "FLD_Index='%s'" %D0
ReadValueSql "VE_RandomQuests" %A9 "FLD_ReEXP, FLD_ReFame, FLD_ReGold" [@SaveNewQuest]
#SAY
{FCOLOR/10}Please Wait...{FCOLOR/12}\

;-------------------------------------------------------------------------------------

[@SaveNewQuest()]
#ACT
FormatStr "Market_Def\VE_UserData\Characters\%s.ini" %USERNAME
Mov A0 %A9
Mov D4 %ARG(1)
Mov D5 %ARG(2)
Mov D6 %ARG(3)

SaveValue %A0 [RandomQuests] [Index] %D0
SaveValue %A0 [RandomQuests] [Type] %D1
SaveValue %A0 [RandomQuests] [Location] %A2

SaveValue %A0 [RandomQuests] [Progress] "Mid"
SaveValue %A0 [RandomQuests] [Objective] %A1
SaveValue %A0 [RandomQuests] [CurrentAmount] 0
SaveValue %A0 [RandomQuests] [ObjectiveAmount] %D2

SaveValue %A0 [RandomQuests] [RewardExp] %D4
SaveValue %A0 [RandomQuests] [RewardFame] %D5
SaveValue %A0 [RandomQuests] [RewardGold] %D6

SaveValue %A0 [RandomQuests] [SkipCost] %D3

#IF
Equal D1 0
#ACT
Set [101] 1
#ELSEACT
Set [101] 0

#IF
#ACT
GoTo @Main_RandomQuests

;-------------------------------------------------------------------------------------
}

Map Quests example...

Code:
D103    [0]    0    [MonDie]    Skeleton    *    [MonDeaths\Normal\Skeleton]    [@Main]    Group
D103    [0]    0    [MonDie]    SkeletonAxeHurler    *    [MonDeaths\Normal\SkeletonAxeHurler]    [@Main]    Group
D103    [0]    0    [MonDie]    SkeletonAxeman    *    [MonDeaths\Normal\SkeletonAxeman]    [@Main]    Group
D103    [0]    0    [MonDie]    SkeletonExecutioner    *    [MonDeaths\Normal\SkeletonExecutioner]    [@Main]    Group

Lost the MonDeaths but i think you just need to: Mov A1 "NameOfMob" then call "QuestDiary\RandomQuests\MonsterDeath.txt" [@CheckMonsterDeath]

QuestDiary\RandomQuests\MonsterDeath.txt
Code:
{
;-------------------------------------------------------------------------------------

[@CheckMonsterDeath]
#ACT
FormatStr "Market_Def\VE_UserData\Characters\%s.ini" %USERNAME
Mov A0 %A9
LoadValue A2 %A0 [RandomQuests] [Objective]

#IF
Equal A1 %A2
#ACT
GoTo @UpdateMonsterKill
#ELSEACT
Break

;-------------------------------------------------------------------------------------

[@UpdateMonsterKill]
#ACT
LoadValue D0 %A0 [RandomQuests] [CurrentAmount]
LoadValue D1 %A0 [RandomQuests] [ObjectiveAmount]

Inc D0 1
SaveValue %A0 [RandomQuests] [CurrentAmount] %D0

#IF
Equal D0 %D1
#ACT
Set [101] 0
SysMsg "Quest Complete: Kill <$OUTPUT(D0)>/<$OUTPUT(D1)> <$OUTPUT(A1)>(s)."
#ELSEACT
SysMsg "Quest Progress: Kill <$OUTPUT(D0)>/<$OUTPUT(D1)> <$OUTPUT(A1)>(s)."

;-------------------------------------------------------------------------------------
}

Quest Database ("VE_RandomQuests")

Code:
FLD_Index    FLD_MinLevel    FLD_MaxLevel    FLD_Type    FLD_Objective    FLD_ObjAmount    FLD_Location    FLD_SkipCost    FLD_ReEXP    FLD_ReFame    FLD_ReGold    FLD_ReItem    FLD_ReItemAmount

FLD_Type: 0 = Kill 1 = Booty
FLD_Object: Name of mob or item.
FLDObjAmount: Amount of mobs to kill or items to collect.
FLD_Location: "Bichon Province" or "Zuma Temple" etc.
FLD_SkipCost: The amount of fame it costs to skip.
FLD_Re: Rewards: Exp, Fame, Gold, Item, Item Amont

Obviously some of it is missing because I lost the database and MonDeaths but I guess it's a start.
Not sure if anyone will try and fix it but if someone wants to try good luck.
 

Voya

Golden Oldie
Golden Oldie
Mar 15, 2008
967
53
135
USA
People are to greedy now days to share their idea's.
People are to lazy now days to make new idea's.
If you want to start making a base content for mir3 then start with basic quests/scripts that involve collecting a quest, killing 10 hens and then handing it in. :)

Once you have a base then you can start evolving it and bringing in new features.
I was thinking about making a quest system for each warrior,tao and wizard. At level 50 they will all get a quest that they will complete and receive a part.
Warrior - Part1
Wizard - Part2
Taoist - Part3
-> They must all use their parts to form a key and enter a boss which they must kill to complete the overall quest which will give them a nice reward :P
-> The boss requires teamwork (with the pieces) and with the killing.
My tao pet blows up all mobs around it for 30k damage but only has 500hp
(and will only attack when attacked). They must find get the warrior to tank the boss and then get the wizard next to the boss to hit the pet which will run over and blow them up or do it to good old way of, poison, tank or poison trap :P

-> All party members must be alive as on the death of the boss each class obtain a separate item

Warrior - Heart
Taoist - Horn
Wizard - Hide
These will then be given to one of the characters which will then be crafted into 3 of the special items that i mentioned above and shared around (so you must have trust in the other players) :)

-.- i waffle on :)

Looked over it but only saw one flaw, that's Trusting other people xD
Hard to do nowadays.
 

TheDayIDie

Banned
Banned
Dedicated Member
Jul 29, 2011
4,071
97
135
UK
Looked over it but only saw one flaw, that's Trusting other people xD
Hard to do nowadays.

Exactly, encourages people to invite their buddies onto the game to complete the quest or to build trust in other players.
Makes some what a nice little community in the server/ a higher user base for you :p
 

Voya

Golden Oldie
Golden Oldie
Mar 15, 2008
967
53
135
USA
Exactly, encourages people to invite their buddies onto the game to complete the quest or to build trust in other players.
Makes some what a nice little community in the server/ a higher user base for you :p
Haha :P I dont see me running a server anytime soon, i lack the resources to do so and at the moment the knowledge of how all the stuff works :P