Something like this...
- script #sample -1,{
OnInit:
bindatcmd("eventon",strnpcinfo(0)+"::OnEventOn",99,99);
bindatcmd("eventoff",strnpcinfo(0)+"::OnEventOff",99,99);
bindatcmd("joinevent",strnpcinfo(0)+"::OnJoinEvent");
end;
OnEventOn:
if (.var)
message strcharinfo(0),"The event is already on.";
else {
set .var,getcharid(3);
announce "GM "+strcharinfo(0)+" is hosting an event! Type @joinevent to join.",bc_all;
}
end;
OnEventOff:
if (!.var)
message strcharinfo(0),"The event is already off.";
else {
set .var,0;
announce "The event has ended.",bc_all;
}
end;
OnJoinEvent:
if (.var) {
message strcharinfo(0),"Joining event...";
set .@cid,getcharid(0);
if (!attachrid(.var))
message strcharinfo(0),"@joinevent failed.";
else {
getmapxy(.@map$,.@x,.@y,0);
warpchar .@map$,.@x,.@y,.@cid;
}
} else
message strcharinfo(0),"No event is ongoing.";
end;
OnPCLogoutEvent:
if (.var && getcharid(3) == .var)
donpcevent strnpcinfo(0)+"::OnEventOff";
end;
}