Скрипты - Страница 185 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 185 из 260
 
Опции темы
#2761
Старый 06.07.2018, 20:49
  #2761
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

столкнулся с проблемой, что функция setATB не срабатывает на боевые машины. возможно, это связано с тройным выстрелом катапульты/баллисты, но тем не менее. мб кто-то знает, как тут разобраться?
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2762
Старый 06.07.2018, 22:38
  #2762
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Gerterстолкнулся с проблемой, что функция setATB не срабатывает на боевые машины. возможно, это связано с тройным выстрелом катапульты/баллисты, но тем не менее. мб кто-то знает, как тут разобраться?
Сейчас проверил на баллисте с тройным выстрелом - все работало. Ошибка в чем-то другом.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2763
Старый 06.07.2018, 23:49
  #2763
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

RedHeavenHeroСейчас проверил на баллисте с тройным выстрелом - все работало. Ошибка в чем-то другом.

хотя нет, все равно не работает( можешь показать свой код, мб я по сути что-то неверно делаю...
пишу как-то так:
	
function DefenderMachineMove(machine)
	local n = GetWarMachineType(machine)
	if n == 1 or n == 2 then
		setATB(machine, 0.5)
	end
end
код работает, но сдвига по шкале нет

Так, перенес функцию сдвига в DefenderCreatureMove - стало работать. Странно, героя и юнитов получалось сдвигать внутри их ходов...
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2764
Старый 15.07.2018, 17:47
  #2764
^
LetoX
 
Аватар для LetoX
📖
Регистрация: 16.11.2017
Сообщения: 67
Регистрация: 16.11.2017
Сообщения: 67
По умолчанию
Re: Скрипты

кто-нибудь знает как проверить каст героя в боевом скрипте?
LetoX вне форума
Ответить с цитированием
#2765
Старый 15.07.2018, 18:39
  #2765
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

узнать, что именно скастовал герой - нельзя. установить сам факт каста можно, например, по изменению маны в HeroMove' е
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2766
Старый 26.07.2018, 21:29
  #2766
^
LetoX
 
Аватар для LetoX
📖
Регистрация: 16.11.2017
Сообщения: 67
Регистрация: 16.11.2017
Сообщения: 67
По умолчанию
Re: Скрипты

кто-нибудь знает, как активировать на существо какое-ниюудь умение в боевом скрипте. Например:
function AttackerCreatureMove()
отлетает корнями или что-то другое
end
(синтаксис этой функции не помню)

И ещё, может знаете, как рандомить значения(что-то смотрел в инете по lua
, но не нашёл)
LetoX вне форума
Ответить с цитированием
#2767
Старый 26.07.2018, 21:58
  #2767
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

commandDoSpecial(имя юнита, id абилки, координаты по которым юзать абилку)

рандомить - функцией random(), но в комбате она не работает. благо есть парочка кастомных реализаций этого дела
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2768
Старый 27.07.2018, 00:25
  #2768
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

GertercommandDoSpecial(имя юнита, id абилки, координаты по которым юзать абилку)

рандомить - функцией random(), но в комбате она не работает. благо есть парочка кастомных реализаций этого дела

Каких именно?
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein сейчас на форуме
Ответить с цитированием
#2769
Старый 27.07.2018, 00:34
  #2769
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

в карте Эхо Пустоты есть отличный ГПСЧ, пользуюсь им
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2770
Старый 27.07.2018, 14:57
  #2770
^
AlekseyS
📖
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
По умолчанию
Re: Скрипты

Подскажите как определить в функции DefenderCreatureDeath, что умерло какое-нибудь определенное существо?
AlekseyS вне форума
Ответить с цитированием
#2771
Старый 27.07.2018, 16:41
  #2771
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

в эту функцию и так передается имя умершего юнита. поэтому так же можно использовать GetCreatureType()
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2772
Старый 27.07.2018, 17:01
  #2772
^
AlekseyS
📖
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
По умолчанию
Re: Скрипты

Gerterв эту функцию и так передается имя умершего юнита. поэтому так же можно использовать GetCreatureType()
Я знаю, просто мне нужно чтобы после смерти феникса одна переменная(fenix) =0.
AlekseyS вне форума
Ответить с цитированием
#2773
Старый 27.07.2018, 17:14
  #2773
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

	function DefenderCreatureDeath(unit)
  if(GetCreatureType(unit) == CREATURE_PHOENIX) then
    fenix = 0
  end
end

как то так
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2774
Старый 27.07.2018, 17:29
  #2774
^
AlekseyS
📖
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
По умолчанию
Re: Скрипты

Gerter
	function DefenderCreatureDeath(unit)
  if(GetCreatureType(unit) == CREATURE_PHOENIX) then
    fenix = 0
  end
end

как то так

Странно... ничего не происходит. Вот скрипт, если что.( С элементалями тоже неработает)


	diff = GetDifficulty() + 1
defender = GetDefenderHero()
attacker = GetAttackerHero()
defender_turn = 0
death = 0
elemental= 0
fenix = 0

function Start()
SummonCreature(DEFENDER,103, 12 * diff,8,9)
SummonCreature(DEFENDER,105, 9* diff,8,2)
end

function DefenderHeroMove()
if elemental == 0 then
elemental = 1
UnitCastGlobalSpell(defender,SPELL_SUMMON_ELEMENTALS )
end
defender_turn = defender_turn + 1
if defender_turn == 1 then
combatSetPause(1)
UnitCastGlobalSpell(defender,SPELL_ARMAGEDDON)
sleep(200)
combatSetPause(nil)
end
if defender_turn == 2 then
SummonCreature(DEFENDER,104, 10 * diff)
if fenix == 0 then
fenix = 1
UnitCastGlobalSpell(defender,SPELL_CONJURE_PHOENIX)
end
end
end

function DefenderCreatureDeath(unit)
if(GetCreatureType(unit) == CREATURE_FIRE_ELEMENTAL ) then
elemental = 0
end
end
death = death + 1
if death == 1 then
print("bbb")
end
AlekseyS вне форума
Ответить с цитированием
#2775
Старый 27.07.2018, 17:58
  #2775
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

потестил у себя нужную часть кода - вот так все работает. каждый раз после смерти феникса/элемов герой их перепризывает

	elemental = 0
fenix = 0
  
function DefenderHeroMove(hero)
  if elemental == 0 then
    elemental = 1
    startThread(UnitCastGlobalSpell, hero, SPELL_SUMMON_ELEMENTALS)
  end
  if fenix == 0 then
    fenix = 1
    startThread(UnitCastGlobalSpell, hero, SPELL_CONJURE_PHOENIX)
  end
  return not nil
end

function DefenderCreatureDeath(unit)
  if(GetCreatureType(unit) == 85) then
    print('fire elem dead')
    elemental = 0
  end
  
  if(GetCreatureType(unit) == 91) then
    print('phoenix dead')
    fenix = 0
  end
end
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
Ответ
Страница 185 из 260


Опции темы



Часовой пояс GMT +4, время: 12:25.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru