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

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

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

Îòâåò
Ñòðàíèöà 261 èç 264
 
Îïöèè òåìû
#3901
Ñòàðûé 13.06.2024, 02:54
  #3901
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Jack_of_shadowsАзгалор, долго вспоминал, короче нужно в этом случае обязательно передавать все 5 вариантов ответов, если используются только 2, то после них добавить еще , nil, nil, nil.

Да, вот теперь всё работает как надо. Огромное спасибо) Впрочем, и не только за это, а ещё и за скрипты связанные с табличкой артефактов
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3902
Ñòàðûé 14.06.2024, 10:28
  #3902
^
Madara_X
 
Àâàòàð äëÿ Madara_X
📖
Ðåãèñòðàöèÿ: 08.06.2024
Ñîîáùåíèÿ: 7
Ðåãèñòðàöèÿ: 08.06.2024
Ñîîáùåíèÿ: 7
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Друзья, как реализовать одновременные анимации? Сейчас из-за того что строчки кода идут последовательно, возникает рассинхронизация небольшая. Также хотел спросить насчет паузы между анимациями. Пока что поставил на IDLE, но в таком случае объекты после окончания анимации сразу начинают новую, а мне нужна пауза. Пока есть идея реализовывать все это через функции и циклы. Подскажите, правильно ли я мыслю? И если вдруг лень объяснять, может, кто-то знает, в каких сценариях были реализованы такие анимации? Я могу сам в них залезть и посмотреть)
Madara_X âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3903
Ñòàðûé 14.06.2024, 13:46
  #3903
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Madara_X,
Madara_Xкак реализовать одновременные анимации? Сейчас из-за того что строчки кода идут последовательно, возникает рассинхронизация небольшая.Также хотел спросить насчет паузы между анимациями. Пока что поставил на IDLE, но в таком случае объекты после окончания анимации сразу начинают новую, а мне нужна пауза

Прописать PlayObjectAnimation("скриптовое имя существа", "анимация", ONESHOT(ONESHOT_STILL если это анимация смерти(по желанию)), после написать sleep(нужное количество задержки), и после снова прописывать PlayObjectAnimation(), которая(ые) отработают уже после задержки из sleep()
Madara_XВ каких сценариях были реализованы такие анимации?

Первая миссия кампании за Фриду во Владыках, анимки тренирующихся существ в лагерях Рэндалла и Колдуэлла. Чтобы не бежать открывать туман войны на карте, можешь вбить в консоли @OpenCircleFog(0, 0, 0, 999, 1);
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3904
Ñòàðûé 15.06.2024, 00:37
  #3904
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Âîïðîñ
Re: Ñêðèïòû

Всем добрый день, нужна помощь в написании кода скрипта. Задумка - любой случайный герой заходит в определенное здание и это здание проверяет есть ли у героя перк - выдает ему бонус за этот перк. Проблема в том, что нужно проверить имеет ли герой много перков и дать ему много бонусов если он их имеет, сам научился писать код для проверки только одного перка и дальше игра не читает. Прошу кодеров помочь, нужен максимально простой скрипт такого вида: функция перкиФ (херонейм) если "герой имеет скилл" (херонейм, например скилл стрельба) то "добавить герою существ" (херонейм, например лучники, в колве 1) также если "герой имеет скилл" (херонейм, например логистика искусная) то "добавить герою артефакт" (херонейм, например кандалы неизбежности, непередаваемый) также если "герой имеет скилл" (херонейм, например логистика развитая) то "изменить герою стат" (херонейм, например защита, +2) также если "герой имеет скилл" (херонейм, например свет развитый) то "обучить героя заклинанию" (херонейм, например замедление на искусном уровне) конец конец Тригер (герой касается объекта под названием тттт, запуск функции перкиФ) Сами примеры могут быть другими, важен принцип и логика написания кода, чтобы один тригер касания проверял большое количество перков и выдавал герою существ, артефакт, заклинание Еще надо чтобы присутстовал нил и касание работало один раз и не выдавало по сто раз бонусы. Буду благодарен за объяснение Еще вопрос есть Нужен скрипт который будет работать при начале сражения Старткомбат если в битве присутствует герой некромант и если он имеет перк лидерство то герой противника получает -1 к боевому духу и аналогично для развитого и искусного уровня на -2 и -3 бд. Спасибо за помощь.
green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3905
Ñòàðûé 15.06.2024, 17:29
  #3905
^
Madara_X
 
Àâàòàð äëÿ Madara_X
📖
Ðåãèñòðàöèÿ: 08.06.2024
Ñîîáùåíèÿ: 7
Ðåãèñòðàöèÿ: 08.06.2024
Ñîîáùåíèÿ: 7
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

green bellyВсем добрый день, нужна помощь в написании кода скрипта. Задумка - любой случайный герой заходит в определенное здание и это здание проверяет есть ли у героя перк - выдает ему бонус за этот перк. Проблема в том, что нужно проверить имеет ли герой много перков и дать ему много бонусов если он их имеет, сам научился писать код для проверки только одного перка и дальше игра не читает. Прошу кодеров помочь, нужен максимально простой скрипт такого вида: функция перкиФ (херонейм) если "герой имеет скилл" (херонейм, например скилл стрельба) то "добавить герою существ" (херонейм, например лучники, в колве 1) также если "герой имеет скилл" (херонейм, например логистика искусная) то "добавить герою артефакт" (херонейм, например кандалы неизбежности, непередаваемый) также если "герой имеет скилл" (херонейм, например логистика развитая) то "изменить герою стат" (херонейм, например защита, +2) также если "герой имеет скилл" (херонейм, например свет развитый) то "обучить героя заклинанию" (херонейм, например замедление на искусном уровне) конец конец Тригер (герой касается объекта под названием тттт, запуск функции перкиФ) Сами примеры могут быть другими, важен принцип и логика написания кода, чтобы один тригер касания проверял большое количество перков и выдавал герою существ, артефакт, заклинание Еще надо чтобы присутстовал нил и касание работало один раз и не выдавало по сто раз бонусы. Буду благодарен за объяснение Еще вопрос есть Нужен скрипт который будет работать при начале сражения Старткомбат если в битве присутствует герой некромант и если он имеет перк лидерство то герой противника получает -1 к боевому духу и аналогично для развитого и искусного уровня на -2 и -3 бд. Спасибо за помощь.

Вот пример моего кода на проверку магических скиллов и выдачу заклинаний в соответствии со школой. С существами и прочим можно сделать по аналогии



Добавлено через 9 минут
Друзья, а подскажите, сколько одновременных функций может исполняться в игре? Сейчас занимаюсь анимациями персонажей: создаю отдельные функции и запускаю их через startThread(), однако заметил, что ровно на второй команде startThread() игра намертво зависает. Если объединить все анимации в одну функцию, то тогда все ок.
Madara_X âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3906
Ñòàðûé 15.06.2024, 19:08
  #3906
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

green belly, про перки: удобней всего(наверное) будет создать таблицу, куда занести перки, тип награды за перк и соответственно сами награды за разные уровни мастерства. После написать функцию которая будет проверять наличие нужных перков и их мастерство, определять какой тип награды должен быть и выдавать за них саму награду.

Про статы для боя: думаю, можно определять какой расе принадлежит герой через HasHeroSkill(heroName, ID расовых статов(типа "мастер артефактов" у магов, "контрудар" у рыцарей, мститель у эльфов, "некромантия" у некромантов и т.д.), и если у героя есть тот или иной стат(а он, по стандарту, может быть у героя только один), приписывать его в нужную расу. С лидерством так же, но для проверки уровня мастерства нужно использовать функцию GetHeroSkillMastery(heroName, ID скилла), которая возвращает число от 0 до 4(0 - не владеет перком совсем, 1-3 - начально/развито/искусно, 4 - совершенно(вроде как только для расовых перков, типа "Совершенный контрудар". Напомню, что совершенные уровни расовых перков получаются только благодаря артефакту "Кулон Мастерства")), и в соответствии с уровнем мастерства применять GiveHeroBattleBonus(heroName, HERO_BATTLE_BONUS_MORALE, -нужное число)

p.s. функция баттл-бонусов работает только в версии 3.1)
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3907
Ñòàðûé 15.06.2024, 21:57
  #3907
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 531
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 531
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Madara_XДрузья, а подскажите, сколько одновременных функций может исполняться в игре? Сейчас занимаюсь анимациями персонажей: создаю отдельные функции и запускаю их через startThread(), однако заметил, что ровно на второй команде startThread() игра намертво зависает. Если объединить все анимации в одну функцию, то тогда все ок.
Потоков может быть много (в рамках разумного, возможно на нескольких десятках у кого-то начнет подтормаживать). Лично я чисто на всякий случай пускаю анимации существ только если игрок находится рядом (можно например в начале хода проверять расстояние герой-существа), но это уже мой режим параноика. Приведите простенький пример как именно запускаете и что происходит.
__________________
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3908
Ñòàðûé 19.06.2024, 15:32
  #3908
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Madara X, Азгалор, благодарю за ответы, со множественной проверкой перков в одном скрипте я разобрался) Но все ещё не могу разобраться с выдачей бонусов через givebattlebonus.
Нужен именно пример кода, может есть какие то карты у форумчан или примеры, где используют этот код.
Я ищу следующие примеры: 
1) если герой обладает навыком A, то дать ЭТОМУ ГЕРОЮ на один бой бонус (например +1 к скорости существам или +бд или + стат или + 1% к хп существам)
2) если герой обладает навыком B, то дать ГЕРОЮ ПРОТИВНИКА на один бой бонус (например -1 к скорости существ, - 1 бд, удачи и тд)
3) если герой обладает навыком C, то этот герой кастует в начале всех следующих битв заклинание D.
Благодарю за любые примеры и помощь!
green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3909
Ñòàðûé 19.06.2024, 21:12
  #3909
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

