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

[SoC] Ковыряемся в файлах


Halford

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

Слямзил некролог из интернета. Всё гуд но мне не нравится то что сообщение приходит сразу. Решил чутка изменить его - при смерти старутет таймер, после окончания которого и приходит уведомлялка. 
Вот сам оригинал:
 

Скрытый текст

local level_name = {
  ["l01_escape"] = "Кордон",
  ["l02_garbage"] = "Свалка",
  ["l03_agroprom"] = "НИИ Агропром",
  ["l03u_agr_underground"] = "Подземелье НИИ Агропром",
  ["l04_darkvalley"] = "Тёмная долина",
  ["l04u_labx18"] = "Лаборатория X-18",
  ["l05_bar"] = "Бар",
  ["l06_rostok"] = "Дикая территория",
  ["l07_military"] = "Арм.склады",
  ["l08_yantar"] = "Янтарь",
  ["l08u_brainlab"] = "Лаборатория X-16",
  ["l10u_bunker"] = "Лаборатория X-10",
  ["l10_radar"] = "Радар",
  ["l11_pripyat"] = "Припять",
  ["l12_stancia"] = "ЧАЭС",
  ["l12_stancia_2"] = "ЧАЭС",
  ["l12u_sarcofag"] = "Саркофаг",
  ["l12u_control_monolith"] = "Управление Монолитом"
            }
 
local community = {
    ["stalker"] = "Одиночка",
    ["monolith"] = "Монолит",
    ["military"] = "Военные",
    ["bandit"] = "Бандит",
    ["killer"] = "Наемник",
    ["ecolog"] = "Эколог",
    ["dolg"] = "Долг",
    ["freedom"] = "Свобода",
    ["zombied"] = "Зомбированный",
    ["trader"] = "Торговец"
            }
 
function kill_npc(victim, who)
  if victim and IsStalker(victim) then
local dead_news = "%c[255,0,0,0]ПОГИБ СТАЛКЕР \\n%c[255,160,160,160]Группировка: %c[default]"..community[victim:character_community()].."\\n%c[255,160,160,160]Кличка: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()]..""
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000)
dmb2.news_sound()
   end
end



А вот моя поделка 

 

Скрытый текст

 

function kill_npc(victim, who)
  if victim and IsStalker(victim) then
  dmb2.nekrolog_timer()
  end
end

function nekrolog_message(victim, who)
  if victim and IsStalker(victim) then
local dead_news = "%c[255,0,0,0]ПОГИБ СТАЛКЕР \\n%c[255,160,160,160]Группировка: %c[default]"..community[victim:character_community()].."\\n%c[255,160,160,160]Кличка: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()]..""
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000)
dmb2.news_sound()
end
end

 


И сам таймер, по окончанию которого выполняется nekrolog_message
 

Скрытый текст

    function nekrolog_timer()
      local iTimer = time_global() + 5000
 
      local function check_timer()
         return time_global() > iTimer
      end
 
      level.add_call(check_timer, dmb.nekrolog_message(victim, who))
   end



Но после убийства ничё не происходит. Что делать?

Небольшая ремарка: если убрать   if victim and IsStalker(victim) then в nekrolog_message то происходит вылет с причиной 

 dmb.script:48: attempt to index local 'victim' (a nil value)

Отбой. Разобрался. Чтобы всё работало с задержкой, в сообщении вместо цифры 1 поставить кол-во желаемых секунд (1000, 5000, т.д.)

Поделиться этим сообщением


Ссылка на сообщение

Как сделать чтобы при подвешенном артефакте на поясе, выполнялась опредёленная функция?

Поделиться этим сообщением


Ссылка на сообщение

@Sikorskyiсделал как ты, тока чутка подправил его под свой скрипт:
 

Скрытый текст

function kill_npc(victim, who)
 if victim and IsStalker(victim) then
local t = time_global()
db.actor:give_game_news(dead_news,"ui\\ui_iconstotal",Frect():set(0,658,83,47),1000,3000) -- всегда
         local shans = math.random(1,100)
         if shans > 70 then
             dead_news = death_komment[math.random(table.getn(death_komment))]
             db.actor:give_game_news(dead_news,"ui\\ui_iconstotal",Frect():set(0,658,83,47),3000,3000)
