Перейти к содержанию

Сообщения от Скрипты

В ответ пользователю IchGViji
3 года назад
IchGViji


Shiroyasha2910, касательно боевых скриптов есть отличное руководство от уважаемого }{0TT@6bI4: боевые скрипты - гайд
А касательно вашей задумки, то сам пока подобного не делал, но как я вижу, стоит попробовать использовать функцию HasHeroSkill(), а результат записать в переменную через функцию SetGameVar() и его получить в файле боевого скрипта через GetGameVar(). Возможно есть и иной способ, но этот мне кажется самым очевидным.

Спасибо за руководство)
В ответ пользователю Shiroyasha2910
Аватар пользователя
3 года назад
Shiroyasha2910
Добрый вечер. Пытаюсь разобраться в боевых скриптах.. пока безуспешно. Видел тут кто-то писал, что есть руководство по боевым скриптам, может кто ссылочку на нее дать? Ибо я не нашел.
Возможно ли, что также, кто поможет сделать необходимый скрипт? Если это реализовать возможно конечно. Идея такова. Битва началась и если у героя вкачено умение "Покровительство Асхи", то на поле боя появятся 3 архангела.

Первое - руководство есть в сообщении от IchGViji)

Второе - такое, наверно, возможно, но по сюжету, мне кажется, неправильно. Покровитель Ангелов - Эльрат, а не Асха) И 3 архангела на начальных порах - это как-то жёстко

3 года назад

Добрый вечер. Переименовал объёкты стандартным скриптом. Однако, почему-то не все объекты переименовались, в х = 2 абсолютно всё. В х = 1,3,4 частично.

Подумал, пожет где-то есть одинаковые наименования объектов, а нет, имена уникальные. Из-за чего подобная проблема могла еще получится?

for i = 118,132 do -- подкрепление в подземелье (первое)
for x = 1,4 do

OverrideObjectTooltipNameAndDescription('PortalP'..x..'_'..i,"Maps/Multiplayer/JoyPatriot/Teks/Portal/ReinforcementsName.txt",
"Maps/Multiplayer/JoyPatriot/Teks/Portal/ReinforcementsBio.txt")
end
end
В ответ пользователю Shiroyasha2910
Аватар пользователя
3 года назад
Shiroyasha2910

Добрый вечер. Переименовал объёкты стандартным скриптом. Однако, почему-то не все объекты переименовались, в х = 2 абсолютно всё. В х = 1,3,4 частично.

Подумал, пожет где-то есть одинаковые наименования объектов, а нет, имена уникальные. Из-за чего подобная проблема могла еще получится?

for i = 118,132 do -- подкрепление в подземелье (первое)
for x = 1,4 do

OverrideObjectTooltipNameAndDescription('PortalP'. .x..'_'..i,"Maps/Multiplayer/JoyPatriot/Teks/Portal/ReinforcementsName.txt",
"Maps/Multiplayer/JoyPatriot/Teks/Portal/ReinforcementsBio.txt")
end
end
А консоль ничего не говорит?
Также рекомендуемую не прописывать абсолютные пути к файлам карты, лучше использовать функцию GetMapDataPath(). Это избавит вас от необходимости переписывать все пути, если вдруг вы примете решение переименовать карту.

P.S. какие объекты вы переименовываете? Если это существа, попробуйте функцию SetMonsterNames()
В ответ пользователю IchGViji
3 года назад

IchGViji

А консоль ничего не говорит?
Также рекомендуемую не прописывать абсолютные пути к файлам карты, лучше использовать функцию GetMapDataPath(). Это избавит вас от необходимости переписывать все пути, если вдруг вы примете решение переименовать карту.

P.S. какие объекты вы переименовываете? Если это существа, попробуйте функцию SetMonsterNames()

Консоль по этому поводу ничего не пишет.
В ответ пользователю Shiroyasha2910
Аватар пользователя
3 года назад
Shiroyasha2910


Консоль по этому поводу ничего не пишет.


Функция OverrideObjectTooltipNameAndDescription работает не со всеми типами объектов, некоторые из них нельзя переименовать через неё, для тех же существ есть отдельная функция в сообщении выше.
Какие объекты вы хотите в принципе переименовать: существа, двеллинги, что-то другое?
В ответ пользователю IchGViji
3 года назад

IchGViji

Функция OverrideObjectTooltipNameAndDescription работает не со всеми типами объектов, некоторые из них нельзя переименовать через неё, для тех же существ есть отдельная функция в сообщении выше.
Какие объекты вы хотите в принципе переименовать: существа, двеллинги, что-то другое?

