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

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


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

Остается только вопрос с курсором

Если смог разобраться с этим, то прошу поделиться опытом.

Изменено пользователем monk
  • Согласен 1
Ссылка на комментарий

@monk, пока нет. Бала одна теория, но почитав соответствующие статьи понял, что на ТЧ это невозможно реализовать. Во всяком случае без правок движка, а в этом я не бум-бум...

 

З.Ы. По прежнему ищу функцию вида:

if game_difficulty = "novice" or "stalker" then
       return true 
    end 
       return false 
end

Понятое дело не в виде такого бреда. Чисто для передачи общей структуры. Не знаю, как у нас в игре ПЫС указывали сложность, цифрами или пресетами.

Изменено пользователем Silver Raven
  • Спасибо 1

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

@Silver Raven, не знаю, работает ли в ТЧ подобная вещь, но попробуй сделать так:

var = get_console():get_float("g_game_difficulty")
if var == "novice" or "stalker" then ... end

Возможные значения: novice, stalker, expirience, gd_master.

Отпиши потом, самому интересно, но, честно говоря, я склоняюсь к вылету...

Ранее был известен под ником BoBaH_671.

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

@BoBaH_671, вылетит. get_float - дробное число, а там строка.

 

@Silver Raven

local game_difficult = get_console():execute( "g_game_difficulty" )
if game_difficult == "gd_novice" or "gd_stalker" then
	return true
end
return false
 

10.png

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

@BoBaH_671@Eugen81,  игра падает с обоими вариантами.

Добавлено Eugen81,

А так:

if game_difficult == "gd_novice" or game_difficult == "gd_stalker" then

?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

А так: if game_difficult == "gd_novice" or game_difficult == "gd_stalker" then ?

И так не хочет работать.

 

@BoBaH_671, лог - классика жанра:

 

 

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...a.l.k.e.r. - trilogy\shoc\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

 

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

@Silver Raven, а вот так?

local difficultyNumber = level.get_game_difficulty()
if difficultyNumber <= 1 then
    return true
end
return false

0 - новис
3 - мастер

Изменено пользователем Eugen81
  • Нравится 1
  • Согласен 2
 

10.png

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

А чего вы ожидали товарищи?) Пытаетесь читать строку как число с плавающей запятой. Сделайте так:

local game_difficult = get_console():get_string("g_game_difficulty")
function difficult_check()
 if game_difficult == "gd_novice" or game_difficult == "gd_stalker" then
  return true
 else 
  return false
 end
end

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

Доброго времени суток, уважаемые пользователи амк-форума.

 Я хотел бы поинтересоваться,можно ли реализовать фичу из ЛА(ЛостАльфа),Где если ты убил нпс,а у него в рюкзаке был дробаш к примеру(то он у него на спине висит)Думаю понятно про что я твержу.Мне один человек подсказал что это настраивается как-то и вовсе не мод это.(где-то в конфигах.) Простите если оффтоп или что-то не правильно.Поправьте в данном случае.

 

А и еще вопрос к знатокам - как сделать квест большой.(не обычный "подай - принеси"),а большой как например с флешкой у волка.

 Многоэтапный такой и все такое. помогите,буду благодарен.

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

 

EggIeRar(V.N.S.L), касательно дробовика вообще непонятно на самом деле. А по поводу квеста, вот свой пример с флешкой волка и смотрите. Квест esc_flash_task ищите в файлах.

 

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

EggIeRar(V.N.S.L), касательно дробовика вообще непонятно на самом деле. А по поводу квеста, вот свой пример с флешкой волка и смотрите. Квест esc_flash_task ищите в файлах.

понял спасибо. Постораюсь понятнее донести.

 - Если у нпс есть пушка,то она висит за спиной (ну как  у Петрухи пока он с биноклем например).

-И во время смерти(т.е если убить чтоб пушка дальше так же и висела за спиной).и виузал оружия будет зависить от того какое оно в рюкзаке у убитого. надеюсь понятно.

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

