Jump to content
  • 0
hendra814

Need fix this MVP check by NPC

Question

I'm using this script right now

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

//===== eAthena Script =======================================
//= Super Convex Mirror
//===== By: ==================================================
//= Brian
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= Detects if every MVP is alive or dead.
//===== Additional Comments: =================================
//= http://www.eathena.ws/board/index.php?showtopic=242050
//============================================================

invek,141,144,0	script	Super Convex Mirror::convex	46,{
	for( .@i = 0; .@i < getarraysize( .mvp_name$ ); .@i++ ) {
		switch (.@i) {
			case 9:
				.@alive = mobcount( "lhz_dun03", "summon_boss_lt::OnMyMvPDead" );
			break;
			case 26:
				.@alive = ( $ktullanux_summon < 4 || mobcount( "ice_dun03","ice_boss#on::OnMyMobDead" ) );
			break;
			case 28: 
				.@alive = mobcount( "niflheim", "NifInvasion::OnLoDDead" );
			break;
			case 42:
				.@alive = ( [email protected]_summon < 6 || mobcount( "thana_boss", "#Death::OnThanaDead" ) );
			break;
			default:
				.@alive = mobcount( .mvp_map$[.@i], "" );
			break;
		}
		
		if ( .display_type == 2 )
			.@menu$ = .@menu$ + ( ( .@alive ) ? "^008000" : "^FF0000" ) + .mvp_name$[.@i] + "^000000 (" + .mvp_map$[.@i] + "):";
		else if ( .display_type == 1 )
			mes ( ( .@alive ) ? "^008000" : "^FF0000" ) + .mvp_name$[.@i] + "^000000 (" + .mvp_map$[.@i] + ")";
	}
	
	if ( .display_type == 1 ) close;
	
	.@num = select( .@menu$ ) - 1;
	
	if (.warp_to_mvp == 1)
		warp .mvp_map$[.@num],0,0;
	else if(.warp_to_mvp == 2) {
		sleep2 1000;
		sc_start SC_BOSSMAPINFO,600000,0;
	}
	end;

	OnInit:
		 // 0 = disabled, 1 = enabled, 2 = enabled + SC_BOSSMAPINFO
		.warp_to_mvp = 0;
		
		setarray .mvp_map$, 
			"moc_pryd06","ra_fild02","ra_fild03","ra_fild04","ve_fild01",
			"ve_fild02","lou_dun03","prt_maze03","abbey03","lhz_dun03",
			"gl_chyard","abyss_03","gef_dun02","gef_dun01","treasure02",
			"pay_fild10","gon_dun03","abbey02","xmas_fild01","ra_san05",
			"prt_sewb4","mosk_dun03","man_fild03","thor_v03","ama_dun03",
			"kh_dun02","ice_dun03","ayo_dun02","niflheim","anthell02",
			"mjolnir_04","pay_dun04","gef_fild02","gef_fild14","gef_fild10",
			"moc_pryd04","in_sphinx5","moc_fild17","ein_dun02","xmas_dun02",
			"beach_dun","spl_fild03","thana_boss","tur_dun04","odin_tem03",
			"jupe_core","lhz_dun02";

		setarray .mvp_name$, 
			"AmonRa","Atroce","Atroce","Atroce","Atroce",
			"Atroce","Bacsojin","Baphomet","Beelzebub","Bio3",
			"DarkLord","Detale","Doppelganger","Dracula","Drake",
			"Eddga","EvilSnakeLord","FallenBishop","Garm","GloomUnderNight",
			"GoldenThiefBug","Gopinich","HardrockMammoth","Ifrit","IncantationSamurai",
			"KielD01","Ktullanux","LadyTanee","LordofDeath","Maya",
			"Mistress","MoonlightFlower","OrcHero","OrcHero","OrcLord",
			"Osiris","Pharaoh","Phreeoni","RSX0806","StormyKnight",
			"TaoGunka","TendrilLion","Thanatos","TurtleGeneral","ValkyrieRandgris",
			"Vesper","Ygnizem";
		
		.display_type = 1;
		
		if( .warp_to_mvp > 0 )
			.display_type = 2;
	end;
}

already could show mvp are still alive (red) or killed (green).

The problem is when character already warp or change location, the npc will put back the killed MVP to alive again.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
On 2/9/2018 at 7:13 PM, GodKnows Jhomz said:
// https://www.eathena.ws/board/index.php?&act=attach&type=post&id=5866

