Algor
Posts: 3881
|
(16.03.2020 18:33)fatsawhorse Wrote: я думаю, оптимальный вариант будет только запретить автобой!
мда...
(16.03.2020 18:33)fatsawhorse Wrote: Как же уже устал я разбираться с этим запретом на снятие заклинания, кто бы только знал, но хочется этот вопрос довести до конца и закрыть его!
fatsawhorse, героически создаешь себе проблемы и героически с ними борешься?
(16.03.2020 18:33)fatsawhorse Wrote: Я считал, чтобы запретить кнопку активации автобоя нужно просто прописать такие строки и всё
Ну, раз уж написал столько лишнего, потрудись написать еще одну строчку для вывода отладочной информации IF:M или IF:L, затем нажми на кнопку автобоя, получишь результат и твоя мечта осуществится.
|
|
16.03.2020 19:28 |
|
fatsawhorse
Posts: 1022
|
Algor
Quote:Ну, раз уж написал столько лишнего, потрудись написать еще одну строчку для вывода отладочной информации IF:M или IF:L, затем нажми на кнопку автобоя, получишь результат и твоя мечта осуществится.
- Да, здесь нужно обязательно добавить отладочные ресейверы в код, чтобы выводить сообщения.. Я как-то об этом не подумал, спасибо...
!?CM4; - действует на поле боя
!!CM:I?y80; - куда наведён курсор мыши
!!FU&y80<>2004:E; - если не на автобой, то выход
!!CM&y80=2004:F?y81; - проверяю какая кнопка была нажата
!!FU&y80=2004/y81<>0:E; - если не левая, то выход
!!CM&y80=2004/y81=0:R0; - отключаю кнопку автобоя - вот этот код, к сожалению не будет работать - вы ошиблись и я без понятия как запретить автобой!
Я думал что он сработает, но не так! Здесь где-то ошибка и я не знаю где именно в коде?
|
|
16.03.2020 21:19 |
|
daemon_n
Posts: 4343
|
|
17.03.2020 01:09 |
|
Algor
Posts: 3881
|
(16.03.2020 21:19)fatsawhorse Wrote: вот этот код, к сожалению не будет работать - вы ошиблись и я без понятия как запретить автобой!
Ну-ну... "мы" ошиблись... Браво!
Кнопка автобоя блокируется в 2 ресивера:
Этот код проверен и работает, на случай дальнейших претензий и обвинений.
На этом моя помощь Вам завершается. Ну и процитирую свой же пост 3х летней давности:
(22.04.2017 17:33)Algor Wrote: fatsawhorse, без обид, скриптинг - это не твоё....
|
|
17.03.2020 10:26 |
|
helgtla
Posts: 302
|
Algor, Проверил, у меня воспроизводится музыка и звуки тоже есть. Но у меня изменённые треки битв, названия идентичные игровым, но есть одно замечание: игра почему-то стандартные игровые боевые треки определяет как combat01 и т.д. (возможно связано с увеличением тем для битв от Игрика ) В каталоге они имеют имя с ЗАГЛАВНЫМИ буквами. В своём моде у меня прописано также заглавными и их игра именно так и читает (это пошло с версии 2.9.10).
Карта-мод: STALKER
|
|
18.03.2020 05:10 |
|
Berserker
Posts: 16657
|
|
18.03.2020 06:51 |
|
fatsawhorse
Posts: 1022
|
Здравствуйте Algor
Quote:Algor писал(а):
fatsawhorse, без обид, скриптинг - это не твоё....
- ой, помню я это... Но очень мне нравится WOG со всеми вытекающими и поэтому приходится мириться с тем, что я не понимаю в скриптописании.. Тяжело очень мне даётся самый элементарный скрипт и здесь на форуме мне 90% помогают и всем я очень за это признателен и бывает стыдно даже, что многие люди, которым помогают здесь, сами другим подсказывают, а я не могу в силу своих не знаний! А я как наглый и настырный каждый раз пытаюсь цыганить здесь коды. Да, мне правду стыдно! Каждый код я пытаюсь потом разобрать отдельно и понять манеру его написания. Самое элементарное получается, а средней сложности и очень сложные не понимаю
Если чем то другим могу быть полезен, то всегда только рад отблагодарить любого за помощь всю ту, что мне оказали! Память у меня очень хорошая и я все добрые дела помню
Algor, Вы были правы и мировоззрение потом остается. Я как-то Вас не послушал, приношу извинения.. Я проверил на работе и выяснил, что если его , как Вы ранее мне и сказали, не сбросить, то оно останется навсегда! Я на это мировоззрение рукой махнул - да ну с ним возиться - проблем больше!
За код двухстрочный по запрету использовать автобой Вам Algor спасибо...
(This post was last modified: 19.03.2020 18:23 by fatsawhorse.)
|
|
19.03.2020 18:19 |
|
Элементалист
Posts: 31
|
Есть ли команда, для проверки текущего дня? Не могу найти в чправочнике...
|
|
20.03.2020 14:23 |
|
Algor
Posts: 3881
|
Элементалист, не команда, а спец. переменная "c" (описана в разделе "Флаги, переменные""):
|
|
20.03.2020 15:07 |
|
Элементалист
Posts: 31
|
(20.03.2020 15:07)Algor Wrote: Элементалист, не команда, а спец. переменная "c" (описана в разделе "Флаги, переменные""):
Algor, спасибо большое
|
|
20.03.2020 15:08 |
|
Berserker
Posts: 16657
|
|
20.03.2020 15:23 |
|
Bes
Posts: 5422
|
Не нашёл через поиск...
Как посадить в пустую лодку героя? без костылей временных, железобетонно
ERA 1.46 - так и сижу на ней... для тестинга и генерации диалогов хватает - P.S.
(This post was last modified: 21.03.2020 14:05 by Bes.)
|
|
21.03.2020 14:04 |
|
XEPOMAHT
Posts: 2356
|
(21.03.2020 14:04)Bes Wrote: Как посадить в пустую лодку героя? без костылей временных, железобетонно
Если в конкретную лодку на карте - вызовом Hero_SitToBoat.
Если лодки нет, то код будет следующий (применяется сами знаете где, если в редакторе карт герой поставлен на воду):
Code:
// Посадка героя в лодку на том месте, где он стоит (герой должен быть на карте и не в лодке, если лодки там же нет, она создаётся, если есть - она должна там стоять с начала игры).
_bool32_ HeroPlaceToBoat(_Hero_* hero, _int_ boat_subtype)
{
// Лодка.
_Struct_* boat;
// Создаём лодку.
_int_ boat_ix = CALL_7(_int_, __thiscall, 0x4BAF10, this, hero->x, hero->y, hero->z, hero->owner_id, FALSE, boat_subtype);
// Не удалсь создать лодку.
if (boat_ix < 0)
{
return FALSE;
}
// Сгенерировали лодку.
else
{
boat = (_Struct_*)(this->Field<_List_<_byte_>>(320440).Data + 40*boat_ix);
}
// Сажаем героя в лодку.
// Убираем лодку из информации клетки.
CALL_1(void, __thiscall, 0x4D7950, boat);
// Настраиваем героя.
hero->temp_mod_flags |= 0x40000;
hero->field_112 = -1;
*(_int32_*)&hero->d_morale = -1;
// Пересчитываем ходьбу героя в водную (new_mp = old_mp*new_max/old_max).
if (!(hero->temp_mod_flags & 0x1000000))
{
_int_ new_max = CALL_2(_int32_, __thiscall, 0x4E4C00, hero, TRUE);
hero->movement_points = hero->movement_points*new_max/hero->movement_points_max;
hero->movement_points_max = new_max;
}
// Настраиваем лодку.
boat->Field<_int32_>(32) = hero->id;
boat->Field<_bool8_>(36) = TRUE;
boat->Field<_int8_>(28) = hero->owner_id;
return TRUE;
}
Как это будет на ERM - сложно представить (увы, готовой команды для посадки и высадки героев в/из лодки в ERM так никто и не запрограммировал, поэтому - только СИ-шным или ассемблерным кодом, ERM тут отдыхает).
|
|
21.03.2020 23:30 |
|