checkcell()
¶
Warning
This page may contain outdated information, incompatible with the current version of Hercules and its coding standards.
Syntax¶
Description¶
This command will return 1 or 0, depending on whether the specified cell
has the type
flag set or not. There are various types to check, all
mimicking the server's cell_chk enumeration. The types can be found in
db/const.txt
.
The meaning of the individual types can be confusing, so here's an overview.
Overview¶
cell_chkwall
/cell_chkwater
/cell_chkcliff
: these check directly for the terrain component of the specified cell.cell_chkpass
/cell_chkreach
/cell_chknopass
/cell_chknoreach
: passable = not wall & not cliff, reachable = passable wrt. no-stacking modcell_chknpc
/cell_chkbasilica/cell_chklandprotector
/cell_chknovending
/cell_chknochat
: these check for specific dynamic flags (name indicates what they do)
Examples¶
mes("Pick a destination map.");
input(.@map$);
mes("Alright, now give me the coordinates.");
input(.@x);
input(.@y);
if (!checkcell(.@map$, .@x, .@y, cell_chkpass)) {
mes("Can't warp you there, sorry!");
close();
} else {
mes("Ok, get ready...");
close2();
warp(.@map$, .@x, .@y);
end;
}