Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Если нужен скрипт
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды > Скрипты
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67
olegche71
Да свет у меня рубанули(((
Я же говорил, что лучше пример привести...,не получается у меня...
Вот написал такой скрипт
!#TM25:S1/1/0/1;
!?FU26;
!!UN&x16=1:U98/-1/1/129;
!!UN&x16<>1:U98/-1/-1/129;
!!CA129:O?126:T?124;
!!CA129&126=0/124=5:B5/22;
!!VR121&126=0:S124*14+4;

!?TM25;
!!UN:U98/-1/123;
!!DO126/1/123/1:P;
!!UN:I80/134/0/54/121;

!!MO80/134/0:G30;
!!MO80/134/0:R0/0;

Только не работает!
Пишет вроде что то про receivers...
Как правильно-то?
Aleee
ZVSE

!?GE321;
!!CA74/136/0:T?v10;
!!CA74/136/0&v10=5:B5/22;


Как инструкция этот скрипт не работает, поэтому я завязал запрет портала на глобальное событие. То есть чтобы он заработал у тебя должно быть настроено сообщение в первый день. Там же где и пишутся скрипты, создай любое сообщение на первый день вида "321Меня ждут большие приключения...". В начале должно стоять 321 без пробела (или любое другое если в самом скрипте тоже поменять). Высветится же оно в нормальном виде.
Если будешь перемещать замок - меняй координаты. Я скрипт тестил - всё работает на твоей карте.
olegche71
2Aleee
Да, спасибо,все работает, как все просто)))
gamecreator
ну так если известны координаты, то все просто. а мой скрипт для неизвестных тоже делает.

Цитата(olegche71 @ 12 Jan 2007, 05:22)
Как правильно-то?

Перед номером переменной ставится v. Да и номер вызываемой функции не совпадает
olegche71
хорошо, с порталом разобрались...,а какой таки скрипт на проверку посещаемости красным,случайным,одной из двух точек(63/137/0 или 82/140/0)в течении 54 дней(на 55день если не посетил - проигрыш красному!
Aleee
Может я не совсем догнал до сути проблемы но может так:


ZVSE
!#TM2:S54/54/1/1;

!?LEx1/y1/l1;
!!VRy2:S1;

!?LEx2/y2/l2;
!!VRy2:S1;

!?TM2&y2=0;
!!UN:Q0;


То есть на эти точки поместить локальное событие и задать вместо x y l координаты этого события. Если у тебя там здание, то тоже самое только не LE, а OB.
Lindar
У меня значит такое дело. В моей карте есть диалог с вариантами ответов:
!#IF:D10/z11//z12/////////z13/z14/z15/z16; - ОН РАБОТАЕТ.

А теперь вот, зделал другой, по той же системе, только с 2-мя вариантами:
!#IF:D1/z29//z32/////////z30/z31//;

и такая вот проблема, при запуске второго диалога, появляются названия кнопок из первого. (и заголовок, и описание, и варианты, но кнопки только 2). Причем при отключении, например z11, название вообще не пишется.
Aleee
Проблема изложена весьма косноязычно...

Приводим нужную часть хелпа:
D#/$1/$2/$3/$4/$5/$6/$7/$8/$9/$10/$11/$12/$13/$14/$15

Используйте эту команду для установки или изменения расширенных диалогов для показа командой IF:E
# - номер диалога (1…100)

*$ - номер переменной z, в которой установлен текст для использования)

$1 – титульный текст (белый) на верху диалогового окна

$2 – правое описание (желтое) об окне ввода

$3 – левое описание (желтое) об окне выбора

$4 – картинка/AVI 1 (левый), файл в «папка_героев/maps»

$5 – картинка/AVI 2, файл в «папка_героев/maps»

$6 – картинка/AVI 3, файл в «папка_героев/maps»

$7 – картинка/AVI 4 (правый), файл в «папка_героев/maps»

$8 – описание картинки 1 (при наведении мыши)

$9 – описание картинки 2 (при наведении мыши)

$10 – описание картинки 3 (при наведении мыши)

$11 – описание картинки 4 (при наведении мыши)

$12 – выбор 1 (окно ввода) – текст кнопки

$13 – выбор 2 (окно ввода) – текст кнопки

$14 – выбор 3 (окно ввода) – текст кнопки

$15 – выбор 4 (окно ввода) – текст кнопки