//===== eAthena Script =======================================
//= Super Convex Mirror
//===== By: ==================================================
//= Brian
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= Detects if every MVP is alive or dead.
//===== Additional Comments: =================================
//= http://www.eathena.ws/board/index.php?showtopic=242050
//============================================================

prontera,156,175,3	script	Super Convex Mirror::convex	46,{
	for( [email protected] = 0; [email protected] < getarraysize( .mvp_name$ ); [email protected]++ ) {
		switch ([email protected]) {
			case 9:
				@alive = mobcount( "lhz_dun03", "summon_boss_lt::OnMyMvPDead" );
			break;
			case 26:
				@alive = ( $ktullanux_summon < 4 || mobcount( "ice_dun03","ice_boss#on::OnMyMobDead" ) );
			break;
			case 28: 
				@alive = mobcount( "niflheim", "NifInvasion::OnLoDDead" );
			break;
			case 42:
				@alive = ( [email protected]_summon < 6 || mobcount( "thana_boss", "#Death::OnThanaDead" ) );
			break;
			default:
				@alive = mobcount( .mvp_map$[[email protected]], "" );
			break;
		}
		
		if ( .display_type == 2 )
			[email protected]$ = [email protected]$ + ( ( @alive ) ? "^FF0000" : "^008000" ) + .mvp_name$[[email protected]] + "^000000 (" + .mvp_map$[[email protected]] + "):";
		else if ( .display_type == 1 )
			mes ( ( @alive ) ? "^FF0000" : "^008000" ) + .mvp_name$[[email protected]] + "^000000 (" + .mvp_map$[[email protected]] + ")";
	}
	
	if ( .display_type == 1 ) close;
	
	[email protected] = select( [email protected]$ ) - 1;
	
	if (.warp_to_mvp == 1)
		warp .mvp_map$[[email protected]],0,0;
	else if(.warp_to_mvp == 2) {
		sleep2 1000;
		sc_start SC_BOSSMAPINFO,600000,0;
	}
	end;

	OnInit:
		 // 0 = disabled, 1 = enabled, 2 = enabled + SC_BOSSMAPINFO
		.warp_to_mvp = 0;
		
		setarray .mvp_map$, 
			"moc_pryd06","ra_fild02","ra_fild03","ra_fild04","ve_fild01",
			"ve_fild02","lou_dun03","prt_maze03","abbey03","lhz_dun03",
			"gl_chyard","abyss_03","gef_dun02","gef_dun01","treasure02",
			"pay_fild10","gon_dun03","abbey02","xmas_fild01","ra_san05",
			"prt_sewb4","mosk_dun03","man_fild03","thor_v03","ama_dun03",
			"kh_dun02","ice_dun03","ayo_dun02","niflheim","anthell02",
			"mjolnir_04","pay_dun04","gef_fild02","gef_fild14","gef_fild10",
			"moc_pryd04","in_sphinx5","moc_fild17","ein_dun02","xmas_dun02",
			"beach_dun","spl_fild03","thana_boss","tur_dun04","odin_tem03",
			"jupe_core","lhz_dun02";

		setarray .mvp_name$, 
			"AmonRa","Atroce","Atroce","Atroce","Atroce",
			"Atroce","Bacsojin","Baphomet","Beelzebub","Bio3",
			"DarkLord","Detale","Doppelganger","Dracula","Drake",
			"Eddga","EvilSnakeLord","FallenBishop","Garm","GloomUnderNight",
			"GoldenThiefBug","Gopinich","HardrockMammoth","Ifrit","IncantationSamurai",
			"KielD01","Ktullanux","LadyTanee","LordofDeath","Maya",
			"Mistress","MoonlightFlower","OrcHero","OrcHero","OrcLord",
			"Osiris","Pharaoh","Phreeoni","RSX0806","StormyKnight",
			"TaoGunka","TendrilLion","Thanatos","TurtleGeneral","ValkyrieRandgris",
			"Vesper","Ygnizem";
		
		.display_type = 1;
		
		if( .warp_to_mvp > 0 )
			.display_type = 2;
	end;
}

I also switched the color code.

Already tried the script, but still got same error, even when killed another monster on mvp map it will change the status on the NPC.

already change the script, but still have some issu, i will close this topic.

