Page 1 of 1
Шагалка не шагает хелп плиз
Posted: 18.09.2010 12:15
by m0nya
Вот сижу пытаюсь сделать элементарный скрипт
но сволочь не поддается ...
может подскажите где я тупикую ?
Code: Select all
program Resist;
{$Include 'all.inc'}
const
RaneniX = 789;
RaneniY = 1472;
NeraneniX = 788;
NeraneniY = 1472;
NeraneniZ = 26;
procedure GoGo;
begin
repeat
wait(5000);
until ((GetX(self) = NeraneniX) and (GetY(self) = NeraneniY) and (GetZ(self) = NeraneniZ))
end;
BEGIN
while not dead do
begin
if (HP < MaxHP) then
begin
Hungry(1,ground);
GoGo;
end;
end;
END.
Posted: 18.09.2010 12:35
by Vizit0r
ну, тупикуешь ты в том, что цикл у тебя правильный, только вот где хождение в нем?
и ходить одиночными шагами на 1-2 шага, когда это необходимо (сход с лодки, телепорт, и т.д.).
На расстояние от 2х клеток рекомендую ходить через NewMoveXY
Posted: 20.09.2010 16:59
by m0nya
Vizit0r wrote:ну, тупикуешь ты в том, что цикл у тебя правильный, только вот где хождение в нем?
и ходить одиночными шагами на 1-2 шага, когда это необходимо (сход с лодки, телепорт, и т.д.).
На расстояние от 2х клеток рекомендую ходить через NewMoveXY
А что не так в цикле ?
Пока не сдох (если сбили ХП юзаем процедуру ходилки ... )
А что старая ходилка вообще не работет ?
Обьясни пожалуйста почему она вообще не срабатывает ? хоть бы рыпался кудато чар, пробовл и Z координату ставить и еще кучу всякой фигни ... но нифига не дёргается даже ...
Posted: 20.09.2010 17:23
by Vizit0r
m0nya wrote:Vizit0r wrote:ну, тупикуешь ты в том, что цикл у тебя правильный, только вот где хождение в нем?
и ходить одиночными шагами на 1-2 шага, когда это необходимо (сход с лодки, телепорт, и т.д.).
На расстояние от 2х клеток рекомендую ходить через NewMoveXY
А что не так в цикле ?
Пока не сдох (если сбили ХП юзаем процедуру ходилки ... )
А что старая ходилка вообще не работет ?
Обьясни пожалуйста почему она вообще не срабатывает ? хоть бы рыпался кудато чар, пробовл и Z координату ставить и еще кучу всякой фигни ... но нифига не дёргается даже ...
а ты покажи мне свою ходилку. я вот чот ее не вижу совсем.
Posted: 21.09.2010 11:53
by m0nya
Честно, долго вглядывался в скрипт где ходилка есть и она работает,
и нашел вот ЭТО
Code: Select all
until ((GetX(self) = NeraneniX) and (GetY(self) = NeraneniY) and (GetZ(self) = NeraneniZ))
я думал в стелсе реализованы процедуры GetZ() GetX() GetY() , вот если моя ошибка тут, так бы и ткнули ... ну а вообще здорово бы было еслибы пример чисто ходилки самой ...
Posted: 21.09.2010 12:00
by Vizit0r
http://stealth.od.ua/forum/viewtopic.php?t=1220
читаем...
{Mover}
function Raw_Move(Direction: Byte; Running: Boolean): Boolean; // Сделать шаг по направлению
function Step(Direction: Byte; Running: Boolean): Byte; // тоже что и Raw_Move
Running - флаг; True = бег, False = ходьба
Direction:
7 - NW
6 - W
5 - SW
4 - S
3 - SE
2 - E
1 - NE
0 - N
//тут неинтересно
function MoveXY(Xdst,Ydst: Word; Optimized: Boolean; Accuracy: Integer; Running: Boolean): Boolean; // Поиск пути.
Accuracy - точность приближения: 0 - прямо на точку, 1 - рядом в радиусе одного тайла и т.д. длина ограничена 1000 точек(тайлов).
Optimized - включать настоятельно рекомендуется только на поиске пути длиной до 200 точек.
// Когда выключено - идет поиск просто пути, когда включен - оптимального.
function GetPathArray(DestX,DestY: Word; Optimized: Boolean; Accuracy: Integer; var PathArray: TPathArray): Integer; // возвращает кол-во точек в маршруте,
// в PathArray пишет массив шагов пути. первый - это координаты точки первой от старта и т.д. до последней. Ограничено 1000 точек.
поиском по форуму найдешь описание NewMoveXY
GetX(ID) - берет текущую координату объекта. оно никуда не двигает и вообще никаких действий не предпринимает.