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

Скриптование


Svoboда

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

@riddik121, на слово enemy.  То есть выходит:

function glavny_vrag(first_speaker, second_speaker)
second_speaker:set_relation(game_object.enemy, first_speaker)
end

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@aleksn09, по идее, ты строки прописал в нужное место. Это ведь постоянное обновление. Что-то мне подсказывает, что нужно пробовать переписать зажигание, используя движковую функцию-проверку is_on().

Как-то так, что ли:

if db.actor:position():distance_to(self.object:position()) <= 4 and not self.campfire:is_on() 
then
self.campfire:turn_on()
end
Изменено пользователем FantomICW

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@J.A.A., добавляй функцию в xr_effects.script:

function load_savedgame(actor, npc, p)  --Выставляем p-аргумент (он является названием сейва)
    local savedgame = p[1]      --Устанавливаем локальную переменную для p[1]
    if savedgame ~= nil then    --Проверка на наличие сейва
        get_console():execute("load "..savedgame)  --Запускаем сейв через консольную команду
    end
end 

Потом в рестрикторе делай проверку на инфу и запускай функцию:

on_info = {+some_info -load_spec_save} %=load_savedgame(название_сейва) +load_spec_save% 

 

Изменено пользователем FantomICW

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение

@J.A.A., в логике ему пропиши по инфопорции анимку punch в ремарке.


P.S.

Какая платформа?

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение

@demon96, тебе же @AndreySol, конкретно указал на функцию и значение, которые нужно выставить...Вообще, можно, конечно, и движковую give_game_news использовать, но мне лично удобней просто задать третье значения в send_tip:

news_manager.send_tip(db.actor, "%c[255,255,128,128] Ну вот и добрались, я развязываю тебе глаза и ухожу. Не пытайся меня искать, удачи! %c[default]", 15000, "stalker", nil, 30000)

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Добрый день. Старался написать функцию спавна физического объекта, но, так как с Нет Пакетом знаком плохо и писал почти от фонаря, словил вылет при запуске. Очень большая просьба: помогите кто-нибудь поправить функцию и, если можно, объяснить, в чем конкретно была проблема...

function create_physic_obj(obj_sect, obj_pos, obj_lvid, obj_gvid, obj_dir, obj_mass)
local obj = alife():create(obj_sect, obj_pos, obj_lvid, obj_gvid)
local packet = net_packet()
obj:STATE_Write(packet, 60)


-- Свойства cse_abstract
local direction = packet:r_vec3()


-- Свойства cse_alife_object
local game_vertex_id = packet:r_u16()
local level_vertex_id = packet:r_u32()
local object_flags = packet:r_u32()
local custom_data = packet:r_stringZ()
local story_id = packet:r_u32()


-- Свойства cse_alife_object_physic
local mass = packet:r_float()
local physic_type = packet:r_u32()
local upd:num_items = packet:r_u8()
local upd:ph_force = packet:r_vec3()
local upd:ph_torque = packet:r_vec3()
local upd:ph_position = packet:r_vec3()
local upd:ph_rotation = packet:r_vec4()
local upd:ph_angular_vel = packet:r_vec3()
local upd:ph_linear_vel = packet:r_vec3()


-- Заполнение


-- Свойства cse_alife_object
packet:w_begin(game_vertex_id)
packet:w_u32(level_vertex_id)
packet:w_u32(object_flags)
packet:w_stringZ(custom_data)
packet:w_u32(story_id)


-- Свойства cse_abstract
if obj_dir ~= nil then
   direction = obj_dir
    end 
packet:w_vec3(direction)


    -- Свойства cse_alife_object_physic
if obj_mass ~= nil then
   mass = obj_mass
end 
packet:w_float(mass)
packet:w_u32(physic_type)
packet:w_u8(upd:num_items)
packet:w_vec3(upd:ph_position)
packet:w_vec4(upd:ph_rotation)
packet:w_vec3(upd:ph_angular_vel)
packet:w_vec3(upd:ph_linear_vel)
packet:w_vec3(upd:ph_force)
packet:w_vec3(upd:ph_torque)


-- Считываем скорректированные параметры
packet:r_seek(0)
obj:STATE_Read(packet, packet:w_tell())
end

 

 

 

Вылет:

xr_effects.script:3552: attempt to index global 'my_spawn' (a nil value)
function test_spawn_obj_1()
    local pos = vector():set(39.930305480957,8.70378112792969,-66.7609176635742)
local dir = vector():set(-9.90768057818059,1.57078802585602,-1.09473432985396)
    local lv = 102321
    local gv = 0
my_spawn.create_physic_obj("test_anim_obj", pos, lv, gv, dir, 10)
end 

 

 

Изменено пользователем FantomICW

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

@Dennis_Chikin, ну, наверное, что-то в роде того, только я здесь комплект m_netpk.script от Artos'а не задействую...Но, если знаешь, как с помощью этого скрипта реализовать функцию, то такое вполне сойдет. 

Также подойдет функция, которая может повернуть уже заспавненный объект, т. е. альтернатива параметра direction в алл.спавн-секции.

Изменено пользователем FantomICW

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение
(изменено)
Юзаешь итем - отыгрывается анима?

Вечный вопрос. Первый вариант - править двиг, делать удобную функцию. Второй - костыли.

Я лично создаю секцию аним-объекта на основе оружия. Ему в draw-анимацию прописываю нужную анимку, прописываем ему какой-нибудь рабочий слот. Дальше используем юз-коллбек в bind_stalker.script. Собственно, нам нужно совершить следующее:

  • Выдать ГГ аним-айтем
  • Поместить айтем в слот (часто используется слот бинокля или болта, тогда приходится сначала временно удалять бинокль/болт)
  • Активизировать слот аним-айтема

Теперь вопрос заключается в окончании анимации...Вариант первый - ставить таймер для функции удаления на апдейт, так во всех модах. Второй намного удобней: использовать коллбек анимации камеры. По нему, если интересно, могу урок сделать.

Кстати, посмотри скрипты этого мода.

Изменено пользователем FantomICW
  • Нравится 3

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение

@Struck

level.add_cam_effector(string, number, boolean, string
level.add_cam_effector2(string, number, boolean, string, number)

level.add_cam_effector("camera_effects\\surge_02.anm", 10, false, "bind_stalker.anabiotic_callback")

Можешь "лолштокать" дальше  ;)

  • Нравится 4

c57d8f0c86.png

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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