i will post the script here when already solve the error.

Here the fixed script.

click

Edited by hendra814
Link to comment
Share on other sites

  • 0
1 hour ago, hendra814 said:

I'm using this script right now

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

//===== eAthena Script =======================================
//= Super Convex Mirror
//===== By: ==================================================
//= Brian
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= Detects if every MVP is alive or dead.
//===== Additional Comments: =================================
//= http://www.eathena.ws/board/index.php?showtopic=242050
//============================================================

invek,141,144,0	script	Super Convex Mirror::convex	46,{
	for( .@i = 0; .@i < getarraysize( .mvp_name$ ); .@i++ ) {
		switch (.@i) {
			case 9:
				.@alive = mobcount( "lhz_dun03", "summon_boss_lt::OnMyMvPDead" );
			break;
			case 26:
				.@alive = ( $ktullanux_summon < 4 || mobcount( "ice_dun03","ice_boss#on::OnMyMobDead" ) );
			break;
			case 28: 
				.@alive = mobcount( "niflheim", "NifInvasion::OnLoDDead" );
			break;
			case 42:
				.@alive = ( [email protected]_summon < 6 || mobcount( "thana_boss", "#Death::OnThanaDead" ) );
			break;
			default:
				.@alive = mobcount( .mvp_map$[.@i], "" );
			break;
		}
		
		if ( .display_type == 2 )
			.@menu$ = .@menu$ + ( ( .@alive ) ? "^008000" : "^FF0000" ) + .mvp_name$[.@i] + "^000000 (" + .mvp_map$[.@i] + "):";
		else if ( .display_type == 1 )
			mes ( ( .@alive ) ? "^008000" : "^FF0000" ) + .mvp_name$[.@i] + "^000000 (" + .mvp_map$[.@i] + ")";
	}
	
	if ( .display_type == 1 ) close;
	
	.@num = select( .@menu$ ) - 1;
	
	if (.warp_to_mvp == 1)
		warp .mvp_map$[.@num],0,0;
	else if(.warp_to_mvp == 2) {
		sleep2 1000;
		sc_start SC_BOSSMAPINFO,600000,0;
	}
	end;

	OnInit:
		 // 0 = disabled, 1 = enabled, 2 = enabled + SC_BOSSMAPINFO
		.warp_to_mvp = 0;
		
		setarray .mvp_map$, 
			"moc_pryd06","ra_fild02","ra_fild03","ra_fild04","ve_fild01",
			"ve_fild02","lou_dun03","prt_maze03","abbey03","lhz_dun03",
			"gl_chyard","abyss_03","gef_dun02","gef_dun01","treasure02",
			"pay_fild10","gon_dun03","abbey02","xmas_fild01","ra_san05",
			"prt_sewb4","mosk_dun03","man_fild03","thor_v03","ama_dun03",
			"kh_dun02","ice_dun03","ayo_dun02","niflheim","anthell02",
			"mjolnir_04","pay_dun04","gef_fild02","gef_fild14","gef_fild10",
			"moc_pryd04","in_sphinx5","moc_fild17","ein_dun02","xmas_dun02",
			"beach_dun","spl_fild03","thana_boss","tur_dun04","odin_tem03",
			"jupe_core","lhz_dun02";

		setarray .mvp_name$, 
			"AmonRa","Atroce","Atroce","Atroce","Atroce",
			"Atroce","Bacsojin","Baphomet","Beelzebub","Bio3",
			"DarkLord","Detale","Doppelganger","Dracula","Drake",
			"Eddga","EvilSnakeLord","FallenBishop","Garm","GloomUnderNight",
			"GoldenThiefBug","Gopinich","HardrockMammoth","Ifrit","IncantationSamurai",
			"KielD01","Ktullanux","LadyTanee","LordofDeath","Maya",
			"Mistress","MoonlightFlower","OrcHero","OrcHero","OrcLord",
			"Osiris","Pharaoh","Phreeoni","RSX0806","StormyKnight",
			"TaoGunka","TendrilLion","Thanatos","TurtleGeneral","ValkyrieRandgris",
			"Vesper","Ygnizem";
		
		.display_type = 1;
		
		if( .warp_to_mvp > 0 )
			.display_type = 2;
	end;
}

already could show mvp are still alive (red) or killed (green).

