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

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


Halford

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

Сталкеры, помогите, сделал скрипт на убийство NPC хитом(не npc:kill(obj)), получил вылет с ошибкой:

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ....k.e.r. 1.0004\gamedata\scripts\explode_bomba.script:12: attempt to index global 'npc' (a nil value)

 

Вот скрипт из explode_bomba:

function moth()
    for a=10,65635,1 do
    local obj=alife():object(a)
        if obj and string.find(obj:name(),"dolg_regular") then
                if obj == nil then return end
                local h = hit ();
                h.power = 10000;
                h.direction = vector():set (0, 0, 0);
                h.impulse = 0;
                h.draftsman = obj;
                h.type = hit.explosion;
                npc:hit (h);
end
end
end

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


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

8push5, теперь вылет такой:

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ....k.e.r. 1.0004\gamedata\scripts\explode_bomba.script:12: attempt to call method 'hit' (a nil value)

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


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

И всё таки ещё вопрос, я сделал предмет, и когда я его в игре использую, то вылазит рамка с кнопками, но проблема заключается в том, что рамка вылезет в том случае, если я нажму выкинуть предмет, а надо было, что-бы при нажатии использовать она вылезла, как решить это?

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


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

Halford, зафиксировать этот объект(кость зафиксировать), и если в all.spawn делать то вот:

[последнее число в all.sapwn]
section_name = physic_destroyable_object
name = любое название
position = -141.698059082031,-22.8454513549805,-353.901885986328
direction = 0.0872493088245392,3.1415901184082,-9.62032299867133e-006
game_vertex_id = 0
distance = 0
level_vertex_id = 594270
object_flags = 0xffffff3a
custom_data = <<END
END
story_id = любое число, но не имеющееся в файле id_story
visual_name = physics\decor\rupor -путь до модели
physic_type = 0x3
fixed_bones = link  --И если не ошибаюсь, то зафиксировать, название кости

mass = 10

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

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


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

RvP, может у снорка есть скорость восстановления PSI, ну контроллёр его гоп-гоп , а снорк оддышался и побежал.

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


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

Green Stalker, хороший скрипт, может попробовать сделать?

Может выйдет что, щас попробую, вроде можно дружественного НПС с радиуса 100 метров призвать к себе.

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


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

Green Stalker, можно ещё так более точно:

function hit_nanesti()

for a=1,65635,1 do

local obj=level.object_by_id(a)

if obj and string.find(obj:name(),"explosive_barrel") then

local h = hit ();

h.power = 10000;

h.direction = vector():set (0, 0, 0);

h.impulse = 0;

h.draftsman = obj;

h.type = hit.explosion;

obj:hit (h);

end

end

end

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


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

levonxxx, скачай шпаргалку от n6260(у него в профиле есть)

Там много чего есть, а по делу gamedata\config\weapons\weapons.ltx

Ищешь:

time_step = *(*какоето значение)

Пишешь после равно 33, что бы получилось:

time_step = 33

Всё. Качай шпаргалку.

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


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

narkdozor, ну это надо декомпилировать all.spawn.

Качаем ACDC для нужной версии и дкомпилим.

Появятся ltx файлы. Открываем кордоновский.

Там вбиваем поиск: actor и найденную секцию вырезаем(но перед вырезкой скопируй её).

Теперь идём в файл бара и там добавляем в самый конец файла секцию actor'a.

Но надо присвоить свой ID(Последний).

Теперь меняем координаты на нужные(Консоль: rs_stats 1(Позиция камеры, запоминаем значения))

Главное не забыть сменить lv,gv вертексы. Их берём из любой секции файла бара.

Всё.

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

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


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

А вы знаете, что на официал форуме кому-то удалось прицепить клавиши использования антирада, и т.д.?

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


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

SCRIPT.

Делай стандартным методом: rs_stats 1

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

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


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

SCRIPT,

Руся это сделал через кнопку TAB?

Просто новая версия сделана через ASI(C++).

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


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

Товарищи!

Кто знает, что за ошибка:

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

Добавил монстра - скелет(Автор ЖуКа, вроде бы...)

И при убийстве такая ошибка.

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

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


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

Что такое zone_surge?

У меня стала вываливаться ошибка, что не находит его.

Именно после установки книжного мода.

Полазил в info_portion и по удалял <article>zone_surge</article>.

Ошибка пропала, но не знаю что из-за этого будет.

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


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

BadSven.

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

Есть консольная программка.

PETool.

Зайди на инсайд, там должно быть.

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


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

Здравствуйте Товарищи!

Не подскажете одиночное выполнение скрипта.

Скрипт сделан через биндер.

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


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

Коротко. У меня скрипт, выводит время по часам в виде сообщения.

Нужно, что бы один раз выполнилось, и через 24 часа снова показалось сообщение.

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


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

lekzd, вот кароче:

function test()
if onif == 1 then
   local ber = level.get_time_hours()
   local der = level.get_time_minutes()

if ber == 0 and der == 0 and level.get_weather("default") and flag then
    local sactor = alife():actor() 
    local cactor = level.object_by_id(sactor.id) 
    cactor:give_game_news(
        "%c[255,255,1,1]DiVares\\n%c[255,1,255,1]Время: 00:00:00",   
        "ui\\ui_iconstotal",        
        Frect():set(1079,799,83,47),  
        math.random(1000, 3000),     
        50000                         
        )
flag = false
end

И вот вобщем, функция даёт цикл, тоесть колбасит эти сообщения целую минуту, что очень много, надо только раз.

Шас тут подумаю ещё, сделал по совету флаг, но функция выдаётся и всё, флаг ставится на false.

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

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


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

Gonarh, спасибо!

Но уже сам сделал, создал 24 флага, и отключение оного, включение предыдущего.

Но всё равно, будем ваш юзать)

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


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

Товарищи, можно ли как то проиграть анимацию или заставить проиграть анимацию для объекта скриптом?

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


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

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