KeiKun Posted April 21, 2012 Posted April 21, 2012 Updated Post #2 v4* Patched with malufett's 3.0 release * Clean his crappy Coding in the patch above and diff patch Quote
malufett Posted April 21, 2012 Author Posted April 21, 2012 @ngek202 yes for consistency..if not it is still ok... Quote
KeiKun Posted April 21, 2012 Posted April 21, 2012 i was late releasing the patch since every time i create a patch with his new version i notice some errors and i need to pm malufett for him to fix it before releasing it "actually i know how to fix it, but i just want to use what he post )" Quote
ngek202 Posted April 23, 2012 Posted April 23, 2012 since rA added the MVP Tomb System I hope they can also add some of your Ideas here, like the Chat Room Timer.. and the next Respawn of the Monster. even though it's not official. Quote
malufett Posted April 23, 2012 Author Posted April 23, 2012 @ngek202 I'll try to make mod for that on rA.... Quote
Jhosef Posted April 23, 2012 Posted April 23, 2012 can i request since the rathena add the tomb system can we put there what time of the monster to respawn??? Quote
malufett Posted April 23, 2012 Author Posted April 23, 2012 @ngek202 & Jhosef Finally I'm done maybe I'll post it later after I take a sleep..^^ Quote
malufett Posted April 24, 2012 Author Posted April 24, 2012 Updated main post... I hope I done it right in making patch files..anyways I test it first so hoping 0% missed lines this time... Quote
malufett Posted April 27, 2012 Author Posted April 27, 2012 @snap yes it is possible... Updated rA Patch for added features to latest rA rev that includes fixes on MVP Tomb and fixed some minor issue..*see main post Quote
Petey Pablo Posted April 28, 2012 Posted April 28, 2012 (edited) error in npc script. im using eathena. [Error]: Loading NPC file: npc/test/tomb_stone.txt script error on npc/heroinro/tomb_stone.txt line 18 parse_line: expect command, missing function name or calling undeclared func tion 16 : { 17 : * 18 : 'e'xplode(.@info$, strnpcinfo(2), "|"); 19 : explode(.@info2$, strnpcinfo(3), "@"); 20 : explode(.@temp$, .tombinfo$, "|"); 21 : 22 : for( set .@i, 0; .@i <= getarraysize(.@temp$); set .@i, .@i +1 ) { 23 : explode(.@temp2$, .@temp$[.@i], "/"); Edited April 28, 2012 by Will Suranol Quote
DemiGod Posted April 28, 2012 Posted April 28, 2012 maybe you should add these code http://sushiduy.plesk3.freepgs.com/EASrcMods/string_cmds/string_cmds_v110_(r14829).patch Quote
Petey Pablo Posted April 28, 2012 Posted April 28, 2012 thanks a20775689. It works with latest revision of eathena. Screenshot: Quote
donkeyg Posted June 28, 2012 Posted June 28, 2012 (edited) @battle.h// rAthena int max_third_parameter; int atcommand_max_stat_bypass; +// Tomb System [malufett] +int show_mvp_tomb; @battle.c **/ { "max_third_parameter", &battle_config.max_third_parameter, 20, 0, INT_MAX, }, { "atcommand_max_stat_bypass", &battle_config.atcommand_max_stat_bypass, 0, 0, 100, }, +{ "skill_amotion_leniency", &battle_config.skill_amotion_leniency, 90, 0, 100, }, +// Tomb System [malufett] +{ "show_mvp_tomb", &battle_config.show_mvp_tomb, 1, 0, 1 }, // Should MVP slaves retain their target when summoned back to their master? mob_slave_keep_target: yes +// Show Tomb when MVP got killed? +show_mvp_tomb: yes @mob.c md->spawn_timer = add_timer(gettick()+spawntime, mob_delayspawn, md->bl.id, 0); +if( md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + struct map_session_data *sd = map_id2sd(md->target_id); + md->target_id = npc_mvp_tomb(md, sd ); +} int mob_spawn (struct mob_data *md) { int i=0; unsigned int tick = gettick(); int c =0; +if(md->status.mode&MD_BOSS && + battle_config.show_mvp_tomb){//Tomb System [malufett] + npc_mvp_tomb(md, NULL); +} clif_clearunit_delayed(&md->bl, CLR_DEAD, tick+250); if(!md->spawn) //Tell status_damage to remove it from memory. return 5; // Note: Actually, it's 4. Oh well... +if( mvp_sd && md->status.mode&MD_BOSS && battle_config.show_mvp_tomb)//Tomb System [malufett] + md->target_id = mvp_sd->bl.id; @npc.c npc_debug_warps_sub(map[m].npc[i]); } +/** MVP Tomb System. [malufett] +**/ +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd){ + char w1[256], w2[256], w3[256]; + struct npc_data *nd = NULL; + + nullpo_ret(md); + + if(sd){ + struct mob_data *boss_md = map_getmob_boss(sd->bl.m); // Search for Boss on this Map and ignore summoned Boss + + if( boss_md != NULL && + boss_md->bl.prev != NULL && + md->bl.id == boss_md->bl.id ) + { + int x = boss_md->bl.x, y = boss_md->bl.y; + const struct TimerData * timer_data = get_timer(md->spawn_timer); + + if(md->spawn_timer == INVALID_TIMER) + return 1; + + sprintf(w2, "Tomb#%d|%d", boss_md->class_, (DIFF_TICK(timer_data->tick, gettick()) + 60)); + sprintf(w1, "%s, %d, %d, 1", map[boss_md->bl.m].name, x , y); + sprintf(w3, "%s@%s", sd->status.name, map[boss_md->bl.m].name); + sprintf(w2, "%s::%s", w2, w3); + sprintf(w3, "%s::OnMyMobDead", w3); + + safestrncpy(md->npc_event, w3, sizeof(md->npc_event)); + npc_parse_duplicate(w1,"duplicate(tomb_stone)",w2,"565", "-", "-", "MVP_TOMB"+boss_md->class_); + + npc_event(sd,md->npc_event,0); + safestrncpy(md->npc_event, "", sizeof(md->npc_event)); + return sd->bl.id; + } + }else{ + struct map_session_data *msd = map_id2sd(md->target_id); + + if(msd != NULL){ + sprintf(w1, "%s@%s", msd->status.name, map[md->bl.m].name); + nd = npc_name2id(w1); + if (nd != NULL){ + npc_unload(nd); + md->target_id = 0; + } + } + } + return 0; +} @npc.h int npc_duplicate4instance(struct npc_data *snd, int m); int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount, int points); +int npc_mvp_tomb(struct mob_data *md, struct map_session_data *sd); does this guide need to follow? because i found that some of the word doesn't contain inside the files and i think that guide is old... so i just follow inside this MVP_Tomb_Added_Features_15981_v1.1.PATCH and compile my server ... but even i compiled the server successfully and after killed a mvp the client also auto crashes.. what happened? my eyes very pain... it used my 1 hour to check it out=.= but still failed... EDITED: yes, im sure im using latest miruku data.grf and rdata.grf bump Edited June 27, 2012 by donkeyg Quote
jysn Posted June 28, 2012 Posted June 28, 2012 its default on the latest revision. conf/battle/monster.conf // Wheter or not to spawn the mvp tomb. // See http://irowiki.org/wiki/MVP#Gravestone mvp_tomb_enabled: yes Quote
zmref Posted July 20, 2012 Posted July 20, 2012 What if I got an MVP Room the one that summons the MVP boss, Conflict? Quote
malufett Posted August 4, 2012 Author Posted August 4, 2012 What if I got an MVP Room the one that summons the MVP boss, Conflict nope unless you summon it as boss monster... Quote
devillokixii Posted September 6, 2012 Posted September 6, 2012 help 1>------ Build started: Project: map-server_sql, Configuration: Debug Win32 ------ 1> mob.c 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\common\nullpo.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\common\mmo.h(133): warning C4005: 'MAX_ATTRIBUTE' : macro redefinition 1> c:\users\user\desktop\3ceam runk\blackrockxii\src\common\mmo.h(132) : see previous definition of 'MAX_ATTRIBUTE' 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\battle.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\unit.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\unit.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\unit.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\unit.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\unit.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\battle.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\unit.h : warning C4819: The file contains a character that cannot be represented in the current code page (874). Save the file in Unicode format to prevent data loss 1>c:\users\user\desktop\3ceam runk\blackrockxii\src\map\mob.c(2581): error C2143: syntax error : missing ';' before 'type' ========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ========== if (battle_config.mvp_tomb_enabled && md->spawn->boss){ md->target_id = mvp_sd->bl.id; if( !rebirth ) mob_setdelayspawn(md); //Set respawning. return 3; //Remove from map. } 2581 void mob_revive(struct mob_data *md, unsigned int hp) { unsigned int tick = gettick(); md->state.skillstate = MSS_IDLE; md->last_thinktime = tick; md->next_walktime = tick+rand()%50+5000; md->last_linktime = tick; md->last_pcneartime = 0; memset(md->dmglog, 0, sizeof(md->dmglog)); // Reset the damage done on the rebirthed monster, otherwise will grant full exp + damage done. [Valaris] md->tdmg = 0; if (!md->bl.prev) map_addblock(&md->bl); clif_spawn(&md->bl); skill_unit_move(&md->bl,tick,1); mobskill_use(md, tick, MSC_SPAWN); if (battle_config.show_mob_info&3) clif_charnameack (0, &md->bl); } Quote
malufett Posted September 6, 2012 Author Posted September 6, 2012 make sure you save your changes as ANSI and you properly added the diffs...then re compile.. Quote
kaka19 Posted September 14, 2012 Posted September 14, 2012 (edited) make sure you save your changes as ANSI and you properly added the diffs...then re compile.. im using latest Rathena. but there is no count timer on tomb stone npc.. how can i add it? and Where can i find tomb Stone npc in rathena svn? thx before Edited September 15, 2012 by kaka19 Quote
HitsuzenRO Posted October 9, 2012 Posted October 9, 2012 (edited) It works pretty well!!! thank you ! Just something weird: it works pretty fine for almost any MVP, but when i kill Atroce at ra_fild02, after i click the npc to view the info, map server crashes without any error message o.o anyone has any idea why could this be happening??? EDIT: I'm using eAthena last revision. I found that after killing MVP's that spawn in more than 1 place (example: "Dark Lord" at gld_dun04 and gl_chyard, "Atroce" at ra_fild02, 03, 04, etc) the map server crashes but without any message error :S hope this can help to find a fix for this I just Killed Valkyrie Randgris and the same happened... but... i think it's because of the respawn time o.o this 3 monsters have respawn time > than 2 hrs... any idea? Edited October 9, 2012 by HitsuzenRO Quote
GodKnows Jhomz Posted October 10, 2012 Posted October 10, 2012 Is there any video tutorial on how to add mvp tomb to server? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.