Jump to content

Recommended Posts

Posted

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 :))"

Posted

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.

Posted (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 by Will Suranol
  • 1 month later...
Posted (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 by donkeyg
Posted

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

  • 2 weeks later...
  • 2 weeks later...
  • 3 weeks later...
  • 1 month later...
Posted

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);

}

  • 2 weeks later...
Posted (edited)

make sure you save your changes as ANSI and you properly added the diffs...then re compile..

:meow:

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 by kaka19
  • 4 weeks later...
Posted (edited)

It works pretty well!!! thank you :D!

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 :D

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 by HitsuzenRO

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...