Полная версия этой страницы:
Если нужен скрипт
Привет, ребята. У меня возникла проблема со скриптом, который должен усиливать монстров при поднятии артефакта. Проблема в том, что монстров он не усиливает, а также не знаю как задать ему имя и описание, я совсем чайник еще. Я тут пытался урвать куски скриптов из разных мест, вот что получилось:
Код
ZVSE
!#VRz10:S^Плащ^;
!#VRz11:S^Приносит герою по 15 снайперов в неделю, даёт снайперам +6 к урону, прибавляет ко атаке и защите по 5, даёт герою экспертную магию земли^;
!#UN:A168/1/7000;
!#UN:A168/3/16;
!#UN:A168/9/10;
!#UN:A168/10/11;
!#VRv20:S13*65536+137;
!#TM10:S1/999/7/255;
!?TM10;
!!OW:I-1/?v10;
!!VRv11:S0;
!!DO10/0/155/1&v10=0:P;
!?FU10;
!!HEv11:A2/168/d/?v12;
!!HEv11&v12=1:С2/137/13/0;
!!HEv11&v12=1:O?v13;
!!OW&v12=1:Iv13/?v14;
!!HEv11&v12=1/v14=0:B0/?z10;
!!IF&v12=1/v14=0:Q1/21/v20/1^К герою по имени %Z10 присоединяются снайперы благодаря плащу.^;
!!VRv11:Sd1;
!?AE1&v998=168;
!!HE4:X4/137/d/d/6/d/d;
!!HE-1:Fd5/d5/d0/d0;
!?AE0&v998=168;
!!HE4:X4/137/d/d/-6/d/d;
!!HE-1:Fd-5/d-5/d0/d0;
В общем, я пытался сделать это через скрипт, взятый отсюда
http://forum.df2.ru/index.php?showtopic=2457, но там что-то не так с частью кода, где присоединяются юниты, при вогификации мне из-за нее выдает кучу цикл. ошибок. Если я ее убираю, то ощибок нет, но не работает +6 урона на снайперов и имя плаща. Буду весьма благодарен если кто-то поможет разобраться
Цитата
ZVSE
!#VRz288:S^Плащ^;
!#VRz289:S^Приносит герою по 15 снайперов в неделю, даёт снайперам +6 к урону, прибавляет ко атаке и защите по 5, даёт герою экспертную магию земли^;
!#UN:A168/1/7000;
!#UN:A168/3/16;
!#UN:A168/9/z288;
!#UN:A168/10/z289;
Описание и название должны били работать. Ты точно на том арте смотришь?
Цитата
!?AE1&v998=168;
!!HE4:X4/137/d/d/6/d/d;
!!HE-1:Fd5/d5/d0/d0;
!?AE0&v998=168;
!!HE4:X4/137/d/d/-6/d/d;
!!HE-1:Fd-5/d-5/d0/d0;
Тут ты при надевании артефакта !! герою под номером 4 (Лорд Хаарт) меняешь специализацию.
т.е. Надел артефакт любой герой, а плюшки урона получил только Хаарт, а ты заодно похерил ему родную специализацию.
Участок кода, который приносит 15 снайперов вообще бредовый. Можно сделать таким образом.
Код
; используем то, что таймер № 2 уже настроен каждодневно во втором стандартном скрипте wog на каждого игрока
!?TM2&$weekday$=$monday$; один раз в неделю в понедельник
!!DO18741/0/155/1:P;
!?FU18741;
!!OW:C?y1;
!!HEx16:O?y2;
!!FU&y1<>y2|y2=-1:E;
!!HEx16:A2/161/d/?y3;
!!HEx16&y3>0:B0/?z2;
!!IF&y3>0:M^Благодоря плащу, 15 снайперов вступают в ряды %Z2^;
!!HEx16&y3>0:C2/137/15/1;
!!UN&y3>0:R1;
Цитата
Описание и название должны били работать. Ты точно на том арте смотришь?
Точно, при поднятии он пишет: "Вы подняли артекафт №168. Он пустой и может быть запрограммирован с помощью ERM." -AT_DF
Цитата
Тут ты при надевании артефакта !! герою под номером 4 (Лорд Хаарт) меняешь специализацию.
т.е. Надел артефакт любой герой, а плюшки урона получил только Хаарт, а ты заодно похерил ему родную специализацию.
Разобрался, спасибо.
А вот со снайперами не понял все равно, при вогификации выдает кучу ошибок и она не проходит. Можно чуток подробнее?
Цитата(Pain @ 16 Apr 2016, 20:56)

при поднятии он пишет: "Вы подняли артекафт №168. Он пустой и может быть запрограммирован с помощью ERM." -AT_DF
Решение:
Код
!?OB5/168;
!!UN:Ov998/v999/v1000/1;
!!IF&1000:M^Вы наткнулись на плащ, стряхнули с него пыль и положили в свой ранец.^;
!!HE-1:A4/168;
Цитата(Pain @ 16 Apr 2016, 20:56)

А вот со снайперами не понял все равно, при вогификации выдает кучу ошибок и она не проходит. Можно чуток подробнее?
Какие именно ошибки, и что у тебя: Эра или Вог?
У меня Era 2.47
При загрузке карты сразу выдает:
Код
ERM syntax error
File:erm
Line:5212
Reason:
"VNCopy" - internal error (source=0). Possible reason is wrong macro syntax.
После чего если сохранить ошибки в лог, карта грузится без вогификации.
Код
ZVSE
; общая настройка арта №168
!#VRz288:S^Плащ^;
!#VRz289:S^{Плащ}
Приносит герою по 15 снайперов в неделю, даёт снайперам +6 к урону, прибавляет к атаке и защите по 5, даёт герою экспертную магию земли^;
!#UN:A168/1/7000;
!#UN:A168/3/16;
!#UN:A168/9/z288;
!#UN:A168/10/z289;
; описание при поднятии арта
!?OB5/168;
!!UN:Ov998/v999/v1000/1;
!!IF&1000:M^Вы наткнулись на плащ, стряхнули с него пыль и положили в свой ранец.^;
!!HE-1:A4/168;
; первичка и земля при надевании
!?AE1&v998=168;
!!HE-1:Fd5/d5/d/d;
!!IF:W-1;
!!HE-1:S17/?y1;
!!VRw168:Sy1;
!!HE-1:S17/3;
!?AE0&v998=168;
!!HE-1:Fd-5/d-5/d/d;
!!IF:W-1;
!!VRw168:S?y1;
!!HE-1:S17/y1;
; каждую неделю 15 снайперов
!#TM2:S1/999/1/255; дублируем установку второго таймера
!?TM2;
!!VRy1:Sc %7; один раз в неделю в понедельник
!!DO18741/0/155/1&y1=1:P;
!?FU18741;
!!OW:C?y1;
!!HEx16:O?y2;
!!FU&y1<>y2|y2=-1:E;
!!HEx16:A2/168/d/?y3;
!!HEx16&y3>0:B0/?z2;
!!IF&y3>0:M^Благодоря плащу, 15 снайперов вступают в ряды %Z2^;
!!HEx16&y3>0:C2/137/15/1;
!!UN&y3>0:R1;
; доп урон снайперам (только в бою)
!?BR0;
!!FU&v997<>-1:E;
!!BA:H0/?y1 H1/?y2;
!!HEy1:A2/168/d/?y3;
!!DO18742/0/20/1&y3>0:P;
!!FU&y2<0:E;
!!HEy2:A2/168/d/?y3;
!!DO18742/21/41/1&y3>0:P;
!?FU18742;
!!BMx16:T?y1;
!!BMx16&y1=137:G-50/d6/d G-49/d6/d;
Идеально

До меня начинает доходить как это делать. Правда у меня еще маленький вопросик: в опциях вогификации есть скрипт на еженедельное увеличение кол-ва нейтралов на карте в процентах, кажется. Но он делает их кровожадными, из-за чего они не присоединяются. Это как-то можно убрать? (мне нужна агрессивное поведение, чтобы могли присоединиться) Может есть где образец этого скрипта, чтоб там покопаться...
EDIT: Нашел, исправил.
M.A.K.C.
02 May 2016, 19:01
Здравствуйте!
Столкнулся с проблемой, нужен скрипт, для появления на карте случайного монстра, желательно безглючный, простой и с возможностью отключения. (лучше универсальный, для WOG и для ERA, но можно и только для ERA)
Заранее благодарен
Создай сам файл *.ers с номером опции 888
Код
; генерация монстра в начале каждой недели
; при опции №888
!#UN:P888/?y1;
!#TM45&y1=1:S8/999/7/255;
!#VRv3506&y1=1:S2;
!?TM45;
!!UN:P888/?y1;
!!FU&y1=0:E;
!!VRy1:Sc -1 :7 +1; номер текущей недели
!!FU&v3506<>y1:E; один раз в неделю
!!VRv3506:+1;
!!VRy-1:S0 T120;
!!MA:Py-1/?y1;
!!VRy2:Sc -1 :7 +1;
!!VRy-2:S400 :y1 *y2; кол-во = 400 / (ХП * week)
!!UN:X?y1/?y2;
!!DO24800/0/y1/1:Py1/y2; цикл по коорд X (общий)
!!UN:R1;
!?FU24800;
!!DO24801/0/x1/1:Px16/0; цикл по коорд Y (наземный)
!!DO24801/0/x1/1&x2=1:Px16/1; цикл по коорд Y (подземный)
!?FU24801;
; x1 = коорд X
; x16 = коорд Y
; x2 = коорд Z
!!TRx1/x16/x2:E?y1 P?y2 T?y3/d/d/d/d/d/d/d;
!!OBx1/x16/x2:T?y4;
!!VRy5:S0 R299; шанс генерации 1:300
!!FU|y1=0/y2=0/y3>7/y4<>0/y5>1:E;
!!UN:Ix1/x16/x2/54/y-1/0; поместить монстра
!!MOx1/x16/x2:Gy-2 O0 U0 R1; настройка монстров
M.A.K.C.
20 Jun 2016, 11:25
Как запретить генерацию определенных монстров? так?
!!VRy-1:S0 R302; (монстров 303 штуки)
!!VRy-1&y-1>144:Sy-1+5;Исключаем боевые машины и стрелковые башни.
!!VRy-1&y-1>159:Sy-1+4;Исключаем Эмиссаров.
!!VRy-1&y-1>173:Sy-1+18;Исключаем командиров.
Или я что то косячу?
feanor
20 Jun 2016, 13:34
R275 же.
Иначе если у тебя рандом выдаст 302, то к нему прибавится 5, 4 и 18, и результат вылетит за пределы диапазона.
..и можно поинтересоваться, а где это 303 монстра?
M.A.K.C.
23 Jun 2016, 11:12
Цитата(feanor @ 20 Jun 2016, 14:34)

