sergroj
01 Jul 2008, 12:35
Цитата(gamecreator @ 24 Apr 2008, 03:25)
не очень корректная инструкция.
!?BR;
!!BMx:F?i;
!!VRj:Si&67108864;
!!VRi:|j;
!!BMx:Fj;
2 ошибки

!?BR;
!!BMx:F?i;
!!VRi:|67108864;
!!BMx:Fi;
упс, пост оказался доисторическим
gamecreator
01 Jul 2008, 14:21
только одна. в последней строке i вместо j. а так все корректно работает. то, что это не самый оптимальный вариант - другой разговор
sergroj
02 Jul 2008, 14:38
!!VRj:Si&67108864; - в j обычно будет 0, а если в i этот бит был, то 67108864.
Соответственно, !!VRi:|j; - ничего не меняет
gamecreator
02 Jul 2008, 16:13
значит я запутался в бинарных операциях ЕРМа
Сатарыч
03 Jul 2008, 12:35
Для чего служат переменные x1-x16 и y-1...y-100 ?
gamecreator
03 Jul 2008, 14:50
первые - для передачи параметров функции, вторые - хз, временные наверно.
Переменные y-1...y-100 - локальные, т.е. они используются как обычные целочисленные переменные, но только внутри какого-нибудь триггера (функции) и по выходу обнуляются. Также их значения не сохраняются при сохранении игры. Грубо говоря это временные переменные.
Сатарыч
03 Jul 2008, 18:11
Тоесть эти переменные (y-1...y-100) обнуляются по завершению выполнения кода триггера. И при повторном выполнении этогоже триггера все равно равны нулю. Я правильно понял?
А для чего используются x1-x16 я так и не понял.
FakerNeo
03 Jul 2008, 18:45
!!FU1:P1/2/3/4;
!?FU1;
; в данном случае x1 =1, x2=2, x3=3, x4=4
Цитата(Сатарыч @ 03 Jul 2008, 22:11)
Я правильно понял?
Ага
Цитата(Сатарыч @ 03 Jul 2008, 22:11)
А для чего используются x1-x16 я так и не понял.
Цитата(FakerNeo @ 03 Jul 2008, 22:45)
!!FU1:P1/2/3/4;
!?FU1;
; в данном случае x1 =1, x2=2, x3=3, x4=4
То есть у функции (в данном случае FU1) могут быть до 16 параметров (в данном случае 4). Всесто 1/2/3/4 могут стоять переменные, например те же y-1...y-100:
!!FU1:Py-1/y-2/y-3/y-4;
т.е. при выполнении функции в значениях будут x1=y-1, x2=y-2, и т.д., и внутри функции FU1 ты можешь ими оперировать как хочешь, при выходе из функции они обнулятся. Также если ты используешь !!DO, то параметр x16 хранит значения шага функции, например:
!!DO10/3/7/2:P; где 3 - нач. значение, 7 - кон. значение, 2 - шаг;
при первом выполнении x16=3,
при втором - x16=5,
при третьем - x16=7.
gamecreator
03 Jul 2008, 22:23
дополню майора: хоть на самом деле в функции 16 параметров, но обычным способом(FU:P) можно задать лишь 15 (больше - ошибка).
Сатарыч
04 Jul 2008, 11:39
Спасибо
sergroj
07 Jul 2008, 13:23
Цитата(major @ 03 Jul 2008, 21:14)
Переменные y-1...y-100 - локальные, т.е. они используются как обычные целочисленные переменные, но только внутри какого-нибудь триггера (функции) и по выходу обнуляются. Также их значения не сохраняются при сохранении игры. Грубо говоря это временные переменные.
Только внутри триггера,
но не функции. У функций y1..y100, у других триггеров - y-1..y-100.
Цитата(gamecreator @ 04 Jul 2008, 02:23)
дополню майора: хоть на самом деле в функции 16 параметров, но обычным способом(FU:P) можно задать лишь 15 (больше - ошибка).
Я задавал 16, работало.
hippocamus
07 Jul 2008, 18:31
У функций нету y-1? Разве? А у триггеров y1 есть, но с ними что-то не совсем в порядке.
Добавлено ([mergetime]1215444719[/mergetime]):
У функций нету y-1? Разве? А у триггеров y1 есть, но с ними что-то не совсем в порядке.
Не знаю как и что, но я использую y-1 и y1 как внутри функции, так и внутри триггеров, и все работает.
sergroj
11 Jul 2008, 12:59
Не удивительно, работать должно, но не всегда. Вот пример:
!?FU5;
!!VRy-1:S10;
!?CM;
!!VRy-1:S5;
!!FU5:P;
!!IF:M^%Y-1^;
Противоположный пример - вызвать из функции битву и в !?BA установить y1.
Сатарыч
13 Aug 2008, 17:03
Как с помощью скриптов удалить отряд, чтоб его просто не было, ни трупа, ничего?
gamecreator
13 Aug 2008, 17:30
хм... поставить тип существа -1. больше не знаю способов
FakerNeo
13 Aug 2008, 18:29
И кол-во в -1
Сатарыч
13 Aug 2008, 18:49
Не выходит.
Проблема вот в чём. Мне нужно убить определённый стек, если другой стек умирает. Пытался сделать это с помощью !!BM:K; , но она срабатывает только во время хода следующего стека. И то если во время этого хода ктото комуто нанесёт урон.
Как осуществить 2 эти смерти за 1 ход?
Что-то типа такого
Код
!?MF1;
!!MF:D?y1 N?y2; y1 - урон, y2 - стек
!!BMy2:N?y3 H?y4 L?y5; параметры стека - кол-во, хп, ост. хп
!!VRy6:Sy3 *y4 -y5; суммарное хп стека
!!BMy7&y6<=y1:K1000000; если сум. хп < урона, то стек сдохнет => убиваем нужный стек y7
Сатарыч
14 Aug 2008, 10:06
Спасибо, разобрался
Spartak
14 Aug 2008, 17:41
Можно ли сделать условием победы удержку одного или нескольких городов определённое количество недель?
Причём, при потере города чтобы была возможность плюсовать все предыдущие дни под твоим командованием.
Я думаю появилось бы много авторских карт на эту тематику.
Если это возможно, Гиппо, поставь такую опцию в твой редактор, в соответствующий раздел "правила".
gamecreator
14 Aug 2008, 18:04
с помощью ЕРМ
hippocamus
14 Aug 2008, 18:58
Спартак, вторую строчку не понял.
Кстати, в условиях победы есть 2 опции, которые прописаны в текстовиках, но отсутствуют в редакторе:
- уничтожить всех монстров
- выжить определённое время
Spartak
15 Aug 2008, 00:00
Цитата(hippocamus @ 14 Aug 2008, 18:58)
Спартак, вторую строчку не понял.
Ну вот смотри:
Захватываешь город и удерживаешь его 5 дней.
Всего нужно продержать неделю. У тебя его перехватили на некоторое время.
Затем ты пршёл главным, и захватил снова, а те 5 дней остаются в памяти, и после повторного захвате, соответственно, тебе остаётся продержать замок всего 2 дня.
(это как в CoD 2 - продержать базу какое то время, при этом тебе зачисляются очки)
Если это будет возможно, Гиппо, сооруди такой вариант для победы, где нужно выставить координаты замков (одного или нескольких) и количество дней, которое нужно продержать город в своей власти.
Сатарыч
15 Aug 2008, 13:12
Как создать такое усливие:
(с1 или с2 или с3) и с4 и с5 и с6 ?
DracoLich
15 Aug 2008, 14:26
!!VRc7|c1/c2/c3:S1;
!!..&c4/c5/c6/c7=1:...;
gamecreator
15 Aug 2008, 16:17
для ТЕ:
!!if|c1/c2/c3:;
!!if&c4/c5/c6:;
; тут действия
!!en:;
!!en:;
Сатарыч
15 Aug 2008, 16:44
Спасибо
Сатарыч
18 Aug 2008, 12:24
Цитата(sergroj @ 26 Sep 2007, 21:22)
Особенность !!BG
Если монстр совершает действие 6 (подойти и ударить), то с помощью BG:S можно проверять и менять позицию, с которой он будет бить.
Можно поподробнее?
hippocamus
21 Aug 2008, 11:41
Где можно найти описание стандартных расширенных диалогов ВоГ?
И формата текстового файла, для создания своих?
gamecreator
21 Aug 2008, 14:22
что за стандартные расширенные диалоги? (прям какое-то противоречие в предложении) это ты так !!DL обозвал? если да, то справка по нему в ЕРМ мануале
Septimus
22 Aug 2008, 09:41
У меня есть вопрос - как сделать ворам атаку ядом, как у виверн, не повышая им опыта? И сделать скорпикор без парализирующего яда. И летучим змеям со стрекозами дать слабость к воде на 25% и иммунитет к земле?
gamecreator
22 Aug 2008, 10:41
Цитата(Septimus @ 22 Aug 2008, 10:41)
И летучим змеям со стрекозами дать слабость к воде на 25% и иммунитет к земле?
это только через опыт
Вот так должно работать
Код
!?BF;
!!UN:C7961425/1/7; воры травят ядом (20% вероятность)
!!UN:C7961363/1/9; скорпикоры не парализуют
!?BG1;
!!BU:C=1;
!!FU&-1:E;
!!UN:C7961425/1/9;
!!UN:C7961363/1/6;
!?MR1;
!!MR:M?y-1 S?y-2 D?y-3; монстр, спелл, дамаг
!!VRy-4|y-2=16/y-2=20:S1; ледяная молния, кольцо холода
!!VRy-3&y-1=104/y-4=1:*5 :4; +25% урона змиям
!!VRy-3&y-1=105/y-4=1:*5 :4; +25% урона стрекозам
!!MR&y-1=104/y-4=1:Fy-3; установить дамаг
!!MR&y-1=105/y-4=1:Fy-3;
!?MR2;
!!MR:M?y-1 S?y-2; монстр спелл
!!VRy-5|y-2=10/y-2=12/y-2=18/y-2=23/y-2=24/y-2=50/y-2=54:S1; враж. магия земли
!!MR&y-1=104/y-5=1:F100; змии имунны к земле
!!MR&y-1=105/y-5=1:F100; стрекозы имунны к земле
sergroj
22 Aug 2008, 23:36
Цитата(Сатарыч @ 18 Aug 2008, 16:24)
Цитата(sergroj @ 26 Sep 2007, 21:22)
Особенность !!BG
Если монстр совершает действие 6 (подойти и ударить), то с помощью BG:S можно проверять и менять позицию, с которой он будет бить.
Можно поподробнее?
Ну, монстр встанет на позицию BG:S и ударит монстра, стоящего на позиции BG:D.
Septimus
25 Aug 2008, 11:58
Большое спасибо за скрипт!
Septimus
25 Aug 2008, 12:19
Только Кольцо холода летающим змеям и стрекозам дополнительного урона не наносит
Наносит, если посчитать, просто он не пишется.
Сатарыч
25 Aug 2008, 21:57
При лечении Палаткой первой помощи !?MF; срабатывает?
Нет, работает только !?MR2
Septimus
26 Aug 2008, 10:33
И ещё. Как можно сделать, чтобы у Циклопов была регенерация троллей, у улучшенных циклопов после их атаки на цель накладывался Paralyze (если есть такой спелл, в крейнем случае - окаменение). Плюс чтобы Джинн имел шанс ополовинивать вражеский отряд. Такое возможно?
Для всех этих действий очень пригодился бы триггер !?MF2, который срабатывал сразу после нанесения физ. дамаги. Жаль его нет.
По существу
1. Через опыт. Через скрипт будет не совсем корректно, т.к. при срабатывании морали или ожидании регенерация повторится, т.е. дважды за ход. Ну или экзешник подправить.
2. Накладывать заклинание получится только перед нанесением урона. Соответственно оно сразу же снимется. Если использовать !?BG1, то также получится не совсем правильно (закл наложится только после способностей след. существа - каст магии, регенерация и т.д.)
3. Сначала отполовинить, а затем нанести дамаг. Можно так попробовать
Код
!?MF1;
!!BG:N?y-1 E?y-2; кто бьет, кого бьет (стек)
!!BMy-1:T?y-3; тип атакера
!!BMy-2&y-2>-1:N?y-4; кол-во существ
!!VRy1:S0 R99; рандом 0-99
!!VRy-4&y-3=36/y1<5::2; если джин - 5% шанс скосить пол-отряда
!!VRy-4&y-4<1:S1; остается не меньше одного.
Septimus
28 Aug 2008, 06:47
3.Спасибо за скрипт! Попробую...
1.А как это через опыт?
2.Хотя бы перед атакой!
FakerNeo
28 Aug 2008, 09:43
Вот только рандом через VR:R - по-моему немного корявый (вроде как постоянно одно и тоже число выдает. Лучше использовать рандом через таймер. А вообще написать свой алгоритм и использовать оба способа - надежней...
Цитата(FakerNeo @ 28 Aug 2008, 13:43)
Вот только рандом через VR:R - по-моему немного корявый (вроде как постоянно одно и тоже число выдает. Лучше использовать рандом через таймер. А вообще написать свой алгоритм и использовать оба способа - надежней...
Ну не знаю, я в своих скриптах уже года два использую VR:R и никогда не видел, чтоб он выдавал ожинаковые значения. 20% они и есть 20%, а 70% - 70%. Все нормально.
2
SeptimusНу вот так например
Код
!#EA94:F114/?v1;
!#EA94&v1>0:Bv1/1/114/100/50/50/50/50/50/50/50/50/50/50/50; 100% шанс регенерировать 50 HP Циклопам
С кастом паралича имхо не получится, так как будет работать только в рукопашной.
Septimus
28 Aug 2008, 12:36
Правильно. Они и в рукопашку пойдут. Я у них флаг такой поставил!
hippocamus
28 Aug 2008, 14:28
Рандом VR:R будет повторяться из раза в раз при перезагрузке. А рандом VR:T будет каждый раз разным. Оба нужны, но в разных случаях. Думай,что нужно тебе.
Сатарыч
28 Aug 2008, 15:19
Как узнать номер стека, на который кастуется магия?
Использую в !?MR2;
!!MR:N; не работает.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.