Select_sex.lua PERP -.-

So here’s the error:

[gamemodes\perp\gamemode\vgui\select_sex.lua:28] attempt to concatenate field ‘?’ (a nil value)

This error happens when you join the server and is going to choose face (sex)
I tried almost everything (i think) is the code just too old, cause I can’t figure out what’s wrong with it… And yes I tried searching if anyone had the same problem, that was a no go.

[lua]
local Models = {};
for k, v in pairs(file.Find(’…/models/players/humans/group01/clo1*.mdl’)) do table.insert(Models, v); end

function GM.Select_Sex ( )
local W, H = 256, 256;

local DermaPanel = vgui.Create("DPanel")
DermaPanel:SetPos(0, 0)
DermaPanel:SetSize(ScrW(), ScrH())
function DermaPanel:Paint ( )
	Derma_DrawBackgroundBlur( self, self.m_fCreateTime )
	Derma_DrawBackgroundBlur( self, self.m_fCreateTime )
	return true
end

local SEX_M = vgui.Create("DPanel", DermaPanel)
SEX_M:SetPos(ScrW() * .5 - W * .5, ScrH() * .5 - H * .5)
SEX_M:SetSize(W, H)

local SELECT_SEX = vgui.Create("perp_select_sex_label", DermaPanel)
SELECT_SEX:SetPos(ScrW() * .5 - W * .5, ScrH() * .5 - H * .85)
SELECT_SEX:SetSize(W, H * .25)


// Male Model	
local Position = 1;
local ModelPanel = vgui.Create('DModelPanel', DermaPanel);
ModelPanel:SetModel('models/players/humans/group01/' .. Models[1]);
ModelPanel:SetPos(ScrW() * .5 - W * .5, ScrH() * .5 - H * .5);
ModelPanel:SetSize(W, H);

ModelPanel:SetFOV(70)
ModelPanel:SetCamPos(Vector(14, 0, 60))
ModelPanel:SetLookAt(Vector(-1, 0, 64))

function ModelPanel:LayoutEntity( Entity )  end

local iSeq = ModelPanel.Entity:LookupSequence('ragdoll');
ModelPanel.Entity:ResetSequence(iSeq);

local W2, H2 = 64, 64;

local ForwardButton = vgui.Create('DButton', DermaPanel);
ForwardButton:SetSize(W2, H2);
ForwardButton:SetPos(ScrW() * .5 + W * .6, ScrH() * .5 - H2 * .5);
ForwardButton:SetText(">");

local BackButton = vgui.Create('DButton', DermaPanel);
BackButton:SetSize(W2, H2);
BackButton:SetPos(ScrW() * .5 - W * .6 - W2, ScrH() * .5 - H2 * .5);
BackButton:SetText("<");
BackButton:SetEnabled(false);

function BackButton.DoClick ( )
	if Position != 1 then
		Position = Position - 1
		ModelPanel:SetModel('models/players/humans/group01/' .. Models[Position]);
		
		if string.find(Models[Position], 'fe') then
			ModelPanel:SetCamPos(Vector(14, 0, 60))
			ModelPanel:SetLookAt(Vector(-1, 0, 64))
			ModelPanel:SetFOV(70)
		else
			ModelPanel:SetCamPos(Vector(14, 0, 62))
			ModelPanel:SetLookAt(Vector(-1, 0, 66))
			ModelPanel:SetFOV(70)
		end
		
		if Position == 1 then
			BackButton:SetEnabled(false);
		else
			ForwardButton:SetEnabled(true);
		end
	end
end

function ForwardButton.DoClick ( )
	if Position != #Models then
		Position = Position + 1
		ModelPanel:SetModel('models/players/humans/group01/' .. Models[Position]);
		
		if string.find(Models[Position], 'fe') then
			ModelPanel:SetCamPos(Vector(14, 0, 60))
			ModelPanel:SetLookAt(Vector(-1, 0, 64))
			ModelPanel:SetFOV(70)
		else
			ModelPanel:SetCamPos(Vector(14, 0, 62))
			ModelPanel:SetLookAt(Vector(-1, 0, 66))
			ModelPanel:SetFOV(70)
		end
		
		if Position == #Models then
			ForwardButton:SetEnabled(false);
		else
			BackButton:SetEnabled(true);
		end
	end
end

local W3, H3 = 128, 32;

local ConfirmButton = vgui.Create('DButton', DermaPanel);
ConfirmButton:SetSize(W3, H3);
ConfirmButton:SetPos(ScrW() * .5 - W3 * .5, ScrH() * .5 + H * .6);
ConfirmButton:SetText("Confirm Selection");

function ConfirmButton.DoClick ( )
	RunConsoleCommand('perp_sm', Models[Position]);
	DermaPanel:Remove();
end

DermaPanel:MakePopup()

end
[/lua]

Try replacing this line
[lua]ModelPanel:SetModel(‘models/players/humans/group01/’ … Models[1]);[/lua]

with this line

[lua]ModelPanel:SetModel(Model(‘models/players/humans/group01/’ … Models[1]));[/lua]

Wrong, on the second line, change:

[lua]
for k, v in pairs(file.Find(’…/models/players/humans/group01/clo1*.mdl’)) do table.insert(Models, v); end
[/lua]

To:

[lua]
for k, v in pairs(file.Find(‘models/players/humans/group01/clo1*.mdl’, true)) do table.insert(Models, v); end;
[/lua]

Lua isn’t finding …/models/players/humans/group01/clo1*.mdl, so I’m going to assume you’re missing those models

It can’t find it because it isn’t using the base folder, that is what the second argument is for.

No, the models ain’t missing :slight_smile:

Chessnut: I already tried using that line, from here: http://www.facepunch.com/threads/1152473?highlight=select_sex - But thanks anyway :slight_smile:

Hyper: I’ll try yours when I get home, thank you guys :slight_smile:

omfg… Chessnut! I just tried your fix, it actually worked?!