R275 же.
Иначе если у тебя рандом выдаст 302, то к нему прибавится 5, 4 и 18, и результат вылетит за пределы диапазона.
..и можно поинтересоваться, а где это 303 монстра?
В моей сборке.
Суть вопроса в следующем.
!?TM1&v2392=1/v2391=1;
!!UN:U25/-1/?v600;
!!VRv2:C-1/0/0;
!!DO22552/1/v600/1&v600<>0:P;
!?FU22553;
!!VRz22&x1<5:S^1-4^;
!!VRz22&x1>4/x1<10:S^5-9^;
!!VRz22&x1>9/x1<20:S^10-19^;
!!VRz22&x1>19/x1<50:S^20-49^;
!!VRz22&x1>49/x1<100:S^50-99^;
!!VRz22&x1>99/x1<250:S^100-249^;
!!VRz22&x1>249/x1<500:S^250-499^;
!!VRz22&x1>499/x1<1000:S^500-999^;
!!VRz22&x1>999:S^1000+^;
!?CM&v9828=54/945;
!!VRv1:Cv9808/v9809/v9810;
!!PO1:N?y1;
!!OW:C?y-1; текущий игрок
!!FU29984:Py-1/4; перевод цвета игрока в биты [v4 - result]
!!TRv1/v2/v3:V?y-2; видимость точки
!!VRy-2:&v4; проверка на видимость
!!FU|y1<>7/y-2=0:E;
!!CM:R0;
!!PO1:V0/?y4 V1/?y6 V2/?y8;
!!VRy4&y4<0:+65536;
!!VRy5:Sy4:256;
!!VRy4:%256;
!!VRy6&y6<0:+65536;
!!VRy7:Sy6:256;
!!VRy6:%256;
!!VRy8&y8<0:+65536;
!!VRy9:Sy8:256;
!!VRy8:%256;
!!FU22505:P2/7;
!!OW:A-1/?y50;
!!IF:V3/0;
!!if&y50<>-1:;
!!HEy50:S3/?y51;
!!VRy51:*3;
!!HEy50:P?y52/?y53/?y54;
!!VRy52:-v9808;
!!VRy52&y52<0:*-1;
!!VRy53:-v9809;
!!VRy53&y53<0:*-1;
!!FU22504:Py52/y53/10;
!!IF&v10<=y51:V3/1;
!!en:;
!!MO1:G?y2;
!!OB1:U?y3;
!!VRy40:S3;
!!VRy40&v9805=2:S5;
!!VRy40&v9805=3:S7;
!!MA:Fy3/?y19;
!!VRy19:*y2;
!!VRy19::y40;
!!if&v9805>=1:;
!!VRy21:Sy2:y40;
!!UN:N3/10/y3/1;
!!FU22553&y21>0/-3:Py21;
!!VRz9&y21>0/3:S^
{%Y21} %Z10^;
!!VRz9&y21>0/-3:S^
{%Z22} %Z10^;
!!MA:Fy4/?y20;
!!VRy21:Sy19:y20;
!!MA:Fy5/?y22;
!!VRy23:Sy19:y22;
!!UN:N3/10/y4/1;
!!FU22553&y21>0/-3:Py21;
!!VRz2&y21>0/3:S^
{%Y21} %Z10^;
!!VRz2&y21>0/-3:S^
{%Z22} %Z10^;
!!UN:N3/10/y5/1;
!!FU22553&y23>0/-3:Py23;
!!VRz3&y23>0/3:S^
{%Y23} %Z10^;
!!VRz3&y23>0/-3:S^
{%Z22} %Z10^;
!!en:;
!!if&v9805>=2:;
!!MA:Fy6/?y20;
!!VRy21:Sy19:y20;
!!MA:Fy7/?y22;
!!VRy23:Sy19:y22;
!!UN:N3/10/y6/1;
!!FU22553&y21>0/-3:Py21;
!!VRz4&y21>0/3:S^
{%Y21} %Z10^;
!!VRz4&y21>0/-3:S^
{%Z22} %Z10^;
!!UN:N3/10/y7/1;
!!FU22553&y23>0/-3:Py23;
!!VRz5&y23>0/3:S^
{%Y23} %Z10^;
!!VRz5&y23>0/-3:S^
{%Z22} %Z10^;
!!en:;
!!if&v9805=3:;
!!MA:Fy8/?y20;
!!VRy21:Sy19:y20;
!!MA:Fy9/?y22;
!!VRy23:Sy19:y22;
!!UN:N3/10/y8/1;
!!FU22553&y21>0/-3:Py21;
!!VRz6&y21>0/3:S^
{%Y21} %Z10^;
!!VRz6&y21>0/-3:S^
{%Z22} %Z10^;
!!UN:N3/10/y9/1;
!!FU22553&y23>0/-3:Py23;
!!VRz7&y23>0/3:S^
{%Y23} %Z10^;
!!VRz7&y23>0/-3:S^
{%Z22} %Z10^;
!!en:;
!!VRz8:S^%Z199502
%Z9%Z2%Z3%Z4%Z5%Z6%Z7^;
!!IF:Q1/21/y3/4/z8;
!?BA0&v9711=1/945;
!!OB998:T?y1;
!!FU&y1<>54:E;
!!PO998:N?y1;
!!FU&y1<>7:E;
!!PO998:V0/?y4 V1/?y6 V2/?y8;
!!VRy4&y4<0:+65536;
!!VRy5:Sy4:256;
!!VRy4:%256;
!!VRy6&y6<0:+65536;
!!VRy7:Sy6:256;
!!VRy6:%256;
!!VRy8&y8<0:+65536;
!!VRy9:Sy8:256;
!!VRy8:%256;
!!MO998:G?y2;
!!OB998:U?y3;
!!VRy40:S3;
!!VRy40&v9805=2:S5;
!!VRy40&v9805=3:S7;
!!VRy99:Sy2:y40;
!!BA:M1/0/y3/y99 M1/1/-1/0 M1/2/-1/0 M1/3/-1/0 M1/4/-1/0 M1/5/-1/0 M1/6/-1/0;
; <## ЗАПЛАТКА НА ИСПРАВЛЕНИЕ БАГА: 0 НЕЙТРАЛОВ 30.05.09 [5.17] ##>
!!BA&y99=0:M1/0/-1/0;
!!MA:Fy3/?y19;
!!VRy19:*y2;
!!VRv9830:%y40;
!!VRy19::y40;
!!if&v9805>=1:;
!!MA:Fy4/?y20;
!!VRy21:Sy19:y20;
!!VRy77:Sy19%y20;
!!VRv9830:+y77;
!!MA:Fy5/?y22;
!!VRy23:Sy19:y22;
!!VRy77:Sy19%y22;
!!VRv9830:+y77;
!!BA&y21>0:M1/1/y4/y21;
!!BA&y23>0:M1/2/y5/y23;
!!en:;
!!if&v9805>=2:;
!!MA:Fy6/?y20;
!!VRy21:Sy19:y20;
!!VRy77:Sy19%y20;
!!VRv9830:+y77;
!!MA:Fy7/?y22;
!!VRy23:Sy19:y22;
!!VRy77:Sy19%y22;
!!VRv9830:+y77;
!!BA&y21>0:M1/3/y6/y21;
!!BA&y23>0:M1/4/y7/y23;
!!en:;
!!if&v9805=3:;
!!MA:Fy8/?y20;
!!VRy21:Sy19:y20;
!!VRy77:Sy19%y20;
!!VRv9830:+y77;
!!MA:Fy9/?y22;
!!VRy23:Sy19:y22;
!!VRy77:Sy19%y22;
!!VRv9830:+y77;
!!BA&y21>0:M1/5/y8/y21;
!!BA&y23>0:M1/6/y9/y23;
!!en:;
!?BA1|v9711=1/v9711=8;
!!FU&-945:E;
!!PO998:N?y1;
!!FU&y1<>7:E;
!!if&v9804=1:;
!!VRv2:Cv998/v999/v1000;
!!PO2:N0 H?y2;
!!FU&y2=255:E;
!!VRy2:-1;
!!IF&1000:Q1/8/y2/1/z199503;
!!HE-1:A4/y2;
!!PO2:H255;
!!FU:E;
!!en:;
!!if&v9711=1:;
!!BA:M1/0/?y1/?y2 M1/1/?y3/?y4 M1/2/?y5/?y6 M1/3/?y7/?y8 M1/4/?y9/?y10 M1/5/?y11/?y12 M1/6/?y13/?y14;
!!VRy16:S0;
!!MA&y2<>0:Fy1/?y15;
!!VRy15:*y2;
!!VRy16&y2<>0:+y15;
!!MA&y4<>0:Fy3/?y15;
!!VRy15:*y4;
!!VRy16&y4<>0:+y15;
!!MA&y6<>0:Fy5/?y15;
!!VRy15:*y6;
!!VRy16&y6<>0:+y15;
!!MA&y8<>0:Fy7/?y15;
!!VRy15:*y8;
!!VRy16&y8<>0:+y15;
!!MA&y10<>0:Fy9/?y15;
!!VRy15:*y10;
!!VRy16&y10<>0:+y15;
!!MA&y12<>0:Fy11/?y15;
!!VRy15:*y12;
!!VRy16&y12<>0:+y15;
!!MA&y14<>0:Fy13/?y15;
!!VRy15:*y14;
!!VRy16&y14<>0:+y15;
!!VRy16:+v9830;
!!OB998:U?y15;
!!MA:Fy15/?y17;
!!VRy18:Sy16:y17;
!!BA:M1/0/y15/y18 M1/1/-1/0 M1/2/-1/0 M1/3/-1/0 M1/4/-1/0 M1/5/-1/0 M1/6/-1/0;
!!en:;
; СМЕШАННЫЕ НЕЙТРАЛЫ
!?FU22551;
; кол-во монстров на карте
; тип арта
; номер арта
; шанс 1..100
!!UN:U54/-1/-1/2;
!!PO2:N7;
; <## ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ПРИЗОВЫХ АРТЕФАКТОВ 28.04.09 [22.49]
!!PO2:H?y11;
!!if&y11=255:;
!!VRy12:S1 R99;
!!VRy11:S254;
!!VRy10:S0;
!!VRy10&y12<=20:S2; мелкие
!!VRy10&y12<=10:S4; средние
!!VRy10&y12<=5:S8; крупные арты
!!UN&y10<>0:J6/y10/?y11;
!!VRy11:+1;
!!PO2:Hy11;
!!en:;
; ##>
!!OB2:U?y1;
!!MO2:G?y2;
!!MA:Ly1/?y99;
!!VRy3:S8-y99;
!!VRy3&y3<1:S1;
!!VRy3&y3=8:S5;
!!VRy2:*y3;
!!MO2:Gy2;
!!VRy4:S0 R303;
!!VRy4&y4>144:Sy4+23;Исключаем боевые машины и стрелковые башни.
!!VRy5:S0 R303;
!!VRy5&y5>144:Sy5+23;Исключаем боевые машины и стрелковые башни.
!!VRy6:S0 R303;
!!VRy6&y6>144:Sy6+23;Исключаем боевые машины и стрелковые башни.
!!VRy7:S0 R303;
!!VRy7&y7>144:Sy7+23;Исключаем боевые машины и стрелковые башни.
!!VRy8:S0 R303;
!!VRy8&y8>144:Sy8+23;Исключаем боевые машины и стрелковые башни.
!!VRy9:S0 R303;
!!VRy9&y9>144:Sy9+23;Исключаем боевые машины и стрелковые башни.
!!VRy5:*256+y4;
!!VRy7:*256+y6;
!!VRy9:*256+y8;
!!PO2:V0/y5 V1/y7 V2/y9;
!?TM1&v2392=1/v2391=1/945;
; кол-во монстров на карте
!!UN:U54/-1/?v600;
!!FU&v600=0:E;
!!VRv2:C-1/0/0;
!!VRy2:S0 T2000000000 R1/y2;
!!DO22551/1/v600/1:P;
при генерации надо чтобы в отрядах не генерировались командиры, эмиссары, боевые машины и стрелковые башни.
надо выборочное исключение, а у меня получается только куском...
если что не так, поправьте?
Заранее спасибо.
убери кусок кода
Код
!!VRy4:S0 R303;
!!VRy4&y4>144:Sy4+23;Исключаем боевые машины и стрелковые башни.
!!VRy5:S0 R303;
!!VRy5&y5>144:Sy5+23;Исключаем боевые машины и стрелковые башни.
!!VRy6:S0 R303;
!!VRy6&y6>144:Sy6+23;Исключаем боевые машины и стрелковые башни.
!!VRy7:S0 R303;
!!VRy7&y7>144:Sy7+23;Исключаем боевые машины и стрелковые башни.
!!VRy8:S0 R303;
!!VRy8&y8>144:Sy8+23;Исключаем боевые машины и стрелковые башни.
!!VRy9:S0 R303;
!!VRy9&y9>144:Sy9+23;Исключаем боевые машины и стрелковые башни.
и вставь этот
Код
!!VRy4:S0 R275;
!!VRy4&y4>144:Sy4+5; !!VRy4&y4>159:Sy4+4; !!VRy4&y4>173:Sy4+18;
(c !!VRy5 - !!VRy9 и дальше аналогично...)
M.A.K.C.
23 Jun 2016, 13:38
Цитата(igrik @ 23 Jun 2016, 13:30)