The problem is when character already warp or change location, the npc will put back the killed MVP to alive again.

Try to change [email protected] to @alive ( Remove . ) Just a guess.

Link to comment
Share on other sites

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

//===== eAthena Script =======================================
//= Super Convex Mirror
//===== By: ==================================================
//= Brian
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= Detects if every MVP is alive or dead.
//===== Additional Comments: =================================
//= http://www.eathena.ws/board/index.php?showtopic=242050
//============================================================

prontera,156,175,3	script	Super Convex Mirror::convex	46,{
	for( [email protected] = 0; [email protected] < getarraysize( .mvp_name$ ); [email protected]++ ) {
		switch ([email protected]) {
			case 9:
				@alive = mobcount( "lhz_dun03", "summon_boss_lt::OnMyMvPDead" );
			break;
			case 26:
				@alive = ( $ktullanux_summon < 4 || mobcount( "ice_dun03","ice_boss#on::OnMyMobDead" ) );
			break;
			case 28: 
				@alive = mobcount( "niflheim", "NifInvasion::OnLoDDead" );
			break;
			case 42:
				@alive = ( [email protected]_summon < 6 || mobcount( "thana_boss", "#Death::OnThanaDead" ) );
			break;
			default:
				@alive = mobcount( .mvp_map$[[email protected]], "" );
			break;
		}
		
		if ( .display_type == 2 )
			[email protected]$ = [email protected]$ + ( ( @alive ) ? "^FF0000" : "^008000" ) + .mvp_name$[[email protected]] + "^000000 (" + .mvp_map$[[email protected]] + "):";
		else if ( .display_type == 1 )
			mes ( ( @alive ) ? "^FF0000" : "^008000" ) + .mvp_name$[[email protected]] + "^000000 (" + .mvp_map$[[email protected]] + ")";
	}
	
	if ( .display_type == 1 ) close;
	
	[email protected] = select( [email protected]$ ) - 1;
	
	if (.warp_to_mvp == 1)
		warp .mvp_map$[[email protected]],0,0;
	else if(.warp_to_mvp == 2) {
		sleep2 1000;
		sc_start SC_BOSSMAPINFO,600000,0;
	}
	end;

	OnInit:
		 // 0 = disabled, 1 = enabled, 2 = enabled + SC_BOSSMAPINFO
		.warp_to_mvp = 0;
		
		setarray .mvp_map$, 
			"moc_pryd06","ra_fild02","ra_fild03","ra_fild04","ve_fild01",
			"ve_fild02","lou_dun03","prt_maze03","abbey03","lhz_dun03",
			"gl_chyard","abyss_03","gef_dun02","gef_dun01","treasure02",
			"pay_fild10","gon_dun03","abbey02","xmas_fild01","ra_san05",
			"prt_sewb4","mosk_dun03","man_fild03","thor_v03","ama_dun03",
			"kh_dun02","ice_dun03","ayo_dun02","niflheim","anthell02",
			"mjolnir_04","pay_dun04","gef_fild02","gef_fild14","gef_fild10",
			"moc_pryd04","in_sphinx5","moc_fild17","ein_dun02","xmas_dun02",
			"beach_dun","spl_fild03","thana_boss","tur_dun04","odin_tem03",
			"jupe_core","lhz_dun02";

		setarray .mvp_name$, 
			"AmonRa","Atroce","Atroce","Atroce","Atroce",
			"Atroce","Bacsojin","Baphomet","Beelzebub","Bio3",
			"DarkLord","Detale","Doppelganger","Dracula","Drake",
			"Eddga","EvilSnakeLord","FallenBishop","Garm","GloomUnderNight",
			"GoldenThiefBug","Gopinich","HardrockMammoth","Ifrit","IncantationSamurai",
			"KielD01","Ktullanux","LadyTanee","LordofDeath","Maya",
			"Mistress","MoonlightFlower","OrcHero","OrcHero","OrcLord",
			"Osiris","Pharaoh","Phreeoni","RSX0806","StormyKnight",
			"TaoGunka","TendrilLion","Thanatos","TurtleGeneral","ValkyrieRandgris",
			"Vesper","Ygnizem";
		
		.display_type = 1;
		
		if( .warp_to_mvp > 0 )
			.display_type = 2;
	end;
}

I also switched the color code.

Edited by GodKnows Jhomz
Adding Working Script
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...

Important Information

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