Насколько я понял, проблема в том, что вместо текстов второго диалога появляются тексты первого. Если это так, то стоит проверить номер диалога в событии
!!IF:Ex/y; То есть номер второго диалога - 1, а в скрипте стоят всё те же 10(вместо y).
Если я понял неправильно, то просьба изъяснится попонятней.
Lindar
Да нет, все правильно. Только дело кажется далеко не в IF.
для первого:!!IF:E6/10; - она срабатывает при посещении объекта.
для второго:!!IF:E8/1; - а эта при щелчке правой мышкой по "ртути"
Попробовал второй на отдельной карте - работает, а вместе с первым - хоть убей...не знаю.
Вот пример, но мне кажется просто чего-то не хватает...

ZVSE
!#VRz32:S^11111111111^;
!#VRz29:S^11111111111^;
!#VRz30:S^11111111111^;
!#VRz31:S^11111111111^;
!#VRz11:S^222222222222^;
!#VRz12:S^222222222222^;
!#VRz13:S^222222222222^;
!#VRz14:S^222222222222^;
!#VRz15:S^222222222222^;
!#VRz16:S^222222222222^;
!#IF:D5/z29//z32/////////z30/z31//;
!#IF:D10/z11//z12/////////z13/z14/z15/z16;
!?CM0; правый клик по карте приключений
!!CM:I41; клик по ртути
!!IF:E8/5;
!?OB12/58/0;
!!IF:E6/10;
Aleee
Не вижу я ошибки...
olegche71
2Aleee
у меня на этих точках - порталы(на них событие не поставишь), я поменял вместо LE - OB.Карта грузится, появляется первая картинка (321Меня ждут большие приключения), а потом вылетает в главное меню((( Как...?
Зы...увидел VRy2:S1;...- поменял у2 на 140..., только не понял почему повторяется у2..., а где у1...короче карта грузится, но не работает(никакого таймера - и 60 дней ждал...- ничего...)
Aleee
Но ведь тебе нужно чтобы герой или в один зашёл или в другой? Или в оба? Если хотя бы один, используем одну переменную, если в оба, то две разные и потом проверяем две.
А с этими тайиерами... Я честно говоря даже понятия не имею как они ставятся. Но сейчас что-нить надумаю...

Так, лично тестил:

ZVSE
!#TM2:S?/?/1/1; ?-кол-во дней
!#VRv20:S0;

!?OBx1/y1/l1; x1, y1. l1 - координаты
!!VRv20:S1;

!?OBx2/y2/l2;
!!VRv20:S1;

!?TM2&v20=0;
!!UN:Q0;
Lindar
"Не вижу я ошибки..."
В том то и прикол, я тоже не вижу ошибки... но результат на лицо...
olegche71
2Aleee
Цитата
тебе нужно чтобы герой или в один зашёл или в другой? Или в оба? Если хотя бы один, используем одну переменную, если в оба, то две разные и потом проверяем две.

Нужно- хотя бы один.
я вставил такой скрипт

!#TM2:S54/54/1/1;
!#VRv20:S0;

!?OB63/137/0;
!!VRv20:S1;

!?OB82/140/0;
!!VRv20:S1;

!?TM2&v20=0;
!!UN:Q0;

карта грузится - показывает первое сообщение и вываливается в главное меню без всяких ошибок...
Lindar
Все, понял!!!!!
Нельзя было использовать 2 инструкции IF, тот что при посещении должен быть ресивером. = ))))))))))
!#IF:D5/z29//z32/////////z30/z31//;
!!IF:D10/z11//z12/////////z13/z14/z15/z16;
olegche71
2Lindar
а мне подсказать...можешь?
Pir@t
Парни помогите! Немогу описание специальности изменить! Чё здесь неправильно:

!#VRz200:S^{Крещение}

Превращает скелетов в людей.^;
!#UN:G2/15/2/z200;
Lindar
2Pir@t
поменяй G2 на G0

2olegche71
сейчас попробую разобраться.
Lindar
2olegche71
если на 55 день С НАЧАЛА ИГРЫ, то вот скрипт:

ZVSE
!#TM1:S55/55/1/1; таймер на 55 день, для красного.
!#VRv66:S0; переменная 66 = 0
!#VRv67:S0; переменная 67 = 0
!?TM1;
!!HE-1&v66=0/v67=0:K; если v66=0 и v67=0 герой умирает
!!IF&v66=0/v67=0:M^Вам конец, время кончилосьlaugh.gif)))))))))).^;

!?OB63/137/0; при посещении объекта....
!!VRv66:S1; ставим v66=1
!?OB82/140/0; при посещении объекта....
!!VRv67:S1; ...67=1
Aleee
Абсолютно тоже самое...

Только что ещё раз проверил: всё работает. Уверен, что дело в этом скрипте? Если не получается - высылай свою карту с этими скриптами.
DracoLich
Щас отпишусь все...

