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) - берет текущую координату объекта. оно никуда не двигает и вообще никаких действий не предпринимает.