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

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

В ответ пользователю Победитель
#260
Победитель
Триггер не сработал...
Вообщем немного не так:
триггер не ставил, а запускал функцию 'lost_PL_4' отдельным потоком, с момента выдачи задания убить PLAYER_4 с интервалом в 5 слипов. Делал так чтобы и во время хода противника проверка шла тоже.
В ответ пользователю JonnyP
Аватар пользователя
#261
JonnyP
Вообщем немного не так:
триггер не ставил, а запускал функцию 'lost_PL_4' отдельным потоком, с момента выдачи задания убить PLAYER_4 с интервалом в 5 слипов. Делал так чтобы и во время хода противника проверка шла тоже.
А можно немного подробнее объяснить :o?

Поставил вместо "~1" "2", всё равно ничего не происходит. Потом сделал так: при захвате одного города, проверяется, не захвачен ли второй. Теперь, при захвате двух городов игра вылетает :D. С тем квестом тоже непонятно... Видимо, придётся переделывать.
Карты для Heroes of Might and Magic V
Цикл "Закадычные враги": "Особенное гостеприимство, "Супероружие", "Меж молотом и наковальней"
"Падение Шантири"

Кампания для "Кодекса Войны"
"Выбор Сагиттеля"
В ответ пользователю Победитель
#262
Победитель
А можно немного подробнее объяснить :o?

Поставил вместо "~1" "2", всё равно ничего не происходит. Потом сделал так: при захвате одного города, проверяется, не захвачен ли второй. Теперь, при захвате двух городов игра вылетает :D. С тем квестом тоже непонятно... Видимо, придётся переделывать.
значит так запускаю цикл: (также у меня здесь проверка на наличие монстра на карте, если его нету - миссия завалена)

while 1 do
if atonce_5==1 then
startThread (lost_PL4);
if IsObjectExists('Lelliana')==nil then
SetObjectiveState ('obj_7',OBJECTIVE_FAILED);
startThread(gameover);
end;
end;
sleep (5);
end;

этой функцией проверяем состояние игрока 4, т.е. тут если PL_4 в игре не участвует, то задание 'obj_7' выполняется
function lost_PL4()
if GetPlayerState(PLAYER_4)~=1 then
atonce_5=99;
SetObjectiveState ('obj_7',OBJECTIVE_COMPLETED);
end;
end;

ну и еще при активации задания нужно присвоить
atonce_5=1; а после выполнения задания atonce_5=99; чтоб цикл не затармаживал игру.
Попробуй еще сделать новое задание во вкладке Objectives, не изменяя параметры (сделать только name, description, OBJECTIVE_KIND_MANUAL) , и проверь как оно себя вести будет в случае его выполнения (будет ли миссия сразу выиграна, без выполнения других заданий)
В ответ пользователю Победитель
Аватар пользователя
#263
Победитель
Появился вопрос. Нет ли такого триггера, срабатывающего, если у игрока нет городов и героев = игрок проиграл :)?
По замыслам игры он и так проиграет.
Победитель
А по поводу выполнения задачи при поражении другого игрока?
Если нужно выполнение одного задания при поражении одного вражеского соперника, то вот:
GetPlayerState(PLAYER_4) == PLAYER_LOST then ....
В принципе тоже самое, что и писал JonnyP. :) Но без цифровых ИД.

А что мешает прицепить на триггер нового дня?

Ведь если вражеский город остаётся без героя и его захватывают, то ваш триггер (Trigger (PLAYER_REMOVE_HERO_TRIGGER,PLAYER_4,'lost_PL4')) не сработает.
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
#264
Dyrman

А что мешает прицепить на триггер нового дня?

Ведь если вражеский город остаётся без героя и его захватывают, то ваш триггер (Trigger (PLAYER_REMOVE_HERO_TRIGGER,PLAYER_4,'lost_PL4')) не сработает.
на новый день - выигрыш само собой будет только на новый день, а не после смерти PL_4. (тоже можно)

про триггер - да, но если у вас 4 игрока, а умирает только один из них, да и герой нужен - поэтому и цикл вместо триггера
В ответ пользователю JonnyP
Аватар пользователя
#265
JonnyP
на новый день - выигрыш само собой будет только на новый день, а не после смерти PL_4. (тоже можно)

про триггер - да, но если у вас 4 игрока, а умирает только один из них, да и герой нужен - поэтому и цикл вместо триггера
Не знаю как у вас с машиной (у меня был ноут). Но циклы сильно притормаживают игру. Я на одной карте отказался от него в пользу триггер дня.

