Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Шагалка не шагает хелп плиз

тут можно задать вопрос по скриптингу
Post Reply
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

Шагалка не шагает хелп плиз

Post 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.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

ну, тупикуешь ты в том, что цикл у тебя правильный, только вот где хождение в нем?

и ходить одиночными шагами на 1-2 шага, когда это необходимо (сход с лодки, телепорт, и т.д.).

На расстояние от 2х клеток рекомендую ходить через NewMoveXY
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

Post by m0nya »

Vizit0r wrote:ну, тупикуешь ты в том, что цикл у тебя правильный, только вот где хождение в нем?

и ходить одиночными шагами на 1-2 шага, когда это необходимо (сход с лодки, телепорт, и т.д.).

На расстояние от 2х клеток рекомендую ходить через NewMoveXY
А что не так в цикле ?
Пока не сдох (если сбили ХП юзаем процедуру ходилки ... )
А что старая ходилка вообще не работет ?

Обьясни пожалуйста почему она вообще не срабатывает ? хоть бы рыпался кудато чар, пробовл и Z координату ставить и еще кучу всякой фигни ... но нифига не дёргается даже ...
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

m0nya wrote:
Vizit0r wrote:ну, тупикуешь ты в том, что цикл у тебя правильный, только вот где хождение в нем?

и ходить одиночными шагами на 1-2 шага, когда это необходимо (сход с лодки, телепорт, и т.д.).

На расстояние от 2х клеток рекомендую ходить через NewMoveXY
А что не так в цикле ?
Пока не сдох (если сбили ХП юзаем процедуру ходилки ... )
А что старая ходилка вообще не работет ?

Обьясни пожалуйста почему она вообще не срабатывает ? хоть бы рыпался кудато чар, пробовл и Z координату ставить и еще кучу всякой фигни ... но нифига не дёргается даже ...
а ты покажи мне свою ходилку. я вот чот ее не вижу совсем.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

Post by m0nya »

Честно, долго вглядывался в скрипт где ходилка есть и она работает,
и нашел вот ЭТО

Code: Select all

until ((GetX(self) = NeraneniX) and (GetY(self) = NeraneniY) and (GetZ(self) = NeraneniZ)) 
я думал в стелсе реализованы процедуры GetZ() GetX() GetY() , вот если моя ошибка тут, так бы и ткнули ... ну а вообще здорово бы было еслибы пример чисто ходилки самой ...
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post 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) - берет текущую координату объекта. оно никуда не двигает и вообще никаких действий не предпринимает.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply