![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
Проблема вот в чём:
Возможно ли ПО НАСТОЯЩЕМУ воскресить полностью убитый отряд (лежит труп) с помощью скриптов? Или хотя бы имитировать воскешение: убрать труп, и вызвать существ в этот же слот? Если убрать флаг смерти (22) - отряд поднимется. Можно изменить его числе5нность. Компьютер им даже ходить будет. Но атаковать его невозможно (если враг), ходить им невозможно (если свой), магия на него не кастуется (может, кроме воскрешения?), курсор не наводится. Если попытаться воскресить магией "Воскрешение" или "Поднятие мертвецов", поставив предварительно флаг нежити, полностью убитый отряд - игра вылетает в чёрный экран. (Это я написал, чтобы не было лишних предложений). -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#2
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
Довольно проблемный вопрос... не спорю, сам как-то пытался его раскусить (по ерм-молодости)
тут меня интересует вот что - а какие флаги у поднятого стэка имеются? Может у него всё время присутствует некий флаг, по типу №27, а может и №7, и поэтому ему ход не передаётся... Но вот что он не реагиует на курсор эту версию откидывает, имхо. -------------------- |
|
|
![]()
Сообщение
#3
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
Флаги 1,2,5,23 (грифон с флагом нечисти). Без 23 тоже самое.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
Гость_Д'якон_* |
![]()
Сообщение
#4
|
![]() |
Можно через UN:C. Я когда-то сталкивался с этим тоже и находил нужные адреса, но к сожелению переустанавливал артмани и потер их (будет время поищу опять, хотя можешь и сам - там ничего сложного нет). Там около 5-6 значений которые нужно изменить, что бы полностью оживить отряд (если не установить их все, возможны различные нежелательные эффекты, отряд оставляет двойников или еще чего-нибудь вплоть до краха).
|
|
|
![]()
Сообщение
#5
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
C памятью работать не пробовал (только переделывал чужие скрипты). Если не трудно - давай найдём и попросим Драколича занести в хелп. Это ведь важная вещь.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#6
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
а еще неплохо бы сделать библиотеку функций
|
|
|
![]()
Сообщение
#7
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
Функция для воскрешения стека
Кто может - пожалуйста, протестируйте: Код !!FU1:Px1; - где х1 - номер стека воскрешаемого
!?FU1; !!VRy1:S6919200; !!UN:Cy1/4/?y12; !!BMx1:P?y2; !!VRy3:Sy2 -1 *112 +y12 +586; 1 !!VRy4:Sy3 +6; 2 !!VRy5:Sx1 *1352 +y12 +21840; 3 !!VRy6:Sy5 -56; 4 !!VRy7:Sy5 -72; 5 !!VRy8:Sx1 *16777216 +65535; !!BMx1:B?y9; !!BMx1:T?y10; !!MAy10:Xy10/?y11; !!UN:Cy3/4/y8; !!UN:Cy4/4/0; !!UN:Cy5/4/y11; !!UN:Cy6/4/y9; !!UN:Cy7/4/2; -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#8
|
|
![]() ----_---- Сообщений: 2 032 Спасибо сказали: 643 раза ![]() |
Эх блин... Не вовремя инет на компе пропал... Я бы потестил... А переписывать все ручками не охота... Вдруг ошибку где-нибудь сделаю...
|
|
|
![]()
Сообщение
#9
|
|
![]() Князь Бореи Сообщений: 5 171 Спасибо сказали: 1349 раз ![]() |
Вы такие все умные... а как это потестить - нужно ведь еще кусок кода накрапать, где отследишь номер убитого стека??? и под какую версию героев работает?
|
|
|
![]()
Сообщение
#10
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
Работает под любую. Можно сделать, чтобы воскресал всегда 0-й стек, например.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#11
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
Код !?FU1; © Д'якон!!VRy1:S6919480; !!UN:Cy1/4/?y12; !!BMx1:P?y2; !!VRy3:Sy2 -1 *112 +y12 +322082; 1 !!VRy4:Sy3 +6; 2 !!VRy5:Sx1 *1352 +y12 +343336; 3 !!VRy6:Sy5 -56; 4 !!VRy7:Sy5 -72; 5 !!VRy8:Sx1 *16777216 +65535; !!BMx1:B?y9; !!BMx1:T?y10; !!MA:Xy10/?y11; !!UN:Cy3/4/y8; !!UN:Cy4/4/0; !!UN:Cy5/4/y11; !!UN:Cy6/4/y9; !!UN:Cy7/4/2; После предварительного теста могу сказать, что это работает... ![]() Но есть пара ньансов с использованием этой ф-ции: 1 - когда стэк восстановлен, он получает возможность ходить... даже если он уже "в прошлой жизни" ходил 2 - без окончательной обвязки, эта ф-ция может быть "опасной", так что устите это Если что, пишите отзывы по тестам своим... -------------------- |
|
|
![]() ![]()
Сообщение
#12
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
Вот примерная демонстрация работы приведенной выше ф-ции с одним из вариантов использования её в действии...
Код ZVSE !?BR-1; !!IF:V888/0; !?CM4&-888; !!FU&v997<0:E; !!FU24081&587:P; activation !!BG:Q?s; !!BHs:M?k; !!FU&k=1:E; !!CM:D?y1 F?y2; !!VRy3&s=0:S252; !!VRy3&s=1:S253; !!FU24082&y1=y3/y2=512/-587:P; !?FU24082; !!BG:H?n; !!HEn:S7/?y3 S17/?y4; мудрость/магия земли? !!FU&y3=0:E; !!CM:R0; !!VRy5:S20; !!VRy5&y4=3:S10; !!VRy5&y4=2:S15; !!VRy5&y4=1:S17; !!IF:Q1/35/y5/2^Вы хотите эмулировать {Восстановление}?^; !!FU&-1:E; !!HEn:I?v5/1; !!VRv5:Sv5-y5; !!IF&v5<0:M^У вас не достаточно маны!^; !!IF&v5>=0:V587/1; !?FU24081; !!CM:R0; !!CM:I?y1 F?y2; !!FU&y1>1:E; стоп если нажато не ЛКМ !!IF&y2=512/587:V587/0; !!FU&y2=512/-587:E; !!CM:D?y1; !!FU|y1<1/y1>=252:E; запрет "мёртвых зон" !!FU|y1=17/y1=34/y1=51/y1=68/y1=85/y1=102/y1=119/y1=136/y1=153/y1=170:E; !!FU|y1=16/y1=33/y1=50/y1=67/y1=84/y1=101/y1=118/y1=135/y1=152/y1=169/y1=186:E; !!BU:Dy1/?m; stack was killed? !!FU&m<0:E; !!BMm:I?y1; !!BG:Q?s; узнать сторону монстра и героя !!FU&y1<>s:E; !!BMm:F?i; get all stack's flags !!VRi:&67108864; действовал ли стек в текущем раунде? !!FU25000:Pm; ф-ция Востановления !!FU24080:Pm/i; "всякие красивости" !?FU24080; *x1 - stack *x2 - control flag !!VRz1:S^RESURECT.WAV^; !!SN:Pz1; !!BMx1:F?i; !!VRi:|67108864; !!BMx1&x2>0:Fi; restore busy-flag if exist before !!BMx1:V50 T?t; !!BG:H?n; !!HEn:B0/?z-1 R2/?y3 Iv5/1; !!UN:N3/z-3/t/1; имя отряда во мн.ч. !!VRz-5:S^ю^; !!VRz-5&x2=1:S^е^; !!VRz1:S^%Z-1 эмулирует {Восстановление}, оживляя отряд %Z-3 погибает.^; !!BU:Mz1; вывод в лог !!IF:V587/0 V888/1; !!BHs:M1; !!UN:R5/2/0; сменить курсор !!BU:R; !?MM0&587; смена курсора для закла !!MM:D?y1; !!UN&y1>0/y1<186:R5/3/0; !!UN|y1<1/y1>185:R5/2/0; !!VRz-1:S^Выберите мёртвый отряд!^; !!MM:Mz-1; !?FU25000; (c) Д'якон *x1 - stack !!VRy1:S6919480; !!UN:Cy1/4/?y12; !!BMx1:P?y2; !!VRy3:Sy2 -1 *112 +y12 +322082; 1 !!VRy4:Sy3 +6; 2 !!VRy5:Sx1 *1352 +y12 +343336; 3 !!VRy6:Sy5 -56; 4 !!VRy7:Sy5 -72; 5 !!VRy8:Sx1 *16777216 +65535; !!BMx1:B?y9; !!BMx1:T?y10; !!MA:Xy10/?y11; !!UN:Cy3/4/y8; !!UN:Cy4/4/0; !!UN:Cy5/4/y11; !!UN:Cy6/4/y9; !!UN:Cy7/4/2; [подправлен] *не тестировалось, так что извиняйте если что... приду домой, то в оочую гляну, что я тут накарябала* Примечание: запустить действие нужно путём ПКМ на модельке героя в бою Если у героя нету Мудрости вообще ,то ничего не запуститься ![]() При наличии Магии Земли будет уменьшаться и стоимость "каста" (по умолчанию выставлена цена в 20 маны) тестируйте, жалуйтесь, и всего хорошего... Добавлено ([mergetime]1201788272[/mergetime]): восстанавливает ТОЛЬКО мёртвый отряд!!! -------------------- |
|
|
![]()
Сообщение
#13
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
А если он жив, просто не работает?
Кстати, проблему с тем, что отряд получает способность ходить можно решить в 4 действия. 1. Перед воскрешением считываем флаги отряда 2. Воскрешаем 3. Вычитаем флаг смерти 4. Устанавливаем отряду флаги которые он имел перед смертью. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#14
|
|
![]() могу укусить! Сообщений: 450 Спасибо сказали: 116 раз ![]() |
А нельзя просто заставить стек скастовать воскрешение?
Или превратить кого-то в архангела, воскресить, а потом обратно вернуть в прежний вид? -------------------- И ты можешь лгать, и можешь блудить, и друзей предавать гуртом.
А то, что придется потом платить - так ведь это ж, пойми, - потом! (А.Галич) |
|
|
![]()
Сообщение
#15
|
|
![]() Рожденный Пламенем Жизни Сообщений: 1 481 Спасибо сказали: 183 раза ![]() |
Цитата(Мурсинушка @ 20 Feb 2008, 17:26) А нельзя просто заставить стек скастовать воскрешение? Или превратить кого-то в архангела, воскресить, а потом обратно вернуть в прежний вид? Кого-то это кого? Копейщика или монаха в архангела?Абилку можно дать по воскрешению критчу, только, зачем именно в бою дать(а потом отобрать) абилку,не совсем понятно. -------------------- Древние тайны в руках
И огонь правды в глазах. Аскет и отшельник, но не злодей, Луч света вдали лазури морей. Он заклинает силой своей, Искусный кудесник и чародей. |
|
|
![]()
Сообщение
#16
|
|
![]() допустим, мяў Сообщений: 24 102 Спасибо сказали: 13409 раз ![]() |
Если стек скастует воскрешение будет то же, что и герой скастует воскрешение, т.е. смотри 1-й пост
![]() Превратить существо? Не пробовал. Скрипт с Метаморфами вообще-то есть, но это же видно будет. А нужно чтобы без особых потрясений воскрешение произошло ![]() -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#17
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз ![]() |
У меня работает случайное воскрешение полностью убитого отряда как живых, так и андедов. Проверка идет для каждой клетки поля битвы. Вот функция проверки и воскрешения
Код !?BG1&-998; !!DO7178/0/186/1:P; !?FU7178; !!VRy-2:S0 R99; вероятность воскрешения !!VRy-7:S0; !!BG:N?v7009; номер текущего стека !!BMv7009:T?y5 I?y6 N?y7; тип, сторона и кол-во текущего стека !!BU:Ex16/?v7270 Dx16/?v7271; в клетке x16 живой или трупик? !!BMv7271&v7270=-1/v7271>-1:F?y-6 T?v7278; !!VRy-6&v7270=-1/v7271>-1:&1; доп. проверка для двуклеточных монстров !!VRx16&v7270=-1/v7271>-1/y-6=1:+1; (не помню зачем) !!BU&v7270=-1/v7271>-1/y-6=1:Dx16/?v7272; !!FU&v7270=-1/v7271>-1/y-6=1/v7272<>v7271:E; !!BMv7270&v7270>-1/v7271=-2:F?y-6; !!VRy-6&v7270>-1/v7271=-2:&1; доп. проверка для двуклеточных монстров !!VRx16&v7270>-1/v7271=-2/y-6=1:+1; с левой стороны !!BU&v7270>-1/v7271=-2/y-6=1:Ex16/?v7272; !!VRx16&v7270>-1/v7271=-2/y-6=1:-1; с правой стороны !!BU&v7270>-1/v7271=-2/y-6=1:Ex16/?v7272; !!FU&v7270>-1/v7271=-2/y-6=1/v7270=v7272:E; !!BMv7271&v7270=-1/v7271>-1:I?y-5 F?y-6 P?v7003 T?v7008 H?y-8; !!BMv7270&v7270>-1/v7271=-2:I?y-5 P?v7003 T?v7008; !!VRy-6&v7270=-1/v7271>-1:&16; для живчиков !!VRy-7&v7270=-1/v7271>-1/y-6<>16:S1; !!BMv7271&v7270=-1/v7271>-1/y-6<>16:I?y-5 F?y-6 P?v7003 H?y-8; !!VRy-6&v7270=-1/v7271>-1/y-7=1:&262144; для андедов !!VRy-9&v7270=-1/v7271>-1/y-6=16:Sy7 *50 +80; сила воскрешения андедов !!VRy-9&v7270=-1/v7271>-1/y-6=262144:Sy7 *50 +60; сила воскрешения живых 15% шанс воскресить для ангелов + проверка условий !!VRz1&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=16/y-9>=y-8/v7008<>27/v7008<>83/v7008<>121/v7008<>151/v7008<>155:S^Ангелы используют воскрешение.^; !!VRz1&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=16/y-9<y-8/v7008<>27/v7008<>83/v7008<>121/v7008<>151/v7008<>155:S^Ангелы попытались использовать воскрешение, но им не хватило силы.^; !!MM&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=16/v7008<>27/v7008<>83/v7008<>121/v7008<>151/v7008<>155:Sz1; вывести сообщение !!BMv7009&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=16/y-9>=y-8/v7008<>27/v7008<>83/v7008<>121/v7008<>151/v7008<>155:C38/v7003/2/y7/0; скастовать воскрешение !!VRz1&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=262144/y-9>=y-8:S^Ангелы используют оживление мертвецов.^; !!VRz1&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=262144/y-9<y-8:S^Ангелы попытались использовать оживление мертвецов, но им не хватило силы.^; !!MM&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=262144:Sz1; вывести сообщение !!BMv7009&y-2<15/y5=12/y6=y-5/v7270=-1/v7271>-1/y-6=262144/y-9>=y-8:C39/v7003/2/y7/0; скастовать оживление мертвецов Может код можно сократить, не пробовал. В принципе можно воскрешать наверно и не полностью убитых. |
|
|
Гость_FakerNeo_* |
![]()
Сообщение
#18
|
![]() |
Так это ангелы воскрешают?
Добавлено ([mergetime]1214996832[/mergetime]): или просто воскрешение? |
|
|
![]()
Сообщение
#19
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз ![]() |
В данном примере воскрешают ангелы, вместо них можно поставить кого угодно.
|
|
|
Гость_FakerNeo_* |
![]()
Сообщение
#20
|
![]() |
А если нужно просто воскрешение? без ангелов
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 1 October 2025 - 00:58 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|