EggIeRar(V.N.S.L), в xr_motivator.script есть колбек (function motivator_binder:death_callback(victim, who) ) который вызывается при смерти каждого НПС. Посмотрите, мб эти изменения в нём.

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

EggIeRar(V.N.S.L), в xr_motivator.script есть колбек (function motivator_binder:death_callback(victim, who) ) который вызывается при смерти каждого НПС. Посмотрите, мб эти изменения в нём.

Я в скриптах плохо. Если только прописать что куда либо, и то, могу напортачить. Вот.

Я посмотрю,_покопаю,_может чего и найду.

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

@Eugen81, и так тоже.

Добавлено Eugen81,

Морочишь голову... Думал догадаешься завернуть в function bla-bla()...

Второй код рабочий.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

@EggIeRar(V.N.S.L), это движковая фишка, файл называется stalker_death_actions.cpp, достаточно запретить дроп и ничего с оружием не делать, но я не рекомендую, и сразу, не рекомендую копировать из лост альфы, это такая мерзкая фишка на самом деле, не вижу смысла расписывать портянку по клиент-серверу, но вот как есть, можете, конечно, попытаться и поймете о чем я говорю.

 

@Silver Raven,

local game_difficulty_by_num = {
    [0] = "novice",
    [1] = "stalker",
    [2] = "veteran",
    [3] = "master",
}
function get_str_diff() return game_difficulty_by_num[level.get_game_difficulty()] end

local diff = get_str_diff()
if diff == 'novice' then
--// bla-bla-bla
end
  • Согласен 1
Ссылка на комментарий

Существует маленький мод позволяющий видеть рестрикторы. Чем то они там подсвечиваются, вроде партиклами.

А существует ли скриптовый способ, точно так же подсветить все фэйковые поверхности на локации ?

Спасибо.

"Кругом зомби.....у меня кончаются патроны...."

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

@BFG, дык у нас на форуме, вроде была тема по какой-то разработке с такими возможностями. Забыл где. И рестрикторы отрисовываются и спавном можно заниматься, прямо на месте.

 

@Карлан, отлично. Работает. Как и этот вариант от @Kondr48:

 

local game_difficult = get_console():get_string("g_game_difficulty")

function difficult_check()
 if game_difficult == "gd_novice" or game_difficult == "gd_stalker" then
  return true
 else
  return false
 end
end 

 

 

 

А возможно как-то обойти необходимость регистрировать\прописывать функции вызываемые из логики в xr_effects.script?

 

Насчет курсора, есть одна идея. Ему можно задавать координаты на экране? Если да, то как вывести его далеко за пределы экрана, тем самым "скрыв" от игрока?

 

Возможно как-нибудь разделить такую портянку на части? Читать очень неудобно:

 

 

[sr_idle@check_game_difficult_and_actor_outfit]
on_actor_inside = %=lab_x7_check_game_difficult =lab_x7_biohazard_check_actor_outfit% {-lab_x7_actor_chose_hight_difficult -lab_x7_actor_have_bioprotection_outfit} sr_timer@biohazard_without_bioprotection_outfit_low_difficult, {-lab_x7_actor_chose_hight_difficult +lab_x7_actor_have_bioprotection_outfit} sr_timer@biohazard_with_bioprotection_outfit_low_difficult, {+lab_x7_actor_chose_hight_difficult -lab_x7_actor_have_bioprotection_outfit} sr_timer@biohazard_without_bioprotection_outfit_hight_difficult, {+lab_x7_actor_chose_hight_difficult +lab_x7_actor_have_bioprotection_outfit} sr_timer@biohazard_with_bioprotection_outfit_hight_difficult

 

 

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

@Silver Raven,

on_actor_inside  = ...
on_actor_inside2 = ...
on_actor_inside3 = ...
...
Но не всегда такое разделение будет равнозначным - зависит от конкретной логики.
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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