Current time: 08.04.2025, 15:45 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
Berserker Offline
Administrators

Posts: 16731
Post: #4921

totkotoriy, если скрипты уже изменили структуру данных, прописав, что в городе сидит герой Х (ты где-то мог случайно написать !!CA:H0/y-1 без ?), то в сохранении такая правка останется. и в одном другом, даже гигантском моде, и близко таких багов нет. Это ошибка в коде где-то.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
11.10.2018 18:26
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #4922

(11.10.2018 18:18)totkotoriy Wrote:  Без скриптов тоже самое
Дополню Берса: Потому что скрипты уже записаны в твоё сохранение.
Вот например тот сейв, который ты скидывал. Там масса скриптов загружено, а ты говоришь что все отключил...

Проверять надо вообще удаляя все скрипты из папки s, или перенося их в другое место, а только потом начинать заново карту как новую игру.


game bug fixes extended.dll || My Plugins || My GitHub
11.10.2018 18:46
Visit this user's website Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4923

Berserker, ну ладно герой такой сидит, но откуда у него без скриптов появляется такая армия - вот в чем вопрос...

Ладно, буду тогда искать где ошибка, раз говорите, что точно в скриптах... я такое в ВОГе уже видел не раз, в СОД не помню...


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 11.10.2018 19:01 by totkotoriy.)
11.10.2018 18:56
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16731
Post: #4924

Quote:totkotoriy, в городе сидит герой №62, а на тебя нападает герой №75.
Проверь:
!!HE62:P?y1/?y2/?y3;
!!IF:M^%Y1 %Y2 %Y3^;

!!HE75:P?y1/?y2/?y3;
!!IF:M^%Y1 %Y2 %Y3^;


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
11.10.2018 20:11
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4925

Berserker, Проверил, ничего криминального не нашёл. 62 сидит другом городе, не в Башне...


Ты роешься в моих паках, но ты делаешь это без уважения...
14.10.2018 21:00
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16731
Post: #4926

totkotoriy, если 62 сидит не в башне, то почему я загружаю сейв, щёлкаю ПКМ на городе, по координатам щелчка нахожу героя (HEy1/y3/y3) и он оказывается 62-ым? Значит ошибка где-то была. Герой одновременно имеет координаты города, но не находится в нём.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
14.10.2018 21:15
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4927

Oo... интересно

   У меня по координатам башни находится герой 75 (это 6 день). 62 герой появляется только на 1-й день новой недели, до этого имеет координаты -1 -1 -1... хз

   Короче ладно господа, извините что потревожил, всё равно я считаю, что это глюк SoDa, т.к. у героя в слотах с типом существ -1 количество не нулевое - это уже не нормально. А тем более к этому количеству потом ещё прибавляется другие войска и тип становится не -1. Может и скрипты сделали количество не 0, но и проверка в СоД на этот случай должна быть.

Сделал пока костыли на такой случай: каждый день просматриваются все герои и количество войск с типом -1 делается 0... :\


Ты роешься в моих паках, но ты делаешь это без уважения...
14.10.2018 21:23
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4928

Не подскажите как можно передать ход следующему стеку в битве? Sm
Хочу написать скрипт, чтобы по нажатию определенной кнопки в битве все отряды моего героя ставились в режим ожидания хода.
Может кто-то уже делал подобное?


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 15.10.2018 14:57 by totkotoriy.)
15.10.2018 14:33
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #4929

!!BG:A8;
Ну и предварительно остальным стекам проставь wait-флаг (33554432)


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
15.10.2018 15:24
Visit this user's website Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4930

Ход таки не передается другой стороне (если только ещё дополнительно попытаться сходить отрядом), хотя потом все отряды слева в ожидании
  1. !?BG&v4001=1/1000;
  2. !!DO830023/0/20/1:P;
  3. !!BG:A8;
  4. !!VRv4001:S0;
  5. !?FU830023;
  6. !!BMx16:F?i;
  7. !!VRi:+33554432;
  8. !!BMx16:Fi;


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 15.10.2018 15:57 by totkotoriy.)
15.10.2018 15:51
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4931

А не подскажите тогда почему может не срабатывать такая конструкция? Этот код прошлый раз давал Igrik, но он был для экрана карты приключений, а не для экрана битвы:
  1. .btn
  2. Battle;allwait;allwait1.def;729;8;12;12;Переключатель режима ожидания для всех отрядов; Переключатель режима ожидания для всех отрядов;
  3. !?CM4;
  4. !!CM:S?y1;
  5. !!FU&y1<>13:E;
  6. !!CM:I?y1;
  7. !!SN:L^Era.dll^/?y2 Ay2/^GetButtonID^/?y3;
  8. !!SN:Ey3/0/^allwait^;
  9. !!VRv4001:+1;
  10. !!VRv4001&v4001>1:S0;
  11. !!FU830024&y1=v1:Pv4001/y3;
  12. !?FU830024;
  13. !!VRz1&x1=0:S^allwait1.def^;
  14. !!VRz1&x1=1:S^allwait2.def^;
  15. !!OW:C?y1;
  16. !!VRy2:S3393 +y1;
  17. !!VRvy2:Sx1;
  18. !!UN:C6918840/4/?y7;
  19. !!VRy8:Sy7 +68;
  20. !!UN:Cy8/4/?y9;
  21. !!SN:Ex2/0/^allwait^; !!VRy10:Sv1;
  22. !!SN:E6288384/2/y9/512/9/y10/z1;
  23. !!SN:E6288384/2/y9/512/2/y10/0;
  24. !!SN:E6288528/2/y9/6/16384;
  25. !!SN:E6288816/2/y9/6;