Добавлено ([mergetime]1168687449[/mergetime]):
Для проигрыша на 55 день:

!#TM22:S55/55/1/255;
!?TM1;
!!IF&v5000=0:M^Вы не успели!^;
!!UN&v5000=0/v5001=0:Q0;
!?OBx/y/l;
!!VRv5000:S1;
!?OBx/y/l;
!!VRv5000:S1;
вместо x y l ставь координаты объектов
**********************


Добавлено ([mergetime]1168687826[/mergetime]):
Цитата(Lindar @ 12 Jan 2007, 23:47)
Да нет, все правильно. Только дело кажется далеко не в IF.
для первого:!!IF:E6/10; - она срабатывает при посещении объекта.
для второго:!!IF:E8/1; - а эта при щелчке правой мышкой по "ртути"
Попробовал второй на отдельной карте - работает, а вместе с первым - хоть убей...не знаю.
Вот пример, но мне кажется просто чего-то не хватает...

ZVSE
!#VRz32:S^11111111111^;
!#VRz29:S^11111111111^;
!#VRz30:S^11111111111^;
!#VRz31:S^11111111111^;
!#VRz11:S^222222222222^;
!#VRz12:S^222222222222^;
!#VRz13:S^222222222222^;
!#VRz14:S^222222222222^;
!#VRz15:S^222222222222^;
!#VRz16:S^222222222222^;
!#IF:D5/z29//z32/////////z30/z31//;
!#IF:D10/z11//z12/////////z13/z14/z15/z16;
!?CM0;  правый клик по карте приключений
!!CM:I41; клик по ртути
!!IF:E8/5;
!?OB12/58/0;
!!IF:E6/10;

ZVSE
!#VR....
...
Код
Читайте хелп внимательно. Информация для диалогов не сохраняется, поэтому всегда устанавливайте диалог ЗАНОВО (например, при посещении события - и только тогда генерить диалог, а не в начале карты). Кроме того, почему номера диалогов для показа разные??? Вызываешь шестой и восьмой, а генеришь 10 и 5?

!?CM0;
!!CM:I?y1;
!!FU&y1<>41:E;
!!IF:D8/z29//z32/////////z30/z31//;
!!IF:E8/5;
!?OB12/58/0;
!!IF:D10/z11//z12/////////z13/z14/z15/z16;
!!IF:E10/10;

