Поиск На главную | На форум

Тема: Общие вопросы по модостроению  (Прочитано 982422 раз)

Нуль в левом нижнем углу.
Размер окна 1x1
set_fixed_point_multiplier задаёт коэффициент преобразования из целого в дробное.
Если используются контейнеры, то позиция задаётся от левого нижнего края контейнера (мозг тут немного будет кипеть, чтобы добавить что-то внизу, нужно поднять все предыдущее на верх), масштаб такой же как в исходном окне. 

ЗЫ на счёт размера, я не уверен.
« Последнее редактирование: 14 Декабря, 2011, 13:46 от Rongar »
Rongar, спасибо, прояснил.
еще - крайняя точка координаты от 0 до ..?. 
 

Добавлено: 14 Декабря, 2011, 13:48

Цитировать (выделенное)
Размер окна 1x1
set_fixed_point_multiplier задаёт коэффициент преобразования из целого в дробное.

понял. невнимательно прочитал :embarrassed:
По идее от 0 до 1. Ещё раз, я в этом до конца не уверен.
У себя вижу 500 по игреку при множителе в 1000, и это кидает нижний край объекта в середину.

тоесть если будет по иксу и по игреку 500 то объект будет левым нижним краем в центре?
тогда чтоб размер не выходил за край он будет меньше 500., и находиться в правой верхней части..
сам бы недошел..
store_add - функция сложения.
"trp_town_1_armorer" - идентификатор торговца доспехами. (у меня=559).
":offset" - переменная. (по умолчанию 0).
(store_add, ":cur_object_no", "trp_town_1_armorer", ":offset"),
в результате ":cur_object_no"=559.
slot_town_armorer  = 22 - есть такой слот.
(party_set_slot,":town_no", slot_town_armorer, ":cur_object_no"),- вроде связывает торговца с городом ,":town_no".
А при чём тут новый слот? =/
для каждого города по списку запишет по списку торговца.
чтоб не писать
...
(party_set_slot,"p_town_1", slot_town_armorer, "trp_town_1_armorer"),
  (eq ":town_no",  p_town_2),
  (party_set_slot,"p_town_2", slot_town_armorer, "trp_town_2_armorer"),
 ............

                           
Цитировать (выделенное)
А при чём тут новый слот? =/
а новый слот тут ни при чем
этот код просто присваивает значения существующим слотам

новый просто прописываешь в константы, вот так: слот_новый_слот = 300
цифра может быть любая, нужно только следить, чтобы цифры для слотов одного типа не совпадали (одного типа - это слоты для тропов, партий, вещей и прочее)
т.е. если для тропа уже есть слот с цифрой 300, а ты пропишешь еще один с этой цифрой, то это будут одинаковые слоты и занести в них ты сможешь только одно значение
в данном случае нужно ставить 301
если совпадают цифры у слотов разного типа, то ничего страшного (слот 300 для тропов и слот 300 для партий будут корректно работать)
т.е слот - это собственно сама цифра, а то, что ты пишешь буквами это просто название для удобства

да, по умолчанию значение в слоте равно нулю (если туда ничего не присвоили)
shturmfogel И нет ограничений по колличеству слотов?
Как я понял, слоты это массив. Раз один слот используют для кучи трупсов. В module_constants есть удалённые слоты. Я пока стараюсь использовать их номера.
А добавлять в конце опасаюсь.
Вот этот слот:
slot_troop_relations_begin = 0 #this creates an array for relations between troops
Он вроде предназначен для создания новых массивов?  =/
FinGall, слот это порядковый номер "кармашка" в который кладётся "циферка" (но не массив чисел).  Названия слотов в module_constants по сути не обязательны и позволяют не путаться в слотах, не запоминать их номера (слова и короткие фразы человек обычно запоминает лучше) и при необходимости быстро менять им назначение. Если какие-то слоты в игре уже используются и ты не знаешь как и где, лучше с ними ничего не делать, а ввести свой. Ограничения на кол-во слотов наверняка есть, но не знаю случая, чтобы кто-то с такой проблемой столкнулся, поэтому можешь смело использовать тот номер слота, до которого создатели игры ещё не добрались.
ограничения есть наверное, но я не знаю какие
сам добавлял до 900 слота (просто чтобы совпадений не было, потом раскидал их по типам, получилось меньше)
никаких глюков не было
не знаю как сказывается на производительности, вроде тоже не заметил ухудшения (может памяти больше надо) =/
это только если на талевордсе посмотреть, там что то писали про это

