![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
![]() I must gather my party before venturing forth Сообщений: 5 129 Спасибо сказали: 17832 раза ![]() |
Вот, просили выложить скрипт "Оруженосца"
Суть скрипта : 1- вы можете "прикрепить" к герою, другого героя, оруженосцем, при этом "оруженосец" исчезает с карты (формально он просто убивается, с запретом появления в таверне), но после этого вы можете обмениваться с ним юнитами. 2 - Героя имеющего оруженосца вы не можете сделать оруженосцем 3 - После смерти героя, оруженосец теряется (снимается запрет появления в таверне). 4 - Опыт существ, флаг, и опция флага также нормально передаются Создание оруженосца - правый клик по кнопке "Next Hero" ("Следующий герой")...дальше менюшка, все должно быть понятно Позже добавил второй скрипт (через мою менюшку показалось не очень удобно (слишком долго). В этом скрипте сделал возможность обмениваться с оруженосцем при помощи Ctrl-Clck прямо в экране героя (не в замке). Ctrl-Clck на юнита передает его оруженосцу. Ctrl-Clck на пустой слот - вызывает меню выбора юнита у оруженосца. Можно в принципе объеденить два скрипта в один. Используется функция 22351 Используется переменная героя w121 (Если вы используете другие сторонние скрипты с такими переменными, нужно их изменить на свободные, либо в моем скрипте, либо в вашем, хотя это и так здесь все знают)...старался писать скрипт так, чтобы по возможности как можно меньше использовать глобальные переменные и функции, которых количесво ограниченно. Ссылка http://sharebee.com/cd1424b8 P.S. Со скриптами начал разбираться только этим летом, не судите строго, наверняка многое в нем можно было сделать проще или лучше:-) P.P.S Скрипт для WOG 3.58f. Дело в том, что в героев, до этого играл последние разы лет этак 6-7 назад, потом я их "переел" :-) (но маньячили по страшному), но до скриптов я тогда не добрался. И вот этим летом, живя с друзьями за городом на даче, на стареньком компе обнаружили WOG ![]() ![]() ![]() ![]() ![]() ![]() ![]() -------------------- Спасибо сказали: |
|
|
![]()
Сообщение
#2
|
|
![]() I must gather my party before venturing forth Сообщений: 5 129 Спасибо сказали: 17832 раза ![]() |
Да, забыл написать.
Есть один странный, даже не знаю баг ли это, в общем, при включенной WOG опции Создания Сильванских Кентавров, если передать оруженосцу Grand Elves'ов, на следующий день (что весьма странно), они превращаются в Сильванцев. Скорее всего это связанно с какой-то внутренней процедурой WOG. В тот же ход всё нормально, у оруженосца остаются эльфы. Опция из разряда - Hard Coded, так что посмотреть, что это за глюк, в скриптах нельзя. В остальном, несколько партий в Хот Сите отыграли, других багов не заметили, но со всеми возможными WOG опциями не тестили, также возможно нужно будет еще написать проверку на включение этих самых опций, например (только сейчас об этом подумал, так как изначально скрипт писался просто для себя, и про все возможные варианты его использования не думалось) не знаю как он будет себя вести с отключенной опцией опыта существ. -------------------- |
|
|
![]()
Сообщение
#3
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20602 раза ![]() |
ИИ, типа, каждый день проверяется на наличие у героя эльфов и кентавров. Если есть, то они автоматически трансмутятся.
|
|
|
![]()
Сообщение
#4
|
|
![]() допустим, мяў Сообщений: 24 101 Спасибо сказали: 13407 раз ![]() |
Это скорее "Обоз" чем "Оруженосец". Артефакты ему сплавлять нельзя?
В идеале было бы лучше всего, если бы при щелчке в определённом месте в экране героя (например, правый щелчок на значке командира) появлялся бы экран обмена между героями. Т.е. необходимо вызвать стандартную функцию героев. Жаль, помочь не могу, только мысль. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#5
|
|
![]() I must gather my party before venturing forth Сообщений: 5 129 Спасибо сказали: 17832 раза ![]() |
Это скорее "Обоз" чем "Оруженосец". Артефакты ему сплавлять нельзя? В идеале было бы лучше всего, если бы при щелчке в определённом месте в экране героя (например, правый щелчок на значке командира) появлялся бы экран обмена между героями. Т.е. необходимо вызвать стандартную функцию героев. Жаль, помочь не могу, только мысль. Можно и про артефакты написать, но зачем, вроде слотов придостаточно и так. А вызов стандартного экрана обмена, это конечно же была первая мысль, когда возникла идея такого скриапта, но может я дурак, но что-то не нашел я в стандартном ВОГовском хэлпе такой комманды ![]() -------------------- |
|
|
![]()
Сообщение
#6
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20602 раза ![]() |
Цитата А вызов стандартного экрана обмена, это конечно же была первая мысль, когда возникла идея такого скриапта, но может я дурак, но что-то не нашел я в стандартном ВОГовском хэлпе такой комманды HE:C с 14 параметрами, вроде. И через !!UN:C задавать-забирать верхний ряд. |
|
|
![]()
Сообщение
#7
|
|
![]() I must gather my party before venturing forth Сообщений: 5 129 Спасибо сказали: 17832 раза ![]() |
Через H:C я и делал...правда через HE:C0....а имелся в виду вызов окна, когда один геерой подходит к другому (с передачей артефактов, баллисты и.т.д)...А через HE:C (с 14 параметрами) там нужно еще больше морочиться с тем, чтобы понять кого именно вы забрали (отдали), а это еще больше возни и текста, чем HE:C0.
А UN:C - это же вообще работа с участками памяти...до этого я не дошел ![]() -------------------- |
|
|
![]()
Сообщение
#8
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20602 раза ![]() |
Цитата а имелся в виду вызов окна, когда один геерой подходит к другому (с передачей артефактов, баллисты и.т.д) не, нету такой команды. Попробовать сообразить можно, но лучше под Эру. Под 358 сложнее. |
|
|
![]()
Сообщение
#9
|
|
![]() допустим, мяў Сообщений: 24 101 Спасибо сказали: 13407 раз ![]() |
Такой команды нету. Если узнать адрес этой процедуры, то нетрудно делать этот вызов из dll для Эры. Но есть идея и без этого. Может, можно сделать так: перехватывать !?HM и инициализировать "мёртвого" героя-оруженосца координатами живого. Тогда при нажатии Пробела должен появиться диалог обмена, т.к. осуществилось как бы "посещение" героем оруженосца. Ещё можно поиграться с клоном героя - его, конечно, придётся каждый раз инициализировать заново и уничтожать после обмена, но можно попробовать - что получится при посещении героем самого себя (с подставленными нужными войсками)?
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#10
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20602 раза ![]() |
Цитата Если узнать адрес этой процедуры, то нетрудно делать этот вызов из dll для Эры. http://forum.df2.ru/index.php?s=&showt...st&p=427657 Можно и не для Эры, но геморройно. |
|
|
![]()
Сообщение
#11
|
|
![]() I must gather my party before venturing forth Сообщений: 5 129 Спасибо сказали: 17832 раза ![]() |
Ну так-то да, но вроде в итоге получилось не намного сложнее в моем скрипте. Если через экран героя Ctrl-Clck передавать,
вроде просто всё получается. -------------------- |
|
|
![]()
Сообщение
#12
|
|
Immortal Сообщений: 2 130 Спасибо сказали: 731 раз ![]() |
Обмен артами с оруженосцем полезен тем, что ему можно сливать лишние боевые машины. В некоторых битвах они больше мешаются. Ну или таскать запасные.
|
|
|
![]()
Сообщение
#13
|
|
![]() I must gather my party before venturing forth Сообщений: 5 129 Спасибо сказали: 17832 раза ![]() |
Обмен артами с оруженосцем полезен тем, что ему можно сливать лишние боевые машины. В некоторых битвах они больше мешаются. Ну или таскать запасные. Да, идея хорошая...правда уже есть скрипты позволяющие отключать "вредные" баллисты стреляющие по ослепленным юнитам ![]() -------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 26 September 2025 - 17:43 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|