Jump to content
  • 0

Punching bag error [Script has no error!]


Yukaiii

Question


  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   9
  • Joined:  11/20/13
  • Last Seen:  

Hello everybody!
Guys, I'm having a problem with my emulator.
In fact, the error only appears when the player hits the punching bag.
the script does not present any type of error in the emulator, only when it is used does it indicate this error.

Could anyone tell me how to resolve this error?

 

"These are the two errors that appear in the server's cmd"

[Error]:Value for setting 'mob_max_skilllvl': 150 is invalid (min:1 max:100)! Defaulting to 100

[Error]: clif_send: Unrecognized type 81

 

// Advance Punching Bag with Parameter settings
// by pajodex
// Video preview : https://www.youtube.com/watch?v=RoLhYx-Iny8

prontera,224,79,0	script	Set Parameters#0	844,{
function get_size_name;
function get_race_name;
function get_ele_name;
	ignoretimeout 1;
	mes "Current punching bag info:";
	.@dupid = atoi(strnpcinfo(2));
	getunitdata .gid[.@dupid], .@data;
	mes "Size : "+ get_size_name(.@data[UMOB_SIZE]);
	mes "Level : "+ .@data[UMOB_LEVEL];
	mes "Race : "+ get_race_name(.@data[UMOB_RACE]);
	mes "Element : "+ get_ele_name(.@data[UMOB_ELETYPE]) +" Lv. "+ .@data[UMOB_ELELEVEL];
	mes "Stats : ";
	mes "==============================";
	mes "Str - "+ .@data[UMOB_STR] +"    Agi - "+ .@data[UMOB_AGI] +"    Vit - "+ .@data[UMOB_VIT];
	mes "Int - "+ .@data[UMOB_INT] +"    Dex - "+ .@data[UMOB_DEX] +"    Luk - "+ .@data[UMOB_LUK];
	mes "Def - "+ .@data[UMOB_DEF] +"    Mdef - "+ .@data[UMOB_MDEF];
	next;
	if ( select("> Set parameter:Cancel") == 2 ) {
		mes "Bye";
		close;
	}
	do {
		mes "Select which parameter to change.";
		next;
		switch(select("> Size [ ^ff0000"+(.@UMOB_SIZE ? get_size_name(.@UMOB_SIZE):get_size_name(.UMOB_SIZE))+"^000000 ]:> Level [ ^ff0000"+(.@UMOB_LEVEL ? .@UMOB_LEVEL:.UMOB_LEVEL)+"^000000 ]:> Race [ ^ff0000"+(.@UMOB_RACE ? get_race_name(.@UMOB_RACE):get_race_name(.UMOB_RACE))+"^000000 ]:> Element [ ^ff0000"+(.@UMOB_ELETYPE ? get_ele_name(.@UMOB_ELETYPE):get_ele_name(.UMOB_ELETYPE))+" Lv "+(.@UMOB_ELELEVEL ? .@UMOB_ELELEVEL:.UMOB_ELELEVEL)+"^000000 ]:> Stats:> Enter Mob ID:^0000ffDone^000000")) {
		case 1:
			.@UMOB_SIZE = select("- Small:- Medium:- Large")-1;
			break;
		case 2:
			mes "Input level (1-"+.maxlv+"):";
			next;
			input .@UMOB_LEVEL, 1, .maxlv;
			break;
		case 3:
			.@UMOB_RACE = select("- Formless:- Undead:- Brute:- Plant:- Insect:- Fish:- Demon:- Demihuman:- Angel:- Dragon:- Player") - 1;
			break;
		case 4:
			mes "Select Element:";
			next;
			.@UMOB_ELETYPE = select("- Neutral:- Water:- Earth:- Fire:- Wind:- Poison:- Holy:- Shadow:- Ghost:- Undead") - 1;
			mes "Select Level:";
			next;
			.@UMOB_ELELEVEL = select("Lv 1:Lv 2:Lv 3:Lv 4");
			break;
		case 5:
			mes "Select:";
			next;
			switch(select("> STR [ ^ff0000"+(.@UMOB_STR ? .@UMOB_STR:.UMOB_STR)+"^000000 ]:> AGI [ ^ff0000"+(.@UMOB_AGI ? .@UMOB_AGI:.UMOB_AGI)+"^000000 ]:> VIT [ ^ff0000"+(.@UMOB_VIT ? .@UMOB_VIT:.UMOB_VIT)+"^000000 ]:> INT [ ^ff0000"+(.@UMOB_INT ? .@UMOB_INT:.UMOB_INT)+"^000000 ]:> DEX [ ^ff0000"+(.@UMOB_DEX ? .@UMOB_DEX:.UMOB_DEX)+"^000000 ]:> LUK [ ^ff0000"+(.@UMOB_LUK ? .@UMOB_LUK:.UMOB_LUK)+"^000000 ]:> DEF [ ^ff0000"+(.@UMOB_DEF ? .@UMOB_DEF:.UMOB_DEF)+"^000000 ]:> MDEF [ ^ff0000"+(.@UMOB_MDEF ? .@UMOB_MDEF:.UMOB_MDEF)+"^000000 ]")) {
				case 1: .@data$ = "STR"; break;
				case 2: .@data$ = "AGI"; break;
				case 3: .@data$ = "VIT"; break;
				case 4: .@data$ = "INT"; break;
				case 5: .@data$ = "DEX"; break;
				case 6: .@data$ = "LUK"; break;
				case 7: .@data$ = "DEF"; break;
				case 8: .@data$ = "MDEF"; break;
			}
			mes "Value (1-"+.max_stat+":";
			next;
			input .@val, 1, .max_stat;
			setd ".@UMOB_"+.@data$, .@val;
			break;
		case 6:
			mes "Enter Monster ID to simulate:";
			next;
			input .@val;
			if ( (.@name_english$ = getmonsterinfo(.@val, MOB_NAME)) == "null" ) {
				mes "Cannot find Monster ID "+.@val+" on the database!";
				next;
				break;
			}
			query_sql("SELECT `element_level` FROM `"+(checkre(0) ? "mob_db_re":"mob_db")+"` WHERE `id` = '"+.@val+"'", .@UMOB_ELELEVEL);
			.@UMOB_LEVEL = getmonsterinfo(.@val, MOB_LV);
			.@UMOB_SIZE = getmonsterinfo(.@val, MOB_SIZE);
			.@UMOB_RACE = getmonsterinfo(.@val, MOB_RACE);
			.@UMOB_ELETYPE = getmonsterinfo(.@val, MOB_ELEMENT);
			.@UMOB_DEF = getmonsterinfo(.@val, MOB_DEF);
			.@UMOB_MDEF = getmonsterinfo(.@val, MOB_MDEF);
			.@UMOB_STR = getmonsterinfo(.@val, MOB_STR);
			.@UMOB_AGI = getmonsterinfo(.@val, MOB_AGI);
			.@UMOB_VIT = getmonsterinfo(.@val, MOB_VIT);
			.@UMOB_INT = getmonsterinfo(.@val, MOB_INT);
			.@UMOB_DEX = getmonsterinfo(.@val, MOB_DEX);
			.@UMOB_LUK = getmonsterinfo(.@val, MOB_LUK);
			mes "Fetching and applying data of monster '"+.@name_english$+"("+.@val+")' on punching bag...";
			next;
			break;
	
		default: // Finalize
			.@done = true;
			break;
		}
	} while ( !.@done );
	mes "Please review before I spawn:";
	mes "Size : "+ get_size_name((.@UMOB_SIZE ? .@UMOB_SIZE:.UMOB_SIZE));
	mes "Level : "+ (.@UMOB_LEVEL ? .@UMOB_LEVEL:.UMOB_LEVEL);
	mes "Race : "+ get_race_name((.@UMOB_RACE ? .@UMOB_RACE:.UMOB_RACE));
	mes "Element : "+ get_ele_name((.@UMOB_ELETYPE ? .@UMOB_ELETYPE:.UMOB_ELETYPE)) +" Lv. "+ (.@UMOB_ELELEVEL ? .@UMOB_ELELEVEL:.UMOB_ELELEVEL);
	mes "Stats : ";
	mes "==============================";
	mes "Str - "+ (.@UMOB_STR ? .@UMOB_STR:.UMOB_STR) +"    Agi - "+ (.@UMOB_AGI ? .@UMOB_AGI:.UMOB_AGI) +"    Vit - "+ (.@UMOB_VIT ? .@UMOB_VIT:.UMOB_VIT);
	mes "Int - "+ (.@UMOB_INT ? .@UMOB_INT:.UMOB_INT) +"    Dex - "+ (.@UMOB_DEX ? .@UMOB_DEX:.UMOB_DEX) +"    Luk - "+ (.@UMOB_LUK ? .@UMOB_LUK:.UMOB_LUK);
	mes "Def - "+ (.@UMOB_DEF ? .@UMOB_DEF:.UMOB_DEF) +"    Mdef - "+ (.@UMOB_MDEF ? .@UMOB_MDEF:.UMOB_MDEF);
	next;
	if (select("> Finalize!:> Cancel")==2) close;
	mes "Done!";
	close2;
	.UMOB_SIZE = (.@UMOB_SIZE) ? .@UMOB_SIZE:.UMOB_SIZE;
	.UMOB_LEVEL = (.@UMOB_LEVEL) ? .@UMOB_LEVEL:.UMOB_LEVEL;
	.UMOB_RACE = (.@UMOB_RACE) ? .@UMOB_RACE:.UMOB_RACE;
	.UMOB_ELETYPE = (.@UMOB_ELETYPE) ? .@UMOB_ELETYPE:.UMOB_ELETYPE;
	.UMOB_ELELEVEL = (.@UMOB_ELELEVEL) ? .@UMOB_ELELEVEL:.UMOB_ELELEVEL;
	.UMOB_STR = (.@UMOB_STR) ? .@UMOB_STR:.UMOB_STR;
	.UMOB_AGI = (.@UMOB_AGI) ? .@UMOB_AGI:.UMOB_AGI;
	.UMOB_VIT = (.@UMOB_VIT) ? .@UMOB_VIT:.UMOB_VIT;
	.UMOB_INT = (.@UMOB_INT) ? .@UMOB_INT:.UMOB_INT;
	.UMOB_DEX = (.@UMOB_DEX) ? .@UMOB_DEX:.UMOB_DEX;
	.UMOB_LUK = (.@UMOB_LUK) ? .@UMOB_LUK:.UMOB_LUK;
	.UMOB_DEF = (.@UMOB_DEF) ? .@UMOB_DEF:.UMOB_DEF;
	.UMOB_MDEF = (.@UMOB_MDEF) ? .@UMOB_MDEF:.UMOB_MDEF;
	killmonster strnpcinfo(4),strnpcinfo(0)+"::OnMyMobDead";
	donpcevent strnpcinfo(0)+"::OnMyMobDead";
	end;
	
OnInit:
	// Max level players can input
	.maxlv = 99; 

	// Max stats players can input 
	.max_stat = 999;
	
	// Max hp - don't change if you dont know what you are doing
	.UMOB_MAXHP = 2000000000;

	// Default values on initial spawn
	.UMOB_SIZE = 1;
	.UMOB_LEVEL = 10;
	.UMOB_RACE = 3;
	.UMOB_ELETYPE = 1;
	.UMOB_ELELEVEL = 1;
	.UMOB_STR = 5;
	.UMOB_AGI = 5;
	.UMOB_VIT = 5;
	.UMOB_INT = 5;
	.UMOB_DEX = 5;
	.UMOB_LUK = 5;
	.UMOB_DEF = 10;
	.UMOB_MDEF = 10;

OnMyMobDead:
	getunitdata(getnpcid(0), .@d);
	monster strnpcinfo(4),.@d[UNPC_X],.@d[UNPC_Y],"Punching Bag",(!checkre(0))?1905:2411,1,strnpcinfo(0)+"::OnMyMobDead";
	.@dupid = atoi(strnpcinfo(2));
	.gid[.@dupid] = $@mobid[0];
	.mhp[.@dupid] = .UMOB_MAXHP;
	setunitdata .gid[.@dupid],UMOB_MODE,.@d[UMOB_MODE]|0x4000000|0x0200000; // Set MD_STATUS_IMMUNE (0x4000000) because EDP/burn/%MHP based status can skew the DPS counter so much.
	setunitdata .gid[.@dupid],UMOB_MAXHP,.UMOB_MAXHP;
	setunitdata .gid[.@dupid],UMOB_SIZE,.UMOB_SIZE;
	setunitdata .gid[.@dupid],UMOB_LEVEL,.UMOB_LEVEL;
	setunitdata .gid[.@dupid],UMOB_RACE,.UMOB_RACE;
	setunitdata .gid[.@dupid],UMOB_ELETYPE,.UMOB_ELETYPE;
	setunitdata .gid[.@dupid],UMOB_ELELEVEL,.UMOB_ELELEVEL;
	setunitdata .gid[.@dupid],UMOB_STR,.UMOB_STR;
	setunitdata .gid[.@dupid],UMOB_AGI,.UMOB_AGI;
	setunitdata .gid[.@dupid],UMOB_VIT,.UMOB_VIT;
	setunitdata .gid[.@dupid],UMOB_INT,.UMOB_INT;
	setunitdata .gid[.@dupid],UMOB_DEX,.UMOB_DEX;
	setunitdata .gid[.@dupid],UMOB_LUK,.UMOB_LUK;
	setunitdata .gid[.@dupid],UMOB_DEF,.UMOB_DEF;
	setunitdata .gid[.@dupid],UMOB_MDEF,.UMOB_MDEF;
	initnpctimer;
	end;
	