green bellyMadara X, Азгалор, благодарю за ответы, со множественной проверкой перков в одном скрипте я разобрался) Но все ещё не могу разобраться с выдачей бонусов через givebattlebonus.
Нужен именно пример кода, может есть какие то карты у форумчан или примеры, где используют этот код.
Я ищу следующие примеры: 
1) если герой обладает навыком A, то дать ЭТОМУ ГЕРОЮ на один бой бонус (например +1 к скорости существам или +бд или + стат или + 1% к хп существам)
2) если герой обладает навыком B, то дать ГЕРОЮ ПРОТИВНИКА на один бой бонус (например -1 к скорости существ, - 1 бд, удачи и тд)
3) если герой обладает навыком C, то этот герой кастует в начале всех следующих битв заклинание D.
Благодарю за любые примеры и помощь!

Вот такие статы можно менять у героев в GiveHeroBattleBonus(heroName, bonusType/bonusID, +-(если нужно прибавить, то + не ставить(иначе скрипт выдаст ошибку)) amount). Сами ID-шники и названия бонусов которые можно повысить или понизить(кроме Hitpoints(очки жизни существ), их можно только повышать):
HERO_BATTLE_BONUS_LUCK = 0
HERO_BATTLE_BONUS_MORALE = 1
HERO_BATTLE_BONUS_ATTACK = 2
HERO_BATTLE_BONUS_DEFENCE = 3
HERO_BATTLE_BONUS_HITPOINTS = 4
HERO_BATTLE_BONUS_INITIATIVE = 5
HERO_BATTLE_BONUS_SPEED = 6

Соответственно:
function buffsForbattle()
if HasHeroSkill("Duncan", SKILL_LUCK ) then
GiveHeroBattleBonus("Duncan", HERO_BATTLE_BONUS_SPEED, 1)
elseif...... и т.д.
end
end

Насчёт заклинаний: это нужно через SetGameVar и GetGameVar передавать, чтобы игра в боевом скрипте знала что вы хотите ей передать из походного скрипта.
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3910
Ñòàðûé 25.06.2024, 01:23
  #3910
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Кто может подсказать в чем ошибка кода. Все работает в коде кроме одной строки с добавлением стата герою. Писал код по руководству ОГО:

function arena1F ()
gold = GetPlayerResource (1, 6);
if gold >= 2000
then
QuestionBox ("/Maps/Multiplayer/arena/napadenie1.txt", "yes", "no");
else MessageBox("/Maps/Multiplayer/arena/napadenie1nexvatka.txt");
end;
end;
function yes ()
SetPlayerResource (1, 6, gold-2000);
ChangeHeroStat(heroname, STAT_ATTACK, 1);
end;
Trigger (OBJECT_TOUCH_TRIGGER, "arena1", "arena1F");

Все сообщения работают, проверки на количество золота работают, списание -2000 золота работает, но вот нападение герою не выдается.

Пробовал ставить sleep(1) после строки списания голды, пробовал ставить/убирать херонаме, менял название yes на другое, чтобы не пересекались с другими функциями yes (просто на карте таких объектов еще множество), писал код на добавление атаки первой строкой и без второй строки со списанием золота, все равно не работает.

В чем может быть проблема?

green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3911
Ñòàðûé 25.06.2024, 01:55
  #3911
^
Àçãàëîð
 
Àâàòàð äëÿ Àçãàëîð
📖
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ðåãèñòðàöèÿ: 24.04.2016
Ñîîáùåíèÿ: 226
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

green belly, игра не знает кто такой heroname, которому она должна накинуть +1 атаки. Вот тебе рабочий вариант + добавил функцию на отрицательный ответ(а то в твоём случае, как я вижу, должна быть и функция на отрицательный ответ):
function arena1F(hero)
   arena1Fhero = hero
   gold = GetPlayerResource(1, 6)
      if gold >= 2000 then
         QuestionBox ("/Maps/Multiplayer/arena/napadenie1.txt", "yes", "no")
      else MessageBox("/Maps/Multiplayer/arena/napadenie1nexvatka.txt")
      end
end

function yes()
   SetPlayerResource(1, 6, gold-2000)
   ChangeHeroStat(arena1Fhero, STAT_ATTACK, 1)
end

function no() --это всего лишь пример того, что будет вызвано если нажать Нет. Код можно изменить под свои хотелки, или вовсе убрать вызов функции при отказе, заменив в QuestionBox "no" на nil
   SetPlayerResource(1, 6, gold-2000)
   ChangeHeroStat(arena1Fhero, STAT_LUCK, 1)
end

Trigger(OBJECT_TOUCH_TRIGGER, "arena1", "arena1F")
Àçãàëîð âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3912
Ñòàðûé 25.06.2024, 03:01
  #3912
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Азгалорgreen belly, игра не знает кто такой heroname, которому она должна накинуть +1 атаки. Вот тебе рабочий вариант + добавил функцию на отрицательный ответ(а то в твоём случае, как я вижу, должна быть и функция на отрицательный ответ):
function arena1F(hero)
   arena1Fhero = hero
   gold = GetPlayerResource(1, 6)
      if gold >= 2000 then
         QuestionBox ("/Maps/Multiplayer/arena/napadenie1.txt", "yes", "no")
      else MessageBox("/Maps/Multiplayer/arena/napadenie1nexvatka.txt")
      end
end

function yes()
   SetPlayerResource(1, 6, gold-2000)
   ChangeHeroStat(arena1Fhero, STAT_ATTACK, 1)
end

function no() --это всего лишь пример того, что будет вызвано если нажать Нет. Код можно изменить под свои хотелки, или вовсе убрать вызов функции при отказе, заменив в QuestionBox "no" на nil
   SetPlayerResource(1, 6, gold-2000)
   ChangeHeroStat(arena1Fhero, STAT_LUCK, 1)
end

Trigger(OBJECT_TOUCH_TRIGGER, "arena1", "arena1F")

Благодарю, заработало)
green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3913
Ñòàðûé 27.06.2024, 20:45
  #3913
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Снова я с вопросами((
Читаю инфу в инете и все равно не могу понять как правильно написать.
Вводные данные:
1) на карте 8 игроков - каждый сам за себя - все разные расы - у каждого своя "зона прокачки"

2) у каждого стоит своя постройка со скриптовым именем - предположим zdanie1 у первого игрока - zdanie2 у второго и так до 8 игрока.

Что нужно накодить:
1) случайный герой игрока 1 касается своей постройки zdanie1 и идет проверка наличия скилла, если скилл имеется, то дается боевой бонус на битву случайным ГЕРОЯМ ПРОТИВНИКА игроков 2-8.

Это ключевой момент всего скрипта, именно герою ПРОТИВНИКА.

