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 Ссылка на комментарий
SkyLoader 53 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 А, точно! Мне бы узнать, как непися перевести на другой смарттеррейн через скрипт. Ссылка на комментарий
AKKK1 6 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 Помоему только через нет пакет вобщем изменить секцию смарт террайн на нужную Ссылка на комментарий
ФеНиКс 2 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 (изменено) function dead_is_actor() --' на актор апдейте if db.actor and not db.actor:alive() and db.actor:dont_has_info("info_dox") then game.start_tutorial("x18_dream") db.actor:give_info_portion("info_dox") end end Почему не работает? Тупо не работает и всё. __________ И ещё вот такие вопросы. Возможно сделать так чтобы при НПС с опр. предметом в руках он(НПС) убегал? ведь существует паника у НПС как сделать это "чудо" через скрипт? Изменено 28 Июля 2010 пользователем ФеНиКс Ссылка на комментарий
Stalk15 27 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 ФеНиКс game.start_tutorial("x18_dream") - срабатывает когда ГГ жив.А если он мертв, то почему-то эта строка игнорируется. Ссылка на комментарий
iDreD 5 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 ФеНиКс, наложи кастом_статик с этим видео после смерти и всё. Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
Arhara 32 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 (изменено) SkyLoader, Для чего такие трудности? Пропишите ему но_не=труе, и пусть тусует в зоне гулага, не входя в него. Когда куд-то надо идти, кроме стандартной работы - назначите в логике. Изменено 28 Июля 2010 пользователем Arhara Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
SkyLoader 53 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 (изменено) Да дело в том, что мне надо, чтобы для любых неписей это было, даже если сразу появился (alife:create), я назначаю ему смарт сам (через action диалога, например), а не он выбирает. А как через нет пакеты сделать? Изменено 28 Июля 2010 пользователем SkyLoader Ссылка на комментарий
iDreD 5 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 Я спауню тайник вот с такой [spawn] esc_ship_sound wpn_bizon_kol ammo_7.62x39_ap [logic] active = ph_code@lock [ph_code@lock] code = 0000 on_code = ph_code@open [ph_code@open] code = nil Когда я ввожу код тайник не становится "открытым", почему так (код вводится, затем опять при нажатии на F опять вылазит менюшка кодового замка)? Работа в Sculptris 3D [туториал] Страничка на Проза.ру Ссылка на комментарий
DimOriN 43 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 Stalk15, ты должен этой функции скормить ID непися " local se_obj = alife():object(ID) -- , где id айдишник непися " Ссылка на комментарий
Arhara 32 Опубликовано 28 Июля 2010 Поделиться Опубликовано 28 Июля 2010 кровоSTALKER, [logic] active = ph_code [ph_code] code = 55555 on_code = nil %+сим_сим_откройся% Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
Stalk15 27 Опубликовано 29 Июля 2010 Поделиться Опубликовано 29 Июля 2010 (изменено) DimOriN Я так попробовал, ввел ид Волка(006 и 6 - все пробовал), но при вызове опять ни чего не происходит. ------------------------- У меня еще вопроc: Я вот поверяю ранг НПС: rank_npc = ranks.get_obj_rank_name(npc_stalker) if rank_npc == "regular" then Проверки ранга Новичок, Ветеран, Мастер работают, а проверка Опытного не работает.regular - вроде правильно.В чем дело-то? --------------------------------------------------------------------------------------------- SkyLoader Точняк, спасибо. Изменено 29 Июля 2010 пользователем Stalk15 Ссылка на комментарий
ФеНиКс 2 Опубликовано 29 Июля 2010 Поделиться Опубликовано 29 Июля 2010 (изменено) По поводу кодовых замков как сделать код рандомным? т.е. код выбирался из таблицы и при выдачи поршня ГГ появлялся в виде сообщения. А логика при этом должна выглядеть типа вот этого? [logic] active = ph_code [ph_code] code = 55551 on_code = nil %+sim_sim% code1 = 55552 on_code1 = nil %+sim_sim1% code2 = 55552 on_code2 = nil %+sim_sim2% Скрипт: local tabla = { [1]="Код 55551", [2]="Код 55552", [3]="Код 55552" } local fs = false function random_kod() local pos = "" if not fs then pos = tabla[math.random(#tabla)] local news_text = "%c[255,255,1,1]Татар\\n+%c[255,1,255,1]"..pos.."%c[default]" db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(249,893,83,47), 0, 2000) fs = true end if fs then fs = false end end все верно? Изменено 29 Июля 2010 пользователем ФеНиКс Ссылка на комментарий
SkyLoader 53 Опубликовано 29 Июля 2010 Поделиться Опубликовано 29 Июля 2010 (изменено) Stalk15, experienced - опытный ФеНиКс, tabla[math.random(table.getn(tabla))] Arhara, вот моя функция, чтобы узнать название гулага (пишу с мобильника): function where_smartterrain(first_speaker, second_speaker) -- первый говорит непись local gulag = xr_gulag.get_npc_gulag(first_speaker) --непись в гулаге ли? local gulag_name = gulag.name --имя гулага if gulag then News_manager.sent_tip(db.actor,"Гулаг: " ..gulag_name, nil, nil, 10000)--вывод End End Может быть можно так же, примерно, изменить гулаг неписю? Изменено 29 Июля 2010 пользователем SkyLoader Ссылка на комментарий
ФеНиКс 2 Опубликовано 29 Июля 2010 Поделиться Опубликовано 29 Июля 2010 SkyLoader tabla[math.random(#tabla)] -- то же самое...почти тоже самое. так что разницы нет. Ссылка на комментарий
Влад 9 Опубликовано 29 Июля 2010 Поделиться Опубликовано 29 Июля 2010 (изменено) имею код: function func_name() db.actor:iterate_inventory(del_obj, actor) end function del_obj(actor,item) local tbl = {} local s = item:section() table.insert(tbl, s) for k, v in pairs(tbl) do if v == "ammo_7.62x54_ap" then alife():release(alife():object(db.actor:object(v):id()), true) end end end Что надо: удалить ВСЕ итемы определённого вида (в данном случае "ammo_7.62x54_ap"). Но удаляются не все,а одна пачка.Иногда две-три.. Charsi спасибо! Изменено 30 Июля 2010 пользователем Влад Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Charsi 440 Опубликовано 29 Июля 2010 Поделиться Опубликовано 29 Июля 2010 Влад,правильно так: function func_name() db.actor:iterate_inventory(del_obj, nil) end function del_obj(dummy,item) if item:section() == "ammo_7.62x54_ap" then alife():release(alife():object(item:id()), true) end end Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
ФеНиКс 2 Опубликовано 30 Июля 2010 Поделиться Опубликовано 30 Июля 2010 Возможно ли повесить на тайник кодовый замок? Ссылка на комментарий
SkyLoader 53 Опубликовано 30 Июля 2010 Поделиться Опубликовано 30 Июля 2010 ФеНиКс, Stalk15 недавно делал такое. Ссылка на комментарий
Гость Greh921 Опубликовано 31 Июля 2010 Поделиться Опубликовано 31 Июля 2010 Люди, а кто знает на каком языке програмирования написан иксреевский движок? Ссылка на комментарий
stalker.odinochka 0 Опубликовано 31 Июля 2010 Поделиться Опубликовано 31 Июля 2010 Подскажите пожалуйста скрипт для спавна аномалий. Чтоб на локации просто спавнились при старте игры и не динамические. Срочно ищу опытного скриптёра и модельера, нужна помощь в создании мода. Готовность мода Новый мир 85%. Мод Огнемёт для ЗП v1.0 Скачать Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти