Пользователей: 2
Гостей: 1568
Всего: 1570

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-06-2010 10:18 GMT3 час. #1274985   
Stalk15
честно скажу - давно с квестами не работал - но тебе по моему нужно так сделать -
саму функцию нужно слегка изменить - убрать выдачу инфопоршня оттуда
functuon mochim_five_nps()
if has_alife_info("первый_грохнут") and
has_alife_info("второй_грохнут") and
has_alife_info("третий_грохнут") and
has_alife_info("четвертый_грохнут") and
has_alife_info("и_пятый_наконец") then
return true -- функции complete должны возвращать либо true либо false
else return false
end
end


а сюда (как Deviks и указал ) вписать имя функции
имя_файла.mochim_five_nps
и добавить поршень на завершение задания - он будет (если не ошибаюсь) выдан если все условия функции выполнятся
твой_поршень_на завершение
в общем как то так :-)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 11:07 GMT3 час. #1275012   
erlik, Deviks
Спасибо вам, так все работает.

добавлено спу**5001c54314580bda8be6**ot_ser(obj_id, type, text)
end
end[/code]

Вот, "наюзал" такую функцию спавна метки в пда.Как в эту функцию вписать координаты?

отредактировал(а) Stalk15: 21-06-2010 11:48 GMT3 час.

Новые фишки для сталкера(см. журнал)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-06-2010 12:45 GMT3 час. #1275058   
Stalk15
метка вешается не на координаты, а на айди - в твоей функции айди это obj_id - остальное сам знаешь.
то есть вызов делается так
add_spot_on_map(obj.id,"green_location","мой текст метки")
причем предварительно переменной obj нужно назначить ссылку на нужный объект
local obj = равен юзердате объекта


djslavikoz
эти функции start_small_reject и start_full_reject - (файл xr_effects) давно всем известны - и толку от них мало.

отредактировал(а) erlik: 21-06-2010 13:04 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 13:00 GMT3 час. #1275064   
erlik
Что такое юзердата объекта?А вместо obj.id само число id'а вписы


Новые фишки для сталкера(см. журнал)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-06-2010 13:11 GMT3 час. #1275072   
Stalk15
его то как раз можно вписывать. Только откуда ты само число айди возьмешь?
обычно сначала получают юзердату объекта, а по ней уже - через метод id () либо свойство id - получают айди.

юзердата это скажем так массив данных объекта.
в общем это то что мы получаем определяя объект по айди или сиду или еще как.

определение серверного объекта:
alife():object("...") по уникальному имени из allspawn

и клиентского объекта соответственно:

level.object("...") по уникальному имени из allspawn

Так же, определение по айди.
Серверного объекта:

alife():object( id объекта )

И клиентского:

level.object_by_id( id объекта )

Ну и конечно же по сиду.
Серверного объекта:

alife():story_object( sid объекта )

И клиентский объект:

level_object_by_sid( sid объекта )

db.actor --клиентский объект

alife():actor() --серверный объект


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 13:34 GMT3 час. #1275090   
Вообщем решил для начала начать с легкого -


Новые фишки для сталкера(см. журнал)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-06-2010 14:07 GMT3 час. #1275108   
Stalk15
потому что два ноля лишние. А во вторых sid это story_id, а не айди.
я же тебе написал как определять объекты
если у тебя есть сид берешь метод alife():story_object( sid объекта )
пишем local obj = alife():story_object( 6 )
получили ссылку на юзердату волка по его сиду.
теперь можем определить его айди.
local obj_id = obj.id - получили айди волка через свойство id
вызываем функцию и передаем ей аргументы
имя_файла.add_spot_on_map(obj.id,"green_location","Волчара")

а самой функции убери все все эти параметры - она должны быть как была
function add_spot_on_map(obj_id,type,text)
if obj_id then
if not text then text = "no_text"
end
level.map_add_object_spot_ser(obj_id, type, text)
end
end


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 14:08 GMT3 час. #1275110   
Тут недавно Gun12 писал облегченную функцию прове

отредактировал(а) Stalk15: 21-06-2010 14:17 GMT3 час.