убери кусок кода
Код
!!VRy4:S0 R303;
!!VRy4&y4>144:Sy4+23;Исключаем боевые машины и стрелковые башни.
!!VRy5:S0 R303;
!!VRy5&y5>144:Sy5+23;Исключаем боевые машины и стрелковые башни.
!!VRy6:S0 R303;
!!VRy6&y6>144:Sy6+23;Исключаем боевые машины и стрелковые башни.
!!VRy7:S0 R303;
!!VRy7&y7>144:Sy7+23;Исключаем боевые машины и стрелковые башни.
!!VRy8:S0 R303;
!!VRy8&y8>144:Sy8+23;Исключаем боевые машины и стрелковые башни.
!!VRy9:S0 R303;
!!VRy9&y9>144:Sy9+23;Исключаем боевые машины и стрелковые башни.
и вставь этот
Код
!!VRy4:S0 R275;
!!VRy4&y4>144:Sy4+5; !!VRy4&y4>159:Sy4+4; !!VRy4&y4>173:Sy4+18;
(c !!VRy5 - !!VRy9 и дальше аналогично...)
Будут ли генерироваться другие монстры до 302 при такой замене? Или только до 275?
Будут.
feanor же это и описал, а вы читаете не вникая в смысл.
Цитата(feanor)
R275 же.
Иначе если у тебя рандом выдаст 302, то к нему прибавится 5, 4 и 18, и результат вылетит за пределы диапазона.
M.A.K.C.
23 Jun 2016, 14:00
Цитата(igrik @ 23 Jun 2016, 14:56)

