- script Samepl -1,{
OnInit:
bindatcmd "test",strnpcinfo(3) + "::OnAtcommand";
end;
OnAtcommand:
if (getmapusers(.@atcmd_parameters$[0]) != -1) {
message strcharinfo(0), "Map not found.";
}
else if (getmapflag(.@atcmd_parameters$[0], MF_NOWARPTO) && getgmlevel() < 99) {
message strcharinfo(0), "You are not authorized to warp to this map.";
}
else if (getmapflag(.@atcmd_parameters$[0], MF_NOWARP) && getgmlevel() < 99) {
message strcharinfo(0), "You are not authorized to warp from your current map.";
}
else {
message strcharinfo(0), "Warped to " + .@atcmd_parameters$[0];
warp .@atcmd_parameters$[0], 0, 0;
}
end;
}
just add the mapflag MF_NOWARPTO to any map that you want prevent player to warp into those maps.
or change the warp atcommand to enforce random warp
https://github.com/rathena/rathena/blob/master/src/map/atcommand.cpp#L600
mapindex = mapindex_name2idx(map_name, nullptr);
x = 0;
y = 0;