Новые фишки для сталкера(см. журнал)
Artos
    
Посты: 4176
Откуда:
Возраст: 65
21-06-2010 14:36 GMT3 час. #1275137   
erlik , ты запутал совсем Stalk15'го. :-)

Поясни ему все же, что объект (object) и изердата объекта (userdata) собственно в кодах игры одно и то же. Различие имеется только в голове у игрока, который юзердату представляет себе как некого перса, монстра, предмет ...

Поэтому фразы типа:
  определение серверного объекта:
    alife():object("...") по уникальному имени из allspawn

строго говоря должны звучать как:
  определение массива данных (userdata) серверного объекта:

Но т.к. все мы постоянно говорим все же жаргоном, сокращая длинные понятия/названия, вот и превращается 'массив объекта' в сам 'объект'.

Упрощенно: В игре объекты есть, в кодах (скриптах/конфигах) - только массивы/таблицы и переменные (строки, числа). (Функции и операторы - опускаем).


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 16:01 GMT3 час. #1275216   
erlik
Работает, еще раз спасибо.

------------------------------------------------------------------------------------------------------------

Вот так правильно**5001c54314580bda8be6** this.remove_spot_from_map(obj.id,"green_location")
end
[/code]


Новые фишки для сталкера(см. журнал)
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
21-06-2010 16:08 GMT3 час. #1275223   

Тут недавно Gun12 писал облегченную функцию проверки на взятие многих итемов:

Эта функция не подходит для проверки на наличие всех трёх сразу, а только одного\двух\трёх. Т.е. если есть хотя бы один итем, то выдаётся инфо.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
21-06-2010 16:44 GMT3 час. #1275243   
Stalk15
Если немного поработать головой и понять что же требуется и ка

отредактировал(а) Artos: 21-06-2010 18:03 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 17:06 GMT3 час. #1275252   
Artos
Спасибо за доработку функции...
А как же тогда быть в таком случае?Как эти перенменные можно сохранить в сейв?


Новые фишки для сталкера(см. журнал)
Artos
    
Посты: 4176
Откуда:
Возраст: 65
21-06-2010 17:14 GMT3 час. #1275263   
Stalk15
Глянь заново функцию, я там и чуть подправил и дал еще один вариант (чем-то проще). Пора бы уже самому такие простые вещи далать! Ведь ничего нового не применено!

Ну а как сохранять в сэйвах - смотри как это (сохранение и в сэйв) делается у разрабов/в модах. Наиболее простое - сохранять в сторадже актера и при загрузке из него читать..


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
21-06-2010 17:59 GMT3 час. #1275308   
Artos хочу спросить. В опциях есть кнопочка "Распознование НПС", т.е когда я ее убрал (А она делает то что мне нужно, т.е НПС нельзя распознать если навести мушку), подскажите, когда кликаешь на эту кнопку то срабатывает та или иная функция, ну допустим show_npc = true/false (Это просто как пример) так вот это значение запоминается в движок, или же в скрипт?


Artos
    
Посты: 4176
Откуда:
Возраст: 65
21-06-2010 18:06 GMT3 час. #1275315   
АнархОПанк
Почти все настройки/параметры, которые ты устанавливаешь в меню "Опции", сохраняются в файл 'user.ltx', откуда они уже и читаются движком/скриптами при старте новой/старой игры.

Когда ты в главном игровом меню - практически все типовые 'игровые' скрипты уже не работают (в паузе) и соответственно воспринимать прямые изменения не могут. 'Работают' только установочные и иные 'неигровые' скрипты (созранения/загрузки/опций/... и т.п.).


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
21-06-2010 18:30 GMT3 час. #1275333   
Artos

Работать будет, но(!) до первого перезапуска игры (в том числе естественно и при переходе на др.локацию)


Странно, я заспавнил метку, сохранился, загрузил это сохранение и вылета не было.Еще сделал то же самое только метку заспавнил и удалил, загрузил - вылета тоже не было...


Новые фишки для сталкера(см. журнал)
Artos
    
