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

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

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

Îòâåò
Ñòðàíèöà 264 èç 264
 
Îïöèè òåìû
#3946
Ñòàðûé 14.10.2024, 23:37
  #3946
^
CetusSantis
📖
Ðåãèñòðàöèÿ: 13.10.2024
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 13.10.2024
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

При нажатии на check в редакторе пишет, что "Function FightUnitExp not definied, line 1". Но раз в ванилле работает, то видимо просто забью.
CetusSantis âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3947
Ñòàðûé 14.10.2024, 23:42
  #3947
^
Äîëãèé
 
Àâàòàð äëÿ Äîëãèé
📖
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 103
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 103
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Скопируйте и вставьте прям вот так в главный скрипт карты (не скрипт юнита, не боевой скрипт):

function FightUnitExp(hero, unit)
 while IsObjectExists(hero) == not nil and IsObjectExists(unit) == not nil do
  sleep(5)
 end 
 if IsObjectExists(unit) == nil then
  ChangeHeroStat(hero, 0, 999999999)
 end
end
Trigger(OBJECT_TOUCH_TRIGGER, "UnitExp", "FightUnitExp")

и проверьте в игре
Äîëãèé âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3948
Ñòàðûé 15.10.2024, 22:18
  #3948
^
CetusSantis
📖
Ðåãèñòðàöèÿ: 13.10.2024
Ñîîáùåíèÿ: 5
Ðåãèñòðàöèÿ: 13.10.2024
Ñîîáùåíèÿ: 5
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Все получилось! И с модом тоже работает! Огромное спасибо!

Добавлено через 22 часа 28 минут
Один момент, а если я хочу таких юнитов несколько поставить на карту? То им всем нужны свои имена и своя функция? Я пробовал просто поставить ещё одного юнита с таким же именем, но скрипт срабатывает лишь при убийстве первого.
CetusSantis âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3949
Ñòàðûé 15.10.2024, 23:56
  #3949
^
Äîëãèé
 
Àâàòàð äëÿ Äîëãèé
📖
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 103
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 103
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

CetusSantisВсе получилось! И с модом тоже работает! Огромное спасибо!

Добавлено через 22 часа 28 минут
Один момент, а если я хочу таких юнитов несколько поставить на карту? То им всем нужны свои имена и своя функция? Я пробовал просто поставить ещё одного юнита с таким же именем, но скрипт срабатывает лишь при убийстве первого.

параметр Name должен быть уникальным для каждого объекта. 

Если функционал после победы всегда одинаков (дать герою 999999999 опыта), то достаточно пронумеровать name всех юнитов (UnitExp1, UnitExp2, UnitExp3 и т. д.) и линию с триггером Trigger(OBJECT_TOUCH_TRIGGER, "UnitExp", "FightUnitExp") посадить в цикл for

for i = 1,5 do --5 для 5 объектов
 Trigger(OBJECT_TOUCH_TRIGGER, "UnitExp"..i , "FightUnitExp")
end

теперь на каждом объекте с именем UnitExp от 1 до 5 будет триггер при дотрагивании, запускающий функцию  FightUnitExp
Äîëãèé âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 264 èç 264


Îïöèè òåìû



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


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

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