Jump to content

daim

Members
  • Content Count

    129
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by daim


  1. Hi there,

     

    Is there any proper way to dbug map-server crash without needing connected to putty after issue gdb command?

     

    All this while im doing this way.

     

    1. Login to server putty

    2. gdb map server

    3. wait it crash

    4. then bt full.

     

    but seem not my connection having problem i scared that i wont get gdb once i disconected from putty.

     

    Any idea?


  2. Hi there,

     

    I need quick fix for this.

     

    if a champion lvl 99 sp = 415

    if champion baselvl 98 sp = 658

     

     

    anyone know how to fix it?

     

    post-90-0-13731400-1451193487_thumb.jpg

    post-90-0-70702700-1451193493_thumb.jpg

     

    git version b993924a4b5e82f3961d6b5a579c0204c9e36809

     

     

     

    Ok, after i checked up, 

     

    if you reach baselvl 99 your SP will deducted or lowered when u are on baselvl 98 all job having this issue.

     

    please help.


  3.  

    read the mob_dead function in mob.c file

    	) { //Experience calculation.		int bonus = 100; //Bonus on top of your share (common to all attackers).		int pnum = 0;		if (md->sc.data[SC_RICHMANKIM])			bonus += md->sc.data[SC_RICHMANKIM]->val2;		if(sd) {			temp = status->get_class(&md->bl);			if(sd->sc.data[SC_MIRACLE]) i = 2; //All mobs are Star Targets			else			ARR_FIND(0, MAX_PC_FEELHATE, i, temp == sd->hate_mob[i] &&				(battle_config.allow_skill_without_day || pc->sg_info[i].day_func()));			if(i<MAX_PC_FEELHATE && (temp=pc->checkskill(sd,pc->sg_info[i].bless_id)) > 0)				bonus += (i==2?20:10)*temp;		}		if(battle_config.mobs_level_up && md->level > md->db->lv) // [Valaris]			bonus += (md->level-md->db->lv)*battle_config.mobs_level_up_exp_rate;	for(i = 0; i < DAMAGELOG_SIZE && md->dmglog[i].id; i++) {		int flag=1,zeny=0;		unsigned int base_exp, job_exp;		double per; //Your share of the mob's exp		if (!tmpsd[i]) continue;		if (!battle_config.exp_calc_type && md->tdmg)			//jAthena's exp formula based on total damage.			per = (double)md->dmglog[i].dmg/(double)md->tdmg;		else {			//eAthena's exp formula based on max hp.			per = (double)md->dmglog[i].dmg/(double)mstatus->max_hp;			if (per > 2) per = 2; // prevents unlimited exp gain		}		if (count>1 && battle_config.exp_bonus_attacker) {			//Exp bonus per additional attacker.			if (count > battle_config.exp_bonus_max_attacker)				count = battle_config.exp_bonus_max_attacker;			per += per*((count-1)*battle_config.exp_bonus_attacker)/100.;		}		// change experience for different sized monsters [Valaris]		if (battle_config.mob_size_influence) {			switch( md->special_state.size ) {				case SZ_MEDIUM:					per /= 2.;					break;				case SZ_BIG:					per *= 2.;					break;			}		}		if( md->dmglog[i].flag == MDLF_PET )			per *= battle_config.pet_attack_exp_rate/100.;		if(battle_config.zeny_from_mobs && md->level) {			 // zeny calculation moblv + random moblv [Valaris]			zeny=(int) ((md->level+rnd()%md->level)*per*bonus/100.);			if(md->db->mexp > 0)				zeny*=rnd()%0;		}		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);		if ( (temp = tmpsd[i]->status.party_id) > 0 ) {			int j;			for( j = 0; j < pnum && pt[j].id != temp; j++ ); //Locate party.			if( j == pnum ){ //Possibly add party.				pt[pnum].p = party->search(temp);				if(pt[pnum].p && pt[pnum].p->party.exp) {					pt[pnum].id = temp;					pt[pnum].base_exp = base_exp;					pt[pnum].job_exp = job_exp;					pt[pnum].zeny = zeny; // zeny share [Valaris]					pnum++;					flag=0;				}			} else {				//Add to total				if (pt[j].base_exp > UINT_MAX - base_exp)					pt[j].base_exp = UINT_MAX;				else					pt[j].base_exp += base_exp;				if (pt[j].job_exp > UINT_MAX - job_exp)					pt[j].job_exp = UINT_MAX;				else					pt[j].job_exp += job_exp;				pt[j].zeny+=zeny;  // zeny share [Valaris]				flag=0;			}		}		if(base_exp && md->dmglog[i].flag == MDLF_HOMUN) //tmpsd[i] is null if it has no homunc.			homun->gainexp(tmpsd[i]->hd, base_exp);		if(flag) {			if(base_exp || job_exp) {				if( md->dmglog[i].flag != MDLF_PET || battle_config.pet_attack_exp_to_master ) {#ifdef RENEWAL_EXP					int rate = pc->level_penalty_mod(md->level - (tmpsd[i])->status.base_level, md->status.race, md->status.mode, 1);					base_exp = (unsigned int)cap_value(base_exp * rate / 100, 1, UINT_MAX);					job_exp = (unsigned int)cap_value(job_exp * rate / 100, 1, UINT_MAX);#endif					pc->gainexp(tmpsd[i], &md->bl, base_exp, job_exp, false);				}			}			if(zeny) // zeny from mobs [Valaris]				pc->getzeny(tmpsd[i], zeny, LOG_TYPE_PICKDROP_MONSTER, NULL);		}	}	for( i = 0; i < pnum; i++ ) //Party share.		party->exp_share(pt[i].p, &md->bl, pt[i].base_exp,pt[i].job_exp,pt[i].zeny);	} //End EXP giving.
    possible no.1

    you have Mr.Kim a Rich man buff

     

    possible no.2

    you are a Star Gladiator, and killed a mob that is under Blessing of Star, Blessing of Moon, Blessing of Sun

     

    possible no.3

    your server has "mobs_level_up" enabled, and the monster leveled up, thus increased its exp gain

     

    possible no.4

    if you kill steal other player's mob, your exp gain rate is less than normal

     

    possible no.5

    your server has "mob_size_influence" enabled, and killing a big size monster gain double exp

     

    possible no.6

    that map has bexp or jexp mapflag enabled, thus exp gain increased by mapflags

     

    possible no.7

    you joined a party and has party share exp option ON, sure you exp gain is share with party members

     

    possible no.8

    you have a pet, and has "pet_attack_exp_rate" enabled , the mob killed by pets are share with you

     

    nope, no more possible no.9 with default hercules source code

    unless you have modified something

     

     

    Thanks Annie!

     

    My server has this features: possible no.3

     

    thank you again!


  4. Hi guys,

     

    Issit i would like a script sample to do this:

     

    1. Player use uncard npc.

    2. A varaiable bind on player.

    3. Player only can use uncard npc again after 1 month of time.

     

    hope someone can help.

     

    thanks


  5. @@daim

     

    Original Code

    ATK_ADDRATE(map_flag_gvg(src->m)?25:100); //+25% dmg on woe/+100% dmg on nonwoe

    Change to this

    ATK_ADDRATE(map_flag_gvg(src->m)?25:25); //+25% dmg on woe/+100% dmg on nonwoe

    if you want to reduce it, just change the value 25:25

     

    BTW as you can see

    25:100 is the percent in boosting the sonic blow when soul link

    25 for War of Emperium

    100 for PVP

    and already mentioned in the comment line //+25% dmg on woe/+100% dmg on nonwoe

     

    Hi thanks,

     

    But i would like the modifier based on weapon they using sir.

    Anyone can help?

     

     

    thanks.


  6. Hi all

     

    i would like to add another code similiar as this 

     

     

    ATK_ADDRATE(map_flag_gvg(src->m)?25:100); //+25% dmg on woe/+100% dmg on nonwoe

     

    what i want try to do is add check if player equip certain weapon id and it  will do the damage % cap like above code. Let say if the player using infiltrator item id 1267, it will give atk_addrate 25%. how can i accomplish this?

     

    thanks

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.