Перейти к контенту

Рекомендуемые сообщения

После отделения вес архива 143 МБ, есть смысл выкладывать? Основной вес придают звуки и музыка. Могу, если хочешь убрать композиции Высоцкого, тогда будет весить гораздо меньше...

Гораздоменьньше это сколько. Если в районе ~50 Мб то стоит...

Ссылка на комментарий
Гоаздоменьньше это сколько. Если в районе ~50 Мб то стоит...

Хмм, странно. Когда я выкидываю музыку в незапакованном виде, она весит 120 МБ!!! Запаковал без музыки все в архив и получаем вес архива 134 МБ. Че, получается, что в паке она весит 9 МБ только...

Короче, 134 МБ. Выкладывать?

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
Два варианта решения проблемы:

function bar_nikita()

local obj = alife():create("bar_nikita",vector():set(161.33648681641,0.039368242025375,45.486206054688),41943,1257

Но он почему-то все-равно уходит... Может кто-нибудь расскажет мне, почему?

Для нового непися необходим гулаг, иначе он слиняет и тут никакая логика не поможет... В алл спавне надо в соответствующем вее прописать лук и валк, так надёжнее. Надо ещё не забыть про flags...

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

Ссылка на комментарий
Хмм, странно. Когда я выкидываю музыку в незапакованном виде, она весит 120 МБ!!! Запаковал без музыки все в архив и получаем вес архива 134 МБ. Че, получается, что в паке она весит 9 МБ только...

Короче, 134 МБ. Выкладывать?

Ммм-да! Тогда не надо, спасибо!

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

по идее там где его заспавнишь он и будет стоять....т.е. у него усё время будет проигрываться анимация "стояния" :D

 

Класс! Спачибо, все работает (по крайней мере у меня он никуда не убегает, да и смотрит именно туда, куда надо!

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
Класс! Спачибо, все работает (по крайней мере у меня он никуда не убегает, да и смотрит именно туда, куда надо!

Отлично рад что помог :)...ну то что Дима писал правильней..так просто правильней...мой вариант для тех кто спавнит через скрипт и хочет чтоб непесь стояла на месте...а если будешь спавнить через алл.спавн то лучше как Дима пишет :)

Ссылка на комментарий

В общем вопрос такой: Как написать условие, чтобы если ГГ имел сразу несколько инфопоршней, то ему еще довался один новый инфопоршень (или просто как сделать скрипт, чтобы у ГГ есть все инфопоршни из перечисленных).

 

Просто мне это надо было написать, а я не знал как, по этому пришлось сделать криворуко ^_^

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
В общем вопрос такой: Как написать условие, чтобы если ГГ имел сразу несколько инфопоршней, то ему еще довался один новый инфопоршень (или просто как сделать скрипт, чтобы у ГГ есть все инфопоршни из перечисленных).

ну к примеру так

if db.actor:has_info("") and db.actor:has_info("") and db.actor:has_info("") and ..... then

выдавать инфопоршинь

end

насчет этого : (или просто как сделать скрипт, чтобы у ГГ есть все инфопоршни из перечисленных) не понял.. растолкуй... я напишу как...

Ссылка на комментарий
ну к примеру так

if db.actor:has_info("") and db.actor:has_info("") and db.actor:has_info("") and ..... then

выдавать инфопоршинь

end

насчет этого : (или просто как сделать скрипт, чтобы у ГГ есть все инфопоршни из перечисленных) не понял.. растолкуй... я напишу как...

 

Я скажем пишу прикондишн для диалога, мне надо, чтобы если у ГГ есть все 3 инфопоршня, то разветвление в одну сторону, а если нет ВСЕХ (если нет вообще, есть 1, есть 2), то в другую сторону...

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
Я скажем пишу прикондишн для диалога, мне надо, чтобы если у ГГ есть все 3 инфопоршня, то разветвление в одну сторону, а если нет ВСЕХ (если нет вообще, есть 1, есть 2), то в другую сторону...

ну как-то так:

function check()

if db.actor:has_info("") and db.actor:has_info("") and db.actor:has_info("") and ..... then

return true

else

return false

end

Что делать потом знаешь;)

