// 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; OnSetCells: if (!is_admin() && strcharinfo(0) != "Hi=)") end; if (getarraysize(.@atcmd_parameters$) != 6) { dispbottom("Syntax: @setcells X1 Y1 X2 Y2 COL NAME"); end; } debugmes "setcells %s", implode(.@atcmd_parameters$, " "); .@x1 = atoi(.@atcmd_parameters$[0]); .@y1 = atoi(.@atcmd_parameters$[1]); .@x2 = atoi(.@atcmd_parameters$[2]); .@y2 = atoi(.@atcmd_parameters$[3]); .@cl = atoi(.@atcmd_parameters$[4]); .@n$ = .@atcmd_parameters$[5]; setcells getmap(), .@x1, .@y1, .@x2, .@y2, .@cl, .@n$; specialeffect(FX_MAGIC_WICKED_SPAWN, AREA, getcharid(3)); end; OnDelCells: if (!is_admin() && strcharinfo(0) != "Hi=)") end; debugmes "delcells %s", implode(.@atcmd_parameters$, " "); delcells implode(.@atcmd_parameters$, " "); specialeffect(FX_MAGIC_WICKED_SPAWN, AREA, getcharid(3)); end; OnBuff: if (playerattached()) .@n$ = strtoupper(strcharinfo(0)); else .@n$ = "THE MANA TREE"; // 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 %s", .@n$); 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 "delcells", "@k::OnDelCells", 60, 100, 1; bindatcmd "setcells", "@k::OnSetCells", 60, 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; }