Есть конечно и другой способ извращения. Есть способ такой: при изменения принадлежности вражеского города на чуждый вражескому, проверять есть ли другие его города или герои на карте. Если есть переходить к триггеру по проигрышу героев.

Есть надёжнее: проверять,есть ил города и герои на карте при срабатывании каждого триггера. Это убережёт от разной задержки и возможных неправильных слипов. Иначе если тайм-аут не выполнится, наступит переход хода, игра даже может вылететь.

Два триггера повесить на 1 функцию. Тут всё просто.
Итп.. алгоритм можно как угодно составить.
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
#266
Dyrman
Не знаю как у вас с машиной (у меня был ноут). Но циклы сильно притормаживают игру. Я на одной карте отказался от него в пользу триггер дня.
цикл на 300 строк, около 20 условий - не особо сильно тормозит, все в меру. Без циклов много интересных вещей просто не сделаешь :cool:
В ответ пользователю JonnyP
Аватар пользователя
#267
JonnyP
цикл на 300 строк, около 20 условий - не особо сильно тормозит, все в меру. Без циклов много интересных вещей просто не сделаешь :cool:
Какие есчо например?
Ну вот данную задачу спокойно можно сделать, даже именно с помощью скриптов, а по идее оно же в стандарте(в свойствах объективы, вроде бы, конечно) должно быть. Домой приду запилю на скриптах - так интереснее;)
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
#268
Dyrman
Какие есчо например?
Ну например одел ты артефакт 'мешочек золота', а он тебе скидку при найме, снял - фиг вам а не скидка. И все в течение дня.
В ответ пользователю JonnyP
Аватар пользователя
#269
JonnyP
Ну например одел ты артефакт 'мешочек золота', а он тебе скидку при найме, снял - фиг вам а не скидка. И все в течение дня.
Найм из обекта?
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
#270
Dyrman
Найм из обекта?
само собой. Из города - без мода не обойтись
В ответ пользователю JonnyP
Аватар пользователя
#271
JonnyP
само собой. Из города - без мода не обойтись
Ну мод - это же не только скрипты. Но некторые моды влиют на другие карты и саму игру- это конечно же нехорошо :( . Я за чистоту рядов :D
В сентябре вот написал скрипт, чтобы можно было просматривать инфу зелий, рейта итп прямо из героя, но блин карту так доделать и не смог, хотя осталось и немного (жутко было некогда, а потом и скучно стало, как-нибудь доделаю).
Интересно, какие есчо способы есть просмотра доп инфы, введённой создателем карты из героя ? Естественно, без мода, который меняет контрольную сумму игры. Никто не знает?
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
Аватар пользователя
#272
Я не понял, про что ты, Dyrman. О какой инфе речь?
 

К А
Стикеры GBF в Telegram
В ответ пользователю Dyrman
#273
Dyrman

написал скрипт, чтобы можно было просматривать инфу зелий, рейта итп прямо из героя, но блин карту так доделать и не смог, хотя осталось и немного (жутко было некогда, а потом и скучно стало, как-нибудь доделаю).
Интересно было бы глянуть как вы это скриптами умудрились сделать? :confused:

Добавлено через 2 минуты
Dyrman
некторые моды влиют на другие карты и саму игру- это конечно же нехорошо
зато игра на таких картах интереснее
В ответ пользователю Ment
Аватар пользователя
#274
Ment
Я не понял, про что ты, Dyrman. О какой инфе речь?
Ну например:
Хочу я просмотреть рейтинг героя, введённый мной, но хочу его узнать через интерфейс героя.

Добавлено через 1 минуту
JonnyP
Интересно было бы глянуть как вы это скриптами умудрились сделать? :confused:

Добавлено через 2 минуты

зато игра на таких картах интереснее

Используешь пустой зарезервированный слот на глобальное заклинание, а при вызове его запускаешь мессагу с переменными - всё просто ;) Для отображения лояльности кстати ;) Если нужен код, выложу по запросу.

Я консервативен в плане изменения игры (хар-ки юнитов, расы, общеигровой геймплей). Всё это должно быть либо отдельным модом на выбор для игрока, либо не быть вообще, поэтому такие карты не нравились.

А тогда кто-нибудь с изменением интерфейса, перерисовкой его не делал ничего подобого? На контрольную сумму даже не должно повлиять, а вот удобность увеличится.
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...

Статистика

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

Сейчас на сайте 5 пользователей 1023 гостей