这是我的密码:
function CyberpunkUIShape( leftx, downy, fillcolor, linecolor, wid, hei, bendsize, offset, identifier )
local trapezoidbg = {
{ x = leftx+bendsize, y = downy-hei }, -- top left
{ x = leftx , y = downy }, -- down left
{ x = leftx+wid, y = downy }, -- down right
{ x = leftx+wid+bendsize, y = downy-hei } -- top right
}
-- print("hehe")
local function HUDPaint()
surface.SetDrawColor(fillcolor)
surface.DrawPoly( trapezoidbg )
surface.SetDrawColor(linecolor)
surface.DrawLine(leftx+bendsize+offset, downy-hei+offset, leftx+wid+bendsize-offset-2, downy-hei+offset) -- top
surface.DrawLine(leftx+offset+1, downy-offset-1, leftx+wid-offset, downy-offset-1) -- down
surface.DrawLine(leftx+bendsize+offset, downy-hei+offset, leftx+offset+1, downy-offset) -- left
surface.DrawLine(leftx+wid+bendsize-offset-2, downy-hei+offset, leftx+wid-offset-1, downy-offset)
end
hook.Add("HUDPaint", "identifier" , HUDPaint)
end
CyberpunkUIShape(25, h-75, BGColor, AccentColor, 229, 30, 8, 2, armor)
-- CyberpunkUIShape(665, h-75, BGColor, AccentColor, 229, 30, 8, 2, health)
我不能同时调用两个"CyberpunkUIShape“函数,这是当前的代码输出:图像
但是,当我取消对第二个函数调用的注释时,这就是输出:图像
同时应该有两个形状,但只有第二个形状工作,第一个消失。因此,我意识到如果hook.Add重复使用相同的标识符,最后一次调用将有效,而其他调用将被忽略,因此我添加了一个参数来分离它们的标识符。一个用于健康,一个用于“健康”标识符,另一个用于“装甲”标识符。
因此,我尝试将hook.Add编辑为:hook.Add("HUDPaint", identifier , HUDPaint)
这些错误是:
[cyberpunk_hud] bad argument #2 to 'Add' (string expected, got nil)
1. Add - lua/includes/modules/hook.lua:34
2. CyberpunkUIShape - addons/cyberpunk_hud/lua/autorun/cyberpunk_hud.lua:502
3. v - addons/cyberpunk_hud/lua/autorun/cyberpunk_hud.lua:504
4. unknown - lua/includes/modules/hook.lua:96
[cyberpunk_hud] bad argument #2 to 'Add' (string expected, got nil)
1. Add - lua/includes/modules/hook.lua:34
2. CyberpunkUIShape - addons/cyberpunk_hud/lua/autorun/cyberpunk_hud.lua:502
3. v - addons/cyberpunk_hud/lua/autorun/cyberpunk_hud.lua:505
4. unknown - lua/includes/modules/hook.lua:96
我只想让hook.Add使用一个函数参数。请帮帮忙。thx
发布于 2022-10-12 14:18:06
当您编写“标识符”时,它的意思是表示单词‘标识符’的字符串。当您编写标识符时,它意味着称为“标识符”的变量。
我写了CyberpunkUIShape(25, h-75, BGColor, AccentColor, 229, 30, 8, 2, "armor")
并修正了。thx (在盔甲周围加上“s”)
https://stackoverflow.com/questions/74032716
复制相似问题