Ñêðèïòû - Ñòðàíèöà 185 - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
Ñòðàíèöà 185 èç 264
 
Îïöèè òåìû
#2761
Ñòàðûé 06.07.2018, 20:49
  #2761
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

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

рандомить - функцией random(), но в комбате она не работает. благо есть парочка кастомных реализаций этого дела
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2768
Ñòàðûé 27.07.2018, 00:25
  #2768
^
AstralLein
 
Àâàòàð äëÿ AstralLein
📖
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4487
Ðåãèñòðàöèÿ: 02.06.2017
Àäðåñ: Â Èìïåðèè Íåçàíõåëüì.
Ñîîáùåíèÿ: 4487
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

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

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

Каких именно?
AstralLein âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2769
Ñòàðûé 27.07.2018, 00:34
  #2769
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
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 èç 264


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 03:11.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru