Это популярное сообщение. Dennis_Chikin 3 664 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-847221
UnLoaded 313 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @dsh Насчет цифровых параметров я и сам хотел-бы услышать от более знающих. Пробовал потестить, выяснил следующее: actor_stats.add_points("quests", "Вернуть флешку Сидоровичу", 1, 5) - в ПДА на вкладке "Данные" Выполненные кветы - 5 Всего - 5 и в большом окне Выполненные задания Вернуть флешку Сидоровичу х1 5 Если изменяю actor_stats.add_points("quests", "Вернуть флешку Сидоровичу", 5, 1) - то получается Выполненные кветы - 25 Всего - 25 и в большом окне Выполненные задания Вернуть флешку Сидоровичу х5 5 Пока для меня это бредятина... Может кто из знающих просветит? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927413
dsh 3 824 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @UnLoaded, я так же поигрался со "stalkerkills", там то же знатная бредятина выходит. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927430
qvvxvvq 111 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 HellRatz, Хороший вопрос, это просто объект, такой же как и обычная дверь, стена и т.п. Это как при подходе к мертвому оленю на 1.28 минуте. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927449
HellRatz 2 913 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @PlayMod, ну статика, ясно. Ну делай как сказал. Сначала создаешь звук через СДК, настраивая его слышимость (От 1 метра, хоть через всю локацию, но вообще надо будет подбирать слышимость до идеала, постоянно перебирая параметры дальности, пока не добьешься нужного результата). Статья по настройке звука в СДК. Затем создаешь звуковую зону на месте нужного объекта, туда вписываешь свой звук. Делаешь make game, полученный файл (level.snd_static, вроде) кладешь в папку с уровнем, ну и звук в ogg. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927459
Карлан 1 050 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @dsh, @UnLoaded, статистика учитывается криво. Логику отследить вполне возможно, она там есть, но вот работает да - неверно (хотя опять же что у разрабов на уме было нам не понять). Вполне себе можно поправить. Да и в оригинале все функции (ну кроме одной вроде) вполне себе используются - советую посмотреть. Ну а ваша функция вот она - вся как на ладони: void CActorStatisticMgr::AddPoints(const shared_str& key, const shared_str& detail_key, s32 cnt, s32 pts) { SStatSectionData& sect = GetSection (key); SStatDetailBData& d = sect.GetData (detail_key); d.int_count += cnt; d.int_points += cnt*pts; } Как видно создается субтаблица и туда вписываются ваши данные. Тут и кроется вселенский косяк, который нетрудно устраняется . Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927488
UnLoaded 313 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 который нетрудно устраняется Правкой скриптов или правкой движка ? Судя по приведенному фрагменту кода - это С++. Ну и в общем - что эти два числовых параметра должны были означать по задумке ? Зачем умножать один на другой ? Судя по коду, d.int_count это инкрементный счетчик, как я понимаю для регулярных заданий, типа принес копыта пять раз - будет запись навроде "Принести копыта" - х5. А вот последний параметр ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927501
Карлан 1 050 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @UnLoaded, последнее число - поинты, которые и пишутся в ПДА. Впрочем количество тоже пишется, я не пойму что тебе нужно. Вот куски кода: s32 _totl = Actor()->StatisticMgr().GetSectionPoints(key_name); if(_totl==-1) { itm->m_text2->SetTextST (""); }else { sprintf_s (buff,"%d", _totl); itm->m_text2->SetTextST (buff); } if( 0==(*it).str_value.size() ) { sprintf_s (buff,"x%d", (*it).int_count); itm->m_text2->SetTextST (buff); sprintf_s (buff,"%d", (*it).int_points); itm->m_text3->SetTextST (buff); }else { itm->m_text2->SetTextST ((*it).str_value.c_str()); itm->m_text3->SetTextST (""); } Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927507
UnLoaded 313 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 (изменено) А что это вообще такое - поинты ? Типа очки за выполнение заданий ? Тогда получается, что в строкеВыполненные квесты - 25, число - это общее кол-во очков за выполнение разных квестов ? Это типа для школоты, пиписками меряться ? Типа да. Типа для мультиплеера. Со счетчиком они намудрили... Вообще система, очевидно, как с убивствами должна быть: сложность * на пойнты за действие. dc Изменено 30 Марта 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927516
Карлан 1 050 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @UnLoaded, ну а чего тебе от них еще то надо? Методы управления выведены, привязывай к чему хочешь, в оригинале если не ошибаюсь они ни к чему не привязаны. Помимо них в этом массиве еще есть ranking, вот он да, задействован, но тоже сомнительно . Можешь и сам посмотреть, там в целом все очевидно, если бы не привязка к ПДА, то можно было-бы этим вообще только из скриптов и управлять (поинты/кол-во без скриптов даже не создадутся по факту), в принципе можно все это в скрипты и вынести при желании. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927523
UnLoaded 313 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 Вопрос по заданиям. имеется задание: <game_task id="tutorial_find_artefact"> <title>esc_tutorial_find_artefact</title> <objective> <article>article_find_artefact</article> <icon>ui_iconsTotal_tutorial_find_artefact</icon> <infoportion_complete>tutorial_artefact_done</infoportion_complete> </objective> ........ ....... ..... ... и еще задание: <game_task id="agr_help_krot_stalkers"> <title>agr_help_stalkers</title> <objective> <article>article_agr_krot_sos</article> <icon>ui_iconsTotal_defend_lager</icon> <infoportion_complete>agr_help_stalkers_assault_dead</infoportion_complete> </objective> ........ ....... ..... ... Иконки для отображения в описаниях заданий прописаны однообразно. Но при выдаче этих заданий стандартным образом(через и-п например) для первого задания в сообщении выводится назначенная в нем иконка с артефактом, а для второго задания в сообщении выводится иконка компаса. В чем проблема ? P.S. Смотрел в news_manager.script ф-цию send_task, но вот тут --' Берем координаты из текстуры таска local task_texture, task_rect = get_texture_info("ui_iconsTotal_"..task:get_id(), "ui_iconsTotal_locations") вообще ничего не понял... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927524
Карлан 1 050 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 Но при выдаче этих заданий стандартным образом(через и-п например) для первого задания в сообщении выводится назначенная в нем иконка с артефактом, а для второго задания в сообщении выводится иконка компаса. Я тут проблемы не вижу. Ты так и указал, в первом задании ищем артефакт - иконка артефакта, во втором убиваем людей - иконка компаса, все верно . Проблемы, собственно, нет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927525
Dennis_Chikin 3 664 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 (изменено) Очевидно, в ошибке в news_manager.script. task:get_id() в данном случае получается вполне рэндомным. 2 Карлан: именно. В очередной раз предполагается, что конфиги прибиты гвоздями. Изменено 30 Марта 2015 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927531
Карлан 1 050 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 @Dennis_Chikin, он никак не может быть рандомным, эта функция вполне явно получает айди таска из game_tasks.xml, в функции это просто подставляется в айди текстуры, и она успешно считывается из файла-описателя текстуры с иконками, рандома впринципе быть не может. Иконки типовые для каждого типа задания, вот вручную рандомизировать вполне можно. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927536
UnLoaded 313 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 Все, разобрался в чем проблема: первое задание из моих примеров имеет id "tutorial_find_artefact", следовательно "ui_iconsTotal_"..task:get_id() дает ui_iconsTotal_+ tutorial_find_artefact = ui_iconsTotal_tutorial_find_artefact - прописана в ui_iconstotal.xml. А второе задание даст ui_iconsTotal_+ agr_help_krot_stalkers = ui_iconsTotal_agr_help_krot_stalkers - такого в ui_iconstotal.xml нет. я наверное не прав, но на мой взгляд, более дурного способа получить иконку для сообщения не придумать... Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927538
dsh 3 824 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 (изменено) @Карлан, я тестирую add_points() на движке из OGSE 0.6.9.3. Возможно, там что-то изменили на эту тему, но работает оно явно не так, как в приведенном коде. Вот такой вызов: actor_stats.add_points( "stalkerkills", "bandit_expirenced", 1, 1 ) не всегда приводит к увеличению счетчиков. Так, пора определиться с терминами. В ПДА, раздел статистика разделен на две части. В левой - общая статистика. В правой - список сталкеров с рангами и соотв. им счетчики. Притом, на каждого приходится два счетчика. Превый отображается, как xN, а второй - просто число. Так вот, при выполнении вышеуказанной функции, напомню, что я это делаю на движке из OGSE 0.6.9.3, число xN всегда увеличивается на 1, сколько бы раз я не выполнил это. А вот со вторым числом все хуже. Покажу лучше по другому. В начале имеем Бандит, опытный x0 0 Вызываю функцию, как указано. В ПДА вижу Бандит, опытный x1 1 Вызываю еще раз. В ПДА вижу Бандит, опытный x2 1 В дальнейшем, последнее число увеличиваться не будет. А изменится оно только в том случае, если я выполню add_points() с последним аргументом отличным от того, что показывается в ПДА, в последней колонке. И величина в ПДА изменится на разницу, а не просто прибавится. Вот такие вот чудеса. Изменено 30 Марта 2015 пользователем dsh Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927544
Карлан 1 050 Опубликовано 30 Марта 2015 Поделиться Опубликовано 30 Марта 2015 (изменено) @dsh, я не знаю что там в огсе, я говорю об оригинальной игре. И как это все работает я описал выше, я сам на практике конечно ассемблерные заплатки ставил еще на 4 патч, но давайте попробую рассказать. Есть инкермент и есть очки связанные с инкрементом через умножение. Допустим берем абстрактного сталкера за убийство которого инкремент увеличивается на единицу, и за этого сталкера дают 2 очка. В итоге мы имеем арифметическую прогрессию очков с разностью два. Т.е. убили одного, нам пишет в ПДА х1 2, убили двух - х2 4, убили трех - х3 6, и никак иначе. В общем количестве очков этого пункта статистики высвечивается число инкремент*очки, иными словами функция получает субтаблицу сформированную нами, и умножает два числа из нее. А все эти сталкеркилс, монстеркилс и т.д. - метки. Другой вопрос, что в этом алгоритме есть мелкие косячки которые и поганят всю общую картину, они видны прямо сразу, я даже не знаю что вам по этому вопросу еще рассказать, все коды показал, да что там - сами смотрите если интересует . @UnLoaded, выше же я это описал. Вполне удобный способ, если привыкнуть . Изменено 30 Марта 2015 пользователем Карлан Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927552
Zander_driver 10 348 Опубликовано 31 Марта 2015 Поделиться Опубликовано 31 Марта 2015 Вопрос по файлу game_maps_single.ltx. У каждой локации там есть параметр bound_rect = -512.000, -512.030, 0.000, 512.001 ;512.000x1024.031 Я так понимаю, это координаты в системе отсчета локации, соответствующие противоположным углам ее террейна. первые две - левый верхний угол, последние две - нижний правый, и даны они по осям x и z (в сталкере ведь, y - это вертикаль). Снимок террейна (собственно скрин карты) получаем при необходимости через demo_record on -> F11. И я так понимаю, это именно углы этого самого скрина, выдаваемого движком. И вот предположим, если я думаю что значения координат прописанные в bound_rect у какой то локации не верны, я могу их как то проверить, и выяснить точные правильные значения? Как их вообще можно узнать, если не из файла. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927613
Elz 343 Опубликовано 31 Марта 2015 Поделиться Опубликовано 31 Марта 2015 @Zander_driver, пробежать в крайний угол локации, получить координаты актора, пробежать в другой угол, сделать тоже самое, как вариант. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927633
Malandrinus 615 Опубликовано 31 Марта 2015 Поделиться Опубликовано 31 Марта 2015 @Elz, прошу прощения, не могу удержаться от вопроса. А что делать, если локация круглая? 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927649
abramcumner 1 229 Опубликовано 31 Марта 2015 Поделиться Опубликовано 31 Марта 2015 Снимок террейна (собственно скрин карты) получаем при необходимости через demo_record on -> F11. И я так понимаю, это именно углы этого самого скрина, выдаваемого движком.Да, и только с этим скрином карты эти координаты имеют смысл. И вот предположим, если я думаю что значения координат прописанные в bound_rect у какой то локации не верны, я могу их как то проверить, и выяснить точные правильные значения? Как их вообще можно узнать, если не из файла.На ТЧ нормально никак не проверить. Только сделать новый скрин карты. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/650/#findComment-927650
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти