Ergebnis 1 bis 4 von 4

Thema: S.w.e.p. Spawn Only For Admin

  1. #1

    S.w.e.p. Spawn Only For Admin

    Hallo zusammen,
    Ich suche da eine Lua datei womit NUR DER ADMIN waffen SWEPen kann und nicht die leute wo auf meinen Server rein kommen also auf deutsch gesagt ich suche ein ONLY ADMIN SWEP ding bums lua datei

  2. #2
    €r!k
    Avatar von €r!k

    Standard AW: S.w.e.p. Spawn Only For Admin

    Ich auch. währe dankbar für ein ordetnliches und übersichtliches Adminmenü.

  3. #3

    Standard AW: SWEP Spawn Only For Admin

    Also hast du ULib, oder ULX?
    Wenn du ULib hast dann musst du einfach lua/init/swep_menu.lua öffenen.
    Danach alles löschen und durch
    Code:
    -- SWEP menu, Garry Newman 2005
    --
    -- To disable this menu just change Enabled to false below.
    --
    --
    assert( _file.Exists( "lua/ULib/init.lua" ), "<Insert script name> needs ULib to run!" )
    _OpenScript( "ULib/init.lua" )
    assert( ULib.VERSION >= 1, "<Insert script name> requires ULib version 1 or higher to run!" ) -- Insert what version you want in place of 1
    
    g_SWEPMenu = {}
    g_SWEPMenu.Enabled			= true
    g_SWEPMenu.MenuTitle		= "SWEP Weapons"
    g_SWEPMenu.SpawnRate		= 3.0
    g_SWEPMenu.Players			= {}
    g_SWEPMenu.ShowCategories	= true
    g_SWEPMenu.ExcludeFolders	= { ".",
    								"..",
    								"football", 
    								"build", 
    								"hideandseek" }
    
    if (g_SWEPMenu.Enabled) then
    
    	g_SWEPs = {}
    
    	function AddSWEPToMenu( category, name, filepath )
    
    		-- Strip some crap from the weapon names..
    		--name = string.gsub(name, "weapon_", "")
    		--name = string.gsub(name, "tpc_", "")
    		name = string.gsub(name, ".lua", "")
    		
    		filepath = string.gsub(filepath, "lua/weapons/", "")
    		filepath = string.gsub(filepath, ".lua", "")
    		
    		local tWeapon = {}
    		tWeapon.category	= category;
    		tWeapon.name		= name;
    		tWeapon.filename	= filepath;
    		
    		table.insert( g_SWEPs, tWeapon );
    		
    	end
    
    
    	function ProcessSWEPFolder( k, name )
    		
    		for i=1, table.getn(g_SWEPMenu.ExcludeFolders) do
    			if (g_SWEPMenu.ExcludeFolders[i] == name) then 
    				return; 
    			end
    		end
    		
    		local FileName = "lua/weapons/" .. name ;
    		if (_file.IsDir(FileName) == false) then return end;
    
    		local tFiles = _file.Find( FileName .. "/*.lua" );
    
    		for i=1, table.getn(tFiles) do
    		
    			AddSWEPToMenu( name, tFiles[i], FileName .."/".. tFiles[i] );
    			
    		end
    
    	end
    
    
    	function PopulateSWEPList()
    
    		local tFiles = _file.Find( "lua/weapons/*" );
    		table.foreach( tFiles, ProcessSWEPFolder );
    		
    	end
    
    
    	function PlayerSendSWEPMenu( iPlayer )
    
    		if (iPlayer==0) then return end;
    		if (_GetRule( "AllowObjectSpawning" )==false) then return; end;
    
    		local LastCat = ""
    		
    		-- Set up this player's settings
    		g_SWEPMenu.Players[iPlayer] = {}
    		g_SWEPMenu.Players[iPlayer].NextSpawn = 0
    
    		for i=1, table.getn(g_SWEPs) do
    		
    			if ( LastCat ~= g_SWEPs[i].category and g_SWEPMenu.ShowCategories ) then			
    				_spawnmenu.AddItem( iPlayer, g_SWEPMenu.MenuTitle, "@" .. g_SWEPs[i].category, "" );
    				LastCat = g_SWEPs[i].category
    			end
    		
    			_spawnmenu.AddItem( iPlayer, g_SWEPMenu.MenuTitle, "+" .. g_SWEPs[i].name, "SWEPSpawn " .. g_SWEPs[i].filename );
    			
    		end
    
    	end
    
    
    	function cc_SpawnSWEP( iPlayer, strFilename )
    	
    		-- Time between spawns.
    		if ( g_SWEPMenu.Players[iPlayer].NextSpawn > _CurTime() and _MaxPlayers() > 1 ) then
    			return;
    		end
    		
    		if ( _GetRule( "AllowObjectSpawning" )==false ) then return end;
    		if ( _file.Exists( "lua/weapons/" .. strFilename .. ".lua" ) == false ) then return end;
    		if ( not _PlayerInfo( iPlayer, "alive") ) then return end;
    		
    		-- Make sure this is in our spawnables list
    		local bFound = false;
    		for i=1, table.getn(g_SWEPs) do
    			if ( g_SWEPs[i].filename == strFilename ) then bFound = true; end;
    		end
    		if ( not bFound ) then return end;
    		
    		
    		PlayerLookTrace( iPlayer, 200 );
    		if ( _TraceHit() == false ) then return end;
    		
    		local vSpawnPos = _TraceEndPos();
    		local vNormal = _TraceGetSurfaceNormal();
    		
    		vSpawnPos = vecAdd( vSpawnPos, vecMul( vNormal, 50 ) )
    		
    		local iEnt = _EntCreate( "weapon_swep" )
    			_EntSetPos( iEnt, vSpawnPos )
    			_EntSetKeyValue( iEnt, "Script", strFilename )
    		_EntSpawn( iEnt )
    		_util.DropToFloor( iEnt )
    		
    
    		g_SWEPMenu.Players[iPlayer].NextSpawn = _CurTime() + g_SWEPMenu.SpawnRate;
    		
    	end
    
    
    	PopulateSWEPList();
    	HookEvent( "eventPlayerInitialSpawn", PlayerSendSWEPMenu );
    	ULib.CONCOMMAND( "SWEPSpawn", cc_SpawnSWEP, "Spawn SWEP weapon; Syntax: <filename>", ACCESS_RESERVATION);
    	
    end
    erstetzen. Fertig.

    Obwohl manche die Waffen spawnen können, können Sie die Waffen nicht aufheben.
    Geändert von Locou (12.10.2006 um 15:22 Uhr)

  4. Folgender Benutzer sagt Danke zu Locou für den nützlichen Beitrag:


  5. #4

    Standard AW: S.w.e.p. Spawn Only For Admin

    ich habe ULX denke ich

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •