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

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


Svoboда

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

Здравствуйте ВАМ. Есть скрипт рабочий. Написан  по урокам скриптования. Кто может сделать Замечания и Советы? Прошу отписатся о том как можно улучшить.

function ceck_medkits()
if db.actor:object("medkit") ~= nil then
local news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю медицинскую аптечку. %c[default]"
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000)
db.actor:eat(db.actor:object("medkit"))
elseif db.actor:object("medkit_army") ~= nil then
local news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю армейскую аптечку. %c[default]"
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000)
db.actor:eat(db.actor:object("medkit_army"))
elseif db.actor:object("medkit_scientic") ~= nil then
local news_text = "%c[155,160,160,160]Автоматическая система ввода медицинских препаратов\\n%c[default]Выполняю:%c[255,160,160,160] Принимаю научную аптечку. %c[default]"
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal",Frect():set(0,188,83,47), 0, 5000)
db.actor:eat(db.actor:object("medkit_scientic"))
elseif db.actor:object("medkit") == nil and
db.actor:object("medkit_army") == nil and
db.actor:object("medkit_scientic") == nil then
med.mcomplex_open()
end
end



Очевидно - понять, как он работает, и что делает, и выбросить лишнее.
А при постах сюда - использовать кнопку "код". dc

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

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


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

Хотел бы получить помощь по спейсрестикторам. Скопирил файл с некоего сайта, как спавнить (СР).

----------
-- чтение формы из нет-пакета
----------
function r_shape(packet)
local s
local st = {}
st.count = packet:r_u8()
st.shapes = {}
for i=1, st.count do
s = {}
s.type = packet:r_u8()
if s.type == 0 then
s.center = packet:r_vec3()
s.radius = packet:r_float()
else
s.axis_x = packet:r_vec3()
s.axis_y = packet:r_vec3()
s.axis_z = packet:r_vec3()
s.offset = packet:r_vec3()
end
st.shapes = s
end
return st
end

----------
-- запись формы в нет-пакет
----------
function w_shape(packet, st)
local s
packet:w_u8(st.count)
for i=1, st.count do
s = st.shapes
packet:w_u8(s.type)
if s.type == 0 then
packet:w_vec3(s.center)
packet:w_float(s.radius)
else
packet:w_vec3(s.axis_x)
packet:w_vec3(s.axis_y)
packet:w_vec3(s.axis_z)
packet:w_vec3(s.offset)
end
end
end

----------
-- перепаковка нет-пакета созданного скриптом рестрикта
----------
function rewrite_restrictor(se_obj, custom, radius)
local packet = net_packet()
se_obj:STATE_Write(packet)
local game_vertex_id = packet:r_u16()
local distance = packet:r_float()
local direct_control = packet:r_s32()
local level_vertex_id = packet:r_s32()
local object_flags = packet:r_s32()
local custom_data = packet:r_stringZ()
local story_id = packet:r_s32()
local spawn_story_id = packet:r_s32()
local shape = r_shape(packet)
local restrictor_type = packet:r_u8()

custom_data = custom
shape = {}
shape.count = 1
shape.shapes = {}
shape.shapes[1] = {}
shape.shapes[1].type = 0
shape.shapes[1].center = vector():set(0,0,0)
shape.shapes[1].radius = radius

packet:w_u16(game_vertex_id)
packet:w_float(distance)
packet:w_s32(direct_control)
packet:w_s32(level_vertex_id)
packet:w_s32(object_flags)
packet:w_stringZ(custom_data)
packet:w_s32(story_id)
packet:w_s32(spawn_story_id)
w_shape(packet, shape)
packet:w_u8(restrictor_type)
se_obj:STATE_Read(packet, packet:w_tell() - packet:r_tell())
end

 

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

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


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

Спавню спейсрестиктор, но доходя до нужной точки не получаю инфопоршень. Такое чувство, что рестиктор не спавница.

function create_asb_restr()

local se_obj = alife():create("space_restrictor", vector():set(30.895565032959,-11.312034225464, 385.34494018555), 335849, 1814)
local custom = "[logic]\cfg = scripts\res_point_1.ltx"
rewrite_restrictor(se_obj, custom, 3.0)
end

логика
[logic]
active = sr_idleone

[sr_idleone]
on_actor_inside = {+start_as_zapis} nil %+ok_zapis_as%

 

 

после выдачи поршня должен выдаваться квест.

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


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

здравствуйте ВАМ. Подскажите, как файл скрипа АМК правильно сочленить с файлом скрипта бинд_сталкер чистой ТЧ? Заранее спасибо.

  • Сомнительно 1

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


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

Здравствуйте ВАМ. Как можно в ТЧ...04 сделать арты, увеличивающие переносимый вес? 

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


Ссылка на сообщение
Цитата
Сразу видно, в OLR не играли

Я не играю. Я делаю мелкие модификации для мальчишек. Вот они играют.

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

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


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

Здравствуйте ВАМ. Подскажите есть проверка на выданный тайник? Если тайник выдан, то нужно другое действие.

  • Полезно 1

Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч.

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


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

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