Die Inhalte in diesem Wiki wurden seit längerem nicht mehr aktualisiert.

Alternativ gibt es unter https://gmod.de ein deutschsprachiges Forum zu Garry's Mod.

Version9: Lua für Anfänger

Aus GMod Wiki (DE)
Wechseln zu: Navigation, Suche

Anfang

Geht in den Ordner von Garry's Mod (X:\Steam\SteamApps\SourceMods\gmod9\lua\weapons) Dort sind alle Garry's Mod Waffen. Nun erstellt ihr eine neue .lua Datei (kopiert einfach eine und benennt sie um).

Der Lua Code

--Hier wechselt ihr einfach zwischen "false" oder "true" um zwiscchen Linker 
--und Rechter hand hin und her zu wechseln.
	function getWeaponSwapHands()
		return true;	
	end
 
 
--Das ist das FOV "Field of view" der First Person Waffe, 
--umso kleiner desto näher ist die Waffe in der First Person
	function getWeaponFOV()
		return 74;	
	end
 
 
--Dies ist der Waffenslot wo die neue Waffe erscheint:
--0 = crowbar/grav gun
--1 = pistol/357
--2 = smg/pulse rifle
--3 = shotgun/crossbow
--4 = genade/rpg
--5 = bugbait
	function getWeaponSlot()
		return 3;	
	end
 
 
--Die ist die Waffenhöhe im slot 
	function getWeaponSlotPos()
 
		return 6;	
 
	end
 
 
--Das sagt wohl alles (Schießen Unterwasser ja "true" oder nein "false")
	function getFiresUnderwater()
		return true;
	end
 
 
--Dies bedeutet, ob die Waffe wie eine Schrotflinte nachgeladen(true) wird oder ein ganzes Magazin (false).
	function getReloadsSingly()
		return false;
	end
 
 
--Das dürfte jedem klar sein, dass ist der schaden der Waffe.
	function getDamage()
		return 30;
	end
 
 
 
--Das ist die Schussreihenfolge, umso höher desto langsamer
	function getPrimaryShotDelay()
		return 0.07;
	end
 
 
--Das selbe, nur ist primary für die erste Waffen funkt. und secondary die zweite
	function getSecondaryShotDelay()
		return 100;
	end
 
 
--Schießt die Waffe bei halten der Angriffstaste weiter (SMG) oder muss man immer klicken (Raketenwerfer).
	function getPrimaryIsAutomatic()
		return true;
	end
 
 
--Das selbe nur ist "primary" für die erste Waffen funkt. und "secondary" die zweite
	function getSecondaryIsAutomatic()
		return true;
	end
 
 
--Der streu Radius der Waffe, je höher desto mehr.
	function getBulletSpread()
		return vector3( 0.02, 0.02, 0.02 );
	end
 
 
--Das ist klar oder? Hier wird die Sicht des Spielers gekickt.
--der erste :
-- - 1 > bedeutet = hoch
--   1 > bedeutet = runter
 
--der zweite :
-- - 1 > bedeutet = rechts
--   1 > bedeutet = links
 
--der dritte :
-- - 1 > bedeutet = kippt nach links
--   1 > bedeutet = kippt nach rechts
	function getViewKick()
		return vector3( -2.0, 0.0, 0.0);
	end
 
 
--Das gleiche wie  getViewKick.
	function getViewKickRandom()
		return vector3( 1.4, 2.0, 1.0 );
	end
 
 
--Das first person model (sieht man nur selber).
	function getViewModel( )
		return "models/weapons/v_smg_mac10.mdl";
	end
 
 
--Das third Person Model (sieht man am Spieler).
	function getWorldModel( )
		return "models/weapons/w_smg_mac10.mdl";
	end
 
 
--Das ist wichtig bei Mods, aber später mehr.
--Wichtig keine doppelten Namen, so ist weapon_awp schon besetzt usw.
	function getClassName()
		return "weapon_mac10";
	end
 
 
--Das ist die Munitionsart, auch hier gilt Primär und Sekundär.
	function getPrimaryAmmoType()
		return "357";
	end
 
 
--Das ist die Munitionsart, auch hier gilt Primär und Sekundär.
	function getSecondaryAmmoType()
		return "357";
	end
 
 
--Maximale Munition in der Waffe, auch hier gilt Primär und Sekundär.
	function getMaxClipPrimary()
		return 30;
	end
 
 
--Maximale Munition in der Waffe, auch hier gilt Primär und Sekundär. Wobei -1 bedeutet keine Munition.
	function getMaxClipSecondary()
		return -1;
	end
 
 
--Munition in der Waffe beim erhalten, auch hier gilt Primär und Pekundär. Wbei -1 bedeutet keine Munition.
	function getDefClipPrimary()
		return 90;
	end
 
 
--Munition in der Waffe beim erhalten, auch hier gilt Primär und Sekundär. Wobei -1 bedeutet keine Munition.
	function getDefClipSecondary()
		return -1;
	end
 
 
--Die Animation wie der Spieler die Waffe hält.
-- pistol, smg, ar2, shotgun, rpg, phys, crossbow, melee, slam, grenade
	function getAnimPrefix()
		return "pistol";
	end
 
 
--Der Name der Waffe der im hud und in der Konsole angezeigt wird.
	function getPrintName()
		return "Mac10";
	end
 
 
--Sagt alles, auch hier gilt Primär und Sekundär.
	-- 0 = Don't override, shoot bullets, make sound and flash
	-- 1 = Don't shoot bullets but do make flash/sounds
	-- 2 = Only play animations
	-- 3 = Don't do anything
	function getPrimaryScriptOverride()
		return 0;
	end
 
 
--Sagt alles, auch hier gilt Primär und Sekundär.
	function getSecondaryScriptOverride()
		return 3;
	end

Munitionsarten

   AR2
   AlyxGun
   Pistol
   SMG1
   357
   XBowBolt
   Buckshot
   RPG_Round
   SMG1_Grenade
   SniperRound
   SniperPenetratedRound
   Grenade
   Thumper
   Gravity
   Battery
   GaussEnergy
   CombineCannon
   AirboatGun
   StriderMinigun
   HelicopterGun
   AR2AltFire
   slam


Sounds der Half-Life 2 Waffen

   Weapon_357.Single
   Weapon_AR2.Single
   Weapon_Crossbow.Single
   Weapon_Crowbar.Single
   Weapon_PhysCannon.Launch
   Weapon_PhysCannon.DryFire
   Weapon_Physgun.On
   Weapon_Pistol.Single
   Weapon_RPG.Single
   Weapon_Shotgun.Single
   Weapon_Shotgun.Double
   Weapon_SMG1.Single
   Weapon_StunStick.Swing
 


Sounds der CounterStrike Waffen

   Weapon_AK47.Single
   Weapon_AUG.Single
   Weapon_AWP.Single
   Weapon_DEagle.Single
   Weapon_Elite.Single
   Weapon_FAMAS.Single
   Weapon_FiveSeven.Single
   Weapon_G3SG1.Single
   Weapon_Galil.Single
   Weapon_Glock.Single
   Weapon_M3.Single
   Weapon_M4A1.Single
   Weapon_M4A1.Silenced
   Weapon_M249.Single
   Weapon_MAC10.Single
   Weapon_MP5Navy.Single
   Weapon_P90.Single
   Weapon_P228.Single
   Weapon_Scout.Single
   Weapon_SG552.Single
   Weapon_TMP.Single
   Weapon_UMP45.Single
   Weapon_USP.Single
   Weapon_XM1014.Single