Будут.
feanor же это и описал, а вы читаете не понимая смысла.
Цитата(feanor)
R275 же.
Иначе если у тебя рандом выдаст 302, то к нему прибавится 5, 4 и 18, и результат вылетит за пределы диапазона.
спасибо, просто я сомневался и решил уточнить.
M.A.K.C.
23 Jun 2016, 21:15
Спасибо за помощь, мне очень помогло.
Если не затруднит, ещё вопрос, как привязать количество монстров в отрядах к их стоимости
!!VRy4:S0 R275;
!!VRy4&y4>144:Sy4+5;
!!VRy4&y4>159:Sy4+4;
!!VRy4&y4>173:Sy4+18;
!!MA:Cy4/6/?y2;Считываем стоимость монстра.
!!VRy19:S5000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy4&y19<1:S0; Случай с копейщиком ...
!!VRy19&y19<1:S1; ... один копейщик
!!VRy5:*256+y4;
!!VRy7:*256+y6;
!!VRy9:*256+y8;
!!PO2:V0/y5 V1/y7 V2/y9;
правильно?
А где
Цитата(igrik)
(c !!VRy5 - !!VRy9 и дальше аналогично...)
кол-монстров
Код
!!MA:Cy4/6/?y2;Считываем стоимость монстра.
!!VRy19:S5000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy4&y19<1:S0; Случай с копейщиком ...
!!VRy19&y19<1:S1; ... один копейщик
!!VRy5:*256+y4;
!!VRy7:*256+y6;
!!VRy9:*256+y8;
!!PO2:V0/y5 V1/y7 V2/y9;
!!MO2:Gy19; добавить эту строку
M.A.K.C.
24 Jun 2016, 15:38
все там же.
Не написал, ошибся видно.
!?TM1&v2392=1/v2391=1;
!!UN:U25/-1/?v600;
!!VRv2:C-1/0/0;
!!DO22552/1/v600/1&v600<>0:P;
!?FU22553;
!!VRz22&x1<5:S^1-4^;
!!VRz22&x1>4/x1<10:S^5-9^;
!!VRz22&x1>9/x1<20:S^10-19^;
!!VRz22&x1>19/x1<50:S^20-49^;
!!VRz22&x1>49/x1<100:S^50-99^;
!!VRz22&x1>99/x1<250:S^100-249^;
!!VRz22&x1>249/x1<500:S^250-499^;
!!VRz22&x1>499/x1<1000:S^500-999^;
!!VRz22&x1>999:S^1000+^;
!?CM&v9828=54/945;
!!VRv1:Cv9808/v9809/v9810;
!!PO1:N?y1;
!!OW:C?y-1; текущий игрок
!!FU29984:Py-1/4; перевод цвета игрока в биты [v4 - result]
!!TRv1/v2/v3:V?y-2; видимость точки
!!VRy-2:&v4; проверка на видимость
!!FU|y1<>7/y-2=0:E;
!!CM:R0;
!!PO1:V0/?y4 V1/?y6 V2/?y8;
!!VRy4&y4<0:+65536;
!!VRy5:Sy4:256;
!!VRy4:%256;
!!VRy6&y6<0:+65536;
!!VRy7:Sy6:256;
!!VRy6:%256;
!!VRy8&y8<0:+65536;
!!VRy9:Sy8:256;
!!VRy8:%256;
!!FU22505:P2/7;
!!OW:A-1/?y50;
!!IF:V3/0;
!!if&y50<>-1:;
!!HEy50:S3/?y51;
!!VRy51:*3;
!!HEy50:P?y52/?y53/?y54;
!!VRy52:-v9808;
!!VRy52&y52<0:*-1;
!!VRy53:-v9809;
!!VRy53&y53<0:*-1;
!!FU22504:Py52/y53/10;
!!IF&v10<=y51:V3/1;
!!en:;
!!MO1:G?y2;
!!OB1:U?y3;
!!VRy40:S3;
!!VRy40&v9805=2:S5;
!!VRy40&v9805=3:S7;
!!MA:Fy3/?y19;
!!VRy19:*y2;
!!VRy19::y40;
!!if&v9805>=1:;
!!VRy21:Sy2:y40;
!!UN:N3/10/y3/1;
!!FU22553&y21>0/-3:Py21;
!!VRz9&y21>0/3:S^
{%Y21} %Z10^;
!!VRz9&y21>0/-3:S^
{%Z22} %Z10^;
!!MA:Fy4/?y20;
!!VRy21:Sy19:y20;
!!MA:Fy5/?y22;
!!VRy23:Sy19:y22;
!!UN:N3/10/y4/1;
!!FU22553&y21>0/-3:Py21;
!!VRz2&y21>0/3:S^
{%Y21} %Z10^;
!!VRz2&y21>0/-3:S^
{%Z22} %Z10^;
!!UN:N3/10/y5/1;
!!FU22553&y23>0/-3:Py23;
!!VRz3&y23>0/3:S^
{%Y23} %Z10^;
!!VRz3&y23>0/-3:S^
{%Z22} %Z10^;
!!en:;
!!if&v9805>=2:;
!!MA:Fy6/?y20;
!!VRy21:Sy19:y20;
!!MA:Fy7/?y22;
!!VRy23:Sy19:y22;
!!UN:N3/10/y6/1;
!!FU22553&y21>0/-3:Py21;
!!VRz4&y21>0/3:S^
{%Y21} %Z10^;
!!VRz4&y21>0/-3:S^
{%Z22} %Z10^;
!!UN:N3/10/y7/1;
!!FU22553&y23>0/-3:Py23;
!!VRz5&y23>0/3:S^
{%Y23} %Z10^;
!!VRz5&y23>0/-3:S^
{%Z22} %Z10^;
!!en:;
!!if&v9805=3:;
!!MA:Fy8/?y20;
!!VRy21:Sy19:y20;
!!MA:Fy9/?y22;
!!VRy23:Sy19:y22;
!!UN:N3/10/y8/1;
!!FU22553&y21>0/-3:Py21;
!!VRz6&y21>0/3:S^
{%Y21} %Z10^;
!!VRz6&y21>0/-3:S^
{%Z22} %Z10^;
!!UN:N3/10/y9/1;
!!FU22553&y23>0/-3:Py23;
!!VRz7&y23>0/3:S^
{%Y23} %Z10^;
!!VRz7&y23>0/-3:S^
{%Z22} %Z10^;
!!en:;
!!VRz8:S^%Z199502
%Z9%Z2%Z3%Z4%Z5%Z6%Z7^;
!!IF:Q1/21/y3/4/z8;
!?BA0&v9711=1/945;
!!OB998:T?y1;
!!FU&y1<>54:E;
!!PO998:N?y1;
!!FU&y1<>7:E;
!!PO998:V0/?y4 V1/?y6 V2/?y8;
!!VRy4&y4<0:+65536;
!!VRy5:Sy4:256;
!!VRy4:%256;
!!VRy6&y6<0:+65536;
!!VRy7:Sy6:256;
!!VRy6:%256;
!!VRy8&y8<0:+65536;
!!VRy9:Sy8:256;
!!VRy8:%256;
!!MO998:G?y2;
!!OB998:U?y3;
!!VRy40:S3;
!!VRy40&v9805=2:S5;
!!VRy40&v9805=3:S7;
!!VRy99:Sy2:y40;
!!BA:M1/0/y3/y99 M1/1/-1/0 M1/2/-1/0 M1/3/-1/0 M1/4/-1/0 M1/5/-1/0 M1/6/-1/0;
; <## ЗАПЛАТКА НА ИСПРАВЛЕНИЕ БАГА: 0 НЕЙТРАЛОВ 30.05.09 [5.17] ##>
!!BA&y99=0:M1/0/-1/0;
!!MA:Fy3/?y19;
!!VRy19:*y2;
!!VRv9830:%y40;
!!VRy19::y40;
!!if&v9805>=1:;
!!MA:Fy4/?y20;
!!VRy21:Sy19:y20;
!!VRy77:Sy19%y20;
!!VRv9830:+y77;
!!MA:Fy5/?y22;
!!VRy23:Sy19:y22;
!!VRy77:Sy19%y22;
!!VRv9830:+y77;
!!BA&y21>0:M1/1/y4/y21;
!!BA&y23>0:M1/2/y5/y23;
!!en:;
!!if&v9805>=2:;
!!MA:Fy6/?y20;
!!VRy21:Sy19:y20;
!!VRy77:Sy19%y20;
!!VRv9830:+y77;
!!MA:Fy7/?y22;
!!VRy23:Sy19:y22;
!!VRy77:Sy19%y22;
!!VRv9830:+y77;
!!BA&y21>0:M1/3/y6/y21;
!!BA&y23>0:M1/4/y7/y23;
!!en:;
!!if&v9805=3:;
!!MA:Fy8/?y20;
!!VRy21:Sy19:y20;
!!VRy77:Sy19%y20;
!!VRv9830:+y77;
!!MA:Fy9/?y22;
!!VRy23:Sy19:y22;
!!VRy77:Sy19%y22;
!!VRv9830:+y77;
!!BA&y21>0:M1/5/y8/y21;
!!BA&y23>0:M1/6/y9/y23;
!!en:;
!?BA1|v9711=1/v9711=8;
!!FU&-945:E;
!!PO998:N?y1;
!!FU&y1<>7:E;
!!if&v9804=1:;
!!VRv2:Cv998/v999/v1000;
!!PO2:N0 H?y2;
!!FU&y2=255:E;
!!VRy2:-1;
!!IF&1000:Q1/8/y2/1/z199503;
!!HE-1:A4/y2;
!!PO2:H255;
!!FU:E;
!!en:;
!!if&v9711=1:;
!!BA:M1/0/?y1/?y2 M1/1/?y3/?y4 M1/2/?y5/?y6 M1/3/?y7/?y8 M1/4/?y9/?y10 M1/5/?y11/?y12 M1/6/?y13/?y14;
!!VRy16:S0;
!!MA&y2<>0:Fy1/?y15;
!!VRy15:*y2;
!!VRy16&y2<>0:+y15;
!!MA&y4<>0:Fy3/?y15;
!!VRy15:*y4;
!!VRy16&y4<>0:+y15;
!!MA&y6<>0:Fy5/?y15;
!!VRy15:*y6;
!!VRy16&y6<>0:+y15;
!!MA&y8<>0:Fy7/?y15;
!!VRy15:*y8;
!!VRy16&y8<>0:+y15;
!!MA&y10<>0:Fy9/?y15;
!!VRy15:*y10;
!!VRy16&y10<>0:+y15;
!!MA&y12<>0:Fy11/?y15;
!!VRy15:*y12;
!!VRy16&y12<>0:+y15;
!!MA&y14<>0:Fy13/?y15;
!!VRy15:*y14;
!!VRy16&y14<>0:+y15;
!!VRy16:+v9830;
!!OB998:U?y15;
!!MA:Fy15/?y17;
!!VRy18:Sy16:y17;
!!BA:M1/0/y15/y18 M1/1/-1/0 M1/2/-1/0 M1/3/-1/0 M1/4/-1/0 M1/5/-1/0 M1/6/-1/0;
!!en:;
; СМЕШАННЫЕ НЕЙТРАЛЫ
!?FU22551;
; кол-во монстров на карте
; тип арта
; номер арта
; шанс 1..100
!!UN:U54/-1/-1/2;
!!PO2:N7;
; <## ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ПРИЗОВЫХ АРТЕФАКТОВ 28.04.09 [22.49]
!!PO2:H?y11;
!!if&y11=255:;
!!VRy12:S1 R99;
!!VRy11:S254;
!!VRy10:S0;
!!VRy10&y12<=20:S2; мелкие
!!VRy10&y12<=10:S4; средние
!!VRy10&y12<=5:S8; крупные арты
!!UN&y10<>0:J6/y10/?y11;
!!VRy11:+1;
!!PO2:Hy11;
!!en:;
; ##>
!!OB2:U?y1;
!!MO2:G?y2;
!!MA:Ly1/?y99;
!!VRy3:S8-y99;
!!VRy3&y3<1:S1;
!!VRy3&y3=8:S5;
!!VRy2:*y3;
!!MO2:Gy2;
!!VRy4:S0 R275;
!!VRy4&y4>144:Sy4+5;
!!VRy4&y4>159:Sy4+4;
!!VRy4&y4>173:Sy4+18;
!!MA:Cy4/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy4&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
!!VRy5:S0 R275;
!!VRy5&y5>144:Sy5+5;
!!VRy5&y5>159:Sy5+4;
!!VRy5&y5>173:Sy5+18;
!!MA:Cy5/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy5&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
!!VRy6:S0 R275;
!!VRy6&y6>144:Sy6+5;
!!VRy6&y6>159:Sy6+4;
!!VRy6&y6>173:Sy6+18;
!!MA:Cy6/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy6&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
!!VRy7:S0 R275;
!!VRy7&y7>144:Sy7+5;
!!VRy7&y7>159:Sy7+4;
!!VRy7&y7>173:Sy7+18;
!!MA:Cy7/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy7&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
!!VRy8:S0 R275;
!!VRy8&y8>144:Sy8+5;
!!VRy8&y8>159:Sy8+4;
!!VRy8&y8>173:Sy8+18;
!!MA:Cy8/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy8&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
!!VRy9:S0 R275;
!!VRy9&y9>144:Sy9+5;
!!VRy9&y9>159:Sy9+4;
!!VRy9&y9>173:Sy9+18;
!!MA:Cy9/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy9&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
!!VRy5:*256+y4;
!!VRy7:*256+y6;
!!VRy9:*256+y8;
!!PO2:V0/y5 V1/y7 V2/y9;
!!MO2:Gy44; добавить эту строку
!?TM1&v2392=1/v2391=1/945;
; кол-во монстров на карте
!!UN:U54/-1/?v600;
!!FU&v600=0:E;
!!VRv2:C-1/0/0;
!!VRy2:S0 T2000000000 R1/y2;
!!DO22551/1/v600/1:P;
Так я понял?
(у44 для того, чтобы не пересекалось с другими)
вылезают ошибки, если
!!MA:Cy4/6/?y2;Считываем стоимость монстра.
!!VRy44:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy4&y44<1:S0; Случай с копейщиком ...
!!VRy44&y44<1:S1; ... один копейщик
повторяю с у5 по у9
если только у4 то работает.
Извините, что так коряво объясняю.
Да, и как понял если количество монстров 350, то число должно быть (350 количество-27 исключаемые) = R323; так?
Спасибо за помощь.
Ошибки выскакивают, потому что через "!!MA:Cy4/6/?y2;Считываем стоимость монстра." не считать стоимость монстра, если его номер больше 196. Изините, но тут помочь я ничем не могу.
M.A.K.C.
24 Jun 2016, 21:28
Цитата(igrik @ 24 Jun 2016, 20:54)

