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

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


Svoboда

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

Ребят помогите ... есть такая функция которая при взятии оружия меняет на актерское оружие... но проблева в том как передать аддоны и количество жизней оружию)))зарание спасибо если кто знает как это сделать)))

 

function wpn_update()


local wpn_actor = {
"wpn_pm",
"wpn_pb",
"wpn_fort",
"wpn_apb",

"wpn_hpsa",
"wpn_beretta",
"wpn_walther",

"wpn_colt1911",
"wpn_ups",
"wpn_desert_eagle",
"wpn_desert_eagle_full",
"wpn_sig220",

"wpn_pp19",
"wpn_mp5",

"wpn_ak74u",
"wpn_ak74",
"wpn_abakan",

"wpn_l85",
"wpn_lr300",
"wpn_sig550",
"wpn_sig_m1",
"wpn_sig_m2",
"wpn_g36",
"wpn_fn2000",

"wpn_vintorez",
"wpn_val",
"wpn_val_m1",
"wpn_groza",

"wpn_svd",
"wpn_svu",

"wpn_bm16",
"wpn_bm-16_full",
"wpn_toz34_short",
"wpn_toz34",
"wpn_wincheaster1300",
"wpn_spas12",
}
for _, section in pairs (wpn_actor) do
local wpnObject = db.actor:object(section)
if wpnObject then
db.actor:drop_item(wpnObject)
alife():release(alife():object(wpnObject:id()), true)
spawn.inv(section.."_actor)
end
end
end

 

 

 

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


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

mumie, Я сделал но почему-то ошибка, 10 раз все перепроверил не могу понять причины:

 

Expression : fatal error


Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description : <no expression>
Arguments : LUA error: ...hadow of chernobyl\gamedata\scripts\wpn_actor.script:99: attempt to index local 'wpn' (a nil value)

 

 

Пишет что wpn нет равно нулю  :huh:

 

for _, section in pairs (wpn_actor) do

local wpnObject = db.actor:object(section)

if wpnObject then
local cond = wpnObject:condition()
db.actor:drop_item(wpnObject)
alife():release(alife():object(wpnObject:id()), true)
local spawnwpn = section.."_actor"
local obj = alife():create(spawnwpn,vector():set(0,0,0),1,1,db.actor:id())
local wpn = db.actor:object(spawnwpn)
wpn:set_condition(cond)
end
end

 

 

З.Ы. если ставлю проверку

 

local wpn = db.actor:object(spawnwpn)
if wpn then
wpn:set_condition(cond)
end

 

передачи жизней нет

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

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


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

Подскажите, пожалуйста, как узнать значение отношения группировки к гг?

То есть я изменяю значение так: relation_registry.set_community_goodwill ("stalker", db.actor:id (), 5000)

К примеру как должна работать правильно проверка?:

 

if relation_registry.set_community_goodwill ("stalker", db.actor:id ()) > 2000 then

действие

end

 

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

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


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

@Kirgudu, Спасибо большое))).

Если разбираешь подскажи ещё как тоже узнать личное отношение персонажа?

И вообще есть общая функция, в которую уже все входит, чтобы определить суммарное отношение(личное отношение, отношение группировки, и т.п.) к актеру?

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


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

Возможно ли отловить разряжание оружия в рюкзаке ? спасибо.

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


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

Добрый вечер, Интересует тот же вопрос что у Kondr48, Как узнать ID предмета только что заспавненного в рюкзаке ГГ. То есть узнать и запомнить в локальной.


Чтобы потом можно было удалить по этому же ID.

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


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

Просто отключи кнопки передвижения:

 

        get_console():execute("unbind forward")
        get_console():execute("unbind back")
        get_console():execute("unbind lstrafe")
        get_console():execute("unbind rstrafe")

 

А когда надо включи:

 

        get_console():execute("bind forward kW")
        get_console():execute("bind back kS")
        get_console():execute("bind lstrafe kA")
        get_console():execute("bind rstrafe kD")

 

  • Спасибо 1

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


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

Приветствую товарищи, объясните мне недалекому человеку:

Есть две одинаковые секции в рюкзаке ГГ.

 

 

---это в апдейте

local slot_1
local slot_2
local full_slots

 

local tab = { --- таблица с секциями
    "...",
}

 

if slot_1 ~= nil and slot_2 ~= nil then
full_slots = true
else
full_slots = false
end


----- раздаем id

     for _, section in pairs (tab) do
           local item = db.actor:object(section)
                   if item then

                   if full_slots == false then

                      if slot_1 == nil then
                           slot_1 = item:id()
                           db.actor:give_game_news("Слот 1 занят", "ui\\ui_pda_news", Frect():set(0,300,180,100), 0, 10000)
 
                     end
                     if slot_2 == nil and item:id() ~= slot_1 then   -- ПОЧЕМУ ПРИ НАЛИЧИИ ОДНОГО ПРЕДМЕТА СРАБАТЫВАЕТ И ЭТО???
                           slot_2 = item:id()
                           db.actor:give_game_news("Слот 2 занят", "ui\\ui_pda_news", Frect():set(0,300,180,100), 0, 10000)
                      end

                   else

                      if item:id() ~= slot_1 and  item:id() ~= slot_2 then
                          alife():release(alife():object(item:id()), true)
                      end
                   end

                   end
     end

 

Мне нужно чтобы если при нахождении у гг третьего предмета с одинаковой секцией, удолялся именно последний а не хрен пойми какой...

Спасибо за понимание...


Вообще, можно ли присвоить предмету индивидуальный номер, и по этому номеру удалить предмет???

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


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

 

  Kondr48,тогда почему при нахождении одного предмета, срабатывает как два?

 

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


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

Подскажите пожалуйста, если возможность заменить скриптом тип боеприпаса в оружии? то есть допустим в Макарове  ammo_class = ammo_9x18_fmj, сейчас заряженно. А надо скриптом поменять на ammo_9x18_pmm, с сохраннение количества патронов. Кто знает хэлп???

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


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

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