Добавлено ([mergetime]1168688005[/mergetime]):
2 olegche71
Скрипт помещения монстров исправлю чуть позже...
olegche71
2DracoLich
попробовал твой вариант...
Карта начинается - сразу надпись...Вы не успели!
И в главное меню!!!
DracoLich
Тьфу ты! не !?TM1;
а
!?TM22;!!!
DracoLich
Насчет монстров:
Я проверил, все должно работать:
!#TM1:S1/1/1/1;
!?TM1;
!!OW:N0/0/?y1;
!!CA0/y1:T?y2;
!!UN:Ty2/2/0/?y3;
!!UN:I8/16/0/54/y3;
Вместо таймера можно использовать глобальное событие (типа !?GE1;)
olegche71
2DracoLich
Да, Все работает, спасибо, 2Aleee тоже спасибо...
2DracoLich
буду ждать Скрипт помещения монстров...
DracoLich
на точке появляются пять монстров уровня 2 из замка y2. Изменить кол-во командой
!!MOx/y/l:Gz;
Изменить агрессивность:
!!MOx/y/l:R$/0; - где $ = 10 (атакуют) а если 0 - присоедин., между этими значениями - нечто среднее (ближе к соответств., например, 7 ближе к атакующим.
olegche71
2DracoLich
непонял, где задаются координаты выставления монстров, их кол-во?
надо 3 уровень(30шт.), привязка к красному!,чтобы присоединялись с фразой типа мы тут потерялися...
Aleee
!!MOx/y/l:Gz;

x y l - координаты
z - число (кол-во)
olegche71
буду пробовать позже..,пока
DracoLich
Синтаксис прежний, установка сообщения:
!!MOx/y/l:M^Мы потерялися...^;
Pir@t
Парни помогите! Немогу описание специальности изменить! Чё здесь неправильно:
!#VRz200:S^{Крещение}
Превращает скелетов в людей.^;
!#UN:G2/15/2/z200;

G0 пробовал и G1 и G3 и всё равно не работает! Чё за каметель? banghead.gif
Aleee
Во-первых, это действует только на каитлина (15)
Во-вторых нужно указать НОМЕР переменной, то бишь просто 200, без "z".

Может в этом трабла.
olegche71
2DracoLich
я же говорил, что я тормоз...
скрипт такой...?
!#TM1:S1/1/1/1;
!?TM1;
!!OW:N0/0/?y1;
!!CA0/y1:T?y2;
!!UN:Ty2/2/0/?y3;
!!UN:I8/16/0/54/y3;

!!MO80/134/0:G30;
Изменить агрессивность:
!!MO80/134/0:R0/0; - где $ = 10 (атакуют) а если 0 - присоедин
!!MO80/134/0:M^Мы потерялися...^;
место - пустое?, думать не могу, вот ссылка с картой+ф.настройки
http://www.filemaster.ru/files/a2986
DracoLich
Место да, оставить пустым

Добавлено ([mergetime]1168704538[/mergetime]):
А с имеющимися координатами и глобальным событием проще:

!?GE1;
!!CA74/36/0:T?y2;
!!UN:Ty2/2/0/?y3 I8/16/0/54/y3;
!!MO80/134/0:G30 R0;
!!MO80/134/0:M^Мы потерялися...^;
olegche71
2DracoLich
пишет вначале игры ERM скрипт содержит ошибки...(и еще кучу чего-йто)
монстров на месте нет...
я вообще не претендую на супернеподражаемость...(тем более чужими руками)
Все мои просьбы - только с позиции как проще сделать!(для этого и карту выкладываю...)так, что если что вы говорите что надо для упрощения(если можно сделать,то я с радостью)
DracoLich
А глобальное событие с первым символом "1" есть? (без кавычек, просто единица)
Aleee
Ошибка: Monster is no setup

Добавлено ([mergetime]1168708426[/mergetime]):
Draco, монстров то ты ставишь в одно место, а параметры корректируешь в другом!
DracoLich
Млин, Али, ты гений! kap.gif Я не заметил даже! crazy.gif crazy.gif Лови плюс!
Aleee
Работает, проверил. В !!MO и !!UN:I разные координаты. А так все ОК!
olegche71
стоп-стоп..., это вы про мою карту...?
глобального события с первым символом "1" нет(карту же выкладывал(весит 40кб...)
можно по-подробнее, а главное по-точнее...
DracoLich
Да. Выбирай - ставить таймер (-1 свободный таймер) либо использовать первое сообщение (которое есть почти у всех карт для описании миссии). В первом случае код будет такой:
Код
!#TM24:S1/1/1/1;
!?TM24;

Во втором так:
Код
!?GE1;

А дальше одинакого:
Код
!!CA74/36/0:T?y2;
!!UN:Ty2/2/0/?y3 I80/134/0/54/y3;
!!MO80/134/0:G30 R0;
!!MO80/134/0:M^Мы потерялися...^;
Aleee
ZVSE

!?GE1;
!!CA74/36/0:T?y2;
!!UN:Ty2/2/0/?y3 I80/134/0/54/y3;
!!MO80/134/0:G30 R0;
!!MO80/134/0:M^Мы потерялися...^;


Это готовый скрипт. Как он работает:
1. Срабатывает при глобальном событии (сообщение) текст которого выглядит так "1хххххххххххххххх...".
2. Проверяет какой у тебя замок в 74/36/0
3. Ставит на 80/134/0 монстров третьего уровня этого замка.
4. Назначает их кол-во (число справа от G) и агрессивность (справа от R)
5. Назначает им сообщение.
olegche71
2Aleee
Вначале не работало..., но я(надо же хоть как нибудь себя похвалить!!!) нашел "косячек" -
Цитата
!!CA74/36/0:T?y2;
обшиблись - город 74/136/0. Вроде норма, полностью буду тестить позже..., всем спасибо, всем по плюсу!!!В карте отмечу...прям этим 1 глобальным...
Всех со Старым Новым Годом!!!
gamecreator
а я ж писал скрипт про монстров...
olegche71
Что обнаружилось...в настройках стоит во всех городах- грааль(кроме Конфлюкса), но если выбрать Конфлюкс врагу..., то его не будет и у тебя))). Короче какой скрипт чтобы грааль был во всех городах(в том числе и в Конфлюксе)?А баланс - я подправлю..., тем более магии там не будет!
DracoLich
!?GE1;
!!UN:U98/-1/?i;
!!DO20010/1/i/1&i>0:P;
!?FU20010;
!!UN:U98/-1/x16/1;
!!CA1:B6/26;
Aleee
!#CAx/y/l:B1/26;

Но это придётся для каждого отдельно координаты писать.
DracoLich
Aleee, нифига, работать это не будет, ошибка получится. Мой вариант юзай
Aleee
Ну, B6. Но я просто когда писал твоего поста не видел.
Так то конечно проще по-твоему.
olegche71
спасибо, все работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.