Пустой рюкзак для создания своего тайника — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Пустой рюкзак для создания своего тайника — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Работа на дому по трудовой, бесплатное обучение.)
Строка 1: Строка 1:
Пустой рюкзак для создания своего тайника
+
Увлекательная подработка за компьютером.  
 
+
Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение,  
Этим методом можно добавить в Сталкер ТЧ тайник, который вы сами сможете заложить там, где вам угодно.
+
свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию).  
 
+
График работы, Вы устанавливаете самостоятельно, по своим возможностям.  
Итак, приступим: Нам потребуются: Два файла для добавления функции установки тайника (эти файлы обязательны):
+
Ваш возраст и образование значения не имеют.  
1. bind_stalker.SCRIPT (gamedata/scripts)
+
Обязательные условия: наличие компьютера и интернета.
2. devices.LTX (gamedata/config/misc)
+
Ваши действия:  
Один файл, чтобы получить рюкзак в игре (в моём случае, Сидорович торгует такими рюкзаками): Trade_trader.LTX (gamedata/config/misc)
+
1. На сайте ( www.off-rabota.tk ) скачайте и установите приложение.  
 
+
2. Ознакомьтесь с содержимым.  
Первым делом откройте файл bind_stalker.SCRIPT и найдите следующие строки:
+
3. Пройдите несложную регистрацию.  
+
4. Обязательно, пройдите курсы обучения. (Бесплатно)  
function actor_binder:on_item_drop (obj)
+
5. Начинайте зарабатывать!
    level_tasks.proceed(self.object)
+
Зарплату мы перечисляем только на банковскую карту любой платёжной системы.  
    --game_stats.update_drop_item (obj, self.object)
+
(Для работы советуем оформить отдельную карту)  
end
+
ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!
 
+
После строк
+
--game_stats.update_drop_item (obj, self.object)
+
запишите следующее:
+
-->>Treasure rucksack 2/2
+
if obj:section()=="inv_ruck" then
+
-- запомним id объекта
+
self.rr_id=obj:id()
+
end
+
--<<
+
Итог:
+
function actor_binder:on_item_drop (obj)
+
    level_tasks.proceed(self.object)
+
    --game_stats.update_drop_item (obj, self.object)
+
-->>Treasure rucksack 2/2
+
if obj:section()=="inv_ruck" then
+
-- запомним id объекта
+
self.rr_id=obj:id()
+
end
+
--<<
+
end
+
Далее найдите строки
+
game_stats.update (delta, self.object)
+
И после них запишите
+
-->>Treasure rucksack 1/2
+
if self.rr_id~=nil then
+
-- пытаемся получить объект по id
+
local se_obj=alife():object(self.rr_id)
+
-- проверяем, что объекта нет
+
if se_obj==nil or se_obj:section_name()~="inv_ruck" then
+
local ruck=alife():create("active_ruck", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id())
+
level.map_add_object_spot_ser(ruck.id, "red_location", "%c[255,238,155,23]Моя нычка для хабара")
+
news_manager.send_tip(db.actor, "Тайник заложен.", nil, nil, 5000)
+
end
+
-- сбросим переменную
+
self.rr_id=nil
+
end
+
--<<
+
Итог:
+
function actor_binder:update(delta)
+
object_binder.update(self, delta)
+
+
-- DEBUG slowdown
+
-- slowdown.update()
+
+
local time = time_global()
+
+
game_stats.update (delta, self.object)
+
+
-->>Treasure rucksack 1/2
+
if self.rr_id~=nil then
+
-- пытаемся получить объект по id
+
local se_obj=alife():object(self.rr_id)
+
-- проверяем, что объекта нет
+
if se_obj==nil or se_obj:section_name()~="inv_ruck" then
+
local ruck=alife():create("active_ruck", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id())
+
level.map_add_object_spot_ser(ruck.id, "red_location", "%c[255,238,155,23]Моя нычка для хабара")
+
news_manager.send_tip(db.actor, "Тайник заложен.", nil, nil, 5000)
+
end
+
-- сбросим переменную
+
self.rr_id=nil
+
end
+
--<<
+
Всё! На это работа с bind_stalker.SCRIPT завершена.
+
 