Раз не получается передать ход другому стеку, то думал сделать кнопку-переключатель на экране битвы, но тоже не работает :\


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 16.10.2018 00:47 by totkotoriy.)
16.10.2018 00:45
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #4932

(15.10.2018 15:51)totkotoriy Wrote:  Ход таки не передается другой стороне (если только ещё дополнительно попытаться сходить отрядом), хотя потом все отряды слева в ожидании
  1. !?BG&v4001=1/1000;
  2. ...
Эм, а на кой ты делаешь это в !?BG?

  1. !?FU77003; [нажатие клавиши]
  2. !!SN:X?y1; [y1 — код клавиши]
  3. !!if&y1=49:; [нажата 1]
  4. !!DO830023/0/20/1:P;
  5. !!BG:A8;
  6. !!en:; [...]


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
16.10.2018 09:51
Visit this user's website Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4933

Огромное спасибо!132

Я тут заметил, что если в триггере CM4 узнавать ID кнопки
  1. !!SN:L^Era.dll^/?y1 Ay1/^GetButtonID^/?y2;
  2. !!SN:Ey2/0/^allwait^;
то некорректно обновляется экран битвы, пришлось делать определение ID в начале игры и записывать в глобальную переменную. Может тогда лучше сделать такое вообще для всех новых кнопок?


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 16.10.2018 20:52 by totkotoriy.)
16.10.2018 20:24
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #4934

(16.10.2018 00:45)totkotoriy Wrote:  А не подскажите тогда почему может не срабатывать такая конструкция? Этот код прошлый раз давал Igrik, но он был для экрана карты приключений, а не для экрана битвы:
Потому что окно битвы имеет другой адрес:
  1. !!UN:C6919200/4/?y1;
  2. !!VRy2:Sy1 +78588;
  3. !!UN:Cy2/4/?y3;

(15.10.2018 15:51)totkotoriy Wrote:  
  1. !?FU830023;
  2. !!BMx16:F?i;
  3. !!VRi:+33554432;
  4. !!BMx16:Fi;
Арифметическое складывание тут очень плохой ход. Будет трындец, если ты так сделаешь, когда какой то отряд уже стоит в вейте. Правильно через "побитовое ИЛИ". Это единственный полностью безопасный синтаксис для добаления флага стеку
  1. !?FU830023;
  2. !!BMx16:F?i;
  3. !!VRi:|33554432; побитовое ИЛИ
  4. !!BMx16:Fi;

К тому же можно использовать блокировку кнопки после применения действия (например так как работает кнопка книги заклинаний)
  1. !!UN:C6919200/4/?y1;
  2. !!VRy2:Sy1 +78588;
  3. !!UN:Cy2/4/?y3;
  4. !!SN:E6288672/2/y3/id_кнопки/16392; ON
  5. !!SN:E6288528/2/y3/id_кнопки/16392; OFF
  6. ; и обновить окно битвы


game bug fixes extended.dll || My Plugins || My GitHub
16.10.2018 22:01
Visit this user's website Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #4935

Спасибо!
Я добавляю этот бит только если его нет.

Опять что-то не то :\
такая проверка на активном стеке у меня всегда выдает i=0:
  1. !!BG:N?y2;
  2. !!BMy2:F?i; [read flags]
  3. !!VRi:&33554432; [just look at waiting bit]

Проверил ещё в цикле - тоже самое, бит wait пропадает, когда применяется на стеке... а как его тогда проверять вообще? Ни черта не понимаю Bad:
  1. !?FU830023;
  2. !!BMx16:F?i; [read flags]
  3. !!VRy6:Si;
  4. !!BMx16:N?y7; [read flags]
  5. !!IF:M^%Y6 %Y7^;

Можно конечно сделать чтоб в переменных запоминалось к каким стекам уже был применён бит wait в этом раунде, но это какой-то бред получается.... А... даже так не получится, неизвестно же, может вручную была нажата кнопка ожидания... тогда вообще не знаю

И ещё непонятно: первый раз выставляешь бит wait - существо уходит в ожидание, бит пропадает, второй раз выставляешь бит ожидания - существо пропускает ход в этом раунде


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 16.10.2018 22:29 by totkotoriy.)
16.10.2018 22:19
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2025 MyBB Group