Аналогично с другими игроками и их зданиями.
Случайный герой игрока 2 касается своего здания zdanie2 и идет проверка наличия скилла, если имеется, то выдается боевой бонус на битву всем героям противников, то бишь героям игроков 1,3-8.
И так по всем игрокам прописать.
2) Понимаю что примерно такого вида должен быть код (код будет ниже в пункте 3), но до конца не осилю его.

Стоит отдельно отметить, что я научился выдавать скиллы-заклинания-артефакты-боевые бонусы через тригер касания, но только тому кто касается здания (на моей карте это равняется дать плюшку СВОЕМУ герою ведь у каждого свое здание) за что большая благодарность АЗГАЛОРУ

3) Мой тестовый код который НЕ работает, но пытается, итак герой касается и погнали:

function zdanie1F ()
hero1 = GetPlayerHeroes(PLAYER_1);
hero2 = GetPlayerHeroes(PLAYER_2);
hero3 = GetPlayerHeroes(PLAYER_3);
hero4 = GetPlayerHeroes(PLAYER_4);
hero5 = GetPlayerHeroes(PLAYER_5);
hero6 = GetPlayerHeroes(PLAYER_6);
hero7 = GetPlayerHeroes(PLAYER_7);
hero8 = GetPlayerHeroes(PLAYER_8);
geroi1 = hero1
geroi2 = hero2
geroi3 = hero3
geroi4 = hero4
geroi5 = hero5
geroi6 = hero6
geroi7 = hero7
geroi8 = hero8
if HasHeroSkill (geroi1, условно скилл навигация)
then
GiveHeroBattleBonus (geroi2, бонус морали, -3);
GiveHeroBattleBonus (geroi3, бонус морали, -3);
GiveHeroBattleBonus (geroi4, бонус морали, -3);
GiveHeroBattleBonus (geroi5, бонус морали, -3);
GiveHeroBattleBonus (geroi6, бонус морали, -3);
GiveHeroBattleBonus (geroi7, бонус морали, -3);
GiveHeroBattleBonus (geroi8, бонус морали, -3);
Trigger (OBJECT_TOUCH_TRIGGER, "zdanie1", nil);
end;
end;
Trigger (OBJECT_TOUCH_TRIGGER, "zdanie1", "zdanie1F");

P.S. Копался в карте X-РТА - там есть подобный скрипт, только там реализован он без тригера и с помощью знаков -- которые подтягивают ранее прописанные значения типа --герой1 = херо1, ну а там уже кодеры серьезные.

green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3914
Ñòàðûé 27.06.2024, 22:29
  #3914
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 531
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 531
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

green belly, вот вам пару наводок:
Функция GetPlayerHeroes() возвращает массив героев, функция GiveHeroBattleBonus() принимает первым параметром имя одного героя. Нужно проходить циклом по всем героям в массиве. Например для PLAYER_2:
for i, hero in hero2 do
GiveHeroBattleBonus(hero, бонус морали, -3);
end
И так для всех противников.
Функция zdanie1F() принимает на вход имя героя который коснулся триггера. Это отражено было в коде который вам скидывал Азгалор. Его и нужно проверять в HasHeroSkill().
Знаки -- это комментарии, то есть не являются кодом. Советую глянуть какую-нибудь статью про lua, станет понятнее.
__________________
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3915
Ñòàðûé 28.06.2024, 00:09
  #3915
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 15
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Jack_of_shadowsgreen belly, вот вам пару наводок:
Функция GetPlayerHeroes() возвращает массив героев, функция GiveHeroBattleBonus() принимает первым параметром имя одного героя. Нужно проходить циклом по всем героям в массиве. Например для PLAYER_2:
for i, hero in hero2 do
GiveHeroBattleBonus(hero, бонус морали, -3);
end
И так для всех противников.
Функция zdanie1F() принимает на вход имя героя который коснулся триггера. Это отражено было в коде который вам скидывал Азгалор. Его и нужно проверять в HasHeroSkill().
Знаки -- это комментарии, то есть не являются кодом. Советую глянуть какую-нибудь статью про lua, станет понятнее.

Спасибо, поправил имена героев и прописал циклы, заработало)
green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 261 èç 264


Îïöèè òåìû



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


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

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