// TMW2 Script // // @k // Broadcast, and broadcast to #world too // // @servmsg // Experimental, uses servicemessage() - requires up to date server - script @k 32767,{ end; OnCall: .@request$ = strcharinfo(0)+": "; .@request$ += implode(.@atcmd_parameters$, " "); channelmes("#world", .@request$); announce l(.@request$), bc_all|bc_npc; end; OnServMsg: .@request$ = strcharinfo(0)+": "; .@request$ += implode(.@atcmd_parameters$, " "); // This can be slow, beware .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC); for (.@i = 0; .@i < .@c; .@i++) { message(.@players[.@i], .@request$); } end; OnInstNuke: // This can be slow, beware .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC); for (.@i = 0; .@i < .@c; .@i++) { attachrid(.@players[.@i]); callfunc "X21INIT", 5; detachrid(); } end; OnDelCells: delcells implode(.@atcmd_parameters$, " "); end; OnHotfix1: maptimer2(getmap(), 10, "Alissa#ED1::OnFin"); end; OnHotfix2: maptimer2(getmap(), 10, instance_npcname("Gak#X21")+"::OnFin"); end; OnBuff: // Disabled command, used for debug purposes .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC); for (.@i = 0; .@i < .@c; .@i++) { attachrid(.@players[.@i]); sc_start SC_INCMHPRATE, 300000, 100; sc_start SC_INCMSPRATE, 300000, 100; sc_start SC_INCFLEERATE, 300000, 100; sc_start SC_INCHITRATE, 300000, 100; sc_start SC_WALKSPEED, 300000, 150; sc_start SC_ATTHASTE_POTION3, 300000, 50; percentheal 100, 100; dispbottom l("YOU WERE BLESSED BY JESUSALVA"); dispbottom l("YOU CAN FEEL THE POWER FLOWING TROUGH YOU."); detachrid(); } end; OnInstDestroy: .@request = implode(.@atcmd_parameters$, " "); if (.@request != 0) instance_destroy(.@request); end; OnInstCheck: .@request$ = implode(.@atcmd_parameters$, " "); dispbottom has_instance2(.@request$); end; OnInit: bindatcmd "k", "@k::OnCall", 60, 80, 1; bindatcmd "servmsg", "@k::OnServMsg", 80, 99, 1; bindatcmd "blessing", "@k::OnBuff", 99, 100, 1; bindatcmd "instcheck", "@k::OnInstCheck", 99, 100, 1; bindatcmd "instdestr", "@k::OnInstDestroy", 99, 100, 1; bindatcmd "instnuke", "@k::OnInstNuke", 99, 100, 1; bindatcmd "hotfix", "@k::OnHotfix1", 99, 100, 1; bindatcmd "altfix", "@k::OnHotfix2", 99, 100, 1; bindatcmd "delcells", "@k::OnDelCells", 99, 100, 1; end; } // kamibroadcast( message{, sender} ) function script kamibroadcast { .@msg$=getarg(0); .@snd$=getarg(1, ""); // Send to #world if (.@snd$ == "") channelmes("#world", " "+.@msg$); else channelmes("#world", "[ "+.@snd$+" ] : "+.@msg$); // Make an announce if (.@snd$ == "") announce .@msg$, bc_all|bc_npc; else announce .@snd$+" : "+.@msg$, bc_all|bc_npc; return; }