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

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

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

Îòâåò
Ñòðàíèöà 59 èç 261
 
Îïöèè òåìû
#871
Ñòàðûé 09.01.2013, 16:16
  #871
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Добавлено через 8 минут

function Start()
hero = GetAttackerHero
UnitCastGlobalSpell(hero, 54)
end

пишет в панели "wrong type of argument 1 when calling function UnitGlobalCast" , что не так?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#872
Ñòàðûé 09.01.2013, 16:19
  #872
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

HeroistДобавлено через 8 минут

function Start()
hero = GetAttackerHero
UnitCastGlobalSpell(hero, 54)
end

пишет в панели "wrong type of argument 1 when calling function UnitGlobalCast" , что не так?
После GetAttackerHero должны стоять скобки (). Эта функция всегда возвращает 'attacker-hero' так что можно её не использовать.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#873
Ñòàðûé 09.01.2013, 16:29
  #873
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ага, спс это работает.

А можно ли сделать случайный выбор заклинания? Сейчас поясню:

function Start()
hero = GetAttackerHero ()
cast = random (5)
if cast == 0 then
UnitCastGlobalSpell(hero, 54)
elseif cast == 1 then
UnitCastGlobalSpell(hero, 24)
elseif cast == 2 then
UnitCastGlobalSpell(hero, 25)
elseif cast == 3 then
UnitCastGlobalSpell(hero, 28)
elseif cast == 4 then
UnitCastGlobalSpell(hero, 29)
elseif cast == 5 then
UnitCastGlobalSpell(hero, 23)
end
end

?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#874
Ñòàðûé 09.01.2013, 16:32
  #874
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

random в бою не работает.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#875
Ñòàðûé 09.01.2013, 16:38
  #875
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ай-ай-ай, жалко. А как же быть, можно ли как-нибудь сделать случайный каст? Может быть вызывать random каждый день, а потом в баттл скрипте его запрашивать?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#876
Ñòàðûé 09.01.2013, 16:54
  #876
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Можно после каждой битвы:
	function rndcast()
	while 1 do
		SetGameVar('spell', random(5))
		local index = GetLastSavedCombatIndex()
		while index == GetLastSavedCombatIndex() do
			sleep(10)
		end
	end
end
startThread(rndcast)
А в боевом скрипте строчкой
cast = GetGameVar('spell')+0
заменить строку
cast = random (5)
Да, и random(5) вернёт случайное число от 0 до 4. То есть random(n) возвращает случайное число от 0 до n-1.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#877
Ñòàðûé 09.01.2013, 17:13
  #877
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

да, теперь действительно кастует рандомно. Теперь, однако, ошибка в другом, никакие заклинание, кроме молитвы, он скастовать не может. Я ему прописываю вроде бы, массовые ускорение, каменную кожу и тп, а он пишет, что "hero can't cast #25, 24 и тп"
Вот вырезка скрипта опять таки:

if cast == 0 then
UnitCastGlobalSpell(hero, 54) --- молитва, работает
elseif cast == 1 then
UnitCastGlobalSpell(hero, 24) --- спешка
elseif cast == 2 then
UnitCastGlobalSpell(hero, 25) --- каменная кожа
elseif cast == 3 then
UnitCastGlobalSpell(hero, 28) --- bloodlust
elseif cast == 4 then
UnitCastGlobalSpell(hero, 29) --- отклонение
elseif cast == 5 then
UnitCastGlobalSpell(hero, 23) --- сила пророка
end

Поясните, пожалуйста, этот момент, в остальном вроде, наступает ясность.

Добавлено через 1 минуту
тьфу, простите, вопрос снят. надо mass spell ы было искать =)

Большое Вам спасибо.
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#878
Ñòàðûé 09.01.2013, 17:15
  #878
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Первое, что приходит в голову - нехватка маны. На эти заклинания расходуется мана, и её должно хватать.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#879
Ñòàðûé 09.01.2013, 17:18
  #879
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

да, кстати, нехватка маны тоже, проверил =)
А сделать заклинания бесплатными при этом автокасте возможно?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#880
Ñòàðûé 09.01.2013, 17:24
  #880
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Heroistда, кстати, нехватка маны тоже, проверил =)
А сделать заклинания бесплатными при этом автокасте возможно?
Можно, если добавлять герою столько маны, сколько стоит это заклинание.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#881
Ñòàðûé 09.01.2013, 21:26
  #881
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

да, я уже сделал. Просто в начале боя узнавал сколько у него маны, потом давал 100, а после рандом каста возвращал столько, сколько было в начале боя. Большое Вам спасибо! Теперь мне стало нАмного понятнее =)

Добавлено через 3 часа 55 минут
назрел новый вопрос:

-А как сделать проверку на имя героя при старте боя?
Я записываю так:

hero = GetAttackerHero ()
if GetHeroName(hero) == 'Alaric' then

Но ничего не работает...Даже если записывать проще:

hero = GetAttackerHero ()
if hero == 'Alaric'

Ps: Я вас, наверно, уже достал, но очень хочется в этом разобраться)
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#882
Ñòàðûé 09.01.2013, 22:02
  #882
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

"Проще" не надо. GetHeroName даёт возможность получить скриптовое имя героя. А что должно происходить, если герой прошёл проверку?
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#883
Ñòàðûé 09.01.2013, 22:06
  #883
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Батл скрипт:

function Start()
hero = GetAttackerHero ()
if GetHeroName("hero") == 'Alaric' then
cast = GetGameVar('spell')+0
mana = GetUnitManaPoints (hero)
SetUnitManaPoints (hero, 100)
if cast == 0 then
UnitCastGlobalSpell(hero, 54)
elseif cast == 1 then
UnitCastGlobalSpell(hero, 221)
elseif cast == 2 then
UnitCastGlobalSpell(hero, 218)
elseif cast == 3 then
UnitCastGlobalSpell(hero, 220)
elseif cast == 4 then
UnitCastGlobalSpell(hero, 219)
elseif cast == 5 then
UnitCastGlobalSpell(hero, 216)
end
SetUnitManaPoints (hero, mana)
end

Скрипт:

function rndcast()
while 1 do
SetGameVar('spell', random(6))
local index = GetLastSavedCombatIndex()
while index == GetLastSavedCombatIndex() do
sleep(10)
end
end
end
startThread(rndcast)
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#884
Ñòàðûé 09.01.2013, 22:10
  #884
^
RedHeavenHero
 
Àâàòàð äëÿ RedHeavenHero
📖
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 10.02.2012
Ñîîáùåíèÿ: 2378
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

hero должно быть написано без кавычек.
__________________
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
Êàðòû äëÿ Ãåðîåâ Ìå÷à è Ìàãèè 5
Îäèíî÷íûå: Çàâåñà ñðûâàåòñÿ, Ïîñîë, Ïîñëåäíèé ðûâîê, Ýõî Ïóñòîòû
Êàìïàíèÿ: Èìïåðèÿ Åäèíîðîãà

Ñóùåñòâà NCF
Îðäåí Ïîðÿäêà: 1
Íåéòðàëû: 1 2 3 4
RedHeavenHero âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#885
Ñòàðûé 10.01.2013, 12:29
  #885
^
Heroist
 
Àâàòàð äëÿ Heroist
📖
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.12.2012
Àäðåñ: Çàïðåäåëüå
Ñîîáùåíèÿ: 14607
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

да, опять я глупую ошибку допустил, спасибо. там еще end'а не хватало.

Добавлено через 13 часов 59 минут
так, остался самый главный вопрос на сегодня:

А как быть с привязкой баттлскрипта к герою? Дело в том, что мне хотелось бы нанимать такого героя, скажем, в таверне, но в этом случае он появляется на карте без привязанного скрипта и теряет свои функции.
Есть ли функция, чтобы, если на карте появился такой герой, автоматически привязывать к нему баттлскрипт? Или есть другой путь?
__________________
Whatever
Whatever
Heroist âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 59 èç 261


Îïöèè òåìû



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


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

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