+
Переходим к файлу devices.LTX.  
+
В самом конце файла напишите следующее:
+
[inv_ruck]:identity_immunities
+
GroupControlSection = spawn_group
+
discovery_dependency =
+
$spawn    = "food and drugs\antirad"
+
$prefetch  = 32
+
class  = II_ANTIR
+
cform          = skeleton
+
visual          = equipments\item_rukzak
+
description  = enc_tre_ruck
+
+
inv_weight  = 0.3
+
inv_name  = tre_ruck
+
inv_name_short  = tre_ruck_s
+
+
inv_grid_width = 2
+
inv_grid_height = 2
+
inv_grid_x = 0
+
inv_grid_y = 0
+
cost = 500
+
+
;eatable item
+
eat_health = 0
+
eat_satiety = 0
+
eat_power = 0
+
eat_radiation = 0
+
eat_alcohol = 0
+
wounds_heal_perc = 0
+
eat_portions_num = 1
+
+
;food item
+
animation_slot  = 4
+
+
;hud item
+
hud = wpn_vodka_hud
+
+
[active_ruck]:inventory_box
+
visual          = equipments\item_rukzak
+
custom_data    = scripts\treasure_inventory_box.ltx
+
radius = 1
+
Обратите внимание на строку cost = 800. Это цена. Вы можете поставить какую угодно.
+
 
+
Всё. Осталось прописать рюкзак в ассортимент Сидоровича.
+
Откройте файл Trade_trader.LTX. Найдите строку [supplies_start] и после неё напишите:
+
inv_ruck = 10, 1
+
Цифра 10 значит, что у торговца появится десять рюкзаков, цифра 1 означает вероятность появления (1 = 100%). Готово! Заходим в игру, тестируем.
+
ПРИМЕЧАНИЕ. Иконка рюкзака, название и описание в инвентаре будет отображаться некорректно. Редактируйте текстуру в файле ui_inventory.dds (gamedata/textures/ui), координаты x,y в devices.LTX, описание в файле string_table_enc_equipment (gamedata/config/text/rus).
+
 
+
Как забрать рюкзак назад в инвентарь, если тайник нам больше не нужен?
+
Открываем файл bind_stalker.script, находим функцию actor_binder:take_item_from_box(box, item) и в самом её начале добавляем такой код:
+
-- если это наш тайник и он пустой, т.е. мы забрали из него последний предмет, то...
+
if box:section() == "active_ruck" and box:is_inv_box_empty() then
+
    level.start_stop_menu(level.main_input_receiver(), true)  -- закрываем окно "обыскивания тайника"
+
    level.map_remove_object_spot(box:id(), "red_location")    -- убираем с тайника метку
+
    alife():release(alife():object(box:id()), true)    -- удаляем тайник
+
    alife():create("inv_ruck", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) -- спавним рюкзак в инвентарь
+
end
+
Всё. Теперь, когда мы забираем все вещи из рюкзака-тайника, то он перемещается к ГГ в инвентарь.
+
 
+
Были использованы материалы из мода FreeplayStart.
+
Статья написана Sanyok_Shevcov, Самара.
+
Дополнил: naxac
+

Версия 12:42, 24 января 2017

Увлекательная подработка за компьютером. Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение, свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию). График работы, Вы устанавливаете самостоятельно, по своим возможностям. Ваш возраст и образование значения не имеют. Обязательные условия: наличие компьютера и интернета. Ваши действия: 1. На сайте ( www.off-rabota.tk ) скачайте и установите приложение. 2. Ознакомьтесь с содержимым. 3. Пройдите несложную регистрацию. 4. Обязательно, пройдите курсы обучения. (Бесплатно) 5. Начинайте зарабатывать! Зарплату мы перечисляем только на банковскую карту любой платёжной системы. (Для работы советуем оформить отдельную карту) ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!

Другие места
LANGUAGE