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

14.07 около 15.00 форум будет временно отключен для переезда

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


Halford

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

Но тогда ещё один вопрос - тогда что ли все новые (модифицированные) стволы нужно туда прописывать?

 

Да, иначе при дропе ствола на землю будет вылет.

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


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

Krevedko

Всё что тебе надо, это gamedata\scripts\bind_stalker.script и в этой же папке свой файл с расширением .script.

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

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


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

Всех с Наступающим.

У меня есть очень важный вопрос(для меня), от которого в общем зависит судьба моего мини мода.

Проблема такая - я функцией выдаю актору случайное однотипное задание из таблицы. А проблема в том, что когда я записываю в таблицу названия однотипных тасков(например tm_eliminate_camp_1) из task_manager.ltx, то при старте ф-ии выскакивает такой баг:

Expression    : start_node && path
Function      : CXml::NavigateToNode
File          : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp
Line          : 97
Description   : NavigateToNode failed in XML file 
Arguments     : gameplay\game_tasks.xml

Раньше успешно тестил на вырезанных задания(типа 'sar_warlab'), и вот перед самым релизом такой досадный баг :ny_sad:

Помогите пожалуйста.

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

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


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

lekzd

Нет, не менял. И инклуды, записанные в нём, то же не менял.

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

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


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

lekzd

Проблема в том, что любое задание(пробовал около 15 штук), которое я хочу получить, вылетает с такой ошибкой.

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

Незаю чё делать :ny_mellow:

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

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


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

malandrinus

Вот часть(другая часть ненужна, там таймер):

function f_1()
local rnd_tsk_1 = {} --\ Список тасков для Сидоровича
local rnd_1 = rnd_tsk_1[math.random(#rnd_tsk_1)]
local new_task_1 = CGameTask()
if db.actor:dont_has_info('info_1') then
	new_task_1:load(rnd)
	db.actor:give_task(new_task_1, 216*100000, false)
	db.actor:give_info_portion('info_1')
	tim_1 = time_global()
else
	news_manager.send_tip(db.actor, 'У меня сейчас нету заданий для тебя.', 0.5, 'trader', 3600)
end
end

 

Знающие люди подсказали парсить конфиг, секцию

  • , но всё равно вылетает с таким же логом.

Неужто придётся превращать все однотипные задание в "подобие неоднотипных"(всмысле писать их в task_level.xml)?

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

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


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

Lebedev

Функция спавна выглядит так:

function spawn()

alife():create("объект",vector():set(x, y, z), level_vertex, game_vertex)

end

 

Вызываешь любым удобным для тебя способом. Как координаты получать думаю знаешь.

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


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

Lebedev

db.actor:give_info_portion("info") -- метод выдачи поршня актору. Пишется прямо в ф-ю.

 

Для НПС нужно в all.spawn, в файле way_level.ltx прописать path_look и walk_look.

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


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

Создаю новую шкалу. Столкнулся с такой проблемой, что не установить что длину, что ширину самой полоски - ругается, что SetWidth() или SetHeight() принимают нулевое значение. Вот код:

local main_hud = get_hud()
function my_hud()
if main_hud:GetCustomStatic("hud_wpn") == nil or main_hud:GetCustomStatic("p_hud_wpn") == nil then
	main_hud:AddCustomStatic("hud_wpn", true)
	main_hud:AddCustomStatic("p_hud_wpn", true)	
end
local hud = main_hud:GetCustomStatic("p_hud_wpn")
if hud then
	hud:SetWidth(100)
	hud:SetHeight(10)
end
end

 

Сам конфиг шкалы из ui_custom_msgs.xml выглядит так:

	<hud_wpn x="860" y="508" width="155" height="34">
	<texture>ui_hud_shkala_health</texture>
</hud_wpn>

<p_hud_wpn x="33" y="5" width="110" height="10" horz="1" min="0" max="100" pos="0">
	<progress>
		<texture>ui_hud_shk_health</texture>
	</progress>
</p_hud_wpn>

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


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

Gonarh

Ты имеешь ввиду эту статью?

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

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


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

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

_http://img8.imageshack.us/img8/7466/65491876.jpg

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


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

Monnoroch

Так ведь это написано в самом начале оф. справки по Луа :)

"Lua является языком, чувствительным к регистру символов: and – ключевое слово, тогда как And и AND – два разных допустимых идентификатора."

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


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

Starter

Hex-редактором. Только далеко ты не уедешь.

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


Ссылка на сообщение
Функция нэт спавн запускается при начале игры и переходе на другую локу.

Добавлю, что при каждой загрузке игры тоже.

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


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

Vergas

Ну функция save(packet) это метод класса object_binder, и вызывается при каждом сохранении.

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


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

andrewrap

npc:kill() , если НПС в онлайне.

npc:on_death() , если в оффлайне.

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


Ссылка на сообщение
как выглядит функция проверки смерти сталкера

local npc = alife():object("имя_нпс")
function check()
  if not npc:alive() then
    return true
  end
end

- проверит, мёртв ли НПС.

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

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


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

elfog

Как уже было сказано, спавнить через create аномалию без правки пакетов нельзя. Спавни через функцию, которую выложил Kirag, с передачей параметров.

Если непонятно, что передавать, то поясню -

anom_name - название аномалии

plosh - радиус аномалии

position - позиция по x y z, передавать вот так - vector():set(x, y, z)

level_vertex_id - левел вертекс

game_vertex_id - гейм вертекс

powers_a - мощность аномалии

time_dangeros - это передавать необязательно, пользы от него я не заметил.

 

Вот пример такого вызова:

anoms.an_spawn("zone_witches_galantine", 4, vector():set(100, -20, 50) , 16437, 16, 1)

 

Собсно, тоже самое я писал в теме КоП на предпоследней странице.

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


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

Kirag

Небольшая поправочка. Аномалии zone_mincer_weak в ЗП нету. Я проверил все файлы аномалии, вот такая табличка существующих у меня вышла:

local zones_mine = {
    "zone_mine_acidic", -- зелёный пар с кислотой
    "zone_buzz", -- тоже кислота
    "zone_mine_electric", -- электра, только видно хуже (как в 'Железном лесу')
    "zone_witches_galantine", -- электра из тч
    "zone_mine_gravitational_strong", -- ну тут понятно
    "zone_mine_thermal", -- жарка
    "zone_zharka_static" -- тоже самое
}

Также есть ещё и поля (4 вида), не атакуют, но придают эффект при приближении.

 

Vano_Santuri

Всё это конечно хорошо, только смысла от этих weak, average и strong в этом случае нету. Ведь сила аномалии и радиус и так указываются скриптом.

 

Тфу блин, тема то по ТЧ. Kirag извиняюсь за ложную поправку.

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

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


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

elfog

У тебя функция спавна называется spawn_zone_mincer_weak(), а ты вызываешь некую ui_anomalii_menu.spawner().

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


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

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...
⚠ ВНИМАНИЕ! НЕ РЕКОМЕНДУЕМ ПРОИЗВОДИТЬ РЕГИСТРАЦИЮ НА ФОРУМЕ.