Понял. Большое всем спасибо!  :)
Есть ещё вопрос, в котором я сомневаюсь. В чём разница между module_triggers и module_simple_triggers? Как я понял, после загрузки игра начинает проверять все триггеры и если какой подходит по времени, то выполняется. И так по кругу. А дальше этот тригер уже включает скрипты, меню и т.д.
Если добавляешь новое событие, то начинать надо с тригера. И как определить, в какой модуль его писать - в module_triggers или в module_simple_triggers?
Как я понял такой уж большой разницы нет.  =/
Да, неплохо. Но module_simple_triggers здорово изменился. И тригеры там теперь используют для разных случаев. Вот, я и засомневался - есть ли разница, куда лучше добавить новый.
FinGall, если непонятно из названий файлов, прочти их шапки или глянь на начало каждого триггера. В симпл триггерс учитывается только интервал между проверками, а просто в триггерах учитываются дополнительные параметры (условия). Так что всё зависит от твоих целей.
Понял. Если есть возможность, лучше использовать module_simple_triggers. Так как он легче обрабатывается программой. Спасибо.
общий вопрос по модостроению:не у кого не завалялось исходника дипломатии 3.3.2,или сылочки
1. Как настроить выделенный сервер на аддон "ОиМ Великие битвы" ?

2. Вопрос касательно админ мода Винчензо: какие именно папки нужно заменить, что бы Винчензо сработал на M&B ОиМ Великие битвы и возможно ли это? :-\
  Дабы не корябать игру, прошу точный ответ. :)
« Последнее редактирование: 21 Декабря, 2011, 21:00 от Vojd_Viking »
Rongar, как то оно все относительно..
множитель 1000, по игреку 10 - все сходиться, ставлю 550 - кидает под самый вверх.

по х - непонятки -  если брать левую сторону за ноль то задая по х 10 получаю  - Левый край объекта начинаеться с 0.25% ширины экрана слева.

задаю по х (-100) выходит расстояние от левого края  такое же как по у снизу 10.
« Последнее редактирование: 16 Декабря, 2011, 19:50 от Легионер »
привет всем.
подскажите, кто знает
В МиБ есть два итема, первый - арбалет и 2й -мушкет
арбалет использует аниму --stand_crossbow, а мушкет --stande_single
module_animation

item_flag

Как сделать чтоб мушкет тоже использовал аниму -- stand_crossbow и при этом оставался мушкетом
Функция troop_set_name работает нормально, а вот troop_set_plural_name, похоже не работает, если я всё правильно понял.

(troop_set_plural_name, "trp_npc16", "str_hrrr"), - она должна изменить имя во множественном числе на "str_hrrr". Но когда потом его считываешь:
(str_store_troop_name_plural, s0, "trp_npc16"),
(display_message, "@{!} {s0}"),
Выдаёт старое имя из module_troops. =/

Хотел два раза сохранить новое имя, на случай, если придётся менять титул по ходу игры. Видно, придётся сохранять по другому.
« Последнее редактирование: 21 Декабря, 2011, 19:20 от FinGall »
Столкнулся с непонятной ошибкой. Модуль собирается, но при запуске игры на загрузке data идет вылет  с ошибкой
" Run Time " и ругается на экзешник. из за чего вычислил -  глючит на текст в гейм_меню в операции
 (str_store_string,s1,"@  ........."),. ввожу тот же текст по синтаксису также, ошибка пропадает.
(s1 очищен)
Кто нибудь с таким сталкивался?
Легионер У меня так на прямую текст тоже не присваивает. Я делаю через module_strings. Сперва там пропишу, а потом по ссылке:
(str_store_string,s0,"str_faction_title_female_player"),
« Последнее редактирование: 22 Декабря, 2011, 06:47 от FinGall »
bogmir, скорей всего тебе нужно будет прописывать мушкет в итемах как itp_type_crossbow.Но при этом нужно будет дописать

[(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 15)])]],

Чтоб он был похож на мушкет. ну и заменить эффекты,звуки и координаты на то что тебе нужно.
подскажите пожайлуста - при проверке
(agent_get_horse, reg1, ":player_agent"),
reg1 выдает непонятный id лошади. если брать порядковый номер в итеме именно лошадей то не сходиться.
куда они тогда записываються, и каким образом?
это айди агента-лошади
чтобы узнать айди итема-лошади есть функция что то вроде агент_гет_итем_айди
т.е. сначала получаешь агента_лошадь, а потом получаешь итем_айди этого агента
если команду применить к агенту_человеку, то вернет в переменную -1
вроде так =/

0 Пользователей и 2 Гостей просматривают эту тему.

Теги: