A quick way to do this without changing any of the source would be to overwrite the @go command using bindatcmd:
- script atcmd_go -1,{
OnInit:
bindatcmd "go",strnpcinfo(3)+"::OnAtcommand";
end;
OnAtcommand:
if(!getarraysize(.@atcmd_parameters$)) {
message strcharinfo(0), "Invalid syntax.";
end;
}
.@location = .@atcmd_parameters$[0];
if(.@location == 0){
if(BaseLevel < 100){
dispbottom "You need to be atleast Base Level 100 to go there!";
} else {
atcommand "@go 0";
}
} else {
atcommand "@go "+ .@location;
}
end;
}
Tested and works on my localhost, you'd need to edit to add more if/else's if you want to restrict other locations.