IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Скрипт - Оруженосец (Юниты в резерве)
Axolotl
сообщение 04 Oct 2010, 13:34
Сообщение #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 crazy.gif ...и понеслось опять madi11039.gif paladin.gif elf.gif dwarf.gif mult12.gif bud.gif все лето проманьячили :-)...ну и в этот раз я взялся за освоение скриптов, но так-как инета там не было вообще, про всё, что изменилось в мире герояв я не знал - про Tournament Edition, Era, Phoenix Mod, 3.59 узнал только сейчас, и даже еще не ставил их и не смотрел, что там за изменения...так много всего нового, буду осваиваться потихоньку.




--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 04 Oct 2010, 17:54 (Сообщение отредактировал Axolotl - 04 Oct 2010, 17:56)
Сообщение #2

I must gather my party before venturing forth
Сообщений: 5 129
Спасибо сказали: 17832 раза




Да, забыл написать.
Есть один странный, даже не знаю баг ли это, в общем, при включенной WOG опции Создания Сильванских Кентавров, если передать оруженосцу Grand Elves'ов, на следующий день (что весьма странно), они превращаются в Сильванцев.
Скорее всего это связанно с какой-то внутренней процедурой WOG. В тот же ход всё нормально, у оруженосца остаются эльфы.
Опция из разряда - Hard Coded, так что посмотреть, что это за глюк, в скриптах нельзя.

В остальном, несколько партий в Хот Сите отыграли, других багов не заметили, но со всеми возможными WOG опциями не тестили, также возможно нужно будет еще написать проверку на включение этих самых опций, например (только сейчас об этом подумал, так как изначально скрипт писался просто для себя, и про все возможные варианты его использования не думалось)
не знаю как он будет себя вести с отключенной опцией опыта существ.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 04 Oct 2010, 18:43
Сообщение #3

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20602 раза




ИИ, типа, каждый день проверяется на наличие у героя эльфов и кентавров. Если есть, то они автоматически трансмутятся.
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 04 Oct 2010, 23:08
Сообщение #4

допустим, мяў
Сообщений: 24 101
Спасибо сказали: 13407 раз




Это скорее "Обоз" чем "Оруженосец". Артефакты ему сплавлять нельзя?
В идеале было бы лучше всего, если бы при щелчке в определённом месте в экране героя (например, правый щелчок на значке командира) появлялся бы экран обмена между героями. Т.е. необходимо вызвать стандартную функцию героев. Жаль, помочь не могу, только мысль.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 05 Oct 2010, 00:15
Сообщение #5

I must gather my party before venturing forth
Сообщений: 5 129
Спасибо сказали: 17832 раза




Цитата(hippocamus @ 04 Oct 2010, 23:08) *
Это скорее "Обоз" чем "Оруженосец". Артефакты ему сплавлять нельзя?
В идеале было бы лучше всего, если бы при щелчке в определённом месте в экране героя (например, правый щелчок на значке командира) появлялся бы экран обмена между героями. Т.е. необходимо вызвать стандартную функцию героев. Жаль, помочь не могу, только мысль.


Можно и про артефакты написать, но зачем, вроде слотов придостаточно и так.
А вызов стандартного экрана обмена, это конечно же была первая мысль, когда возникла идея такого скриапта, но может я дурак, но что-то не нашел я в стандартном ВОГовском хэлпе такой комманды unsure.gif . Может пропустил чего. Пришлось самому писать процедуру передачи юнитов.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 05 Oct 2010, 00:20
Сообщение #6

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20602 раза




Цитата
А вызов стандартного экрана обмена, это конечно же была первая мысль, когда возникла идея такого скриапта, но может я дурак, но что-то не нашел я в стандартном ВОГовском хэлпе такой комманды

HE:C с 14 параметрами, вроде.
И через !!UN:C задавать-забирать верхний ряд.
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 05 Oct 2010, 10:44
Сообщение #7

I must gather my party before venturing forth
Сообщений: 5 129
Спасибо сказали: 17832 раза




Через H:C я и делал...правда через HE:C0....а имелся в виду вызов окна, когда один геерой подходит к другому (с передачей артефактов, баллисты и.т.д)...А через HE:C (с 14 параметрами) там нужно еще больше морочиться с тем, чтобы понять кого именно вы забрали (отдали), а это еще больше возни и текста, чем HE:C0.
А UN:C - это же вообще работа с участками памяти...до этого я не дошел rolleyes.gif


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 05 Oct 2010, 16:52
Сообщение #8

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20602 раза




Цитата
а имелся в виду вызов окна, когда один геерой подходит к другому (с передачей артефактов, баллисты и.т.д)

не, нету такой команды. Попробовать сообразить можно, но лучше под Эру. Под 358 сложнее.
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 05 Oct 2010, 18:07
Сообщение #9

допустим, мяў
Сообщений: 24 101
Спасибо сказали: 13407 раз




Такой команды нету. Если узнать адрес этой процедуры, то нетрудно делать этот вызов из dll для Эры. Но есть идея и без этого. Может, можно сделать так: перехватывать !?HM и инициализировать "мёртвого" героя-оруженосца координатами живого. Тогда при нажатии Пробела должен появиться диалог обмена, т.к. осуществилось как бы "посещение" героем оруженосца. Ещё можно поиграться с клоном героя - его, конечно, придётся каждый раз инициализировать заново и уничтожать после обмена, но можно попробовать - что получится при посещении героем самого себя (с подставленными нужными войсками)?


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 05 Oct 2010, 18:39 (Сообщение отредактировал feanor - 05 Oct 2010, 18:39)
Сообщение #10

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20602 раза




Цитата
Если узнать адрес этой процедуры, то нетрудно делать этот вызов из dll для Эры.

http://forum.df2.ru/index.php?s=&showt...st&p=427657

Можно и не для Эры, но геморройно.
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 05 Oct 2010, 19:47
Сообщение #11

I must gather my party before venturing forth
Сообщений: 5 129
Спасибо сказали: 17832 раза




Ну так-то да, но вроде в итоге получилось не намного сложнее в моем скрипте. Если через экран героя Ctrl-Clck передавать,
вроде просто всё получается.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Wic
сообщение 12 Jan 2011, 01:01
Сообщение #12

Immortal
Сообщений: 2 130
Спасибо сказали: 731 раз




Обмен артами с оруженосцем полезен тем, что ему можно сливать лишние боевые машины. В некоторых битвах они больше мешаются. Ну или таскать запасные.
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 12 Jan 2011, 04:52
Сообщение #13

I must gather my party before venturing forth
Сообщений: 5 129
Спасибо сказали: 17832 раза




Цитата(Wic @ 12 Jan 2011, 02:01) *
Обмен артами с оруженосцем полезен тем, что ему можно сливать лишние боевые машины. В некоторых битвах они больше мешаются. Ну или таскать запасные.


Да, идея хорошая...правда уже есть скрипты позволяющие отключать "вредные" баллисты стреляющие по ослепленным юнитамsmile.gif...но запасная палатка тоже хорошо. Сейчас правда сильно занят "Пучиной", может потом допишу....


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 26 September 2025 - 17:43
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика