[ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà? - Ôîðóì HeroesWorld-à

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

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

Îòâåò
 
Îïöèè òåìû
#1
Ñòàðûé 01.08.2019, 11:28
  #1
^
Rasvetribka
 
Àâàòàð äëÿ Rasvetribka
📖
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ïî óìîë÷àíèþ
[ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

Я хочу сделать так, чтобы при нападении на монстра у меня появлялся с ним диалог, короче этот монстр даёт квест. Мне нужно чтобы с этим монстром можно было взаимодействовать, но нельзя было атаковать. Т.е. не просто закрыть к нему доступ, чтобы на него даже нельзя было навести курсор, а сделать так, чтобы можно было к нему подходить, но боя бы не начиналось. Мне же надо ему потом как-то сдать квест.
Rasvetribka âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2
Ñòàðûé 01.08.2019, 13:25
  #2
^
DarkLordax
 
Àâàòàð äëÿ DarkLordax
📖
Ðåãèñòðàöèÿ: 01.06.2017
Ñîîáùåíèÿ: 70
Ðåãèñòðàöèÿ: 01.06.2017
Ñîîáùåíèÿ: 70
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

Можно на монстра триггер повесить, а самого монстра отключить как объект
DarkLordax âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3
Ñòàðûé 01.08.2019, 17:00
  #3
^
Rasvetribka
 
Àâàòàð äëÿ Rasvetribka
📖
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

DarkLordaxМожно на монстра триггер повесить, а самого монстра отключить как объект
А в таком случае взаимодействовать с ним можно будет?
Rasvetribka âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#4
Ñòàðûé 01.08.2019, 17:07
  #4
^
DarkLordax
 
Àâàòàð äëÿ DarkLordax
📖
Ðåãèñòðàöèÿ: 01.06.2017
Ñîîáùåíèÿ: 70
Ðåãèñòðàöèÿ: 01.06.2017
Ñîîáùåíèÿ: 70
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

RasvetribkaА в таком случае взаимодействовать с ним можно будет?
Через триггер
DarkLordax âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#5
Ñòàðûé 01.08.2019, 19:02
  #5
^
Rasvetribka
 
Àâàòàð äëÿ Rasvetribka
📖
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

DarkLordaxЧерез триггер
Аааа, понял. Спасибо
Rasvetribka âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#6
Ñòàðûé 01.08.2019, 22:22
  #6
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 513
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 513
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

Из мануала в моей подписи:

Как выполнить действие при касании определённого монстра?

Как правило, монстра с нестандартным поведением лучше делать внешне отличным от
обычного, поэтому бонусом к триггеру касания я добавляю изменение курсора со
стандартного меча на мирную лошадку, убирание «юбки» монстра и изменение его
имени:

	-- настройка существ-NPC на карте
-- npc – имя монстра, присвоенное в редакторе (строка)
-- func – функция-обработчик касания (строка)
-- name – название файла с именем существа (строка)
-- func и name – необязательные параметры, их можно не передавать
function SetNpcFunc(npc, func, name)
  -- выключение стандартного триггера касания монстра (бой)
  SetObjectEnabled(npc, nil);
  -- установка мирного курсора при наведении на монстра
  SetDisabledObjectMode(npc, DISABLED_INTERACT);
  sleep(1)
  -- отключение «юбки» (символа фракции под монстром)
  SetMonsterSelectionType(npc, 0);
  -- установка своего триггера касания (необязательный параметр)
  if (func ~= nil) then
    Trigger(OBJECT_TOUCH_TRIGGER, npc, func);
  end
  -- установка имени монстра (необязательный параметр)
  if (name ~= nil) then
    local full_name = GetMapDataPath()..name;
    SetMonsterNames(npc, MONSTER_NAME_SINGLE, full_name);
  end
end

-- примеры использования функции:
-- монстр просто перестаёт реагировать на касания
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’);
-- монстру присваивается триггер касания, имя остаётся обычным
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’, ‘NpcTouch’);
-- монстру присваивается триггер касания и даётся новое имя
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’, ‘NpcTouch’, 
‘НАЗВАНИЕ_ФАЙЛА_С ИМЕНЕМ’);

-- обработчик касания монстра
-- hero – скриптовое имя героя, который коснулся монстра-NPC
-- npc – скриптовое имя монстра, которого коснулись
function NpcTouch(hero, npc)
  ВАШ КОД
end
__________________
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

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

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#7
Ñòàðûé 02.08.2019, 06:14
  #7
^
Rasvetribka
 
Àâàòàð äëÿ Rasvetribka
📖
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ðåãèñòðàöèÿ: 20.06.2016
Ñîîáùåíèÿ: 78
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

Jack_of_shadowsИз мануала в моей подписи:

Как выполнить действие при касании определённого монстра?

Как правило, монстра с нестандартным поведением лучше делать внешне отличным от
обычного, поэтому бонусом к триггеру касания я добавляю изменение курсора со
стандартного меча на мирную лошадку, убирание «юбки» монстра и изменение его
имени:

	-- настройка существ-NPC на карте
-- npc – имя монстра, присвоенное в редакторе (строка)
-- func – функция-обработчик касания (строка)
-- name – название файла с именем существа (строка)
-- func и name – необязательные параметры, их можно не передавать
function SetNpcFunc(npc, func, name)
  -- выключение стандартного триггера касания монстра (бой)
  SetObjectEnabled(npc, nil);
  -- установка мирного курсора при наведении на монстра
  SetDisabledObjectMode(npc, DISABLED_INTERACT);
  sleep(1)
  -- отключение «юбки» (символа фракции под монстром)
  SetMonsterSelectionType(npc, 0);
  -- установка своего триггера касания (необязательный параметр)
  if (func ~= nil) then
    Trigger(OBJECT_TOUCH_TRIGGER, npc, func);
  end
  -- установка имени монстра (необязательный параметр)
  if (name ~= nil) then
    local full_name = GetMapDataPath()..name;
    SetMonsterNames(npc, MONSTER_NAME_SINGLE, full_name);
  end
end

-- примеры использования функции:
-- монстр просто перестаёт реагировать на касания
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’);
-- монстру присваивается триггер касания, имя остаётся обычным
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’, ‘NpcTouch’);
-- монстру присваивается триггер касания и даётся новое имя
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’, ‘NpcTouch’, 
‘НАЗВАНИЕ_ФАЙЛА_С ИМЕНЕМ’);

-- обработчик касания монстра
-- hero – скриптовое имя героя, который коснулся монстра-NPC
-- npc – скриптовое имя монстра, которого коснулись
function NpcTouch(hero, npc)
  ВАШ КОД
end

Спасибо огромное, очень много полезной информации.
Rasvetribka âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#8
Ñòàðûé 07.04.2021, 14:20
  #8
^
Sir Krenshton
📖
Ðåãèñòðàöèÿ: 07.04.2021
Ñîîáùåíèÿ: 3
Ðåãèñòðàöèÿ: 07.04.2021
Ñîîáùåíèÿ: 3
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

DarkLordaxМожно на монстра триггер повесить, а самого монстра отключить как объект

Прошу, ответьте как отключить объект! Понимаю что 2 года прошло, но уж очень надо.

Добавлено через 5 минут
Jack_of_shadowsИз мануала в моей подписи:

Как выполнить действие при касании определённого монстра?

Как правило, монстра с нестандартным поведением лучше делать внешне отличным от
обычного, поэтому бонусом к триггеру касания я добавляю изменение курсора со
стандартного меча на мирную лошадку, убирание «юбки» монстра и изменение его
имени:

-- настройка существ-NPC на карте
-- npc – имя монстра, присвоенное в редакторе (строка)
-- func – функция-обработчик касания (строка)
-- name – название файла с именем существа (строка)
-- func и name – необязательные параметры, их можно не передавать
function SetNpcFunc(npc, func, name)
  -- выключение стандартного триггера касания монстра (бой)
  SetObjectEnabled(npc, nil);
  -- установка мирного курсора при наведении на монстра
  SetDisabledObjectMode(npc, DISABLED_INTERACT);
  sleep(1)
  -- отключение «юбки» (символа фракции под монстром)
  SetMonsterSelectionType(npc, 0);
  -- установка своего триггера касания (необязательный параметр)
  if (func ~= nil) then
    Trigger(OBJECT_TOUCH_TRIGGER, npc, func);
  end
  -- установка имени монстра (необязательный параметр)
  if (name ~= nil) then
    local full_name = GetMapDataPath()..name;
    SetMonsterNames(npc, MONSTER_NAME_SINGLE, full_name);
  end
end

