DERMA automatically starts everytime player joins... ?

The title says it all…

[lua]

if ( CLIENT ) then
function PLUGIN:ShowVoteKickMenu( players )
if !self.votesyes or self.votesyes == nil then
self.votesyes = 0
end
if !self.votesno or self.votesno == nil then
self.votesno = 0
end

	self.VoteWindow = vgui.Create( "DFrame" )
	self.VoteWindow:SetSize( 200, 95 )
	self.VoteWindow:SetPos( ScrW() / 2 - self.VoteWindow:GetWide() / 2, ScrH() / 2 - self.VoteWindow:GetTall() / 2 )
	if players then
		self.VoteWindow:SetTitle( "Votekick " .. players )
	else
		self.VoteWindow:SetTitle( "Votekick " )
	end
	self.VoteWindow:SetDraggable( false )
	self.VoteWindow:ShowCloseButton( true )
	self.VoteWindow:SetBackgroundBlur( true )
	self.VoteWindow:MakePopup()
	
	local optionlist = vgui.Create( "DPanelList", self.VoteWindow )
	optionlist:SetPos( 5, 25 )
	optionlist:SetSize( 190, 65 )
	optionlist:SetPadding( 5 )
	optionlist:SetSpacing( 5 )
	
	
	local voteyes = vgui.Create( "DButton" )
	voteyes:SetText( "Yes" )
	voteyes:SetTall( 25 )
	voteyes.DoClick = function()
		self.votesyes = self.votesyes + 1
		self.VoteWindow:Close()
	end
	
	local voteno = vgui.Create( "DButton" )
	voteno:SetText( "No" )
	voteno:SetTall( 25 )
	voteno.DoClick = function()
		self.votesno = self.votesno + 1
		self.VoteWindow:Close()
	end
		
	optionlist:AddItem( voteyes )
	optionlist:AddItem( voteno )

end
concommand.Add( "test_votekick", PLUGIN:ShowVoteKickMenu() )

usermessage.Hook( "EV_VoteKickMenu", function( um )	
	local players = um:ReadString()
	PLUGIN:ShowVoteKickMenu( players )
end )

end
[/lua]

Bump… D:

hook it into playerinitialspawn.

Post the function that calls your usermessage hook, I suspect it has something to with that.

Deadman, I mean I DON’T want it to do everytime the player spawns the first time. Anyways, I’ll do that, wizards:

[lua]
function PLUGIN:Call( ply, args )
if ( ply:EV_HasPrivilege( “Vote Kick” ) ) then
if ( self.Voting ) then
evolve:Notify( ply, evolve.colors.red, “You can’t start a new vote kick until the current one has finished!” )
return
elseif ( #player.GetAll() < 3 ) then
evolve:Notify( ply, evolve.colors.red, “There aren’t enough players to start a vote kick!” )
return
end

	local args
	
	local pl = evolve:FindPlayer( args[1] )
	
	if ( #pl == 0 ) then
		evolve:Notify( ply, evolve.colors.red, "You haven't specified a player!" )
	elseif ( #pl &gt; 1 ) then
			evolve:Notify( ply, evolve.colors.white, "Did you mean ", evolve.colors.red, evolve:CreatePlayerList( pl, true ), evolve.colors.white, "?" )
			
			return
	elseif ( #pl == 1 ) then
		pl = pl[1]
		uid = pl:UniqueID()
		

		self.Voting = true
		self.votesyes = 0
		self.votesno = 0
		self.Votes = {}
		self.VotingPlayers = 0
		self.VotingPlayers = table.Count( player.GetAll() )
		
		umsg.Start( "EV_VoteKickMenu" )
			umsg.String( pl ) 
		umsg.End()
		
		timer.Create( "EV_VoteKickEnd", 10, 1, function() PLUGIN:VoteKickEnd() end )
		
		evolve:Notify( evolve.colors.blue, ply:Nick(), evolve.colors.white, " has started the vote kick for ", evolve.colors.red, players, evolve.colors.white, "." )
	end
else
	evolve:Notify( ply, evolve.colors.red, evolve.constants.notallowed )
end

end
[/lua]

Line 50:
[lua]concommand.Add( “test_votekick”, PLUGIN:ShowVoteKickMenu() )[/lua]
You only use brackets when calling a function, the plugin function would run at the start of the script all the time. Remove () from the function or remove the concommand.Add line completely since you’re supposed to call it through usermessages?.

[editline]27th January 2012[/editline]
Like this if you’re not removing the line completely:
[lua]concommand.Add(“test_votekick”, PLUGIN.ShowVoteKickMenu)[/lua]

Thank you leiftiger, it’s just I added the “()” because I kept getting errors for not having them. Let me try this now!

[editline]27th January 2012[/editline]

That worked! Thanks alot!