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

Перемещение по лодке

тут можно задать вопрос по скриптингу
Post Reply
Gunter
Neophyte
Neophyte
Posts: 14
Joined: 16.02.2012 18:18

Перемещение по лодке

Post by Gunter »

Здравствуйте, пытаюсь добиться от персонажа, чтобы он из текущего места в лодке шел в указанное, но почему-то он, не двигаясь никуда, продолжает стоять как вкопанный...
Upd. стоять начинает с того момента, как попал на лодку через трап.

Первый вариант "Бродилки":

Code: Select all

procedure GotoOnBoad; 
Begin 
CheckSave; 
CheckDead(false);
AddToSystemJournal('Иду на лодку...'); 
MoveXY( nearX, nearY,true, 0,true); 
repeat 
UseObject(Trap); 
wait(300); 
until (GetX(self) = OnBoadX) and (GetY(self) = OnBoadY);
AddToSystemJournal('Иду к месту разгрузки...');
repeat 
MoveXY( OnBoadXdrop, OnBoadYdrop,true, 0,true);
[b][i]AddToSystemJournal('Пробуй дойти...');[/i][/b] <<<<<<<<<<<<<<<<<<<<<<<< ВОТ ЭТА СТРОКА ОКАЗЫВАЕТСЯ В ЛОГАХ
wait(300); 
until (GetX(self) = OnBoadXdrop) and (GetY(self) = OnBoadYdrop);
if (GetX(self) = OnBoadXdrop) and (GetY(self) = OnBoadYdrop) then AddToSystemJournal('*****К месту разгрузки дошел успешно...'); 
End; 
Лог стелса:

Code: Select all

17:00:23:764 [Скупщик 2]: Compiling
17:00:23:837 [Скупщик 2]: Compiled succesfully
17:00:25:046 [Скупщик 2]: готов выйти
17:00:28:142 [Скупщик 2]: вышел с лодки, подошел к кустику, начинаю собирать хворост
17:00:28:150 [Скупщик 2]: Вес превышен, пора разгружаться...
17:00:28:160 [Скупщик 2]: Иду на лодку...
17:00:28:687 [Скупщик 2]: Иду к месту разгрузки...
17:00:37:344 [Скупщик 2]: Пробуй дойти...
17:00:37:864 [Скупщик 2]: Пробуй дойти...
17:00:38:429 [Скупщик 2]: Пробуй дойти...
17:00:38:939 [Скупщик 2]: Пробуй дойти...
17:00:39:451 [Скупщик 2]: Пробуй дойти...
17:00:39:962 [Скупщик 2]: Пробуй дойти...
17:00:40:483 [Скупщик 2]: Пробуй дойти...
17:00:41:061 [Скупщик 2]: Пробуй дойти...
17:00:41:590 [Скупщик 2]: Пробуй дойти...
Второй вариант "Бродилки":

Code: Select all

procedure GotoOnBoad; 
Begin 
CheckSave; 
CheckDead(false);
AddToSystemJournal('Иду на лодку...'); 
MoveXY( nearX, nearY,true, 0,true); 
repeat 
UseObject(Trap); 
wait(300); 
until (GetX(self) = OnBoadX) and (GetY(self) = OnBoadY);
AddToSystemJournal('Иду к месту разгрузки...');
{repeat 
Step(1,true);
AddToSystemJournal('Пробуй дойти...'); <<<<<<<<<<<<<<<<<<<<<<<< ВОТ ЭТА СТРОКА ОКАЗЫВАЕТСЯ В ЛОГАХ
wait(300); 
until (GetX(self) = OnBoadXdrop) and (GetY(self) = OnBoadYdrop);}
if (GetX(self) = OnBoadXdrop) and (GetY(self) = OnBoadYdrop) then AddToSystemJournal('*****К месту разгрузки дошел успешно...'); 
End; 
Выходной лог такой же... по сути, я просто заменяю процедуру перемещения чара с координаты в координату, но при этом, толка не выходит. Я, скорее всего, неправильно представляю себе работу этой процедуры, прошу Вас меня с ней (с работой процедуры) ознакомить и помочь разобраться в возникшей проблеме.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Перемещение по лодке

Post by nah nah »

попробуй newMoveXY
Gunter
Neophyte
Neophyte
Posts: 14
Joined: 16.02.2012 18:18

Re: Перемещение по лодке

Post by Gunter »

nah nah wrote:попробуй newMoveXY
можно поподробнее? А то здесь я не нашел такой команды...
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Перемещение по лодке

Post by nah nah »

newMoveXY(x, y, True, 1, True)
по памяти =) 1 - подход, последний True - бег, первый True - вроде не используется
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Перемещение по лодке

Post by nah nah »

кстати wiki
Gunter
Neophyte
Neophyte
Posts: 14
Joined: 16.02.2012 18:18

Re: Перемещение по лодке

Post by Gunter »

заменил на newMoveXY, получил:

Code: Select all

