Hello and greetings guys, i come from the scene of L2OFF
so today i will share with you on how to make a custom quest in L2OFF
Lets get started.
You will need the GMPanel for decompiling AIs can be downloaded here: https://filebin.net/650x1g0vvbzcon5o
so lets open The AI Editor.
To make the quest repeatable we need to base our quest in an already repeatable one, lets say the Ghost Explorer one (Relics of the Old Empire)
so the NPC that has the quest in AI is explorer_ghost_a , find it and decompile it , you should have this code above
https://pastebin.com/WjvYxi6E
so the quest is as this above.
now we are gonna make our changes
first we need to copy the code and have it in a notepad close completely the AI editor or just recompile it , reopen the gmpanel / ai editor and the ai.obj itself
and press on the " New " or Ctrl + N
class name = for example put "quest_daily_npc" and parent "citizen" and press ok .. so your base is ready.
https://ibb.co/3MfPHfW <- example is here
Now i will explain you everything related on this in order to adjust it by yourself:
first of all :
you paste the code from the previous quest that we copied.
Now your quest must look like this:
https://pastebin.com/YY3uUXDS
so lets make the modifications
https://pastebin.com/c871yGdQ
619 is the quest id you can change it with your desired or you can delete the already existing and just modify this one
-------------------------------------------------------------------------
https://pastebin.com/9knBBGwG
on the case2: is the check for the reward.. practicly this quest is non stop , it checks if you have at least 1000 broken antiques and regarding the check it opens the html pages that correspond to the checks, if you want to replace the number with another amount and the quest item just do it by checking my comments on the pastebin link
now lets move to the :
https://pastebin.com/qirhF0Fn
you can change again here the html with your desired
so we are finally in the time of the reward
the reward code is here:
https://pastebin.com/BRB4F19Y
you can add/ make less rewards
If you want to make it like:
You get rewarded then cooldown until next day you must edit
if( myself::GetCurrentTick() - talker.quest_last_reward_time > 1 ) { talker.quest_last_reward_time = myself::GetCurrentTick();
to
if( myself::GetCurrentTick() - talker.quest_last_reward_time > 12 * 60 * 60 ) { talker.quest_last_reward_time = myself::GetCurrentTick();
I hope i gave you a good base..
Sincerely thank you , if you find my guide bad, i can edit some parts of it to be more clear