Tables error, not understanding why it's happening.

Ok so, I’m getting the following errors:

[lua]
ERROR: GAMEMODE:‘PlayerSpawn’ Failed: gamemodes rilogyrp\gamemode\init.lua:32: attempt to index global ‘configuration’ (a nil value)

gamemodes rilogyrp\gamemode\configuration.lua:4: attempt to index global ‘tgy’ (a nil value)
[/lua]

And here is my files which those errors are based in

**


Init.lua**

[lua]

AddCSLuaFile( “cl_init.lua” )
AddCSLuaFile( “shared.lua” )

include( ‘shared.lua’ )

– Define the trilogy( tgy ) table.
tgy = {}

include( ‘configuration.lua’ )

function tgy.Call( func )
return func()
end

function GM:PlayerLoadout( pl )

pl:GiveAmmo( 255,	"Pistol", 		true )

pl:Give( "empty_weapon" )

end

function GM:PlayerInitialSpawn( pl )
self.BaseClass:PlayerInitialSpawn( pl )
print("(Tgy) - Player Initial Spawn called for: " … pl:Nick() … “.” )
end

function GM:PlayerSpawn( pl )
self.BaseClass:PlayerSpawn( pl )
print("(Tgy) - Player Spawn called for: " … pl:Nick() … “.” )

pl:SetModel( table.Random( configuration.PlayerModels.male ) )
print( pl:GetModel() )
end
[/lua]

**


Configuration.lua**

[lua]
function InitializeConfiguration()
print("(Tgy) - Configuration file initialised.")
end
tgy.Call( InitializeConfiguration )

– Server configuration.
configuration = {}

configuration.PlayerModels = {
male = {“models/Player/Group01/male_01.mdl”, “models/Player/Group01/male_02.mdl”, “models/Player/Group01/male_03.mdl”},
female = {“models/Player/Group01/female_01.mdl”, “models/Player/Group01/female_02.mdl”, “models/Player/Group01/female_03.mdl”}
[/lua]

A quick response would be excellent, I just don’t understand why I’m getting this!

Don’t include init.lua in configuration.lua

I was doing all that random stuff to try to get it to work. I’ll remove it and try again,

[editline]01:44AM[/editline]

Same errors.

Male should be lowercase on line 32 in init.lua

Ok, I fixed that, but I’m still getting those errors.





gamemodes	rilogyrp\gamemode\configuration.lua:4: attempt to index global 'tgy' (a nil value)

: ERROR: GAMEMODE:'PlayerSpawn' Failed: gamemodes	rilogyrp\gamemode\init.lua:32: attempt to index global 'configuration' (a nil value)


Place “include( ‘configuration.lua’ )” AFTER “tgy = {}”

Ok, that worked for defining the table. Now it’s not finding the tgy.Call() function.



: gamemodes	rilogyrp\gamemode\configuration.lua:4: attempt to call field 'Call' (a nil value)

ERROR: GAMEMODE:'PlayerSpawn' Failed: gamemodes	rilogyrp\gamemode\init.lua:33: attempt to index global 'configuration' (a nil value)


[editline]02:13AM[/editline]

I updated what the files look like in the OP.

Then place after defining this function…

[lua]AddCSLuaFile( “cl_init.lua” )
AddCSLuaFile( “shared.lua” )

include( ‘shared.lua’ )

– Define the trilogy( tgy ) table.
tgy = {}

function tgy.Call( func )
return func()
end

include( ‘configuration.lua’ )

function GM:PlayerLoadout( pl )

pl:GiveAmmo( 255,	"Pistol", 		true )

pl:Give( "empty_weapon" )

end

function GM:PlayerInitialSpawn( pl )
self.BaseClass:PlayerInitialSpawn( pl )
print("(Tgy) - Player Initial Spawn called for: " … pl:Nick() … “.” )
end

function GM:PlayerSpawn( pl )
self.BaseClass:PlayerSpawn( pl )
print("(Tgy) - Player Spawn called for: " … pl:Nick() … “.” )

pl:SetModel( table.Random( configuration.PlayerModels.male ) )
print( pl:GetModel() )
end[/lua]