elseif t > time_global() + 3000 then
dmb2.news_sound()
end
end
end

А оно вылетает

Разобрался. Забыл добавить сам текст :)

Поделиться этим сообщением


Ссылка на сообщение

Тащи, подскажите. Можно ли как то уменьшить спавн сталкеров, и увеличить спван мутантов на локациях без редактирования all.spawn? если да, подскажите, что за файлы отвечают за спавн, кол-во, и тд.

Поделиться этим сообщением


Ссылка на сообщение

@андрей дронав у тебя скрипт... Даже не знаю как сказать.. Продублирован что ли? Ну, мож форум шалит, не знаю..
А по поводу ошибки - была у меня точно такая же.. И я её устранил добавив недостающую часть кода (забыл сообщение само добавить). У тебя может где то там end не прописан где надо, или прописан где не надо.. Ну, точно не могу сказать, но по крайней мере ошибку я решил анализом своего кода, и поиском косяка.

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Люди, подскажите схему поведения нпс, при которой он будет стоять всю жизнь на месте, не приписан к смарту, играл определённую анимку, и с ним можно было побазарить. 

 

И ещё, как изменить дату и время начала игры?

Поделиться этим сообщением


Ссылка на сообщение

Каким образом можно убрать дневник героя (вернее, его первую часть, которая даётся с самого начала игры?)

Поделиться этим сообщением


Ссылка на сообщение

Намутил логику непися. Всё бы ок, но диалог получается "Привет! - До встречи!". Не знаете, как решить?

 

Скрытый текст

 

[smart_terrains]
none = true

[logic]
active = remark@base 
danger = danger_condition 
meet = meet
 
[remark@base]
anim = wait_trade
no_move = true
meet = meet
 
[meet] 
victim = 10|actor
victim_wpn = 10|actor
use = true
use_wpn = true

 

 

И ещё, хочу чтобы военные на блокпосте не спали и не ходили в патруль. Закоментировал соответсвующие работы, а в ответ - вылет, с причиной "bad argument #3 to 'format' (string expected, got nil". Подскажите плз, как сделать вышесказонное, чтобы работало без вылетов?

Поделиться этим сообщением


Ссылка на сообщение

Как сделать так, чтобы неписи сидели у костра, играли на гитаре, травили анекдоты, и т.д?

  • Смешно 2

Поделиться этим сообщением


Ссылка на сообщение

@Ted Simpsonесть, но я создал своих неписей, и хочу чтобы эта схема (или как она там назвыается) у них работала.

И напомните мне схемку плз, в которой диалог начинает сам непись, а после получения н инфы перестаёт его начинать

Поделиться этим сообщением


Ссылка на сообщение

Вопрос такой, как сделать получении инфы при входе в рестриктор?

И как сделать так, чтобы при наведении на рестриктор, внизу был текст типа "Использовать", и после этого выдавался тоже инфопоршень? Возможно ли это в принципе?

Поделиться этим сообщением


Ссылка на сообщение

@Sikorskyiкод не знаю точно, не говорю на 100% уверенным, но я бы обьявил локальные 
local deadmans = ПОГИБ СТАЛКЕР:
local dead comment = ПДА (Аноним):

Просто я помню примерно что там вместо текста используются такие переменные

Поделиться этим сообщением


Ссылка на сообщение

Подскажите, мне надо чтобы в определённое время спавнился чухан, со своей логикой. Как это сделать?

Поделиться этим сообщением


Ссылка на сообщение

В общем, он будет отдельным персонажем, т.е. вне гулага. В определённое время появляется, и после получения инфы убирается.
Интересует непосредственно:
как прописать логику персу?;
и как именно прописать конкретный спавн

Поделиться этим сообщением


Ссылка на сообщение

А по поводу meet_dialog. Если мне надо, чтобы он был, а потом при получении определенной инфы, этот стартовый диалог переставал быть таким, и у перса появляется все диалоги которые ему прописаны. Как это сделать?

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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