Это все для одностороннего портала

В ответ пользователю Shiroyasha2910
Аватар пользователя
3 года назад
Shiroyasha2910

 

Это все для одностороннего портала

Любопытно🤔... В принципе для односторонних порталов можно перезаписать их наименование и описание. У меня единственное предположение пока, что нужные объекты находятся где-то в другом месте, а вместо них стоят обычные порталы (если вы говорите, что консоль не ругается и абсолютно все объекты имеют разные имена, ведь переименовываются 60 объектов)
В ответ пользователю IchGViji
3 года назад
IchGViji
Любопытно🤔... В принципе для односторонних порталов можно перезаписать их наименование и описание. У меня единственное предположение пока, что нужные объекты находятся где-то в другом месте, а вместо них стоят обычные порталы (если вы говорите, что консоль не ругается и абсолютно все объекты имеют разные имена, ведь переименовываются 60 объектов)

Ладненько, допустим, просто еще раз пересмотрю, может при проверке что-то не заметил.

Кто-то еще знает, возможно ли по скриптам изменить команду для героя? То-есть стоит на карте герой 2-го игрока, сделал определенную фигню и по скрипту он стал героем 3-го игрока. Подобное возможно? А то я найти подобное в скриптах пока не смог.

В ответ пользователю Shiroyasha2910
Аватар пользователя
3 года назад
Shiroyasha2910

Ладненько, допустим, просто еще раз пересмотрю, может при проверке что-то не заметил.

Кто-то еще знает, возможно ли по скриптам изменить команду для героя? То-есть стоит на карте герой 2-го игрока, сделал определенную фигню и по скрипту он стал героем 3-го игрока. Подобное возможно? А то я найти подобное в скриптах пока не смог.

Всё легко - SetObjectOwner(имягероя, номеркоманды)
В ответ пользователю BlueHeavenHero
3 года назад
BlueHeavenHero
Всё легко - SetObjectOwner(имягероя, номеркоманды)
Спасибо, я что-то позабыл про это
Аватар пользователя
3 года назад

Приветствую. Голову уже сломал, как работают SetHeroLootable и IsHeroLootable

Я попробовал IsHeroLootable(“heroname”, nil)
Пробовал SetHeroLootable(“heroname”,nil)
SetHeroLootable(“heroname”, disable)
 Все равно как не крути, артефакты у героя отбираются. 

Подскажите, что я делаю не так?

В ответ пользователю DevoRevo
Аватар пользователя
3 года назад
DevoRevo

Приветствую. Голову уже сломал, как работают SetHeroLootable и IsHeroLootable

Я попробовал IsHeroLootable(“heroname”, nil)
Пробовал SetHeroLootable(“heroname”,nil)
SetHeroLootable(“heroname”, disable)
 Все равно как не крути, артефакты у героя отбираются. 

Подскажите, что я делаю не так?

Всё просто - если вы хотите сделать так, чтобы артефакты у героя Не отнимались, используйте SetHeroLootable("ИмяГероя", nil) 
Если же вы хотите сделать Проверку, используйте IsHeroLootable("ИмяГероя") 
В ответ пользователю BlueHeavenHero
Аватар пользователя
3 года назад

BlueHeavenHero
Всё просто - если вы хотите сделать так, чтобы артефакты у героя Не отнимались, используйте SetHeroLootable("ИмяГероя", nil) 
Если же вы хотите сделать Проверку, используйте IsHeroLootable("ИмяГероя") 

Я и пробовал SetHeroLootable, не сработало. У меня два типа битвы, запускающиеся через скрипт, где у героев есть артефакты. Одна битва запускается через StartCombat другая SiegeTown.  В обоих случаях при победе над героями, я получаю их лут. 

Может надо в функцию отдельно написать? Потому что я просто в общий код карты кинул

В ответ пользователю DevoRevo
Аватар пользователя
3 года назад
DevoRevo


Я и пробовал SetHeroLootable, не сработало. У меня два типа битвы, запускающиеся через скрипт, где у героев есть артефакты. Одна битва запускается через StartCombat другая SiegeTown.  В обоих случаях при победе над героями, я получаю их лут. 

Может надо в функцию отдельно написать? Потому что я просто в общий код карты кинул

Странно, что не работает. У меня эта функция просто в общем коде карты, но с самого начала. 
Поставьте этот скрипт в самое начало своего кода, может, сработает) 

Статистика

Приветствуем новейшего участника: recijeb