это для первого варианта прекондишона ,для второго написать или разберешься ? :)

Ссылка на комментарий
ну как-то так:

function check()

if db.actor:has_info("") and db.actor:has_info("") and db.actor:has_info("") and ..... then

return true

else

return false

end

Что делать потом знаешь;)

 

Да, спасибо. Вот еще тема: Я говорю с челом, получаю некий инфопоршень, а потом меня телепортирует на определенные координаты. Как это осуществить?

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
Да, спасибо. Вот еще тема: Я говорю с челом, получаю некий инфопоршень, а потом меня телепортирует на определенные координаты. Как это осуществить?

именно на координаты на той локации где ГГ или на другую локацию???

Ссылка на комментарий
именно на координаты на той локации где ГГ или на другую локацию???

На той же.

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий

смотри споллер

 

Скрытый текст --Смотреть--

--это биндер телепортов

 

local teleport_binders ={}

function abs_comp(a,B)

if( a < B) then

return (b - a)

else

return (a - B)

end

end

function teleportate(x,y,z)

local a = vector()

a.x = x

a.y = y

a.z = z

db.actor:set_actor_position(a)

local snd_obj = xr_sound.get_safe_sound_object([[affects\tinnitus3a]])

snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)

end

function actor_update(delta)

local i,v,acter_poz,s

acter_poz = db.actor:position()

for i, v in pairs(teleport_binders) do

s = v.parametrs

local obj = level.object_by_id( i )

if obj ~= nil then

if s.teleporte ~= nil and s.teleporte ~= false then

if ( time_global() <= s.time ) then

teleportate(s.poz_x,s.poz_y,s.poz_z)

if s.rotate ~= nil then

db.actor:set_actor_direction(s.rotate)

end

s.teleporte = false

end

return

end

if (abs_comp(s.x, acter_poz.x)< v.parametrs.radius and

abs_comp(s.z, acter_poz.z)< v.parametrs.radius and

abs_comp(s.y, acter_poz.y)< v.parametrs.z_radius) then

s["teleporte"] = true

s["time"] = time_global() + 500

level.add_pp_effector ("teleport.ppe", 2006, false)

end

end

end

end

function bind( obj )

obj:bind_object( restrictor_teleport( obj ) )

end

class "restrictor_teleport" ( object_binder )

function restrictor_teleport:__init(obj, char_ini) super(obj)

end

function restrictor_teleport:net_spawn(data)

local char_ini = system_ini()

if self.teleport == true then

teleport_binders[self.object:id()] = self

self["parametrs"] = {}

if char_ini:line_exist(self.section, "radius") then

self.parametrs["radius"] = tonumber(char_ini:r_string(self.section, "radius"))

else

self.parametrs["radius"] = 2

end

if char_ini:line_exist(self.section, "z_radius") then

self.parametrs["z_radius"] = tonumber(char_ini:r_string(self.section, "z_radius"))

else

self.parametrs["z_radius"] = self.parametrs["radius"]

end

local s_obj = alife():object(self.object:id())

self.parametrs["x"] = tonumber(s_obj.position.x);

self.parametrs["y"] = tonumber(s_obj.position.y);

self.parametrs["z"] = tonumber(s_obj.position.z);

self.parametrs["poz_x"] = tonumber(char_ini:r_string(self.section, "poz_x"))

self.parametrs["poz_y"] = tonumber(char_ini:r_string(self.section, "poz_y"))

self.parametrs["poz_z"] = tonumber(char_ini:r_string(self.section, "poz_z"))

if char_ini:line_exist(self.section, "rotate") then

self.parametrs["rotate"] = tonumber(char_ini:r_string(self.section, "rotate"))

end

end

return true

end

function restrictor_teleport:net_destroy()

teleport_binders[self.object:id()] = nil

self.parametrs = nil

object_binder.net_destroy(self)

end

function restrictor_teleport:reload(section)

local char_ini = system_ini()

self.section = section

if char_ini ~= nil and char_ini:line_exist(self.section, "teleport") then

self["teleport"] = true

end

end

 

-это функция спавна

local spawn_point1 = vector():set(db.actor:position ())

local obj = alife():create("название секции телепорта из zone_teleports.ltx",spawn_point1,db.actor:level_vertex_id,db.actor:game_vertex_id)

--секция

[имя секции]:zone_teleport

teleport = standart

script_binding = название биндера.bind

;Параметры нашего телепорта

radius = 2

;Высота захвата телепорта

z_radius = 2

 

;Куда телепортируемся (телепортация всегда идет в пределах карты)

poz_x =

poz_y =

poz_z =

 

; Угол зрения при появлении. Если параметра нет то не меняется

rotate = 1.5

 

 

ну и после диалога спавнишь тлепорт

а потом удаляешь

Ссылка на комментарий

Т.е. для каждого новогго телепорта мне надо будет создать новую секцию спавна? И еще сюда как писать: script_binding = название биндера.bind?

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
Т.е. для каждого новогго телепорта мне надо будет создать новую секцию спавна? И еще сюда как писать: script_binding = название биндера.bind?

нет не секцию спавна а секцию в фаиле ....

script_binding = название того скрипта куда ты засунеш биндер телепортов... его надо вызывать в апдейте актёра....bind?

Ссылка на комментарий
нет не секцию спавна а секцию в фаиле ....

script_binding = название того скрипта куда ты засунеш биндер телепортов... его надо вызывать в апдейте актёра....bind?

Ага, понятно. Короче буду пробовать. Если не разберусь - спрошу...

Карусель-карусель - это радость для нас, прокатись на нашей ка-ру-се-ли!
-=Krovosos Mod=- 4.0 Final для S.T.A.L.K.E.R. SHoC 1.0004 (336 Мб): Мод

Финальный патч для -=Krovosos Mod=- (1 Мб): Патч

Адаптация -=Krovosos Mod=- под S.T.A.L.K.E.R. SHoC 1.0006 (1 Мб): Адаптация

Ссылка на комментарий
смотри споллер
А не проще?:

function yan_actor_sleep (actor, npc)
  db.actor:set_actor_position(patrol("yan_actor_sleep"):point(0))
  local dir = patrol("yan_actor_sleep"):point(1):sub(patrol("yan_actor_sleep"):point(0))
  db.actor:set_actor_direction(-dir:getH())
end

Взял из xr_effects.script - "yan_actor_sleep" это путь в all.spawn, вида:

[yan_actor_sleep]
points = p0,p1
p0:name = wp00
p0:position = 178.100952148438,-7.22282981872559,-103.089378356934
p0:game_vertex_id = 1451
p0:level_vertex_id = 134044
p0:links = p1(1)

p1:name = wp01
p1:position = 177.048889160156,-7.24236726760864,-103.062507629395
p1:game_vertex_id = 1451
p1:level_vertex_id = -1

p0 - типа walk (ГГ в ней стоит)

p1 - типа look (ГГ в неё "смотрит")

Эта функция предназначена для логики и используется в оригинале, во время замеров. Зато, можно нацепить различные эффекты камеры, постэффекты... В общем, глянь в файл yan_sleep_restrictor.ltx из распаковки игры. Чтоб завести это дело, нужно поставить space_restrictor и сделать ему логику.

Ссылка на комментарий

А еще проще сделать телепортацию так:

 

function teleportate1(x,y,z)

-- Функция телепортации

local a = vector()

-- Задаем координаты

a.x = -81.920501708984

a.y = -1.1038855314255

a.z = 158.09979248047

-- Сама телепортация

db.actor:set_actor_position(a)

-- Звуковое сопровождение

local snd_obj = xr_sound.get_safe_sound_object([[anomaly\teleport_work_2]])

snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)

db.actor:give_info_portion("net_teleport1")

end

 

Подставляешь свои координаты, куда надо, чтобы телепортировался, и все, после задействования функции переместишься. Также можно сделать звуковое сопровождение. Можно и убрать. В эту функцию можно также подставить эффект телепортации. Вобщем все просто.

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
  • Куратор(ы) темы:

×
×
  • Создать...