Just add another line in both quest_db and questid2display then add additional mob and item id then add the setquest and erasequest.
Sample:
add in db/import/quest_db.txt
100008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Monster Hunter Mission"
add in data/questid2display.txt
100008#Monster Hunter Mission#SG_FEEL#QUE_NOIMAGE#
Kill Poring and bring Jellopy 50 EA together with 50,000 Zeny#
#
In Line 39 edit : //Change the total number (7)
.@mob = rand(1,8);
In Line 45 replace from:
else {.@mob$ = "Anolian"; mhmid = 7003; setquest 100007;} //Anolian Skin
to :
else if(.@mob == 7){.@mob$ = "Anolian"; mhmid = 7003; setquest 100007;} //Anolian Skin
then add after :
else if(.@mob == 8){.@mob$ = "Poring"; mhmid = 909; setquest 100008;} //Jellopy
After that, if you want to add more rewards, go to the rewards section. //Change the total number (11)
find :
.@r = rand(1,12);
after :
if(.@r == 11){.@reward = 5579; .@rewardamt = 1;} //Wanderer's Sakkat
add :
if(.@r == 12){.@reward = 5035; .@rewardamt = 1;} //Poring Hat
Then erase the quest after getting rewards.
after:
if(checkquest(100007) == 1){
erasequest 100007;
}
add :
if(checkquest(100008) == 1){
erasequest 100008;
}
And its done. ( Sorry if the code is so messy XD )
on itemdb.c apply this
static DBMap *itemdb_randomopt_group; /// Random option group DB
struct item_data *dummy_item; /// This is the default dummy item used for non-existant items. [Skotlex]
struct s_roulette_db rd;
+ struct s_item_vend item_vend[MAX_INVENTORY];
/**
* Check if combo exists
If it still doesn't work. I'll just update here whenever I got mine working. Can't do it right now since im not at home.
Can you try this one if it would work. I can't test it right now.
On itemdb.h
find
struct s_item_vend item_vend[MAX_INVENTORY];
replace with
extern struct s_item_vend item_vend[MAX_INVENTORY];
i made some update code from rathena maybe this should be help. i didn't test it cause i don't have time =P
WARNING Backup first and use a test server if stable,
Note : Update for newer GIT NO (bug fix and add on).
version 1.9.5.diff
for the step 2
in atcommand.c, search for this part
/**
* Command reference list, place the base of your commands here
**/
AtCommandInfo atcommand_base[] = {
ACMD_DEF2("warp", mapmove),
ACMD_DEF(where),
ACMD_DEF(autostore),
ACMD_DEF(jumpto),
add your command there
ex.
/**
* Command reference list, place the base of your commands here
**/
AtCommandInfo atcommand_base[] = {
+ ACMD_DEF(newcommand),
ACMD_DEF2("warp", mapmove),
ACMD_DEF(where),
ACMD_DEF(autostore),
ACMD_DEF(jumpto),