Посты: 4176
Откуда:
Возраст: 65
21-06-2010 18:36 GMT3 час. #1275336   
Stalk15
Когда человек невнимателен к написанному/к словам и не особенно затрудняет себя логикой - программированием ему заниматься противопоказано затруднительно.

1. Вылет и НЕ удаление метки - не одно и то же.
2. "может меняться" - не обязательно 'меняется'.
3. Ты спрашиваешь/пишешь функцию 'удаления метки' или некую 'нефатальную', не приводящую к вылету?

Если ты пишешь некий код по принципу "авось сработает ... иногда" - то все выше написанное к тебе не относится.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-06-2010 19:07 GMT3 час. #1275349   
Artos

Нет продвижения по убиранию виджета из инвентаря?
----------------------------------------------------------------------------
Я тут хотел еще трекбар (он же слайдер, он же ползунок) добавить... но не получилось - либо вылетало либо ничего не отображалось. Да и бросил это дело тем более что каллбеки на события изменения положения ползунка и методы вычисляющие его положение в классах экспортированных в lua из С++отсутствуют. А для сохранения всех пользовательских настроек вызывается движковая функция COptionsManager() А без этой интерактивности вывод трекбара бесполезная штука. А жаль - можно было прямо в игре менять динамически значения числовых переменных(можно конечно и по другому это делать - но ползунком в моем случае удобнее).

Хотел давно спросить - нет ли случайно в релизной версии сталкера методов по отображению трехмерной модели в интерфейсных окнах? (просто по опыту создания интерфейса знаю что для этого дела требуется специальный компонент интерфейса (например Viewport3D в .Net) который и позволяет отображать в плоском мире окна 3D изображение).
Видел в каких то роликах по сталкеру как в инвентаре (в отдельном окошечке над описанием) крутится моделька (или все таки текстура - качество видео плохое было) пачки патронов при клике на иконку пачки. Налицо была ротация по кругу относительно вертикальной оси. Вот и возникают мысли - а как бы это реализовать - но методов для 3D модели так и не нашел.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
21-06-2010 20:10 GMT3 час. #1275401   
erlik
По виджету пока ощутимых результатов нет. Пока подправляю схемы логики ...

Ну а насчет 3D-отображения объектов - не замечал в исходниках.

Да и не стОит в ТЧ искать (ИМХО). Даже 3D- и стерео- звук и то в ТЧ приделан разрабами похоже в самый последний момент.

Ну а для презентаций/роликов - голь на выдумки хитра. Построение потемкинских деревень изобретено давно, только ... жить в них низЯ.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
vovang
    
Посты: 68
Откуда:
Возраст: 38
21-06-2010 21:18 GMT3 час. #1275466   
Как сделать,что бы вхождении в лабораторию на Янтаре не включался квест на отключение выжигателя?


Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
21-06-2010 21:21 GMT3 час. #1275470   
vovang
выдачу поршня убери и все дела.


vovang
    
Посты: 68
Откуда:
Возраст: 38
21-06-2010 22:22 GMT3 час. #1275532   
Николай ФеНиКс
Подскажи в каком файле может быть выдача поршня.


АнархОПанк
    
Посты: 998
Откуда:
Возраст:
21-06-2010 23:35 GMT3 час. #1275577   
Artos спасибо, за предыдущий ответ. Еще вопрос... Знаете почему может происходить БЕЗлоговый вылет, когда берешь гранаты в руки, раньше такого и в помине не было:poisk


Ded-Mazai
    
Посты: 7
Откуда:
Возраст:
22-06-2010 00:08 GMT3 час. #1275580   
Люди, подскажите такой момент: увеличиваю живучесть мутантов и нпс, не могу найти жизни и иммунитеты зомбированных сталкеров. Иммунитеты в m_stalker_zombied.ltx не влияют на них.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
22-06-2010 00:45 GMT3 час. #1275586   
АнархОПанк
Почему бывают безлоговые вылеты - знаю. Причин множество, от кривых конфигов/xml-ек, до некорректно применяемых методов.
Почему у тебя 'из-за гранат' - не собираюсь даже гадать. Не имея всех кодов в подобных ситуациях и при подобных вам правках/дополнениях - все что угодно может всплывать.
Используй в своих 'новых' кодах выводы в логи и читай их - тогда можно отыскать причину. А без этого - или погадалки или по'тык'айки.