-- примеры использования функции:
-- монстр просто перестаёт реагировать на касания
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’
-- монстру присваивается триггер касания, имя остаётся обычным
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’, ‘NpcTouch’
-- монстру присваивается триггер касания и даётся новое имя
SetNpcFunc(‘СКРИПТОВОЕ_ИМЯ_МОНСТРА’, ‘NpcTouch’, 
‘НАЗВАНИЕ_ФАЙЛА_С ИМЕНЕМ’

-- обработчик касания монстра
-- hero – скриптовое имя героя, который коснулся монстра-NPC
-- npc – скриптовое имя монстра, которого коснулись
function NpcTouch(hero, npc)
  ВАШ КОД
end

Прошу, ответьте что это за буквы, и как это изменять...
Sir Krenshton âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#9
Ñòàðûé 07.04.2021, 17:20
  #9
^
}{0TT@6bI4
 
Àâàòàð äëÿ }{0TT@6bI4
📖
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1976
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1976
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

Товарищ Jack_of_Shadows вроде все очегь понятно написал. Что можно вам еще пояснить, если там к каждой строчке комментарий? Постановка вопроса тоже странная: "Обьясните, что за буковки". Или пишите, что конкретно в разжёванном коде непонятно, или сложится впечатление, что русский язык не для вас.
__________________
Ñ óâàæåíèåì, }{0TT@6bI4
_________________
Ãðóïïà êàðòîñòðîèòåëåé
Òàì îòâåòû íà âîïðîñû, ðóêîâîäñòâà, ãàéäû è ïðî÷åå
Discord-ñåðâåð "Ãåðîè 5: S.T.A.L.K.E.R"
Ñåðâåð ïî ìîäèôèêàöèè "Ãåðîè 5: S.T.A.L.K.E.R"
_________________
Ñ óâàæåíèåì, }{0TT@6bI4
_________________
Ãðóïïà êàðòîñòðîèòåëåé
Òàì îòâåòû íà âîïðîñû, ðóêîâîäñòâà, ãàéäû è ïðî÷åå
Discord-ñåðâåð "Ãåðîè 5: S.T.A.L.K.E.R"
Ñåðâåð ïî ìîäèôèêàöèè "Ãåðîè 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#10
Ñòàðûé 10.04.2021, 09:22
  #10
^
Sir Krenshton
📖
Ðåãèñòðàöèÿ: 07.04.2021
Ñîîáùåíèÿ: 3
Ðåãèñòðàöèÿ: 07.04.2021
Ñîîáùåíèÿ: 3
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

}{0TT@6bI4Товарищ Jack_of_Shadows вроде все очегь понятно написал. Что можно вам еще пояснить, если там к каждой строчке комментарий? Постановка вопроса тоже странная: "Обьясните, что за буковки". Или пишите, что конкретно в разжёванном коде непонятно, или сложится впечатление, что русский язык не для вас.

Я извиняюсь конечно, но я не знаю что такое Lua Code Sample и где его изменять. Я гуглил, но всё же так и не понял. Если знаешь то пожалуйста ответь :3
Sir Krenshton âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#11
Ñòàðûé 10.04.2021, 10:00
  #11
^
}{0TT@6bI4
 
Àâàòàð äëÿ }{0TT@6bI4
📖
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1976
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1976
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Êàê ñäåëàòü â ñêðèïòàõ, ÷òîáû íåëüçÿ áûëî íàïàñòü íà ìîíñòðà?

Аа, кажется, понял, простите) Вы не знаете, куда вводить скрипты? Map Properties => Map Script => Edit Script. Но такой способ не слишком хорош, редактор часто вылетает со стиранием изменений. Поэтому рекомендую редактор скриптов от HSerg'а. Найти его можете под этим видео -> https://www.youtube.com/watch?v=M5_ND_yeSLk, там, в принципе, и разобраны примеры скриптов.

P.S. Не понимаю, как можно было не найти в гугле. В первых же выданных страницах – руководство Огои по скриптам + те видео Ремикса.
__________________
Ñ óâàæåíèåì, }{0TT@6bI4
_________________
Ãðóïïà êàðòîñòðîèòåëåé
Òàì îòâåòû íà âîïðîñû, ðóêîâîäñòâà, ãàéäû è ïðî÷åå
Discord-ñåðâåð "Ãåðîè 5: S.T.A.L.K.E.R"
Ñåðâåð ïî ìîäèôèêàöèè "Ãåðîè 5: S.T.A.L.K.E.R"
_________________
Ñ óâàæåíèåì, }{0TT@6bI4
_________________
Ãðóïïà êàðòîñòðîèòåëåé
Òàì îòâåòû íà âîïðîñû, ðóêîâîäñòâà, ãàéäû è ïðî÷åå
Discord-ñåðâåð "Ãåðîè 5: S.T.A.L.K.E.R"
Ñåðâåð ïî ìîäèôèêàöèè "Ãåðîè 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò


Îïöèè òåìû



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


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

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