Svoboда 3 Опубликовано 23 Апреля 2009 Поделиться Опубликовано 23 Апреля 2009 Тема для обсуждения скриптов всего и всех в серии игр STALKER. Задавая вопрос (!): 1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего; 2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме); 3. Изучите информацию которая может вам помочь: Stalkerin. Там есть много хороших статей касательно данной темы.Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения. Справочное руководство по языку Lua 5.1https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ruСправочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены. Логика со вступлением и четырьмя частями: ВступлениеЧасть перваяЧасть втораяЧасть третьяЧасть четвертая. Smart_terrain (в простонароде - гулаг)Интересный способ настроики логики для гулаговСкриптовая часть игровой логики 4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос; 5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе; 6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода; 7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины. 8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ. 9. И помните: «Правильно заданный вопрос – половина ответа». Какие вопросы следует задавать, а какие нет... Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу. Вопросы которые будут удалятся, следовательно их задавать не нужно:-- Где находится та или иная функция? Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;-- Как сделать что-то/то-то? С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов? В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос. И последнее: очень рекомендовано к прочтению Правила форума 1 2 Ссылка на комментарий
Arhara 32 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 Disord, При наличии дин. аномалий - прописка валка данного индивидуума в исключение. При отсутствии дин. аномалий - правка валка и лука данного непися. Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
gruber 2 481 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 Arhara, Кстати.Ты тут в теме вспомнил про пути,вот хочу в тему спросить-как у тебя зомби возле монолита ходят,там ведь сетки вообще нигде нету.Я просто там пытался у костров монолит посадить -пробежал все окрестности и везде скрипт valid=fasle ,но они тем не менее ходят и Мервин у Андрея там стоит в ТТ Ссылка на комментарий
Arhara 32 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 gruber, Я их перекинул... Хотя - из 5 смертников фигово ходил только один. Остальные - нормуль. Отсутствие сетки - вероятно - неполное - всё же есть отдельные вершинки. Картина - как в 3 отсеке госпиталя - удалось там всех уговорить ходить без вылетов - но путём подбора и проб. Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
mma 0 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 я хотел заспавнить бтр на кордоне. взял информацию бтров на чаэс. в результате ничего: игра не вылетает, но и бтр не появляется. подскажите, что не так. взял вот это [7111] ; cse_abstract properties section_name = m_car name = aes_btr position = 1060.0048828125,-0.0975551605224609,-9.46005439758301 direction = 0,1.56960034370422,0 ; cse_alife_object properties game_vertex_id = 2273 distance = 0 level_vertex_id = 405033 object_flags = 0xffffffba custom_data = <<END [logic] active = ph_car1 [ph_car1] path_walk = aes_btr_walk1 target = actor [spawner] cond = {+aes_zabor} END story_id = 1113 ; cse_visual properties visual_name = physics\vehicles\btr\veh_btr_script_u_01 ; cse_ph_skeleton properties ; cse_alife_car properties health = 1 и его логику [aes_btr_walk1] points = p0,p1,p2,p3,p4,p5 p0:name = wp00|spd=30 p0:position = 1054.09729003906,-0.0975570678710938,-9.30000114440918 p0:game_vertex_id = 2280 p0:level_vertex_id = 469776 p0:links = p1(1) и заменил на вот это [871] ; cse_abstract properties section_name = m_car name = esc_btr position = -124.174210,-9.193207,-148.314011 direction = -0.999991,0.000000,-0.004141 ; cse_alife_object properties game_vertex_id = 44 distance = 0 level_vertex_id = 128710 object_flags = 0xffffffba custom_data = <<END [logic] active = ph_car1 [ph_car1] path_walk = esc_btr_walk1 target = actor END ; cse_visual properties visual_name = physics\vehicles\btr\veh_btr_script_u_01 ; cse_ph_skeleton properties ; cse_alife_car properties health = 1 и сделал такую вот логику [esc_btr_walk1] points = p0 p0:name = wp00|spd=30 p0:position = -125.641571,-9.213549,-148.421402 p0:game_vertex_id = 44 p0:level_vertex_id = 127059 в результате ничего: ни вылетов, ни бтра. подскажите почему? Ссылка на комментарий
gruber 2 481 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 mma, cond = {+aes_zabor} -убери вот это -ну или сходи на чаэс и дождись пока дырку в заборе пробьют Ссылка на комментарий
Arhara 32 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 mma, Вы заспавнили двигающийся берет. Пропишите валк в точке спавна. Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
gruber 2 481 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 БТР двигающийся -это ужас ,там в параметрах задается ускорение,если чуть слабее не доедет до точки пути,если сильнее проскочит и начнет доварачивать на ходу-короче я делал приез бтр с блокпоста в деревню новисов при полученом хите,так из 10 раз при одинаковых параметрах в нужную точку приезжает через раз ,обычно где нибудь в дерево упирается или на горку не может вьехать,и от нулевой точки к первой едет по дуге почему то ,лечится уменьшением расстояния между точками Ссылка на комментарий
mma 0 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 Arhara ты имеешь ввиду что , место спавна и валк в логике должны иметь одни и те же координаты? щас попробую. Заранее спасибо Gruder я убрал этот момент. Посмотри внимательно. Ссылка на комментарий
gruber 2 481 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 Логика неверная,но спавнится все равно должен,проверь не перепутал ли ты гейм и левел вертексы,может он спавнится просто в другом месте,да и еск_бтр помоему занятое имя,хотя наверное бы вылезла ошибка с дублированием Ссылка на комментарий
mma 0 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 Arhara к сожалению не получилось. Gruber нет такого имени в алл . спавне в секции кордона больше нет. а насчёт другого места не знаю. я пытался заспавнить его на въезде в деревню новичков. мог наклоны дороги плохо повлиять? Ссылка на комментарий
ColR_iT 171 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 (изменено) mma, ты знаешь, если БТР должен был появиться на склоне, то вероятно он ПОД ним. Попробуй заспавнить его на ровной поверхности и припиши к координате Z (средняя) плюс пять метров, на всякий случай. Изменено 19 Января 2011 пользователем Куфзук Ссылка на комментарий
Arhara 32 Опубликовано 19 Января 2011 Поделиться Опубликовано 19 Января 2011 mma, Что не получилось? либо - БТР без логики - тогда будет тупо стоять как в АМК и стрелять. Либо прописать как у вас - без путей движения с валком и луком кордона. Никогда не имел с этим трабл, хотя в соли - бетеры давно ездят. Единственная трабла - если им на пути попадётся кочка или камеь - прости-прошай их валк и скорость... а заодно - и высадка спецназа в нужном месте. Спецназ-то высадится - но если не будет машины - это туфта... Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
mma 0 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 Спасибо всем ,кто помогал заспавнить мне бтр. Правда он не перемещается ,но возможно это из - за того ,что мало места. Он стреляет только по мне. В логике у него прописано "targer = actor". Я убирал эту фразу - он не стреляет вообще. менял актор на "npc" , "stalker" ,но в них он тоже не стрелял. Незнаете , как сделать так ,чтобы он стрелял только при определённых условиях. Например если у тебя в руках есть оружие. И чтобы стрелял не только в актора. Ссылка на комментарий
TRAMP14 1 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 (изменено) Вопрос может быть глупый но: Зачем скриптеры пишут скрипт и потом некоторые строки комментируют? Пример из OGSM мода ..... function ar_sleep:update() -- get_console():execute("update_start") local ini = ini_file ("scripts\\actorsleep.ltx") if db.storage[db.actor:id()].active_section ~= death then -- get_console():execute("G_set") ..... Изменено 20 Января 2011 пользователем kokkai Ссылка на комментарий
_Призрак_ 11 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 (изменено) TRAMP14 Чаще всего это рудименты. Тот код который планировалось использовать раньше, но не использовали, а убрать забыли. Или это отладочная информация. Я думаю в твоем коде именно она и есть. mma Для подсказок самому себе пишут this.test() --вызываем бредовую функцию Изменено 20 Января 2011 пользователем _Призрак_ Freedom Ссылка на комментарий
TRAMP14 1 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 Вот ещё хотел спросить: Вот это будет проверять радиацию или нет? if db.actor:radiation = 0.5 then db.actor:radiation = 0 Я на других форумах видал сообщения о том что она не работает. И там же мне предложили поверить радиацию нанесением хита что я не очень то понял Ссылка на комментарий
IQDDD 5 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 1. Радиация - это свойство, поэтому через точку. 2. Операцию сравнения на равенство идет через два знака ==. 3. Свойство объектов класса game_object записываются иначе: записывается значение изменения свойства. И читайте справочник и справку по Lua. Если не осилить, то не трогайте скрипты. Ссылка на комментарий
TRAMP14 1 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 (изменено) if db.actor.radiation ()== 0.5 then db.actor.radiation (1) Так? А бывает радиация предмета? или это только для актора и неписей? Изменено 20 Января 2011 пользователем TRAMP14 Ссылка на комментарий
Garry_Galler 7 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 (изменено) mma БТР не знает что такое npc, stalker. Поэтому указывать бесполезно. БТР может стрелять только в ГГ или только в объект по его sid. То есть указывается сид объекта target = 6 (значит цель - Волк). Если это не устраивает - переписывай схему ph_car.script. _Призрак_ Для подсказок самому себе пишут А вот и нет. Для подсказок ковыряльщикам кодов, которые скрипты читать не умеют. Нам самим(скриптерам) и так понятно, что у нас скрипт делает. А если серьезно - то это международная практика(и даже больше - требование заказчиков к программисту) - сопровождать свой код комментарием. Только принято это делать на аглицком языке. TRAMP14 Опять неверно написал. При обращении к свойству объекта скобки не указываются. Главный источник радиации в игре - это аномальная зона (zone_radioactive) при вхождении в которую у ГГ увеличивается свойство radiation. Зону можно заспавнить. И если заспавнить объект и по его позиции маленькую зону радиации(радиусом 0.1 метра ) - получится как бы радиационный объект. Ну или сделать объект на классе арта - и в свойствах объекта указать нужное действие радиации. Изменено 20 Января 2011 пользователем Garry_Galler Ссылка на комментарий
TRAMP14 1 Опубликовано 20 Января 2011 Поделиться Опубликовано 20 Января 2011 (изменено) обращении к свойству Непонял выражение, растолкуйте пожалуйста Нам самим(скриптерам) и так понятно, что у нас скрипт делает. Скромные у нас скриптеры пошли Изменено 20 Января 2011 пользователем TRAMP14 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти