Stop gaining EXP at Specific Level

REKT

New member
Messages
372
Points
0
Emulator
Other
Hello, i just need this source modifications badly, is there way or how can i stop gaining the player EXP and JOB at level 200 and job at 99?

Since my server is 255/120 and i want them to achieved through quest or my custom quest board etc etc.

maybe in the mob.c or i dont know where. just in my mind lol
default_tongue.png


If someone help that would be greatly appreciateed!

 
in mob.c

Code:
		if (map->list[m].flag.nobaseexp || !md->db->base_exp)			base_exp = 0;		else			base_exp = (unsigned int)cap_value(md->db->base_exp * per * bonus/100. * map->list[m].bexp/100., 1, UINT_MAX);		if (map->list[m].flag.nojobexp || !md->db->job_exp || md->dmglog[i].flag == MDLF_HOMUN) //Homun earned job-exp is always lost.			job_exp = 0;		else			job_exp = (unsigned int)cap_value(md->db->job_exp * per * bonus/100. * map->list[m].jexp/100., 1, UINT_MAX);
Edit mob.c
Code:
		if (map->list[m].flag.nobaseexp || !md->db->base_exp || (sd->status.base_level >= 200))			base_exp = 0;		else			base_exp = (unsigned int)cap_value(md->db->base_exp * per * bonus/100. * map->list[m].bexp/100., 1, UINT_MAX);		if (map->list[m].flag.nojobexp || !md->db->job_exp || md->dmglog[i].flag == MDLF_HOMUN || (sd->status.job_level >= 99)) //Homun earned job-exp is always lost.			job_exp = 0;		else			job_exp = (unsigned int)cap_value(md->db->job_exp * per * bonus/100. * map->list[m].jexp/100., 1, UINT_MAX);
 
in mob.c

if (map->list[m].flag.nobaseexp || !md->db->base_exp) base_exp = 0; else base_exp = (unsigned int)cap_value(md->db->base_exp * per * bonus/100. * map->list[m].bexp/100., 1, UINT_MAX); if (map->list[m].flag.nojobexp || !md->db->job_exp || md->dmglog.flag == MDLF_HOMUN) //Homun earned job-exp is always lost. job_exp = 0; else job_exp = (unsigned int)cap_value(md->db->job_exp * per * bonus/100. * map->list[m].jexp/100., 1, UINT_MAX);Edit mob.c
Code:
		if (map->list[m].flag.nobaseexp || !md->db->base_exp || (sd->status.base_level >= 200))			base_exp = 0;		else			base_exp = (unsigned int)cap_value(md->db->base_exp * per * bonus/100. * map->list[m].bexp/100., 1, UINT_MAX);		if (map->list[m].flag.nojobexp || !md->db->job_exp || md->dmglog[i].flag == MDLF_HOMUN || (sd->status.job_level >= 99)) //Homun earned job-exp is always lost.			job_exp = 0;		else			job_exp = (unsigned int)cap_value(md->db->job_exp * per * bonus/100. * map->list[m].jexp/100., 1, UINT_MAX);
Alright thank you, i'll try this i'll let you know if its working.

 
nope, tested, this modification only stop gain exp normally

it doesn't stop MVP exp

also, the one who should stop gaining exp,

can still gain exp by having other party member kill the monster for him/her with party share exp enabled

@@Vlync

http://herc.ws/board/topic/11587-maxlvexpgain/

 
Last edited by a moderator:
nope, tested, this modification only stop gain exp normally

it doesn't stop MVP exp

also, the one who should stop gaining exp,

can still gain exp by having other party member kill the monster for him/her with party share exp enabled

@@Vlync

http://herc.ws/board/topic/11587-maxlvexpgain/
@@AnnieRuru

LOL, what a coincidence! i didn't know that some of the user here is already requesting.

Wow, plugin~ Thank you for this
default_tongue.png


Can i request a mapflag nightmap?

Credits: Masao

https://www.eathena.ws/board/index.php?act=attach&type=post&id=10131

 
Last edited by a moderator:
nope, tested, this modification only stop gain exp normally

it doesn't stop MVP exp

also, the one who should stop gaining exp,

can still gain exp by having other party member kill the monster for him/her with party share exp enabled

@@Vlync

http://herc.ws/board/topic/11587-maxlvexpgain/
@@AnnieRuru

LOL, what a coincidence! i didn't know that some of the user here is already requesting.

Wow, plugin~ Thank you for this
default_tongue.png


Can i request a mapflag nightmap?

Credits: Masao

https://www.eathena.ws/board/index.php?act=attach&type=post&id=10131
already exist  https://github.com/HerculesWS/Hercules/blob/master/npc/mapflag/night.txt

 
I actually found a bug in our repo while writing this plugin

it seems that when nightenabled mapflag is on, and atcommand @@Night,

when the player with soul link buff wear off, the night effect disappear until the player switch map

src/map/clif.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)diff --git a/src/map/clif.c b/src/map/clif.cindex a26fece..f474d23 100644--- a/src/map/clif.c+++ b/src/map/clif.c@@ -17580,8 +17580,15 @@ void clif_status_change_end(struct block_list *bl, int tid, enum send_target tar nullpo_retv(bl); - if( bl->type == BL_PC && !((TBL_PC*)bl)->state.active )- return;+ if (bl->type == BL_PC) {+ TBL_PC *sd = BL_CAST(BL_PC, bl);+ if (!(sd->state.active))+ return;+ ShowDebug("%d %d %d %d", map->night_flag, map->list[sd->bl.m].flag.nightenabled, type, SI_SOULLINK );+ if (map->night_flag && map->list[sd->bl.m].flag.nightenabled && type == SI_SOULLINK) // player still has the blue aura ...+// if (map->night_flag && map->list[sd->bl.m].flag.nightenabled && type == SI_SKE) // doesn't work+ return;+ } p.PacketType = status_change_endType; p.index = type;but I don't know the correct code to fix it,in clif_parse_LoadEndAck function, it uses SI_SKE, but doesn't work, because the type doesn't match

but when use SI_SOULLINK, the player still having the blue aura ...

@@Vlync

plugin

@@Angelmelody

nope, this patch only turns 1 single map to night mode

I remember I saw this patch on eathena forum

https://www.eathena.ws/board/index.php?showtopic=273585

EDIT: good... now there is another member name @@Night ....

 
Last edited by a moderator:
Back
Top