20:55:53:141 [Скупщик 2]: Compiling
20:55:53:188 [Скупщик 2]: Compiled succesfully
20:55:53:195 [Скупщик 2]: Вес превышен, пора разгружаться...
20:55:53:224 [Скупщик 2]: Иду на лодку...
20:56:06:968 [Скупщик 2]: Иду к месту разгрузки...
20:56:06:973 [Скупщик 2]: Пробуй дойти...
20:56:17:805 [Скупщик 2]: Пробуй дойти...
20:56:18:334 [Скупщик 2]: Пробуй дойти...
20:56:18:856 [Скупщик 2]: Пробуй дойти...
20:56:19:496 [Скупщик 2]: Пробуй дойти...
20:56:20:021 [Скупщик 2]: Пробуй дойти...
20:56:20:542 [Скупщик 2]: Пробуй дойти...
20:56:21:064 [Скупщик 2]: Пробуй дойти...
20:56:21:584 [Скупщик 2]: Пробуй дойти...
20:56:22:108 [Скупщик 2]: Пробуй дойти...
20:56:22:626 [Скупщик 2]: Пробуй дойти...
20:56:23:149 [Скупщик 2]: Пробуй дойти...
20:56:23:667 [Скупщик 2]: Пробуй дойти...
20:56:24:183 [Скупщик 2]: Пробуй дойти...
20:56:24:841 [Скупщик 2]: Пробуй дойти...
20:56:25:379 [Скупщик 2]: Пробуй дойти...
20:56:25:902 [Скупщик 2]: Пробуй дойти...
20:56:26:421 [Скупщик 2]: Пробуй дойти...
20:56:26:942 [Скупщик 2]: Пробуй дойти...
20:56:27:459 [Скупщик 2]: Пробуй дойти...
20:56:27:976 [Скупщик 2]: Пробуй дойти...
20:56:28:492 [Скупщик 2]: Пробуй дойти...
20:56:29:014 [Скупщик 2]: Пробуй дойти...
20:56:29:526 [Скупщик 2]: Пробуй дойти...
20:56:30:131 [Скупщик 2]: Пробуй дойти...
20:56:30:647 [Скупщик 2]: Пробуй дойти...
20:56:31:167 [Скупщик 2]: Пробуй дойти...
20:56:31:686 [Скупщик 2]: Пробуй дойти...
20:56:32:204 [Скупщик 2]: Пробуй дойти...
20:56:32:718 [Скупщик 2]: Пробуй дойти...
20:56:33:236 [Скупщик 2]: Пробуй дойти...
20:56:33:752 [Скупщик 2]: Пробуй дойти...
20:56:34:270 [Скупщик 2]: Пробуй дойти...
20:56:34:790 [Скупщик 2]: Пробуй дойти...
20:56:35:411 [Скупщик 2]: Пробуй дойти...
20:56:35:933 [Скупщик 2]: Пробуй дойти...
20:56:36:449 [Скупщик 2]: Пробуй дойти...
20:56:36:975 [Скупщик 2]: Пробуй дойти...
20:56:37:493 [Скупщик 2]: Пробуй дойти...
20:56:38:017 [Скупщик 2]: Пробуй дойти...
20:56:38:535 [Скупщик 2]: Пробуй дойти...
20:56:39:058 [Скупщик 2]: Пробуй дойти...
20:56:39:574 [Скупщик 2]: Пробуй дойти...
20:56:40:093 [Скупщик 2]: Пробуй дойти...
20:56:40:712 [Скупщик 2]: Пробуй дойти...
20:56:41:231 [Скупщик 2]: Пробуй дойти...
20:56:41:748 [Скупщик 2]: Пробуй дойти...
20:56:42:264 [Скупщик 2]: Пробуй дойти...
20:56:42:846 [Скупщик 2]: Пробуй дойти...
20:56:43:367 [Скупщик 2]: Пробуй дойти...
20:56:43:889 [Скупщик 2]: Пробуй дойти...
20:56:44:412 [Скупщик 2]: Пробуй дойти...
Вывод: безрезультатно.
nah nah
Developer
Developer
Posts: 414
Joined: 13.07.2011 11:23
Contact:

Re: Перемещение по лодке

Post by nah nah »

тогда степами перемещайся

Code: Select all

while GetX(Self()) != OnBoadXdrop or GetY(Self()) != OnBoadYdrop:
    Step(CalcDir(GetX(Self()), GetY(Self()), OnBoadXdrop, OnBoadYdrop), True)
Vargul
Neophyte
Neophyte
Posts: 49
Joined: 16.09.2010 10:30

Re: Перемещение по лодке

Post by Vargul »

Может бред скажу, а координата Z тут никак не может быть завязана? Просто у меня на шарде, если чар в лодке, то эта координата отрицательная.
Alex
Moderator
Moderator
Posts: 351
Joined: 07.04.2005 4:41

Re: Перемещение по лодке

Post by Alex »

по трапу лучше через Step ходить
Новый стелс лежит тут. Стелс это произведение искусства! :)
Gunter
Neophyte
Neophyte
Posts: 14
Joined: 16.02.2012 18:18

Re: Перемещение по лодке

Post by Gunter »

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

Re: Перемещение по лодке

Post by Vizit0r »

по умолчанию не проходит.
изменить переменную надо для прохождения.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Gunter
Neophyte
Neophyte
Posts: 14
Joined: 16.02.2012 18:18

Re: Перемещение по лодке

Post by Gunter »

Vizit0r wrote:по умолчанию не проходит.
изменить переменную надо для прохождения.
Если изменить переменную, но стр персонажа меньше стр цели (цель - через кого проходим), то сервер не даст пройти через него, выдав сообщение типа "вы не достаточно сильны, чтобы столкнуть его с дороги".

Вопрос - изменение переменной позволит тупо ломиться сквозь персонажа, даже если сервер присылает такую вот фразу?
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Перемещение по лодке

Post by Vizit0r »

сервер откинет, даже если будешь ломиться
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply