Struck
ты о чем именно?
о том скрипте???
ну тот скрипт короче вызывает партикл мяса при попадании пуль в НПС из опр. оружия...
и тело удаляется этого не видно за партиклом мяса, он действует как занавес!=)
и создается иллюзия что труп разорвало на куски... всё работало, что случилось фиг поймешь!=(
FLIKER значит проверяй что не так, либо выкидывай файлы...тут тебе не экстрасенсы Николай ФеНиКс короче сначала байду с переменной npc_pos**50016ea8aab1bb10eeba**ct_for_wpn[cur_weapon_sec],"bip01_head",particle_params(vector():set(0, 0, 0.3),vector():set(0, 0, 0),vector():set(1, 0, 0)), false),cond(cond.time_end, 1000))[/code]
напиши
[code] else
local play_particle = particles_object(effect_for_wpn[cur_weapon_sec])
play_particle:play_at_pos(npc_pos)[/code]
в принципе скрипт из бб
добавлено спустя 2 минут
и что такое obj_id в твоей второй функции можно поинтересоваться?...во всяком случае метода точно такова нет, что ты именно передаёшь?
отредактировал(а) Struck: 21-05-2010 15:58 GMT3 час. Снова в строю.
function del_trup(obj_id)
local sobj = alife():object(obj_id)
if sobj then
alife():release(sobj,true)
end
end
это удаление трупа!
то есть по его иду. obj_id это и есть ид жертвы.
добавлено спустя 14 минут
блин как через АСДС сундук заспавнить с барахлом...
добавлено спустя 35 минут
Expression : SG
Function : CRender::model_CreateParticles
File : E:\stalker\patch_1_0004\xr_3da\xrRender_R1\FStaticRender.cpp
Line : 156
Description : Particle effect or group doesn't exist
Arguments : weapons\group_items\flame_center
:blink
отредактировал(а) Николай ФеНиКс: 21-05-2010 16:51 GMT3 час.
Expression : SG
Function : CRender::model_CreateParticles
File : E:\stalker\patch_1_0004\xr_3da\xrRender_R1\FStaticRender.cpp
Line : 156
Description : Particle effect or group doesn't exist
Arguments : weapons\group_items\flame_center
Ты же гравипушку ставил да?Если д**50016ea8aab1bb10eeba**le_hold = particles_object([[weapons\group_items\flame_center]])[/code]
и поменяй ее на
[code]self.particle_hold = particles_object([[weapons\group_items\rpg7_rocket_flame]])[/code]
Я так сделал и вылета не было.
какой хит???
ведь это работае, всё норм, только трупаков не удаляет...
function npcondeath(victim, who)
local effect_for_wpn = {wpn_p90_oxotnik= "anomaly2\\body_tear_02"}
if db.actor ~= nil and who:id() == db.actor:id() then
local cur_weapon = db.actor:active_item()
if cur_weapon ~= nil then
local cur_weapon_sec = cur_weapon:section()
local victim_pos = victim:position()
local npc_pos = vector():set(victim_pos.x, victim_pos.y + 1, victim_pos.z)
if effect_for_wpn[cur_weapon_sec] ~= nil then
if IsStalker(victim) then
action(victim,particle(effect_for_wpn[cur_weapon_sec],"bip01_head",particle_params(vector():set(0, 0, 0.3),vector():set(0, 0, 0),vector():set(1, 0, 0)), false),cond(cond.time_end, 4000))
else
local bb_particle = particles_object(effect_for_wpn[cur_weapon_sec])
bb_particle:play_at_pos(npc_pos)
end
if IsStalker(victim) then
if victim_pos.hit and h.type == hit.explosion then -- and victim_pos:hit(h) then
action(victim,particle(effect_for_wpn[cur_weapon_sec],"bip01_head",particle_params(vector():set(0, 0, 0.3),vector():set(0, 0, 0),vector():set(1, 0, 0)), false),cond(cond.time_end, 4000))
end
end
end
end
end
end
-----------------------
local npc_pos =0
function npcmyso(victim, who)
local effect_for_wpn = {wpn_p90_oxotnik= "anomaly2\\body_tear_02"}
if npc_pos ~=0 then
npc_pos =0
end
if db.actor ~= nil and who:id() == db.actor:id() then
local cur_weapon = db.actor:active_item()
if cur_weapon ~= nil then
local cur_weapon_sec = cur_weapon:section()
local victim_pos = victim:position()
npc_pos = vector():set(victim_pos.x, victim_pos.y + 1, victim_pos.z)
if effect_for_wpn[cur_weapon_sec] ~= nil then
if IsStalker(victim) then
action(victim,particle(effect_for_wpn[cur_weapon_sec],"bip01_head",particle_params(vector():set(0, 0, 0.3),vector():set(0, 0, 0),vector():set(1, 0, 0)), false),cond(cond.time_end, 4000))
else
local bb_particle = particles_object(effect_for_wpn[cur_weapon_sec])
bb_particle:play_at_pos(npc_pos)
end
if IsStalker(victim) then
if victim_pos.hit and h.type == hit.explosion then -- and victim_pos:hit(h) then
action(victim,particle(effect_for_wpn[cur_weapon_sec],"bip01_head",particle_params(vector():set(0, 0, 0.3),vector():set(0, 0, 0),vector():set(1, 0, 0)), false),cond(cond.time_end, 4000))
end
end
end
end
end
this.del_trup(victim:id()) -- айди жертвы
end
function del_trup(obj_id)
local sobj = alife():object(obj_id)
if sobj then
alife():release(sobj,true)
end
end
отредактировал(а) Николай ФеНиКс: 21-05-2010 19:42 GMT3 час.
Николай ФеНиКс
Ты перечитал бы несколько страниц назад ... по поводу удалений трупов и проблем возникающих при этом.
Твои ошибки:
1. Взяв "чью-то" наработку, все же стоит понять 'что к чему и как это работает'. А уж если "только переделал под себя. почти все, но главное оставил", то как можно отделить главное от не главного, не понимая?
Вначале ты определяешь позицию "трупа": local victim_pos = victim:position() --/ Это трехмерный вектор!
Далее: if victim_pos.hit and h.type == hit.explosion then
- какофония из кусков кодов, взятых/"оставленных" невесть откуда!
От вылета спасает только то, что при первое же условие нЕ выполнимо, т.к. вектор (victim_pos) НЕ имеет ни каких .hit
2. Устанавливать партикл относительно об'екта (action(victim,particle(...) - и тут же удалять этот об'ект - прямой путь к вылетам/коллизиям.
3. "Обнуление" 3-х мерного вектора приравниванием к "0" - это нечто ...
Stalk15 , посмотри в "system.ltx" сецию [ph_capture_visuals], может что подскажет ...
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.