CoP01, а как же. Без этого НПС бы и стоя не смотрел, куда надо.
А ты сам так пробовал? У тебя даже при движении все смотрят в точку path_look?
Недавно ещё такую проблему обнаружил: ставлю анимацию сталкеру, например, guard_na. В игре этот сталкер почему-то стоит с анимацией guard. Аналогично с hide_na - в игре НПС стоит как hide. Пробовал по разному, и через anim в remark'е, и прописывая анимацию на точке path_look, и в def_state_standing прописывал, ничего не помогает. Знает кто-нибудь, что с этим делать? (анимация по странной закономерности иногда всё-таки работает, например, после загрузки сейва около НПС)
Так и есть, такие анимки направленные стволом на кого либо, плохо отыгрывают в ремарке. Нужно дополгнять спейсрестриктором, как на заставе долга. Единственная анимка работает боле менее, где нпс направляет ствол на кого либо и передёргивает рукой. Анимация claim
Драммомент на Свалке, бандосы и Юрик.
"Бабки, артефакты гони, быстро блин - придурок!" У анимки своя озвучка, но через ремарку путь к озвучке можно поменять свой.
Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
Всем добрый вечер. Установил чистый сдк 4 для тч. Установил патч 4 на него. И пр**50016c9725ff35736f77**X-Ray SDK\level_editor\bins\XRECOREB.DLL" at 001B:012F3AA4, CEffect_Rain()+804 byte(s)[/code]
добавлено спустя 3 минут
А, всё))) ошибку нашёл. Теперь всё работает.
отредактировал(а) GHOST_V: 30-06-2013 18:58 GMT3 час. Верь - и всё будет хорошо...
Всем доброго времени суток!
Вопрос в следующем:
1) В каких файлах и какие строчки нужно править, что бы начальная логика Сидоровича(Когда он объясняет "Я тебя спас...") ушла в далекое прошлое и осталась только та, с которой он обращается к тебе в последующем(Обычная, если ее можно так назвать).
2) Где отключить звуковой файл в "ушах" Меченого со словами, все того же, барыги Сидоровича(Я тебя спас...)
3) Обязательно ли брать квест(на флешку), что бы отношение сталкеров, в лагере новичков, к тебе поменялось?(С "Стой меченый тебе в лагере рады не будут" на "Привет, Меченый!") Если нет, то как это можно обойти? Лазил в диалогах, но не увидел подобных поршней. Все связаны с квестом.
Буду премного благодарен!
P.s. Не сочтите за наглость в отношении количества вопросов. Без помощи не справиться.
dromundus, говоря коротко - "навешать" на БТР дополнительное обмундир**50206c9725ff35736f77**ello_played} mob_trader@new_idle1, mob_trader@new_start_wait[/code]на вот эту:[code]active = {+esc_trader_hello_played} mob_trader@new_idle1, mob_trader@new_start_intro3[/code]
2. Если мне не изменяет память, то эта фраза результат работы схемы mob_trader, на которой "сидит" Сидор. Проигрывается она в секции mob_trader@new_start_intro2, поэтому, если исправишь пункт 1 выше, то этот пункт решиться сам собой.
3. Отношение сталкеров не изменится ни до квеста, ни после. Квест на флешку лишь меняет доступные диалоги, а точнее фразы в диалоге escape_lager_guard_start_dialog (это конкретно тот диалог, в котором присутствует фраза "Стой, Меченый! Сейчас в лагере никто с тобой говорить не станет".) Этот диалог прописан охранникам на входах в лагерь в секции meet в гулаге. Конкретно должно интересовать секции meet@zoneguard_novice_lager1 и meet@zoneguard_novice_lager2, там узреешь параметр meet_dialog в котором и прописан данный диалог. Но, имхо, лучше изменить в этом диалоге (escape_lager_guard_start_dialog) условия на появление фраз:
Условие для фразы: "Стой, Меченый! Сейчас в лагере никто с тобой говорить не станет" - это phrase id="1" и отсутствие инфопорции tutorial_wounded_start;
Условие для фразы: "Привет, Меченый. Что нужно?" - это phrase id="11" и наличие инфопорции esc_path_to_lager;
Условие для фразы: "Тут тебя старший наш хотел видеть. Но это не значит, что тебе здесь рады. Проходи, не задерживайся." - это phrase id="12" и одновременное отсутствие инфопорции esc_path_to_lager и наличие tutorial_wounded_start.
По сути, можешь как-нибудь выдать инфопорцию esc_path_to_lager - и охранники у входов будут к тебе более дружелюбны.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Всем привет! Ребят, подскажите плииз**50016c9725ff35736f77**140830994,-121.9790802002), 66002,108)
end[/code]
активировать без участия диалогов, то есть также через уже существующие игровые скрипты, чтобы сразу при старте игры срабатывал спавн. Пробовал через db.script, после каждой перезагрузки сохранений срабатывают последующие спавны и следовательно получаю не один предмет а уже несколько... =( Кто если знает, подскажите пожалуйста
Safick, ограничь спавн**50016c9725ff35736f77**("этот же инфопоршень")
end[/code]
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
WERTER
1. Сделать по аналогии с военными под мостом на Кордоне.
2. Если хочешь на 100% избавиться от красных надписей в консоле, то ничем.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ViRTuS19, не очень ясно что тебе нужно соединить - текст или таблицы? Ведь text1 - это у тебя таблица...
Опиши задачу в общем. WERTER, ещё раз - сделать по аналогии с военными под мостом на Кордоне.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Приветствую! Подскажите,(может вопрос и "дикий";-) ) а можно ли скриптом снять функцию с апдейта? т.е. допустим стоит функция f1 на апдейте, а функция f2 выдает истину в какой то момент, и после этого f1 "снимается" с апдейта?...
ЗЫ... ColR_iT читал твой тутор по использованию скрипта xr_s.script но... с каллбеками не дружу...:-( поэтому, не стал даже пробовать.
frankenshtayn, жаль, что не дружишь - очень полезная вещь. Кстати, я и описывал там способ в нужный момент динамического подключения и отключения своих функций от других, в частности колбеков bind_stalker.script.
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
frankenshtayn, а что ты подразумеваешь под словами "для понимания "чайника""? Я старался как можно доступнее объяснять: >>ClicK Me<<, что тебе от туда не ясно?
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Упс... Извиняюсь, читал на ап-про и один спойлер пропустил... ===Имя функции из xr_s.script -> Имя функции куда вписывать -> Какой "колбек" из таблицы использовать для подключения/отключения === вот этот...:ye)
ColR_iT
По поводу БТР есть тут у меня одна мысль как можно БТР поправить в файле PH_CAR там можно попробовать дополнительные функции вставить.Жаль я не скриптер приходится методом тыка а это долго...Похоже надо одну строчку добавить.ОГФ модель уже подогнана....Осталось грамотно вставить в функцию
function action_car:update(delta)
пробую варианты но игра сноситься на ошибку в xr_logic....
но думаю это всё мои кривые ручки...Так как новый класс турреллей например легко создаётся с нуля и без ковыряния в движке..Мне просто не хватает базовых знаний....Хотя "чюйка" подсказывает, что это вполне выполнимо...
dromundus, если знаешь как - пожалуйста, думаю, что никто против не будет. Но только как ты будешь определять места из к
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
dromundus, я имею ввиду то, что класс на котором сидит БТР, поддерживает только два ствола. Если он хочет "прилепить" дополнительный ствол, то как он сделает его рабочим?
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
ColR_iT
в моде ОГСЕ создали клас под названием se_turret_mgun
class = TURRETMG
там вроде есть сноска на приравнивание вооружения турели с вертушкой
вроде сдесь (не очень в скриптах шарю)
class "se_turret_mgun" (cse_alife_helicopter)
function se_turret_mgun:__init(section) super(section)
self.spawner_present = false
self.health = 1.0
self.direction = vector():set(0, 0, 0)
end
function se_turret_mgun:can_switch_offline()
return cse_alife_helicopter.can_switch_offline(self)
end
function se_turret_mgun:can_switch_online()
if self.health <= 0.005 then
return false
end
if self.spawner_present == nil then
local ini = self:spawn_ini()
self.spawner_present = ini:section_exist("spawner")
end
if self.spawner_present == true then
return cse_alife_helicopter.can_switch_online(self)
end
return xr_spawner.check_spawn(self)
end
function se_turret_mgun:STATE_Read(packet, size)
cse_alife_helicopter.STATE_Read(self, packet, size)
self.health = packet:r_float()
self.direction = packet:r_vec3()
end
function se_turret_mgun:STATE_Write(packet)
cse_alife_helicopter.STATE_Write(self, packet)
packet:w_float(self.health)
packet:w_vec3(self.direction)
end
или гдето там рядом.
турели в отличие от машин не ездят но их вооружение задаётся вроде тут..
если смотреть вертушку на которую сноситься турель там есть
такой фрагмент в heli_combat
function heli_combat:read_custom_data( ini, section )
self.combat_use_rocket = utils.cfg_get_bool ( ini, section, "combat_use_rocket", self.object, false, true )
self.combat_use_mgun = utils.cfg_get_bool ( ini, section, "combat_use_mgun", self.object, false, true )
-- self.combat_ignore = utils.cfg_get_bool ( ini, section, "combat_ignore", self.object, false, false )
self.st.community = "military"
local combat_ignore = utils.cfg_get_string( ini, section, "combat_ignore", self.object, false, "", nil )
if combat_ignore then
self.combat_ignore = xr_logic.parse_condlist( self.object, section, "combat_ignore", combat_ignore )
else
self.combat_ignore = nil
end
local combat_enemy = utils.cfg_get_string( ini, section, "combat_enemy", self.object, false, "", nil )
self.combat_enemy = combat_enemy
self:set_enemy_from_custom_data( combat_enemy )
function check_rocket(target_id)
if target_id == nil then return false end
local target = level.object_by_id(target_id)
local prior = heli_target.get_target_priority(target)
if prior == 7 then
use_rocket = false -- Против вертушек бесполезны, просто не попасть
elseif prior == 6 then
use_rocket = true -- По БТР - самое оно
elseif prior == 5 and math.random() < 0.8 then
use_rocket = true -- По пулеметчикам - очень часто, они самые опасные
elseif prior == 4 and math.random() < 0.2 then
use_rocket = true -- С 20% вероятностью - по автоматчикам и сталкерам с винтовками
else
use_rocket = false -- На мутантов и слабо вооруженных сталкеров ракеты не переводим, пулемета выше крыши
end
return use_rocket
end
и ниже
elseif self.state == flyby_state_to_enemy then
if not self.state_initialized then
self.heliObject:SetEnemy( self.enemy )
self.heliObject:UseFireTrail( false )
self.combat_use_rocket = check_rocket(self.enemy_id)
self.heliObject.m_use_rocket_on_attack = self.combat_use_rocket
self.flyby_states_for_one_pass = self.flyby_states_for_one_pass - 1
if self.flyby_states_for_one_pass <= 0 and not self.can_forget_enemy then
self.can_forget_enemy = true
end
self.state_initialized = true
end
local p = self.enemy_last_seen_pos
p:set( p.x, self.safe_altitude, p.z )
self.change_combat_type_allowed = distance_2d( self.object:position(), p ) > self.search_attack_dist
-- printf( "heli_combat:flyby_update_flight 2 SetDestPosition %f %f %f", p.x, p.y, p.z )
self.heliObject:SetDestPosition( p )
end
end
function heli_combat:flyby_update_shooting( see_enemy )
if see_enemy then
--self.heliObject:SetEnemy( self:lead_target(see_enemy) )
self.heliObject:SetEnemy( self.enemy )
self.heliObject.m_use_rocket_on_attack = self.combat_use_rocket
self.heliObject.m_use_mgun_on_attack = self.combat_use_mgun
else
if math.random() > 0.03 then -- с этой вероятностью может шарахнуть ракетой наугад, не видя цели
self.heliObject:ClearEnemy()
self.heliObject.m_use_rocket_on_attack = self.combat_use_rocket
self.heliObject.m_use_mgun_on_attack = self.combat_use_mgun
else
self.heliObject:SetEnemy( self.enemy )
self.heliObject.m_use_rocket_on_attack = true
self.heliObject.m_use_mgun_on_attack = false
end
end
end
пытался так с вариантами
function action_car:update(delta)
--' Апдейт объекта прицеливания
if self.object.health > 0 and car_trade.inside_the_car == true and car_trade.in_btr == true then
if car_trade.actor_target(self.object) then
car_trade.target = self.object:id()
end
end
if xr_logic.try_switch_to_another_section(self.object, self.st, db.actor) then
return
end
if self.combat_use_rocket = utils.cfg_get_bool ( ini, section, "combat_use_rocket", self.object, false, true )
if self.combat_use_mgun = utils.cfg_get_bool ( ini, section, "combat_use_mgun", self.object, false, true )
if self.car_use_rocket = utils.cfg_get_bool ( ini, section, "combat_use_rocket", self.object, false, true )
if self.car_use_mgun = utils.cfg_get_bool ( ini, section, "combat_use_mgun", self.object, false, true )
if self.btr_use_rocket = utils.cfg_get_bool ( ini, section, "combat_use_rocket", self.object, false, true )
if self.btr_use_mgun = utils.cfg_get_bool ( ini, section, "combat_use_mgun", self.object, false, true )
if self.use_rocket = utils.cfg_get_bool ( ini, section, "combat_use_rocket", self.object, false, true )
if self.use_mgun = utils.cfg_get_bool ( ini, section, "combat_use_mgun", self.object, false, true )
if self.destroyed then
xr_logic.switch_to_section(self.object, self.st, "nil")
return
end
if self.st.invulnerable then
self.object.health = self.def_health
end
end
Вылетает со сноской на ошибку в xr_logic
чувствую что ответ гдето рядом, но блин никак не ухватить....
Тут либо создавать новый класс типа турели и добавлять функции езды или всё же попытаться встроить в PH_CAR в action_car
P/S Чур не смеяться над моими пробами я скриптер-никакой...
Всем привет! играю сейчас ТЧ Обитель Зла.Беда в том,что не могу дойти до тайника Коллекционера на ДТ.Он на платформе под плитой,как до него остается несколько метров вылетает постоянно.
FATAL ERROR
[error]Expression : vertex || show_restrictions(m_object)
[error]Function : CPatrolPathManager::select_point
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp
[error]Line : 155
[error]Description : any vertex in patrol path [ros_sniper2_walk] in inaccessible for object [ros_sniper2]
stack trace:
Может не туда пишу я,но внук научил заходить только сюда,помогите советом пожалуйста ! P.S вчера его призвали
Причина: некий мутант или непись заспавнился в некорректном месте. Причина этого в том, что А-лайф спавнит их в некотором произвольном радиусе от точки спавна, что позволяет каждый раз спавн разнообразить. К сожалению, иногда он умудряется поместить живность в точку снаружи уровня – под землю или в стену, или заспавненый объект проваливается под уровень.
Лечение: обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место.
АргонКриптонНеонГелий58, тоже самое, нашёл в интернете:
Какая то вершина (вейпоинт) пути ros_sniper2_walk стоит в неположенном месте (например не на аи-сетке). Объект ros_sniper2 (в данном случае сталкер) который якобы двигался по пути ros_sniper2_walk попал на эту точку, а заодно ушёл за аи-сетку. Этого движок не терпит.
Тоже самое произойдет если координаты(вейпоинт) пути ros_sniper2_walk совпадет с координатами места где нпс запрешенно находится буть то рестриктор или аномалия в схеме обхода аномалий. Также этот вылет набюдается при попытке отправить нпс за пределы места работ параметр out_rest = "имя_рестриктора", в файле загрузки работ гулага
попробуйте любого сталкера из лагеря новичков отправить допустим к остановке получите этот самый вылет
Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Уважаемые сталкеры ! скиньте сохранялку на тайник Коллекционера на ДТ,а то у меня стабильный вылет при подходе к тайнику пробовал по всякому ну никак ! Спасибо.
отредактировал(а) АргонКриптонНеонГелий58: 05-07-2013 19:08 GMT3 час.
АргонКриптонНеонГелий58 - э тот вылет в солянке был, но точно не у всех. Попробуй удалить этого снайпера через скрипт bind_stalker.script, по анологии кривых стволов, как при переходе на Радар с АС.
Сначала открой скрипт блокнотом к примеру, там есть строки.
--[[local bad_object_names = {"wpn_lr30053522", "wpn_lr30058409" } --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589"
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end]]
Впиши этого кривого снайпера, предварительно раскомментировав, путём убирания скобок, что выделил красным т.е. сделай так:
local bad_object_names = {"wpn_lr30053522", "wpn_lr30058409", "ros_sniper2" } --"wpn_lr30025601", "wpn_lr30028817","wpn_lr30033589"
local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do
se_obj = alife():object(se_name)
if se_obj then
news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000)
alife():release(se_obj, true)
end
end
Файл сохрани. Далее загрузись с предыдущей локации и перейди на ДТ. После прохождения проблемного места скрипт желательно закомментить, как был изначально.
Ещё вариант: Переждать выброс и пройти проблемный участок.
Ещё вариант: Уменьшить свис дистанс до одного метра, пройти проблемный участок и после, значение вернуть обратно. В config/alife.ltx есть строка
switch_distance = 140 меняешь на
switch_distance = 1 либо , 5 или10
отредактировал(а) dimak: 05-07-2013 21:37 GMT3 час. Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.