Скрипты - Страница 192 - Форум HeroesWorld-а

Вернуться   Форум HeroesWorld-а > Все о игре Герои 5. All about Heroes 5 > Герои Меча и Магии 5 - Картостроительство (Редактор карт)
Имя
Пароль
Карта сайта Регистрация Справка Пользователи Календарь Все разделы прочитаны
Быстрая навигация по основным разделам форума:
Кланы HW Турниры на HW КАРТЫ и Картостроительство Heroes 6 Heroes 5 Heroes 4 Heroes 3 Heroes 2 Heroes 1 Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
 
Опции темы
Старый 17.01.2019, 22:51   #2866
AlekseyS
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 163
AlekseyS - уровень боевого духа
По умолчанию Re: Скрипты

По моему коду выше: с двелами в подземке , которые перестраиваются в крестьянские дома, беда- они смещаются и стают недоступными... Как это решить?
AlekseyS вне форума   Ответить с цитированием
Старый 17.01.2019, 23:23   #2867
Gerter
 
Аватар для Gerter
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 331
Gerter - уровень боевого духа
По умолчанию Re: Скрипты

гномьи двеллы перестраиваются? если так, то у них blocked tiles отличаются от прочих двеллов 1 уровня, поэтому такая проблема возникает. Точно не знаю как решить, либо изменять эти тайлы у гномьего двелла, либо не перестраивать, а уничтожать старый двелл(RazeBuilding) и создавать новый(CreateDwelling).
__________________
Сценарий для HoMM V:
Сердце ночи v 1.3a

Кампания за Академию/ТЭ - в активной разработке

I heard your voice through a photograph
I thought it up it brought up the past
Once you know you can never go back
I’ve got to take it on the otherside
Gerter сейчас на форуме   Ответить с цитированием
Старый 18.01.2019, 19:20   #2868
AlekseyS
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 163
AlekseyS - уровень боевого духа
По умолчанию Re: Скрипты

Цитата:
Сообщение от Gerter
гномьи двеллы перестраиваются?
Да, именно они.
Цитата:
Сообщение от Gerter
если так, то у них blocked tiles отличаются от прочих двеллов 1 уровня, поэтому такая проблема возникает. Точно не знаю как решить, либо изменять эти тайлы у гномьего двелла, либо не перестраивать, а уничтожать старый двелл(RazeBuilding) и создавать новый(CreateDwelling).

А вот как определить в моем коде, что это двелы 1 уровня? (Другие перестраиваются нормально)
AlekseyS вне форума   Ответить с цитированием
Старый 18.01.2019, 19:27   #2869
AstralLein
 
Аватар для AstralLein
Регистрация: 02.06.2017
Адрес: На планете Земля.
Сообщения: 1456
AstralLein - уровень боевого духа AstralLein - уровень боевого духа
По умолчанию Re: Скрипты

Смени тайлы гномьим двеллингам. Я так делал в Плате за любовь.
__________________
Карты для героев 5:
"Плата за любовь"
"Путь некроманта"

Карты для Disciples 3:
"Противостояние"

Моды для Disciples 3:
"Астельнаир"(сладкое отсутствие разработки)
AstralLein вне форума   Ответить с цитированием
Старый 18.01.2019, 19:33   #2870
AlekseyS
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 163
AlekseyS - уровень боевого духа
По умолчанию Re: Скрипты

Цитата:
Сообщение от AstralLein
Смени тайлы гномьим двеллингам. Я так делал в Плате за любовь.

Понял
AlekseyS вне форума   Ответить с цитированием
Старый 18.01.2019, 20:55   #2871
AstralLein
 
Аватар для AstralLein
Регистрация: 02.06.2017
Адрес: На планете Земля.
Сообщения: 1456
AstralLein - уровень боевого духа AstralLein - уровень боевого духа
По умолчанию Re: Скрипты

В принципе, могу скинуть уже измененные файлы гномьих двеллингов.

Добавлено через 57 секунд
Так, как работает random?

Точнее,

random (3) - это какой промежуток? От 0 до 2 или от 0 до 3?
__________________
Карты для героев 5:
"Плата за любовь"
"Путь некроманта"

Карты для Disciples 3:
"Противостояние"

Моды для Disciples 3:
"Астельнаир"(сладкое отсутствие разработки)
AstralLein вне форума   Ответить с цитированием
Старый 18.01.2019, 20:56   #2872
AlekseyS
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 163
AlekseyS - уровень боевого духа
По умолчанию Re: Скрипты

Цитата:
Сообщение от AstralLein
Смени тайлы гномьим двеллингам. Я так делал в Плате за любовь.

Не получилось. Возвращаюсь к вопросу:
как определить в моем коде, что это двелы 1 уровня?
(Не обращайте внимание, что тут эльфийские строения)

