Перейти к контенту

Рекомендуемые сообщения

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

 

Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу.

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

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

Почему не работает?

Тупо не работает и всё.

__________

И ещё вот такие вопросы.

Возможно сделать так чтобы при НПС с опр. предметом в руках он(НПС) убегал?

ведь существует паника у НПС как сделать это "чудо" через скрипт?

Изменено пользователем ФеНиКс
87728-stalker.gif
Ссылка на комментарий

SkyLoader,

Для чего такие трудности? Пропишите ему но_не=труе, и пусть тусует в зоне гулага, не входя в него. Когда куд-то надо идти, кроме стандартной работы - назначите в логике.

Изменено пользователем Arhara

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

Ссылка на комментарий

Да дело в том, что мне надо, чтобы для любых неписей это было, даже если сразу появился (alife:create), я назначаю ему смарт сам (через action диалога, например), а не он выбирает.

А как через нет пакеты сделать?

Изменено пользователем SkyLoader
Ссылка на комментарий

Я спауню тайник вот с такой

[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 опять вылазит менюшка кодового замка)?

Ссылка на комментарий

кровоSTALKER,

 

[logic]

active = ph_code

 

[ph_code]

code = 55555

on_code = nil %+сим_сим_откройся%

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

Ссылка на комментарий

DimOriN

Я так попробовал, ввел ид Волка(006 и 6 - все пробовал), но при вызове опять ни чего не происходит.

-------------------------

У меня еще вопроc:

Я вот поверяю ранг НПС:

rank_npc = ranks.get_obj_rank_name(npc_stalker)
if rank_npc == "regular" then

Проверки ранга Новичок, Ветеран, Мастер работают, а проверка Опытного не работает.regular - вроде правильно.В чем дело-то?

 

---------------------------------------------------------------------------------------------

SkyLoader

Точняк, спасибо.

Изменено пользователем Stalk15
Ссылка на комментарий

По поводу кодовых замков как сделать код рандомным? т.е. код выбирался из таблицы и при выдачи поршня ГГ появлялся в виде сообщения.

А логика при этом должна выглядеть типа вот этого?

 

[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

 

все верно?

Изменено пользователем ФеНиКс
87728-stalker.gif
Ссылка на комментарий

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

Может быть можно так же, примерно, изменить гулаг неписю?

Изменено пользователем SkyLoader
Ссылка на комментарий

имею код:

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 спасибо!

Изменено пользователем Влад
Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

Влад,правильно так:

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

Ссылка на комментарий

Подскажите пожалуйста скрипт для спавна аномалий.

Чтоб на локации просто спавнились при старте игры и не динамические.

:cray5:

Срочно ищу опытного скриптёра и модельера, нужна помощь в создании мода.

Готовность мода Новый мир 85%.

Мод Огнемёт для ЗП v1.0 Скачать

 

 

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...