-- определяем нпс по сиду. Сид берётся\пишется в файле game_story_ids.ltx (\config\) У Волка например сид будет 006.
local npc = level_object_by_sid( номер сида )
-- ставим бессмертие (условно, от действия kill() он конечно сдохнет). Тоже можно провернуть и для ГГ.
npc.health = 1
Всё это дописываешь в апдейт актора (в bind_stalker, в конец функции actor_binder:update(delta))
Хотя можно и фастколом (fastcall()), дабы биндер не захламлять
Вот: local npc = level_object_by_sid( номер сида )
npc.health = 1
Вызов этой функции делай постоянным
отредактировал(а) Deviks: 12-04-2010 10:45 GMT3 час.
Deviks ?
-- определяем нпс по сиду. Сид берётся\пишется в файле game_story_ids.ltx (\config\) У Волка например сид будет 006.-"Это нашёл
local npc = level_object_by_sid( номер сида )-это где?
-- ставим бессмертие (условно, от действия kill() он конечно сдохнет). Тоже можно провернуть и для ГГ.
npc.health = 1
Всё это дописываешь в апдейт актора (в bind_stalker, в конец функции actor_binder:update(delta))
Хотя можно и фастколом (fastcall()), дабы биндер не захламлять-Где это всё писат
P.S.Прости за наглость я токо начинаю моды делать)
АнархОПанк
Точно, перепутал с ACDC.
Понятия не имею каким алгоритмом паковались эти файлы .xdb1.
У меня таких нет, поэтому предположу что таким же. Я сделал так.
Скопировал стандартный .dba, изменил расширение на .xdb1
Затем Total Commander-ом (с установленным плагином от malandrinus) распаковал.
Поэтому возможно что и оригинальные распакует.
function immotral()
local npc = level_object_by_sid(006) --волк
local npc2 = level_object_by_sid(092) --проводник
local npc3 = level_object_by_sid(032)-- кузнецов
local npc4= level_object_by_sid(100) --серый
npc.health = 1
npc2.health = 1
npc3.health = 1
npc4.health = 1
end
хотя лучше наверно так будет - с проверкой на существование
function immotral()
local npc = level_object_by_sid(006) --волк
local npc2 = level_object_by_sid(092) --проводник
local npc3 = level_object_by_sid(032)-- кузнецов
local npc4= level_object_by_sid(100) --серый
if npc then
npc.health = 1
end
if npc2 then
npc2.health = 1
end
if npc3 then
npc3.health = 1
end
if npc4 then
npc4.health = 1
end
end
или так
function immotral()
local npc = alife():story_object(006) --волк
local npc2 = alife():story_object(092) --проводник
local npc3 =alife():story_object(032)-- кузнецов
local npc4= alife():story_object(100) --серый
if npc then
npc.health = 1
end
if npc2 then
npc2.health = 1
end
if npc3 then
npc3.health = 1
end
if npc4 then
npc4.health = 1
end
end
в общем какой правильней будет не знаю - проверять надо.
функцию положи в любой файл с расширением script
вызов функции поставь в файле bind_stalker.script
в теле (то есть внутри) функции function actor_binder:update(delta)
например после строчки
--апдейт схемы детектора
self.actor_detector:update() имя_файла.immortal() -- вызов твоей функции бессмертия
имя файла - это имя файла куда ты положишь функцию.
в файл test.script
пиши test.immortal() и т.д. Можно создать свой файл - можно положить в любой который есть - но только в тот который находится в папке scripts и имеет расширения script
Работоспособность всего этого не проверял.
вообще в модах бессмертие квестовым персам через конфиги делается.
только объяснять как это сделать - долго...и лень :-)
отредактировал(а) erlik: 12-04-2010 13:22 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
АнархОПанк, конвертером от бардака, именно им я и запаковывал свой новый мод.
Вот так выглядит батник запаковки:
converter -pack имя_папки -out имя_будущего_файла.xdb0
pause
А вот так - распаковки:
converter -unpack имя_файла.xdb0
pause
Вопрос по графике. Как мне редактировать картинку в «DSS» формате. К примеру я хотел редактировать костюм бандита открыл картинку фотошопом вижу всё по кусочкам я итак крутил но никак не могу понять как его можна разобрать по кусочкам. Так же само оружия. Ребята помогите я только учусь пользоваться фотошопом.
1. Вы сейчас в интернете
2. Вы на сайте stalker-portal
3. Вы читаете
5. Вы не заметили, что отсутствует пункт 4
6. Вы это проверили
7. Вы улыбаетесь
8. Поставь себе в подпись и нас будет больше
Максим Р. Ну слава богу даАААААААААААААААААА. Не могу врубится что делать
1. Вы сейчас в интернете
2. Вы на сайте stalker-portal
3. Вы читаете
5. Вы не заметили, что отсутствует пункт 4
6. Вы это проверили
7. Вы улыбаетесь
8. Поставь себе в подпись и нас будет больше
djslavikoz, я, конечно, не спец в этом, но я делаю так. Допустим, нужно перерисовать какую-нибудь деталь. Нахожу на текстуре фрагмент, похожий на деталь, перерисовываю его как-нибудь, сохраняю. Потом через програмку OGFViewer просматриваю модель с новой текстурой. Ну а там уже видно будет, то перерисовал или нет.
АнархОПанк, пожалуйста:-).
отредактировал(а) Максим Р.: 12-04-2010 13:38 GMT3 час.
Максим Р. ох, спасибо! Распаковал. А то хотел локу поюзать в СДК, а распаковать блин ни как, ич е только не пробовал, даже DB унпакер вскрыл и изменил файлы которые он может извлекать.. СПАСИБО!
скачал простенький мод (только!)добавляющий машины.но расположенны они неудобно(все на кордоне).как называются машины в xrSpawner?помогите пожалуйста:-(
Пипл, вот смторите:
function have_vodka_conserva_test(first_speaker, second_speaker)
return first_speaker:object("vodka") ~= nil
end
Эта функция проверяет наличие Водки у ГГ,а как сделать,чтоб эта фунция проверяла не одну бутылку водки,а две например?
1. Вы сейчас в интернете
2. Вы на сайте stalker-portal
3. Вы читаете
5. Вы не заметили, что отсутствует пункт 4
6. Вы это проверили
7. Вы улыбаетесь
8. Поставь себе в подпись и нас будет больше
Кто нибудь может подсказать функцию, которая вызывается при снятии костюма? Другими словами если ты хочеш снять костюм в контекстном меню есть надпись "Убрать в рюкзак" какая функция за это отвечает?
karavan
метод C++ - то есть функция из движка.
Вообще все или почти все функции связанные с меню зашиты в движок.
...но всегда есть выход - можно и самом**5004001a66cf24ce67c0** actor:iterate_inventory( function (dummy, item)
if item:section() == section then cnt = cnt + 1 end
end, nil)
return cnt >= number
end
return false
end[/code]
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik разрабы вроде C и Lua скрещивали...если посомтреть из-за чего, то можно хорошо поднять настроение))
А в функции ты передаёшь number, а его назначать не надо?...ты ведь по идее сравниваешь два значения, и ещё это ведь не запоминается нигде, на псторах проще выйдет
Struck
если функция рабочая - то чего еще надо?
и ничего там назначать не требуется. И запоминать тоже ничего не надо.
Знаешь как по другому - вариант в студию.
Покажи мне в каком месте здесь написано С
List of the classes exported to LUA C++ class entity_memory_object : memory_object {
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Struck
а подумать?
эта функция не для этого.
ты как будешь производить пересчет кол-ва нужной вещи в инвентаре эктора без итерации инвентаря?
человеку требовалась функция для ПРЕКОНДИШЕНА. То есть она должна в момент своего вызова возвращать true или false в зависимости от того соответствует ли число вещей в рюкзаке ГГ заявленному или нет.
насчет переменных которые якобы у меня не назначены - работай с SCITE иначе вполне очевидные вещи останутся для тебе тайной.
function fun(number, section) - это параметры которые функция принимает и назначаются им значения в другом скрипте.
local cnt = 0
if section == "секция" then
cnt = number +1
end
return cnt>= number
end
function check()
if fun(2,"секция") then --а это аргументы которые передаются в первую функцию при вызове второй благодаря чему параметры в первой не остаются без назначения
print ("yes")
else
print ("no")
end
end
check()
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Struck
без метода полного перебора инвентаря ничего работать не будет.
так что юзай свое если нравится иметь неправильные результаты.
number это параметр принимающий значение аргумента заявленного числа вещей.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.