OnTimer5000:
	.@dupid = atoi(strnpcinfo(2));
	if(unitexists(.gid[.@dupid])){
		getunitdata(.gid[.@dupid],.@d);
		.@diff = (.mhp[.@dupid] - .@d[UMOB_HP]);
		if(.@diff > 0){
			npctalk "Punching Bag : I've taken " + F_InsertComma(.@diff/5) + " DPS in last 5 seconds.";
			setunitdata .gid[.@dupid],UMOB_HP,.mhp[.@dupid];
			specialeffect EF_HEAL, .gid[.@dupid];
		}
	}
	initnpctimer;

	function	get_size_name	{
		switch ( getarg(0) ) {
			case 0 : .@val$ = "Small"; break;
			case 1 : .@val$ = "Medium"; break;
			case 2 : .@val$ = "Large"; break;
		}
		return .@val$;
	}
	
	function	get_race_name	{
		switch ( getarg(0) ) {
			case 0: .@val$ = "Formless"; break;
			case 1: .@val$ = "Undead"; break;
			case 2: .@val$ = "Brute"; break;
			case 3: .@val$ = "Plant"; break;
			case 4: .@val$ = "Insect"; break;
			case 5: .@val$ = "Fish"; break;
			case 6: .@val$ = "Demon"; break;
			case 7: .@val$ = "Demihuman"; break;
			case 8: .@val$ = "Angel"; break;
			case 9: .@val$ = "Dragon"; break;
			case 10: .@val$ = "Player"; break;
		}
		return .@val$;
	}
	
	function	get_ele_name	{
		switch ( getarg(0) ) {
			case 0: .@val$ = "Neutral"; break;
			case 1: .@val$ = "Water"; break;
			case 2: .@val$ = "Earth"; break;
			case 3: .@val$ = "Fire"; break;
			case 4: .@val$ = "Wind"; break;
			case 5: .@val$ = "Poison"; break;
			case 6: .@val$ = "Holy"; break;
			case 7: .@val$ = "Shadow"; break;
			case 8: .@val$ = "Ghost"; break;
			case 9: .@val$ = "Undead"; break;
		}
		return .@val$;
	}
}