Код:
function dwellings() for i, dw_type in {"FAIRIE_TREE", "WOOD_GUARD_QUARTERS", "HIGH_CABINS", "PRESERVE_MILITARY_POST"} do for j, dw in GetObjectNamesByType(dw_type) do ELF_DWLS[dw] = "откл" SetObjectEnabled(dw, nil) Trigger(4, dw, "TransformDwelling") end end startThread(dwellings2) end startThread(dwellings) function dwellings2() while 1 do repeat sleep() until IsPlayerCurrent(1) for dwelling, state in ELF_DWLS do if state == "вкл" then ELF_DWLS[dwelling] = "откл" SetObjectEnabled(dwelling, nil) Trigger(4, dwelling, "TransformDwelling") end end repeat sleep() until not IsPlayerCurrent(1) for dwelling, state in ELF_DWLS do if state == "откл" then ELF_DWLS[dwelling] = "вкл" SetObjectEnabled(dwelling, 1) Trigger(4, dwelling, nil) end end end end function TransformDwelling(hero, hut) if GetCurrentPlayer() == 1 then QuestionBox (path.."transformd.txt" , 'transformnok("'..hut..'")' ); end end function transformnok(hut) if not (GetPlayerResource(1, CRYSTAL) >= 15 and GetPlayerResource(1,GEM) >= 10) then ShowFlyingSign(path.."nores.txt",hut,-1,10) return end SetPlayerResource(1,CRYSTAL, (GetPlayerResource(1,CRYSTAL) - 15)) SetPlayerResource(1,GEM, (GetPlayerResource(1,GEM) - 10)) PlayVisualEffect('/Effects/_(Effect)/Spells/Bless.xdb#xpointer(/Effect)', hut) sleep(5) Trigger(4, hut, nil) ELF_DWLS[hut] = nil ReplaceDwelling(hut,TOWN_HEAVEN) sleep(1) SetObjectOwner(hut,1) SetObjectEnabled(hut,true) sleep(1) return function() end end
AlekseyS вне форума   Ответить с цитированием
Старый 18.01.2019, 20:56   #2873
Gerter
 
Аватар для Gerter
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 331
Gerter - уровень боевого духа
По умолчанию Re: Скрипты

Цитата:
random (3) - это какой промежуток? От 0 до 2 или от 0 до 3?
0-2

по двеллам - FORTRESS_DEFENDERS - это, если не ошибаюсь, тип гномьего 1 двелла
__________________
Сценарий для HoMM V:
Сердце ночи v 1.3a

Кампания за Академию/ТЭ - в активной разработке

I heard your voice through a photograph
I thought it up it brought up the past
Once you know you can never go back
I’ve got to take it on the otherside
Gerter сейчас на форуме   Ответить с цитированием
Старый 18.01.2019, 21:04   #2874
AstralLein
 
Аватар для AstralLein
Регистрация: 02.06.2017
Адрес: На планете Земля.
Сообщения: 1456
AstralLein - уровень боевого духа AstralLein - уровень боевого духа
По умолчанию Re: Скрипты

Цитата:
Сообщение от Gerter
0-2

по двеллам - FORTRESS_DEFENDERS - это, если не ошибаюсь, тип гномьего 1 двелла

Спасибо)
__________________
Карты для героев 5:
"Плата за любовь"
"Путь некроманта"

Карты для Disciples 3:
"Противостояние"

Моды для Disciples 3:
"Астельнаир"(сладкое отсутствие разработки)
AstralLein вне форума   Ответить с цитированием
Старый 18.01.2019, 21:13   #2875
AlekseyS
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 163
AlekseyS - уровень боевого духа
По умолчанию Re: Скрипты

Попытался так записать, но ничего не происходит:

Код:
function TransformDwelling(hero, hut) if GetCurrentPlayer() == 1 then if hut =="FORTRESS_DEFENDERS" then QuestionBox (path.."transform.txt" , 'transformnok("'..hut..'")' ) end end end
AlekseyS вне форума   Ответить с цитированием
Старый 18.01.2019, 21:18   #2876
Gerter
 
Аватар для Gerter
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 331
Gerter - уровень боевого духа
По умолчанию Re: Скрипты

не, здесь hut - это имя объекта. По типу можно распределить в функции dwellings(), на объекты типа FORTRESS_DEFENDERS навешивать триггер отличный от остальных. Если проверять в самой функции трансформа, то как то так:
Код:
if contains(GetObjectNamesByType('FORTRESS_DEFENDERS'), hut) then
__________________
Сценарий для HoMM V:
Сердце ночи v 1.3a

Кампания за Академию/ТЭ - в активной разработке

I heard your voice through a photograph
I thought it up it brought up the past
Once you know you can never go back
I’ve got to take it on the otherside
Gerter сейчас на форуме   Ответить с цитированием
Старый 18.01.2019, 21:27   #2877
AlekseyS
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 163
AlekseyS - уровень боевого духа
По умолчанию Re: Скрипты

Цитата:
Сообщение от Gerter
не, здесь hut - это имя объекта. По типу можно распределить в функции dwellings(), на объекты типа FORTRESS_DEFENDERS навешивать триггер отличный от остальных. Если проверять в самой функции трансформа, то как то так:
Код:
if contains(GetObjectNamesByType('FORTRESS_DEFENDERS'), hut) then

Работает! Спасибо огромное
AlekseyS вне форума   Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.
Быстрый переход


Часовой пояс GMT +4, время: 17:20.


vBulletin v3.5.0, Copyright ©2000-2019, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование  Rambler\'s Top100   Рейтинг@Mail.ru

Авторские права - Copyright © 2002-2018 www.HeroesWorld.ru All rights reserved (new server)


На правах рекламы:123123