Ледкол
Пользователь
Имеется данный код
В функции PlayerUseRagdoll глобальной переменной npc_name должно присваивать значение ent.Name(для этого используется функция npc_return, не спрашивайте зачем), но значение переменной npc_name не изсеняется(вывод print (npc_name) в функции hud_loot() выводит начальное значение "")
PS знаю,что всё криво написано, но это потому что я уже чего только не перепробывал.
PSS С lua я пока на Вы, и изучаю его по мере надобности.
Код:
npc_name = "" -- объявление глобальной переменной
function PlayerUseRagdoll(ply, key)
if key == IN_USE and IsValid(ply) then
local tr = util.TraceLine({
start = ply:GetShootPos(),
endpos = ply:GetShootPos() + ply:GetAimVector() * 84,
filter = ply,
mask = MASK_SHOT
})
ent = tr.Entity
if tr.Hit and IsValid(ent) and ent:GetClass() == "prop_ragdoll" and ent.Useable then
npc_return(ent)
--print (npc_name)
umsg.Start("call_vgui", ply)
umsg.End()
return true
end
end
end
hook.Add("KeyRelease", "KeyReleasedHook", PlayerUseRagdoll)
function npc_return(ent) -- присвоение значения переменно npc_name
npc_name = ent.Name
end
hook.Add("KeyRelease", "KeyReleasedHook", PlayerUseRagdoll)
function hud_loot()
print (npc_name)
local DermaPanel = vgui.Create( "DFrame" ) -- Creates the frame itself
DermaPanel:SetPos( 50,50 ) -- Position on the players screen
DermaPanel:SetSize( 250, 400 ) -- Size of the frame
DermaPanel:SetTitle( "Инвентарь" ) -- Title of the frame
DermaPanel:SetVisible( true )
DermaPanel:SetDraggable( true ) -- Draggable by mouse?
DermaPanel:ShowCloseButton( true ) -- Show the close button?
DermaPanel:MakePopup() -- Show the frame
local DermaButton = vgui.Create( "DButton" )
DermaButton:SetParent( DermaPanel ) -- Set parent to our "DermaPanel"
DermaButton:SetText( "Забрать" )
DermaButton:SetPos( 13, 325 )
DermaButton:SetSize( 225, 50)
local icon = vgui.Create( "SpawnIcon", DermaPanel )
icon:SetModel("models/props_combine/breenglobe.mdl")
icon:SetPos(13,50)
icon:SetSize(225,225)
end
В функции PlayerUseRagdoll глобальной переменной npc_name должно присваивать значение ent.Name(для этого используется функция npc_return, не спрашивайте зачем), но значение переменной npc_name не изсеняется(вывод print (npc_name) в функции hud_loot() выводит начальное значение "")
PS знаю,что всё криво написано, но это потому что я уже чего только не перепробывал.
PSS С lua я пока на Вы, и изучаю его по мере надобности.