Все сообщения: HAPPY_MAN

Посетители
0
Новичок
HAPPY_MAN
02:52, 25.08.2020
Вкратце: В функции в 1 хуке добавляю в таблицу значение, функция в другом хуке это значение не видит (В консоли пишеться nil). Всё перепробовал, идей 0.

Не вкратце:
Делаю свой gamemode, хотел отключить выпадение оружия из NPC. Нормальных способов сделать это не нашёл, поэтому начал делать через костыли.
Идея была в том, что-б при спавне NPC добавлять его и его оружие в 2 таблицы, таким образом индекс NPC в 1 таблице будет равен индексу его оружия во 2 таблице и когда NPC умирает вместе с ним удалять его оружие. Но функция в хуке NPCkilled "не видит" содержимое этих таблиц.

Вот код:

local WeaponsListCustom = {}
local OwnersListCustom = {}

hook.Add("OnNPCKilled", "NPCkilled", function(NPC, Attacker) -- Вызывается, когда умирает npc
print("NPC killed")
print(tostring(OwnersListCustom[1])) -- Здесь выводит nil 
for k,v in pairs(OwnersListCustom) do -- Ищет в таблице нужного
if NPC == v then
print("It's owner of weapon")
WeaponsListCustom[k]:Remove() -- Удаляет его оружие
end
end
end)

hook.Add("OnEntityCreated", "DisableDrop", function(Entity)  -- Вызывается, когда создаётся ЛЮБОЕ entity
if Entity:IsWeapon() and Entity:GetOwner():IsNPC() and IsValid(Entity) then -- Проверяет, является ли entity оружием и является ли его владелец NPC
print("Ent is weapon and owner is NPC")
table.insert(WeaponsListCustom, Entity) -- Добавляют NPC и его оружие в конец таблиц
table.insert(OwnersListCustom, Entity:GetOwner())
print(tostring(OwnersListCustom[1]))  -- Здесь нормально выводит NPC
end
end)

Я хз, как нормально форматировать код, простите :c
Посетители
0
Новичок
Всё, как написано в названии. Я придумал взять gimbal (Facer), поставить его в 1 точке, задать в качестве цели вторую точку и использовать его направление.
Но неуж-то нет способа проще?