to solve your error you need to declare setdir first in src/script.
BUILDIN_FUNC(setdir) {
TBL_PC *sd;
if ( script_hasdata(st,4) ) {
if ( data_isstring( script_getdata(st,4) ) )
sd = map_nick2sd( script_getstr(st,4),false );
else
sd = map_id2sd( script_getnum(st,4) );
} else
sd = map_id2sd(st->rid);
if ( sd ) {
int value = 0;
if ( script_hasdata(st,3) ) {
value = script_getnum(st,3);
if ( value < 0 || value > 2 )
value = 0;
}
pc_setdir( sd, script_getnum(st,2), value );
clif_changed_dir( &sd->bl, AREA );
}
return SCRIPT_CMD_SUCCESS;
}
BUILDIN_FUNC(checkdir) {
TBL_PC *sd;
if ( script_hasdata(st,3) ) {
if ( data_isstring( script_getdata(st,3) ) )
sd = map_nick2sd( script_getstr(st,3),false );
else
sd = map_id2sd( script_getnum(st,3) );
} else
sd = map_id2sd(st->rid);
if ( sd ) {
int value = 0;
if ( script_hasdata(st,2) )
value = script_getnum(st,2);
script_pushint( st, value > 0 ? sd->head_dir : sd->ud.dir );
}
return SCRIPT_CMD_SUCCESS;
}