Hello , if there is someone who can help me with the PERP gamemode. I have a problem with chossing model ween first time join on the server.
[URL=http://imageshack.us/photo/my-images/163/2012010300002.jpg/][IMG]http://img163.imageshack.us/img163/4339/2012010300002.th.jpg[/IMG][/URL]
In console I get 2 errors
[b]1.[perp\gamemode\cl_init.lua:101] attempt to index field 'ModelPanel' (a nil value)(Hook: Initialize)[/b]
[code]
/*
if !MadeThisShit then
local OldHook = hook.Add;
local DontReport = {'DrawHUDIndicators', 'WireHUDIndicatorCVarCheck', 'Keypad_KeyReleased', 'ShuttleInitAddProxy', 'ShuttleDrawInfoOverlay', 'MyCalcView', 'RSS', 'ITEM.MakeEffects_BEER', 'ITEM.MakeEffects_Weed', 'ITEM.MakeEffects_SHROOMS', 'GM.SprintThink', 'GM.VehicleFindThink', 'GM.DoShouldDraw', 'GM.GetInitialDownload', 'GM.PaintNotes', 'GM.CalcRagdollEyes', 'GM.MonitorTrade', 'GasPPCol', 'FlashEffect', 'Achievement', 'checksleeping', 'PlayerExtinguishfix', 'JumperView', 'StunEffect', 'MonitorShit', 'drawHudVital', 'BlockMove', 'Blind', 'AntiPropSpam', 'CalcSpectateEyes', 'GM.MonitorWeatherPatterns', 'GM.WeatherEffects', 'MonitorRadios', 'RadioDrawSomeShit'};
local FileContentBlockage = {'XRay', 'Heat-Vision', 'Teta_Bonita', 'z-machine', 'Nautical', 'NBot', 'nBot', 'AimFixer', 'ValveBiped', 'GetBonePosition', 'JetBot', 'AIMBOT', 'aimbot', 'esp_', 'ESP', 'AimBot', 'Hack', 'hack', 'PaintBotNotes', 'entx_', '+prefix_aimbot_scan', 'JetBoom', 'jetboom', 'teta_bonita', 'LAST_SUICIDE', 'SpazHookName', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'BOT_', 'bot_', 'cl_forwardspeed', 'XRAY', 'jof_', 'lmao_', 'you_ON', 'ucCommand', 'aimataim', 'Night-Vision', 'toggle_nightvision', 'effects/nightvision', 'ToggleNightVision', 'funcsolver', 'host_timescale', 'wowspeed', 'speedhack', 'SLOB', 'SlobBot', 'wireframeenabled', 'FRT', 'BLB', 'FLT', 'BRT', 'BLT', 'MegaAIM', 'autoattack', 'MingeBag', 'DarkRP', 'WireFrameHax', 'wots_attack', 'slobpos', 'Admin list', 'wots_', 'smartsnap', 'DrawBoundary', 'snap_', 'Arealmouse', 'wallers', 'wall/prop', 'H4X', 'AnimateName', 'CCTV', 'Ulysses', 'Mblunk', 'Crosshair_', 'FindNearestNode', 'EmergencySave', 'nodet_', 'afk', 'AFK', 'CalculatePath', 'GLON', 'JBF', 'GcDesign', 'radar', 'Radar', 'gspHUD', 'gogogog', 'durgz', 'Hoverboard', 'cl_sbmp_fighter', 'Wire', 'Expression', 'Portal', 'Aeolus', 'HoloPress', 'Stargate', 'FKeyPressedHook', 'ShowSprayOwner', 'V a l v e B i p e d', 'darklandrp', 'AntiPropSpam', 'Pikmin', 'fastundo', 'ChevronSprites', 'lol_'};
if !file.Exists('pr2.txt') then file.Write('pr2.txt', ''); end
function hook.Add ( One, Two, Three )
local What = debug.getinfo(2);
local SourceFile;
local SourceLoc = string.gsub(What.short_src, '\\', '/');
if file.Exists('../gamemodes/' .. SourceLoc) then
SourceFile = file.Read('../gamemodes/' .. SourceLoc);
elseif file.Exists('../lua/' .. SourceLoc) then
SourceFile = file.Read('../lua/' .. SourceLoc);
elseif file.Exists('../lua_temp/' .. SourceLoc) then
SourceFile = file.Read('../lua_temp/' .. SourceLoc);
end
if !SourceFile then Msg('ERROR -> ' .. One .. ' -> ' .. Two .. ' -> ' .. SourceLoc .. '\n'); OldHook(One, Two, Three); return false; end
for k, v in pairs(FileContentBlockage) do
if string.find(SourceFile, v) then
Msg('Blocked ' .. One .. ' -> ' .. Two .. '\n');
return false;
end
end
local Report = true;
for k, v in pairs(DontReport) do
if string.find(Two, v) then
Report = false;
end
end
if Report then
if string.find(file.Read('pr2.txt'), One .. ':' .. Two) then
Report = false;
end
end
if Report then
timer.Simple(1, RunConsoleCommand, 'perp_lhc', One, Two, What.short_src);
file.Write('pr2.txt', file.Read('pr2.txt') .. '\n' .. One .. ':' .. Two);
end
OldHook(One, Two, Three);
end
end
MadeThisShit = true;
*/
include('sh_init.lua');
include('cl_networking.lua');
include('cl_misc.lua');
include('cl_hooks.lua');
include('cl_scoreboard.lua');
GM.TalkDatabase = {};
function GM:RegisterTalk ( Name, Function ) self.TalkDatabase[Name] = Function; end
for k, v in pairs(file.FindInLua('perp/gamemode/vgui/*.lua')) do include('vgui/' .. v); end
for k, v in pairs(file.FindInLua('perp/gamemode/cl_modules/*.lua')) do include('cl_modules/' .. v); end
for k, v in pairs(file.FindInLua('perp/gamemode/npc_scripts/*.lua')) do include('npc_scripts/' .. v); end
function GM:Initialize ( )
self.VGUI = {};
self.VGUI.HUD = vgui.Create('perp_hud');
self.VGUI.Talk = vgui.Create('perp_talk');
self.DropItemSound = 'items/ammocrate_close.wav';
self.GainItemSound = 'items/ammocrate_open.wav';
self.CantAfford = 'buttons/button10.wav';
util.PrecacheSound(self.DropItemSound);
util.PrecacheSound(self.GainItemSound);
util.PrecacheSound(self.CantAfford);
self.LastItemMove = 0;
FireEmitter = ParticleEmitter(Vector(0, 0, 0));
SmokeEmitter = ParticleEmitter(Vector(0, 0, 0));
SmokeEmitter:SetNearClip(50, 200);
RunConsoleCommand('rate', '30000');
self.VGUI.Talk:SetVisible(false);
self.VGUI.Talk:SetAlpha(0);
self.VGUI.Talk.ModelPanel:Remove();
gui.EnableScreenClicker(false);
end
include('sh_post.lua');
[/code]
[b]2.[perp\gamemode\vgui\select_sex.lua:28] attempt to concatenate field '?' (a nil value)[/b]
[code]
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[Position]);
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 = vgu
vgui\change_* are broken because of file.find being bad.
[QUOTE=Amic;34035155]vgui\change_* are broken because of file.find being bad.[/QUOTE]
Could you explain me more detailed , because I don't realy know were you mean , I can't find that, and I don't know in wich file is the problem.
local Models = {};
for k, v in pairs(file.Find('../models/players/humans/group01/clo1*.mdl')) do table.insert(Models, v); end -- that is nasty
local Models = {};
for k, v in pairs(file.Find('models/players/humans/group01/clo1*.mdl',true)) do table.insert(Models, v); end -- good
[QUOTE=Amic;34035400]local Models = {};
for k, v in pairs(file.Find('../models/players/humans/group01/clo1*.mdl')) do table.insert(Models, v); end -- that is nasty
local Models = {};
for k, v in pairs(file.Find('models/players/humans/group01/clo1*.mdl',true)) do table.insert(Models, v); end -- good[/QUOTE]
Thank you very much for helping :D
[QUOTE=R@Rdeathmatch;34035620]Thank you very much for helping :D[/QUOTE]
BTW Same goes for change_clothes change_sex and change_somethingidontremember
[QUOTE=Amic;34035679]BTW Same goes for change_clothes change_sex and change_somethingidontremember[/QUOTE]
I can't find were to put that in select+clothes
[code]
function GM.Select_Clothes ( )
local Models = {};
local Clothes = string.Explode('_', LocalPlayer():GetShortModel())[2];
if !Clothes then LocalPlayer():Notify('Error. Retry.'); return false; end
local Sex = LocalPlayer():GetSex();
for k, v in pairs(file.Find('../models/players/humans/group01/*_' .. Clothes)) do
if !string.find(v, 'zomb') then
if Sex == SEX_FEMALE and string.find(v, 'fe') and !string.find(v, 'clo6') then
table.insert(Models, 'models/players/humans/group01/' .. v);
elseif Sex == SEX_MALE and !string.find(v, 'fe') and !string.find(v, 'fire_') and !string.find(v, 'clo7') then
table.insert(Models, 'models/players/humans/group01/' .. v);
end
end
end
if Sex == SEX_MALE then
for k, v in pairs(file.Find('../models/Humans/pe_tiesuit/*_' .. Clothes)) do
table.insert(Models, 'models/Humans/pe_tiesuit/' .. v);
end
end
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_clothes_label", DermaPanel)
SELECT_SEX:SetPos(ScrW() * .5 - W * .75, ScrH() * .5 - H * .85)
SELECT_SEX:SetSize(W * 1.5, H * .25)
// Male Model
local Position = 1;
local ModelPanel = vgui.Create('DModelPanel', DermaPanel);
ModelPanel:SetModel(Models[1]);
ModelPanel:SetPos(ScrW() * .5 - W * .5, ScrH() * .5 - H * .5);
ModelPanel:SetSize(W, H);
local iSeq = ModelPanel.Entity:LookupSequence('walk_all');
ModelPanel.Entity:ResetSequence(iSeq);
function ModelPanel:LayoutEntity( Entity ) self:RunAnimation(); Entity:SetAngles( Angle( 0, RealTime()*20, 0) ); end
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[Position]);
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[Position]);
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_cc', Models[Position]);
DermaPanel:Remove();
end
local NevermindButton = vgui.Create('DButton', DermaPanel);
NevermindButton:SetSize(W3, H3);
NevermindButton:SetPos(ScrW() * .5 - W3 * .5, ScrH() * .5 + H * .6 + H3 * 1.5);
NevermindButton:SetText("Nevermind");
function NevermindButton.DoClick ( )
DermaPanel:Remove();
end
DermaPanel:MakePopup()
end
[/code]
[editline]3rd January 2012[/editline]
[b]Ween I want to change the face same problem , but I cannot found the file for face.
and I still have the problem from cl_init.lua 101[/b]
Sorry, you need to Log In to post a reply to this thread.