Ded-Mazai
Есть такие понятия 'инкапсуляция' и/или 'наследование'.
В упомянутом тобою "m_stalker_zombied.ltx" есть '[stalker_zombied]:stalker' - это означает, что секция зомби-сталкера наследует параметры секции '[stalker]' (в текущие параметры/конфиги инкапсулированы родительские).
Т.о. или правь общие 'жизни' для обейх секций (в '[stalker]') или прописывай свои, отличные от родительских.
Судя по тому, что тебе не удается править иммунитеты в файле для зомби-сталкеров - потренируйся на чем-нибудь попроще.

отредактировал(а) Artos: 22-06-2010 00:59 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
FlyEngine
    
Посты: 44
Откуда:
Возраст: 28
22-06-2010 00:59 GMT3 час. #1275587   
Вопрос. Есть некая функция по вызову другой функции (насколько я понимаю). Вот, например:
if self.object:spawn_ini() ~= nil and self.object:spawn_ini():section_exist("drop_box") == true then
self.box_items = xr_box.ph_item_box(self.object)
end
Из файла bind_physic_object.script (оригинал, не ковырял).
Цветом выделено то, в чём указывается в логе при вылете. Я так понимаю, должна вызываться какая-то функция, но по логу она имеет нулевое значение(оранжевая). xr_box - другой файл, а не функция. Почему игра его так коряво видит и что делать, чтобы работало?


Artos
    
Посты: 4176
Откуда:
Возраст: 65
22-06-2010 01:13 GMT3 час. #1275590   
FlyEngine
Если у тебя при выполнении строки типа:
  self.box_items = xr_box.ph_item_box(self.object)
в лог выводится фатальная ошибка с 'руганью' типа на 'xr_box.script' == nil' - возможны 3 варианта.

а) Файл отсутствует или, если он в запакованых '*.dbX', - особености твоего компа приводят к потере кешированых распакованых файлов игры. Попробуй распакуй этот файл 'ручками' в требуемое место/папку

б) по какой-то причине этот файл у тебя оказался 'битым' (имеются синтаксические ошибки в LUA-скриптах). Проверь LUA-чекером или чем-то подобным;

в) какие-то предыдущие операции/обращения к этому файлу/модулю (xr_box) привели к 'прерыванию потока'. Т.е. фатальной ошибки, приводящей к вылету, не было, но модуль оказался заблокированым, что соответственно блокирует все остальные вызовы этого модуля. Лечение: искать тот вызов, который приводит к блокировке данного модуля и в нем искать причину блокировки/ошибки.

Может есть и иные причины, но ... скорее модификации/комбинации указаных.


Прим: Т.к. в вопросе некорректность:

... должна вызываться какая-то функция, но по логу она имеет нулевое значение(оранжевая)
- оранжевым выделен собствено сам модуль/файл 'xr_box.script'. Поэтому выше указаное справедливо для файла, а не функции 'ph_item_box()' в данном файле.

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

отредактировал(а) Artos: 22-06-2010 01:50 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
22-06-2010 01:29 GMT3 час. #1275594   
Artos так именно, в чем дела то. То что из изменений гранат, только анимации от KingFriday, Конфиги да же не тронуты... По началу все работало. Чтож, ладно, спасибо. Буду искать.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
22-06-2010 01:33 GMT3 час. #1275596   
АнархОПанк
Ты уже не раз оперируешь якобы фактом: "По началу все работало".
Факт в том, что если работало и НИЧЕГО не менялось - И должно продолжать работать.
Если перестало - ищи в своих, нам неизвестных, последних действиях/правках перед возникновениемошибки!

Советую делать резервные копии промежуточных работающих вариантов. Так ты сможешь хотя бы найти что ты менял ...

отредактировал(а) Artos: 22-06-2010 01:46 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени


Форумы Архив » Свалка Вопросы и ответы (по 15.07.10)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»