// TMW2 Script
//
// @k <message>
// Broadcast, and broadcast to #world too
//
// @servmsg <message>
// 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;
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;
OnPurify:
getmapxy(.@m$, .@x, .@y, 0);
.@r=60;
.@b=BL_PET;
.@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
for (.@i = 0; .@i < .@c; .@i++) {
specialeffect(FX_LIGHTNING, AREA, .@mbs[.@i]);
unitwarp(.@mbs[.@i], "boss", 25, 25);
}
end;
OnChamp:
setnpcdialogtitle l("Aurora Events")+" - "+$EVENT$;
setskin "aurora_"+$EVENT$;
mes "Please keep your ManaPlus updated.";
//mes "This is a debug message. Your manaplus version is wrong.";
//mes "You should not be reading this. I'll call you a cheater.";
//mes "I hope you report this (if a bug). Reading source code?";
//mes "4144 will hear about this. You are NOT amazing by the way.";
select("Ok");
setskin "";
closeclientdialog;
end;
OnInit:
bindatcmd "k", "@k::OnCall", 60, 80, 1;
bindatcmd "servmsg", "@k::OnServMsg", 80, 99, 1;
bindatcmd "blessing", "@k::OnBuff", 99, 100, 1;
bindatcmd "champ", "@k::OnChamp", 99, 100, 0;
bindatcmd "instcheck", "@k::OnInstCheck", 99, 100, 1;
bindatcmd "instdestr", "@k::OnInstDestroy", 99, 100, 1;
bindatcmd "burnlivio", "@k::OnPurify", 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;
}