// Evol functions. // Author: // 4144 // Description: // Doors utility functions // Variables: // none function script doorTouch { getmapxy(.@pc_map$, .@pc_x, .@pc_y, UNITTYPE_PC); // get char location if (.@pc_y < .y) end; if (getareausers() <= 1) { .dir = 2; stopnpctimer; initnpctimer; } close; } function script doorUnTouch { if (.dir != 2 && .dir != 6) end; if (getareausers(.map$) == 0) { .dir = 4; initnpctimer; startnpctimer; } close; } function script doorTimer { stopnpctimer; if (.dir == 2) .dir = 6; if (.dir == 4) .dir = 8; end; } function script doorInit { .distance = 5; .alwaysVisible = true; end; } function script open_door { .@door$ = getarg(0); setnpcdir.@door$, 2; sleep 300; setnpcdir .@door$, 6; sleep 300; return 0; } function script close_door { .@door$ = getarg(0); setnpcdir .@door$, 4; sleep 300; setnpcdir .@door$, 8; sleep 300; return 0; }