prontera,216,79,0	duplicate(Set Parameters#0)	Set Parameters#1	844
prontera,224,70,0	duplicate(Set Parameters#0)	Set Parameters#2	844
prontera,216,58,0	duplicate(Set Parameters#0)	Set Parameters#3	844
prontera,224,58,0	duplicate(Set Parameters#0)	Set Parameters#4	844

image.thumb.png.1e1fc2bc992367dc23240e36ed45ca6e.png

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  78
  • Topics Per Day:  0.03
  • Content Count:  436
  • Reputation:   167
  • Joined:  12/12/17
  • Last Seen:  

3 hours ago, Yukaiii said:

[Error]:Value for setting 'mob_max_skilllvl': 150 is invalid (min:1 max:100)! Defaulting to 100

I believe this is not related to the script.

 

 

3 hours ago, Yukaiii said:

[Error]: clif_send: Unrecognized type 81

If you follow the original thread, you should've known that this might have to do with npctalk script command. You can always disable the npctalk part if you want to not get the error. Original thread is attached below:

 

  • Like 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   9
  • Joined:  11/20/13
  • Last Seen:  

22 hours ago, pajodex said:

I believe this is not related to the script.

 

 

If you follow the original thread, you should've known that this might have to do with npctalk script command. You can always disable the npctalk part if you want to not get the error. Original thread is attached below:

 

Solved, thank you!

Link to comment
Share on other sites

Join the conversation

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

Guest
Answer this question...

×   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.

×
×
  • Create New...