How to Change LV UP Effect?

Juan Meissner

New member
Messages
72
Points
0
I was analyzing the SRC, and I started looking for some way to change the Level Up effect, but unfortunately I did not find much else besides that:

Code:
/// Notifies clients in the area about an special/visual effect (ZC_NOTIFY_EFFECT).
/// 019b <id>.L <effect id>.L
/// effect id:
///     0 = base level up
///     1 = job level up
///     2 = refine failure
///     3 = refine success
///     4 = game over
///     5 = pharmacy success
///     6 = pharmacy failure
///     7 = base level up (super novice)
///     8 = job level up (super novice)
///     9 = base level up (taekwon)
void clif_misceffect(struct block_list* bl,int type)
{
	unsigned char buf[32];

	nullpo_retv(bl);

	WBUFW(buf,0) = 0x19b;
	WBUFL(buf,2) = bl->id;
	WBUFL(buf,6) = type;

	clif->send(buf,packet_len(0x19b),bl,AREA);
}
Code:
/*==========================================
 * script set pc status registry
 *------------------------------------------*/
int pc_setparam(struct map_session_data *sd,int type,int val)
{
	int delta;
	nullpo_ret(sd);

	switch(type){
	case SP_BASELEVEL:
		if (val > pc->maxbaselv(sd)) //Capping to max
			val = pc->maxbaselv(sd);
		if (val > sd->status.base_level) {
			int stat = 0, i;
			for (i = 0; i < val - sd->status.base_level; i++)
				stat += pc->gets_status_point(sd->status.base_level + i);
			sd->status.status_point += stat;
		}
		sd->status.base_level = val;
		sd->status.base_exp = 0;
		// clif->updatestatus(sd, SP_BASELEVEL);  // Gets updated at the bottom
		clif->updatestatus(sd, SP_NEXTBASEEXP);
		clif->updatestatus(sd, SP_STATUSPOINT);
		clif->updatestatus(sd, SP_BASEEXP);
		status_calc_pc(sd, SCO_FORCE);
		if(sd->status.party_id)
		{
			party->send_levelup(sd);
		}
		break;
 
Server can select only levelup effect by id. Actual effect belong to client based on id from server.

 
Back
Top