Ошибки выскакивают, потому что через "!!MA:Cy4/6/?y2;Считываем стоимость монстра." не считать стоимость монстра, если его номер больше 196. Изините, но тут помочь я ничем не могу.
Зато понятно, в чем корень зла....
Нельзя считать не только стоимость, но и другие параметры !!MA, так? ,
feanor
11 Jul 2016, 17:16
На самом деле тут мы возвращаемся к вопросу - а что это за сборка, где 305 монстров?
Во-первых, я не слышал о том, чтобы кто-то добавлял более 256 (0-255 монстров).
Во-вторых, вроде бы все средства расширения убирают пределы для ерм-команд и таких сообщений просто не должно возникать.
kozelrus
22 Aug 2016, 02:07
Решил всё же вернутся к глобальному моду. Не хватает знаний ЕРМ языка.
А именно, как добавить нужное существо на стены замка при осаде?
Допустим, убрать стрелков Некро (Лич 5 уровня) и добавить на стены 1 уровень (улучшенный) - (допустим заменяем апнутых скелетов на скелетов лучников)
И где переменные, что бы я уже дальше по шаблону
PaLaCh
13 Jan 2017, 06:48
привет всем мне нужны такие скрипты искал на форуме ссылки удалёны в каго есть скрипты можете перезалить
1 Коменданты
2 Новые Боги ( видел на форуме автор Farlin ссылка на опасения скрипта
http://forum.df2.ru/index.php?showtopic=954&st=120 17 пост )
3 з данной темы нужны скрипты (
http://forum.df2.ru/index.php?showtopic=3109 ) 81 89 93 94
IceZver
03 Jan 2018, 13:46
Приветствую всех!
Вот вернулся к старым добрым героям. Теперь мучаю гугл в поисках разных скриптов.
Пока есть такие пожелания:
1. Открыть всех героев (уникальных, легендарных), со старта рандомной карты. Возможно какие нибудь измененые специализации...Нет некоторых героев, например на кентавров или медуз, нет героев на монстров 7 уровня.
2. Больше колодцев.
3. Заменить нейтральных города, может не все, а может и все. Чтобы у каждого игрока был только свой город.
4. Прокачка мобов до 3 грейда в городах, я таких много нашел, но у меня почему-то ни один не работает.
hippocamus
03 Jan 2018, 15:21
1-й есть тут:
http://forum.df2.ru/index.php?showtopic=30...st&p=688848Вообще посмотри ту тему, там много интересных плагинов.
IceZver
03 Jan 2018, 22:29
Цитата(hippocamus @ 03 Jan 2018, 17:21)

1-й есть тут:
http://forum.df2.ru/index.php?showtopic=30...st&p=688848Вообще посмотри ту тему, там много интересных плагинов.
Как раз хотел к тебе обратиться по этому вопросу, ссылка там битая, а скрипт походу тот что мне нужен.
Хм...получилось скачать файл "campaign heroes as start heroes (modified).bin", а куда его такой?
Может и колодцы там получится скачать.
hippocamus
04 Jan 2018, 00:41
В Era - в \Mods\CampHeroes\ или \_HD3_Data\Plugins\CampHeroes\ в HD соответственно.
IceZver
04 Jan 2018, 09:20
Цитата(hippocamus @ 04 Jan 2018, 02:41)

В Era - в \Mods\CampHeroes\ или \_HD3_Data\Plugins\CampHeroes\ в HD соответственно.
У меня почему-то нет таких папок. Версия эры - 2.6.6.
Может создать их?
_______________
Теперь ищу скрипт, на улучшение мобов, до 3 уровня, в замке, только чтобы без инбалансных моментов, все которые мне попадались могут из копейщиков создавать мечником, что, как по мне инбалансно.
Ислючение - мод от Acid Dragon, который даже был переведен, сейчас не найду ссылку на тему, где выкладывали (на оф форуме wog) и ссылка там давно устарела. Самый достойный, по моему мнению, но на английском не подходит, я бы даже мог худо-бедно его перевести, но нет времени на разбирательства, с тем, как вытащить текст, а потмо всунуть обратно.
А вот нашел тему (http://wforum.heroes35.net/showthread.php?tid=4107).
Ещё нашел скрипт: "Fast AI (90.5 KB)
(Author: Valery. Several bonuses awarded to AI for better challenge)"
(http://heroescommunity.com/viewthread.php3?TID=37495)
Хотя опять же не скачивается, и по описанию не совсем понятно, какие бонусы АИ он даст, но если как-то усилит, то может быть полезен.
hippocamus
04 Jan 2018, 11:32
Mods есть?
А для плагина сам создай, можешь обозвать как хошъ, я для примера написал.
Acid Cave у меня должен быть, посмотрю дома. Как тексты менять тоже объясню.
Плагин от Valery можно поискать в составе его больших модов - StarGate Athlantis или 300 спартанцев. Судя по всему - ИИ меньше размышляет, видимо из-за сокращения анализируемого радиуса. Но умнее он от этого не будет точно )
Berserker
04 Jan 2018, 13:56
http://wakeofgods.org/mods/Там смотрите моды. Fast AI - ИИ, быстро развивающийся, то есть с нарастающей мощью и ростом сложности игры.
IceZver
04 Jan 2018, 14:50
Попробовал разные адреса для мода:
E:\Games\HoMM WoG ERA\Mods\WoG\EraPlugins\AfterWoG
И выпадает ошибка:

Заметил, что есть такой же файл, стандартный не модифицированный.
В других местах, никакого эффекта.
_______________________________
Berserker, конкретно такого названия не нашел, и гугл мне тоже как-т оне помог в поисках.
_______________________________
А ещё...хотел бы закинуть в игру дополнительную "Граль". А то при использовании "XXL" карт, откопать её просто невозможно.
Скажем 3 рандомных грали исправили бы этот момент.
hippocamus
04 Jan 2018, 17:15
Цитата(IceZver @ 04 Jan 2018, 14:50)

А ещё...хотел бы закинуть в игру дополнительную "Граль". А то при использовании "XXL" карт, откопать её просто невозможно.
Скажем 3 рандомных грали исправили бы этот момент.
Вот это вряд ли. Грааль - это псевдообъект. Это просто игровая сущность, которая имеет координаты и статус выкопана/нет (а может и не имеет, но второй раз выкопать его нельзя хотя бы потому, что где находится яма - копать запрещено).
А вот положить на карту грааль в виде артефакта, или давать его квестами, событиями, скриптами - это возможно.
Berserker
04 Jan 2018, 20:42
IceZver, мод устанавливать нужно через менеджер модов или, если это exe, указав папку с игрой.
Патч на кампанейских героев, вроде бы имеется, только нужно убрать .off у расширения.
IceZver
04 Jan 2018, 22:14
hippocamus, да, я так и имелл ввиду. Просто скриптом на карту положить. Всё равно актуальность закопанной стремиться к нулю.
___________________________
Berserker, благодарю! Действительно просто сменил расширение и всё заработало.
Кучу времени потратил, вот на форум этот пришел, чтобы запустить, а делов на 5 минут оказалось.
___________________________
Нашел сборку модов (http://makshuvalov.meximas.com/skripty/)
Которая "DRAKUSN2".
И там есть скрипт на появление босса-монстра, у нейтралов, его ведь можно вытащить из скрипта отдельно?
Berserker
05 Jan 2018, 13:05
Сложно сказать про скрипт босса. Часто это довольно мутарно. Про данный случай не скажу, занят приоритетными задачами (.
hippocamus
05 Jan 2018, 21:28
IceZver, используй в качестве босса командира. Ему легко дать любые параметры и кучу способностей.
IceZver
06 Jan 2018, 09:07
К сожалению, в данный момент, нет времени разбираться в скриптах.
Пока попробую найти автора, может он даст именно босса.
А так, получается можно добавить командира к нейтральным армиям?
Вот есть скрипт который даёт нейтральным отрядам случайного героя в помощь, но у меня, в таком случае почему-то вылетает игра.
Да и герой прилично поднимает общую силу отряда, а в случае с кармической битвой, вообще неизвестно что получится
hippocamus
06 Jan 2018, 20:12
IceZver, один из стандартных скриптов ВОГ даёт героя в каждую 5-ю битву нейтралам.
Посмотри, убери проверку - будет тебе всегда давать.
Без сторонних скриптов.
IceZver
10 Jan 2018, 20:05
У меня почему-то, последние попытки приводят к тому, что после хода АИ, игра подвисает, секунд на 20.
И ещё вопрос, где-то в инете видел исправленный пак, воговских скриптов, имеет ли смысл его пробовать?
Berserker
10 Jan 2018, 22:08
Имеет. WoG Revised?
IceZver
11 Jan 2018, 09:38
Не смогу сказать какой видел...врятли их много.
Но...есть ли руссифицированные версии?
________________________________
А что насчет вот этого патча?
http://wforum.heroes35.net/showthread.php?tid=894&page=1Ссылки как обычно битые.
Можно ли его поставить на Эру? Я бы ещё ускорил героев, не смотря на то что у меня уже стоит "TurboWog".
Sandris
13 Jan 2018, 18:28
Имеется ли образец-шаблон скрипта, который позволяет изменять базовую специализацию героя? ...чтобы дальше можно было его самому заполнять/менять/развивать...
serovoy
13 Jan 2018, 19:08
WoG Revised лучше не использовать, с ним вечно конфликты какие-то.
А стандартную опцию на случайного героя отредактировать легко, надо просто число 25 изменить на 100.
M.A.K.C.
22 Feb 2018, 19:22
здравствуйте все!
Раз тема ещё жива, решил задать вопрос.
(извиняюсь заранее, подзабыл многое, так как давно не запускал, Но герои 6 и 7 надежд не оправдали...)
Вопрос такой, Мучаюсь над скриптом, Immortal отвечал, что Ошибки выскакивают, потому что через "!!MA:Cy4/6/?y2;Считываем стоимость монстра." не считать стоимость монстра, если его номер больше 196.
можно ли сделать так, что при генерации случайного номера монстра выпаадает до 196, то подсчет обычный, а если более 196, то ставится 1 монстр?
***************************************************
Сундук сокровищ-засада
***************************************************
!?OB101&999;
!!VRy1:S0 R1;
!!FU&y1=1:E;
!!VRy1:R275;Генерируем случайный номер монстра.
!!VRy1&y1>144:Sy1+5;Исключаем боевые машины и стрелковые башни.
!!VRy1&y1>159:Sy1+4;Исключаем Эмиссаров.
!!VRy1&y1>173:Sy1+18;Исключаем командиров.
!!MA:Cy1/6/?y2;Считываем стоимость монстра.
!!VRy3:S1000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy1&y3<1:S0; Случай с копейщиком ...
!!VRy3&y3<1:S1; ... один копейщик
!!HE-1:Tv998/v999/v1000/y1/y3;Вызываем сражение с этими монстрами.
!!VRy4:S0 R275;
!!VRy4&y4>144:Sy4+5;
!!VRy4&y4>159:Sy4+4;
!!VRy4&y4>173:Sy4+18;
!!MA:Cy4/6/?y2;Считываем стоимость монстра.
!!VRy19:S5000:y2;Вычисляем количество монстров исходя из стоимости.
!!VRy4&y19<1:S0; Случай с копейщиком ...
!!VRy19&y19<1:S1; ... один копейщик
!!VRy5:*256+y4;
!!VRy7:*256+y6;
!!VRy9:*256+y8;
!!PO2:V0/y5 V1/y7 V2/y9;
Да, 303 монстров в моей сборке,
И в завершение вопрос, существует ли отдельный скрипт смешанные нейтралы? который можно просто включать, или отключать в игре?
XEPOMAHT
22 Feb 2018, 23:04
Цитата(M.A.K.C. @ 22 Feb 2018, 19:22)

Вопрос такой, Мучаюсь над скриптом, Immortal отвечал, что Ошибки выскакивают, потому что через "!!MA:Cy4/6/?y2;Считываем стоимость монстра." не считать стоимость монстра, если его номер больше 196.
WoG перед обработкой MA:C проверяет номер монстра:
Код
if((k<0)||(k>=MONNUM)){ RETURN(0) }
Либо делай значение MONNUM выше 196, либо вообще затирай эту проверку в коде игры.
Цитата(M.A.K.C. @ 22 Feb 2018, 19:22)

Да, 303 монстров в моей сборке
У меня уже на 214-м уже закончились более-менее приемлемые def-ы. При том, что половина воговских монстров была полностью снесена. Не в количестве монстров счастье.
Цитата(M.A.K.C. @ 22 Feb 2018, 19:22)

существует ли отдельный скрипт смешанные нейтралы? который можно просто включать, или отключать в игре?
Не сложно выдернуть, например, из Феникс-мода. Copy-paste + добавление проверок на нужный номер опции.
M.A.K.C.
24 Feb 2018, 10:44
Может кто проверить скрипты (3 штуки) на ошибки?
**********************************************************************
**********
На карте периодически появляются камни силы и сундуки сокровищ"
********************************************************************************
!#TM43:S2/999/3/255;
!?TM43;
!!FU19022:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки.
!!VRy-10:R10;y1-случайное число (0..10)
!!UN&y-10=0:Iy-1/y-2/y-3/101/0/101/0/0/1;Ставим приз на клетку. сундук
!!UN&y-10=1:Iy-1/y-2/y-3/101/1/101/1/0/1;Ставим приз на клетку. сундук
!!UN&y-10=2:Iy-1/y-2/y-3/101/5/101/5/0/1;Ставим приз на клетку. сундук
!!UN&y-10=3:Iy-1/y-2/y-3/81/0/81/0/0/1;Ставим приз на клетку. ученый
!!UN&y-10=4:Iy-1/y-2/y-3/76/0/76/0/0/1;Ставим приз на клетку. случайный рессурс
!!UN&y-10=5:Iy-1/y-2/y-3/12/0/12/0/0/1;Ставим приз на клетку. костер
!!UN&y-10=6:Iy-1/y-2/y-3/62/0/62/0/0/1;Ставим приз на клетку. тюрьма
!!UN&y-10=7:Iy-1/y-2/y-3/101/7/101/7/0/1;Ставим приз на клетку. сундук
!!UN&y-10=8:Iy-1/y-2/y-3/101/8/101/8/0/1;Ставим приз на клетку. сундук
!!UN&y-10=9:Iy-1/y-2/y-3/101/9/101/9/0/1;Ставим приз на клетку. сундук
!!UN&y-10=10:Iy-1/y-2/y-3/101/10/101/10/0/1;Ставим приз на клетку. сундук
;Функции генерации случайной свободной клетки карты.
!?FU19022;Функция генерации случайной свободной клетки карты.
!!UN:X?y1/?y2;Считываем размеры карты.
!!VRy2:+1;Вычисляем количество уровней на карте.
!!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты.
!!VRy3:-1;Вычисляем номер последней клетки карты.
!!VRy4:Sv2;Сохраняем значение глобальной переменной.
!!VRv2:S0;Обнуляем переменную счёта свободных клеток.
!!DO19023/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней.
!!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию.
!!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки.
!!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки.
!!DO19024/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки.
!!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки.
!!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки.
!!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки.
!!VRv2:Sy4;Восстанавливаем значение глобальной переменной.
!?FU19023;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!FU&y4=0|y5=0/y6=8/y6=9:E;Если клетка недоступна, завершаем тфункцию.
!!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке.
!!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток.
!?FU19024;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!OBy1/y2/y3&y4=1/y5=1/y6<>8/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке.
!!VRv2&y4=0|y5=0/y6=8/y6=9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки.
!!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
****************************************************************************
********************************************************************************
На море периодически появляются няшки и морские сундуки "
********************************************************************************
!#TM44:S3/999/5/255;
!?TM44;
!!FU28450:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки.
!!VRy-10:R4;y1-случайное число (0..5)
!!UN&y-10=0:Iy-1/y-2/y-3/29/0/29/0/8/1;Ставим приз на клетку.
!!UN&y-10=1:Iy-1/y-2/y-3/82/0/82/0/8/1;Ставим приз на клетку.
!!UN&y-10=2:Iy-1/y-2/y-3/86/0/86/0/8/1;Ставим приз на клетку.
!!UN&y-10=3:Iy-1/y-2/y-3/59/0/59/0/8/1;Ставим приз на клетку.
!!UN&y-10=4:Iy-1/y-2/y-3/125/0/125/0/8/1;Ставим приз на клетку.
;Функции генерации случайной свободной клетки карты.
!?FU28450;Функция генерации случайной свободной клетки карты.
!!UN:X?y1/?y2;Считываем размеры карты.
!!VRy2:+1;Вычисляем количество уровней на карте.
!!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты.
!!VRy3:-1;Вычисляем номер последней клетки карты.
!!VRy4:Sv2;Сохраняем значение глобальной переменной.
!!VRv2:S0;Обнуляем переменную счёта свободных клеток.
!!DO28451/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней.
!!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию.
!!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки.
!!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки.
!!DO28452/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки.
!!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки.
!!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки.
!!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки.
!!VRv2:Sy4;Восстанавливаем значение глобальной переменной.
!?FU28451;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!FU&y4=0|y5=0/y6<8/y6=9:E;Если клетка недоступна, завершаем тфункцию.
!!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке.
!!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток.
!?FU28452;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!OBy1/y2/y3&y4=1/y5=1/y6<>0/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке.
!!VRv2&y4=8|y5=8/y6<8/y6>9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки.
!!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
********************************************************************************
*************************************************
****************************************************************************
; генерация монстра в начале каждой недели
; при опции №888
!#UN:P888/?y1;
!#TM45&y1=1:S8/999/7/255;
!#VRv3506&y1=1:S2;
!?TM45;
!!UN:P888/?y1;
!!FU&y1=0:E;
!!VRy1:Sc -1 :7 +1; номер текущей недели
!!FU&v3506<>y1:E; один раз в неделю
!!VRv3506:+1;
!!VRy-1:S0 T275;(монстров 303 штуки)
!!VRy-1&y-1>144:Sy-1+5;Исключаем боевые машины и стрелковые башни.
!!VRy-1&y-1>159:Sy-1+4;Исключаем Эмиссаров.
!!VRy-1&y-1>173:Sy-1+18;Исключаем командиров.
!!MA:Py-1/?y1;
!!VRy2:Sc -1 :7 +1;
!!VRy-2:S400 :y1 *y2; кол-во = 400 / (ХП * week)
!!UN:X?y1/?y2;
!!DO24800/0/y1/1:Py1/y2; цикл по коорд X (общий)
!!UN:R1;
!?FU24800;
!!DO24801/0/x1/1:Px16/0; цикл по коорд Y (наземный)
!!DO24801/0/x1/1&x2=1:Px16/1; цикл по коорд Y (подземный)
!?FU24801;
; x1 = коорд X
; x16 = коорд Y
; x2 = коорд Z
!!TRx1/x16/x2:E?y1 P?y2 T?y3/d/d/d/d/d/d/d;
!!OBx1/x16/x2:T?y4;
!!VRy5:S0 R299; шанс генерации 1:300
!!FU|y1=0/y2=0/y3>7/y4<>0/y5>1:E;
!!UN:Ix1/x16/x2/54/y-1/0; поместить монстра
!!MOx1/x16/x2:Gy-2 O0 U0 R1; настройка монстров
Вылетает.
hippocamus
24 Feb 2018, 10:52
Возможно, проблема в тюрьмах.
Этот объект нельзя так легко взять и поставить.
M.A.K.C.
29 Mar 2018, 20:15
Здравствуйте!
Не подскажете, в чем дело?
Эсть скрипт (ниже)
Суть, морские сундуки и потрерпевшие кораблекрушение размещаются на суще, а надо на море.
**********************************************************************
**********
На карте периодически появляются камни силы и сундуки сокровищ"
********************************************************************************
!#TM43:S1/999/1/255;
!?TM43;
!!UN:P809/?y1; [проверяем включена ли опция 808 в y1]
!!FU&y1=0:E; [выход если опция не включена]
!!FU19022:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки.
!!VRy-10:R10;y1-случайное число (0..10)
!!UN&y-10=0:Iy-1/y-2/y-3/101/0/101/0/0/1;Ставим приз на клетку. сундук
!!UN&y-10=1:Iy-1/y-2/y-3/101/1/101/1/0/1;Ставим приз на клетку. сундук
!!UN&y-10=2:Iy-1/y-2/y-3/101/5/101/5/0/1;Ставим приз на клетку. сундук
!!UN&y-10=3:Iy-1/y-2/y-3/81/0/81/0/0/1;Ставим приз на клетку. ученый
!!UN&y-10=4:Iy-1/y-2/y-3/76/0/76/0/0/1;Ставим приз на клетку. случайный рессурс
!!UN&y-10=5:Iy-1/y-2/y-3/12/0/12/0/0/1;Ставим приз на клетку. костер
!!UN&y-10=6:Iy-1/y-2/y-3/82/0/86/0/8/1;Ставим приз на клетку. море1
!!UN&y-10=7:Iy-1/y-2/y-3/101/7/101/7/0/1;Ставим приз на клетку. сундук
!!UN&y-10=8:Iy-1/y-2/y-3/101/8/101/8/0/1;Ставим приз на клетку. сундук
!!UN&y-10=9:Iy-1/y-2/y-3/101/9/101/9/0/1;Ставим приз на клетку. сундук
!!UN&y-10=10:Iy-1/y-2/y-3/101/10/101/10/0/1;Ставим приз на клетку. сундук
;Функции генерации случайной свободной клетки карты.
!?FU19022;Функция генерации случайной свободной клетки карты.
!!UN:X?y1/?y2;Считываем размеры карты.
!!VRy2:+1;Вычисляем количество уровней на карте.
!!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты.
!!VRy3:-1;Вычисляем номер последней клетки карты.
!!VRy4:Sv2;Сохраняем значение глобальной переменной.
!!VRv2:S0;Обнуляем переменную счёта свободных клеток.
!!DO19023/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней.
!!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию.
!!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки.
!!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки.
!!DO19024/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки.
!!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки.
!!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки.
!!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки.
!!VRv2:Sy4;Восстанавливаем значение глобальной переменной.
!?FU19023;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!FU&y4=0|y5=0/y6=8/y6=9:E;Если клетка недоступна, завершаем тфункцию.
!!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке.
!!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток.
!?FU19024;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!OBy1/y2/y3&y4=1/y5=1/y6<>8/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке.
!!VRv2&y4=0|y5=0/y6=8/y6=9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки.
!!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
hippocamus
29 Mar 2018, 20:38
Подскажем )
Цитата
!!FU&y4=0|y5=0/y6=8/y6=9:E;Если клетка недоступна, завершаем тфункцию.
8 - это вода, а вы "завершаете функцию", если 8
Но нужно 2 функции - одна заполняет сушу, как и было, а вторая - воду, но уже с проверкой
Код
!!FU&y4=0|y5=0/y6#8:E;Если клетка не водная, или занята, - завершаем функцию.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.