// 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,155,188,0 script Super Convex Mirror::convex 910,{ if (!.display_type) donpcevent strnpcinfo(3)+"::OnInit"; // initialize variables for( set .@i,0; .@i < getarraysize(.mvp_name$); set .@i, .@i+1 ) { switch (.@i) { case 9: set .@alive, mobcount("lhz_dun03","summon_boss_lt::OnMyMvPDead"); break; case 26: set .@alive, ($ktullanux_summon<4 || mobcount("ice_dun03","ice_boss#on::OnMyMobDead")); break; case 28: set .@alive, mobcount("niflheim","NifInvasion::OnLoDDead"); break; case 42: set .@alive, ($@thana_summon<6 || mobcount("thana_boss","#Death::OnThanaDead")); break; default: set .@alive, mobcount(.mvp_map$[.@i],"convex::OnMyMvPDead"); break; } if (.display_type == 2) set .@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 == 2) set .@num, select(.@menu$) -1; if (.warp_to_mvp >= 1) warp .mvp_map$[.@num],0,0; if (.warp_to_mvp == 2) { sleep2 1000; sc_start SC_BOSSMAPINFO,600000,0; } close; OnInit: set .display_type, 1; // 1=mes, 2=menu set .warp_to_mvp, 0; // 0=disabled, 1=enabled, 2=enabled+SC_BOSSMAPINFO setarray .mvp_map$[0], "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_fild11","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$[0], "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"; if (.warp_to_mvp) set .display_type,2; // in order for the user to pick an option, the list must be displayed as a menu OnMyMvPDead: end; }