(Nutscript HL2RP) "attempt to call "Register" (a nil value)"
3 replies, posted
Hello,
I'm trying to get plugins to work on my Nutscript HL2RP server. I keep getting these two errors:
[CODE]
[ERROR] gamemodes/hl2rp/plugins/hl2_combinelight/sh_plugin.lua:5: attempt to call field 'Register' (a nil value)
1. unknown - gamemodes/hl2rp/plugins/hl2_combinelight/sh_plugin.lua:5
2. include - [C]:-1
3. include - gamemodes/nutscript/gamemode/core/sh_util.lua:17
4. load - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:44
5. loadFromDir - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:189
6. initialize - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:180
7. Call - gamemodes/nutscript/gamemode/shared.lua:75
8. unknown - lua/includes/modules/gamemode.lua:38
9. DeriveGamemode - [C]:-1
10. unknown - gamemodes/hl2rp/gamemode/init.lua:2
[ERROR] gamemodes/hl2rp/plugins/hl2_stuffs/sh_plugin.lua:45: attempt to call field 'Register' (a nil value)
1. unknown - gamemodes/hl2rp/plugins/hl2_stuffs/sh_plugin.lua:45
2. include - [C]:-1
3. include - gamemodes/nutscript/gamemode/core/sh_util.lua:17
4. load - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:44
5. loadFromDir - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:189
6. initialize - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:180
7. Call - gamemodes/nutscript/gamemode/shared.lua:75
8. unknown - lua/includes/modules/gamemode.lua:38
9. DeriveGamemode - [C]:-1
10. unknown - gamemodes/hl2rp/gamemode/init.lua:2
[/CODE]
Here's the sh_plugin.lua code for both plugins:
[CODE]PLUGIN.name = "Combine Light"
PLUGIN.author = "robinkooli"
PLUGIN.desc = "Portable light sources used to illuminate dark areas in support of Combine operations."
nut.command.Register({
adminOnly = true,
syntax = "[bool disabled]",
onRun = function(client, arguments)
local entity = scripted_ents.Get("hl2_combinelight"):SpawnFunction(client, client:GetEyeTraceNoCursor())
if (IsValid(entity)) then
nut.util.Notify("You have created a Combine Light.", client)
end
end
}, "placecl")[/CODE]
[CODE]PLUGIN.name = "Half Life 2 Stuffs"
PLUGIN.author = "Black Tea"
PLUGIN.desc = "Gives you more Half-Life 2 Stuffs."
PLUGIN.comlock = {}
if SERVER then
function PLUGIN:LoadData()
local restored = nut.util.ReadTable("comlocks")
if (restored) then
for k, v in pairs(restored) do
local position = v.position
local angles = v.angles
local door = v.door
if !door then continue end
local entity = ents.Create("nut_reader")
entity:SetPos(position)
entity:SetAngles(angles)
entity.door = door
entity:Spawn()
end
end
end
function PLUGIN:SaveData()
local data = {}
for k, v in pairs( ents.FindByClass("nut_reader") ) do
data[#data + 1] = {
position = v:GetPos(),
angles = v:GetAngles(),
door = v.door
}
end
nut.util.WriteTable("comlocks", data)
end
end
local function IsDoor(entity)
return string.find(entity:GetClass(), "door")
end
nut.command.Register({
adminOnly = true,
syntax = "[bool showTime]",
onRun = function(client, arguments)
local name = arguments[1]
tr = {}
tr.start = client:GetShootPos()
tr.endpos = tr.start + client:GetAimVector() * 200
tr.filter = client
trace = util.TraceHull(tr)
if (!client:GetNutVar("comlock")) then
if trace.Entity:IsValid() and trace.Entity:GetClass() == "nut_reader" then
client:SetNutVar("comlock", trace.Entity)
nut.util.Notify("Now face the door. and with name.", client)
end
else
if trace.Entity:IsValid() and IsDoor( trace.Entity ) then
local comlock = client:GetNutVar("comlock")
comlock.door = trace.Entity:GetPos()
client:SetNutVar("comlock", nil)
nut.util.Notify("You've added a new combine lock.", client)
else
client:SetNutVar("comlock", nil)
nut.util.Notify("Resetted selection.", client)
end
end
end
}, "addcomlock")[/CODE]
Any help would be appreciated.
As I can see, you seem to be running Nutscript 1.1 and trying to register commands with Nutscript 1.0 functions.
To fix this, what you have to do is change nut.command.Register for nut.command.add
and also put the 2nd argument as the first one, having the data after it.
And also, t here is no need to create that function that you've which is IsDoor.
Nutscript has got already a door check function which is, in fact ENTITY:isDoor()
[QUOTE=geferon;52683927]As I can see, you seem to be running Nutscript 1.1 and trying to register commands with Nutscript 1.0 functions.
To fix this, what you have to do is change nut.command.Register for nut.command.add
and also put the 2nd argument as the first one, having the data after it.
And also, t here is no need to create that function that you've which is IsDoor.
Nutscript has got already a door check function which is, in fact ENTITY:isDoor()[/QUOTE]
Thank you - I'll check if this worked.
Edit: It worked! Danke, mein freunde. But now I'm getting this error twice:
[CODE][ERROR] gamemodes/nutscript/gamemode/core/libs/sh_command.lua:9: attempt to index a string value with bad key ('syntax' is not part of the string library)
1. error - [C]:-1
2. __index - lua/includes/extensions/string.lua:297
3. add - gamemodes/nutscript/gamemode/core/libs/sh_command.lua:9
4. unknown - gamemodes/hl2rp/plugins/hl2_combinelight/sh_plugin.lua:5
5. include - [C]:-1
6. include - gamemodes/nutscript/gamemode/core/sh_util.lua:17
7. load - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:44
8. loadFromDir - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:189
9. initialize - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:180
10. unknown - gamemodes/nutscript/gamemode/shared.lua:65[/CODE]
I think I should be showing this to rebel1324 (the current developer for Nutscript's framework, as far as I know.)
[QUOTE=officialrngd;52684630]Thank you - I'll check if this worked.
Edit: It worked! Danke, mein freunde. But now I'm getting this error twice:
[CODE][ERROR] gamemodes/nutscript/gamemode/core/libs/sh_command.lua:9: attempt to index a string value with bad key ('syntax' is not part of the string library)
1. error - [C]:-1
2. __index - lua/includes/extensions/string.lua:297
3. add - gamemodes/nutscript/gamemode/core/libs/sh_command.lua:9
4. unknown - gamemodes/hl2rp/plugins/hl2_combinelight/sh_plugin.lua:5
5. include - [C]:-1
6. include - gamemodes/nutscript/gamemode/core/sh_util.lua:17
7. load - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:44
8. loadFromDir - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:189
9. initialize - gamemodes/nutscript/gamemode/core/libs/sh_plugin.lua:180
10. unknown - gamemodes/nutscript/gamemode/shared.lua:65[/CODE]
I think I should be showing this to rebel1324 (the current developer for Nutscript's framework, as far as I know.)[/QUOTE]
I think thats a problem of your code and not Nutscript's.
Also, if you really want basically, sort of live support with your Nutscript things you should come over to [URL="https://discord.gg/cCeFqF"]our discord[/URL].
Sorry, you need to Log In to post a reply to this thread.