killer2203
Поставь ActivePerl Когда я начинал копаться с алл.спавном год назад, у меня такая же проблема была Arist
Не понял вопроса. Тебе нужно чтобы у актора отнимался фонарик болт и пда? Если да, то тогда я тебе сразу предупреждаю - отнимать болты фонарики и пда ненадо, ибо они нигде не продаются
Expression : vertex || show_restrictions(m_object)
Function : CPatrolPathManager::select_point
File : E:\stalker\patch_1_0004\xr_3da\xrGame\patrol_path_manager.cpp
Line : 155
Description : any vertex in patrol path [esc_sin_voron3_walk] in inaccessible for object [esc_stalker_nebo317047]
Я тут подумал, а если два телепата начнут читать мысли друг друга одновременно... Они умрут от переполнения стека?
fan fan
У обьекта по имени esc_stalker_nebo317047 есть преграда на пути. Тоесть у него прописаны пути, например walker, но он не может встать на этот путь, т.к перед НПС преграда. Правь координаты точек-поинтов.
erlik
Пару месяцев назад,вы мне дали изящную функцию спавна.
local tT=
{
["af_medusa"] = {-29.272364,0.230699,39.573017,63,2419},
["af_cristall_flower"] = {-27.690733,0.232351,41.362331,93,2419}
}
function SpawnArt(tT)
local sim = alife()
local vec = vector()
if tT and next(tT)~=nil then
for k, v in pairs(tT) do
sim:create(tT[k], vec:set(tT[v][1],tT[v][2],tT[v][3]),tT[v][4],tT[v][5])
end
end
end
Я вызывал её через диалог,напрямую: kfs_erste.SpawnArt
Вылет:
Всем привет.
Сделал странствующего торговца,а вот с места он не с двигается!
Всё вроде-бы продаёт,а стоит на месте как вкопанный,а мне надо чтобы он везде шлялся,хотябы доходил до лагеря новичков.
Вот его логика:
Arist
В этой функции была ошибка, которую я потом поправил, но ты видимо скопировал ошибочный вариант, в кот**5001001a66cf24ce67c0**ocal vec = vector()
if tT and next(tT) then
for k, v in pairs(tT) do
sim:create(k, vec:set(v[1],v[2],v[3]),v[4],v[5])
end
end
end
[/code]
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Есть идеи, как сделать того или иного персонажа бессмертным? Просто надоело во время перестрелок бояться не за свою шкуру, а за шкуру квестового персонажа. Например Беса.
Очень нужно)
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
Для создания бессмертного НПС надо либо поправить immunities.ltx, что с гарантией аукнется по всей игре, либо сделать копию модели, аккуратно поправить в ней #include и сделать/прописать секцию иммунитета для бессмертных
отредактировал(а) Gun12: 12-02-2011 22:41 GMT3 час. Не стань номинантом премии Дарвина.
Спасибо за ссылку. Как я понял, мне просто нужно взять модель Беса и вписать ему нужные мне иммунитеты?
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
aqraccy
Опередил меня Gun12 пока вспоминал как это делается:-)
Я ту статью не читал, но по логике это так реализуется:
Сделай уникальный виузал на базе того, который прописан NPC и этому визуалу пропиши в модели путь до своего файла с характеристиками иммунитета.
Открой любую модель хексом и увидишь там например это: #include "gilet_mask_damage_low.ltx" Это файл из папки models в котором (помимо прочего)указана конкретная секция из файла damage.ltx
[bone_protection]
bones_protection_sect = kombez_kupol_damage -- вот это название секции
и секция из файла immunities.ltx
[immunities]
immunities_sect = high_resistance ---- и это название секции
Каждая из них отвечает за стойкость костюма к разным воздействиям.
Как делают в модах: создают в файлах immunities.ltx и damage.ltx (или даже только в одном immunities.ltx ) свои секции с нужными характеристиками. А затем создают новый файл типа "gilet_mask_bessmertie.ltx" и указывают в нем уже эти новые секции. А в модели потом меняют название файла на свое (главное чтобы кол-во символов совпадало).
И получается, что перс имеет жилетку бессмертия, непробиваемую ничем.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Месяц назад в этой теме было.100% работает.
Бессмертие:
сделал так файл \Program Files\S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\m_person
если нет в папке взять в распакованом оригинале
Секции [trader_immunities] и [trader_condition] конец файла должны выглядеть так различие
[trader_immunities]
burn_immunity = 0.0 ;коэффициенты иммунитета
strike_immunity = 0.0
shock_immunity = 0.0
wound_immunity = 0.0
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 0.0
explosion_immunity = 0.0
fire_wound_immunity = 0.0
[trader_condition]
satiety_v = 0.0 ;скорость уменьшения сытости со временем
radiation_v = 2.0 ;скорость уменьшения радиации
satiety_power_v = 1.0 ;увеличение силы при уменьшении сытости
satiety_health_v = 1.0 ;увеличение здоровья при уменьшении сытости
satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
radiation_health_v = 0.0 ;уменьшение здоровья при воздействии радиации
morale_v = 0.0 ;скорость восстановления морали
health_hit_part = 0.001 ;процент хита, уходящий на отнимание здоровья
power_hit_part = 0.001 ;процент хита, уходящий на отнимание силы
psy_health_v = 0.1 ;скорость восстановления psy-здоровья
;открытые раны
bleeding_v = 0.0 ;потеря крови при номинальной ране в секунду
Опередил меня Gun12 пока вспоминал как это делается:-)
Я ту статью не читал, но по логике это так реализуется:
Сделай уникальный виузал на базе того, который прописан NPC и этому визуалу пропиши в модели путь до своего файла с характеристиками иммунитета.
Открой любую модель хексом и увидишь там например это: #include "gilet_mask_damage_low.ltx" Это файл из папки models в котором (помимо прочего)указана конкретная секция из файла damage.ltx
[bone_protection]
bones_protection_sect = kombez_kupol_damage -- вот это название секции
и секция из файла immunities.ltx
[immunities]
immunities_sect = high_resistance ---- и это название секции
Каждая из них отвечает за стойкость костюма к разным воздействиям.
Как делают в модах: создают в файлах immunities.ltx и damage.ltx (или даже только в одном immunities.ltx ) свои секции с нужными характеристиками. А затем создают новый файл типа "gilet_mask_bessmertie.ltx" и указывают в нем уже эти новые секции. А в модели потом меняют название файла на свое (главное чтобы кол-во символов совпадало).
И получается, что перс имеет жилетку бессмертия, непробиваемую ничем.
Да, спасибо всем и erlik в частности) Правда уже сам дотумкал и все получилось, но за старания - еще раз огромное спасибо! :)
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
Stalk15
Вызываю: kfs_erste.OnSpawnArt
Вылет немного другой:
[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 :
[error]Arguments : LUA error: d:\s.t.a.l.k.e.r\gamedata\scripts\kfs_erste.script:16: attempt to index field '?' (a nil value)
Ладно.Есть стандартный метод,alife():create.А насчёт торговца,чтобы он ходил,что-то в голове сидит,что ему надо ставить класс монстр.Вот только во время боя он может повести себя как монстр.
Gun12
(возвращаясь в Syntax Checker'у. Еще раз Огромное спасибо!)
Наткнулся на такой факт:
строка (с явно лишим одним из символов '-' или '*' в патерне): string.match('^%s*(.-*%S)') игрою однозначно определяется как 'с ошибкой', а верификация через "Syntax Checker" проходит с 'Ok'.
Это я в задел для работы над ..., когда время будет.
Artos
Я знаю про подобную ошибку. Спасибо что заметил.
Чекер расценивает значение в скобках как строку.
Поэтому, по его разумению, всё правильно. В принципе-то так оно и есть.
Модуль по проверке стринговых операций и передаваемых аргументов я сделал сразу же после релиза этой версии.
Он не пропускает подобных ошибок.
Осталось только внедрить. Но то ли лень, то ли ... стимул короче нужен.=)
ДатчикХабара
Во-первых, нафига писать пнеписям перематр(ы) (inv_max_weight), которые обрабатываются только для актора? Не фатально конечно, но стОит ли мусорить в логике ...
Во-вторых, если твой торговец сделан на базе [m_trader] а не [stalker...] - то он подчиняется схемам для монстров и никакие 'anim = sit' на него не подействуют.
Если пишешь 'С другими работает,а с этим нет' - так и приводи информацию что за 'другие' или чем от 'этого' отличается. Тут нет Кашпировских.
Artos
Любая стандартная анимка(кроме некоторых барменовских - но они вообще не работают на любых NPC, кроме бармена) пашет на NPC -торговце. Загляни в мой журнал - в статье по анимациям у меня целый цикл анимок прописан для одного NPC (а NPC у меня был торговцем на базе stalker_trader).
------------------------------------------- Датчик Хабара
У тебя чего написано в spawn_sections
[твой_сталкер]:stalker
или
[твой_сталкер]:stalker_trader ?
Нужно второй вариант писать.
отредактировал(а) erlik: 13-02-2011 14:40 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Насчёт торговца.Та же проблема.Добавляю:
trade = misc\trade_limansk.ltx
и он ведёт себя.как монстр.Убираю - снова человек.Можно ли прописаить путь к файлу торговли по другому.
Artos
Ну тут и я ошибся - то что невнимательно прочитал пост, но и ты зря ДатчикаХабара в "сумнения" вводил :-) - большинство ведь наследование от m_trader не делает (так как большинство ориентируется на статьи на вики), и, в основном, все указывают своим торговцам секцию stalker_trader - и следовательно никаких проблем с анимками тут быть не может.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.