PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tipps zum erstellen von Waffen



Price
03.12.2005, 11:31
Hey, ich poste hier nur kleine Tipps.
Als erstes solltet ihr eine Waffe erstellen damit ihr euch erst einmal damit verständlich macht.
Das beste ist natürlich das sdk zu installieren um die Models und Sounds später besser zu finden.
Danach geht in den Ordner von Garry (X:\Steam\SteamApps\SourceMods\gmod9\lua\weapons)
Dort sind alle Garry mod Waffen.

Das einfachste für den Anfang ist es erst einmal eine Referenz zu öffnen dazu geht in den ordern "tpc" und kopiert euch eine Waffe z.B. tpc_mac10.lua in den Ordner weapons
und nennt diese "mac10.lua" (öffnen tut ihr mit dem Editor/Notepad oder mit dem "WordPad-MFC-Anwendung".
Dann seht ihr folgendes

-- wird gestartet sobald W

So ist dies Funktion dafür verantwortlich, ist von Model zu Model anders.
Somit switcht einfach auf "false" oder "true" um die Model Seite in der First Person zu ändern :

function getWeaponSwapHands()
return true;
end[/color]


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 Waffen Höhe im slot
function getWeaponSlotPos()

return 6;

end


Das sagt wohl alles (Schiessen unter wasser 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 oder muss man immer klicken (zum Beispiel bei einem Revolver)

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 der munitions-Typ, auch hier gilt primär und sekundär

function getPrimaryAmmoType()
return "357";
end

Das ist der munitions-Typ, 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 sekundär. wobei -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


Hier findet ihr mehr :
http://gmwiki.garry.tv/index.php/Category:Lua_Bindings
Nun arbeite ich aber weiter an meiner mod :wink:

die Beispiel Waffe lädt ihr dann so z.B. (der Pfad muss korrekt sein aber .lua ist nicht erforderlich) :

lua _PlayerGiveSWEP( 1, "weapons/mac10.lua" );



Munitions sorten
* 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 waffen
Half-Life 2:

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



Counter-Strike:

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

Blackfinal
03.12.2005, 12:17
Ich habe mir mal erlaubt dein Beitrag auf Wichtig zu stellen den einige Leute Wissen ja doch nicht wie so etwas geht nun und bei dir können sie anfangen!

Pac_187
03.12.2005, 16:21
Dickes Lob Price!!!

Werd gleich ma versuchen meine eigene Waffe zu scripten.

Price
04.12.2005, 02:02
SAUFEN :D
okay wollte nur noch anfügen das ihr eure waffe im spiel dann ganz einfach so ladet :

lua _PlayerGiveSWEP( 1, "weapons/headcraber/parasite.lua" );

der code muss dann eurer waffe entsprechen, aber man kann ja immer per "alt+tab" raus / rein in garry mod switchen und nachgucken :wink:

CaPaRZo
04.12.2005, 09:39
Danke Price! So etwas hab' ich gesucht! :D

Nilres
04.12.2005, 09:42
Werd ich auch gleich mal ausprobieren!

SKaaja
06.01.2006, 17:28
wenn ich das
lua_playergiveswep
eingib kommt unknown command

RaVaGe
06.01.2006, 17:33
1. Muss du das Verzeichnis dahinter setzten.
2. Im Gmod Menü gibt es SWEP Weapons Menü, da kannst du sie auch spawnen.

1Dle_Fr0g
06.01.2006, 17:34
es is ja auch lua _PlayerGiveSWEP ! mit nem leerzeichen zwischen lua und _ !!!111einseinself

SKaaja
06.01.2006, 18:09
wie kann man denn seine eigene waffe ind das SWEP menü setzen dass man das nich mehr in die console eingeben muss ??

Chaotix
06.01.2006, 18:30
du machst einfach einen neuen Ordner in
[ gmod9\lua\weapons\DeinOrdner ]
Dort schiebst du die Waffen rein. Aber der name der Waffe muss mit
[ weapons_DerWaffenName.lua ] beginnen.

Sharky
13.07.2006, 22:16
Also ich weis damit nichts anzufangen:

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

Was muss in den Klamern rein und für was steht der Wert hinter return?

Wo bekommt man die effekte her, wie sie z.B. bei der Tesla-Gun zu sehen sind?

€r!k
14.07.2006, 06:35
Also ich weis damit nichts anzufangen:

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

Was muss in den Klamern rein und für was steht der Wert hinter return?

Wo bekommt man die effekte her, wie sie z.B. bei der Tesla-Gun zu sehen sind?


1 = Überschreibe nicht den Schuss, die Kugeln und mache Sound und einschusslöcher
2 = Schießt keine Kugeln aber macht Sound und einschüsse
3 = Spielt bei abschuss nur die Animation der Waffe
4 = Keine Kugeln, Sounds, Animationen, ...

bei "function getSecondaryScriptOverride()" ist es für den Sekundär Schuss das selbe also z.b. da wo die Energiekugeln abgefeuert werden.

In die Klammern kommt nichts.

Du musst einfach ein bissl Englisch lernen ;)


Das mit der Tesla Gun sind Effecte die statt die "Bullets" als die Kugeln abgefeuert werden. Weiß nicht genau wie das geht.

Sharky
14.07.2006, 16:02
Danke.

Ich kann leider nur das Standard-Schul-Englisch. Steh aber 1 in Englisch. ^^

Sharky
15.07.2006, 19:51
Ich bastel jetzt die tpc_awp um. ist es irgendwie möglich die Geschossarten zu ändern? Hab jetzt schon auf GaussEnergy umgestellt aber so ein Blitzding kommt da net raus. Außerdem hab ich nichts gefunden, um das schussgeräusch zu ändern.

aMul
15.07.2006, 22:34
Ich glaub, das die Art des Geschosses im Script festgelegt ist, also im Mod fest einprogramiert sein muss. Allerings liegen die Scripts der Waffen ja alle im "Scripts"-Ordner, also kann man sich da vielleicht einen eigenen Script machen. Damit kenn ich mich alelrdings überhaupt nicht aus...

Das Schußgeräusch wird meistens in der Init-Funktion festgelegt, z.B.

function onInit()
_SWEPSetSound( MyIndex, "single_shot", "Weapon_Pistol.NPC_Single" );
end


Ich kann leider nur das Standard-Schul-Englisch. Steh aber 1 in Englisch. ^^
Ich kann weniger als das "Schulenglisch"(Hab nur ne 4) und hab kein Problem mit den paar Zeilen da open(auch sonst lese ich viel im FP und so...). :shock: :roll:


MfG

€r!k
16.07.2006, 08:49
Off Topic: Hab auch ne 3 jetzt in Englisch und komme jetzt erst in die 7. Klasse :lol:

Sharky
16.07.2006, 19:44
Eigendlich wusste ich nur override nicht. Und ich wusste nicht, ob sich don't auch auf shot bulletsund make sound and flash bezieht. Es wär zwar sinnlos, wenn es sich darauf beziehen würde aber ich war mir nicht sicher.

Der neue Schusssound funzt ach super. Danke

Mit der Funktion könnte man evtl. das Aussehen der Geschosse ändern:

function onPrimaryAttack( )

Aber ich weiß nicht wie.


Welcher der 3 Werte bei der Streuen und beim Sichtkicken für stehende, gehockte oder laufende Körperhaltung?

Sharky
24.07.2006, 12:14
Kann mir keiner Helfen?

€r!k
24.07.2006, 22:53
Welcher der 3 Werte bei der Streuen und beim Sichtkicken für stehende, gehockte oder laufende Körperhaltung?
Erstmal keine Doppelposts sowas nennt man Bumping
Und die Frage versteh ich nicht Formulier mal normal deutsch :roll: .

Sharky
25.07.2006, 00:24
Hab as meiste schon hinbekommen. Jetzt nur noch diese frage:

der streu Radius der Waffe, je höher desto mehr

function getBulletSpread()
return vector3( 0.02, 0.02, 0.02 );
end

Welche diese Werte steht für eine gehockt, stehende und laufende Haltung?
( 0.02, 0.02, 0.02 )

Mac
10.07.2007, 12:31
Kann mann auch z.b. CS;S weapon skins als so ein SWEP verwenden?

Pac_187
10.07.2007, 14:06
Probier es doch einfach aus...

Mac
10.07.2007, 19:18
Ja ich will ja nur wissen ob das jemand schon ma gemacht hat?Das sind nähmlich vmt und vtf dateien...Da es ja lua dateien bei gmod sind.Und wie kann ich eine .lua datei erstellen?

Pac_187
10.07.2007, 19:42
Die Antwort steht oben!

Mac
20.09.2007, 18:39
Hab nochmal eine frage...
Wie kann ich einen granatenwerfer wie beim smg als 2te funktion machen?

Krusten Kese
28.09.2007, 19:50
Hey manche weapon sind bei mir error Hilfe

Pac_187
28.09.2007, 20:00
Wahrscheinlich hast du sachen von garrysmod.org runtergeladen!
Die sind nur für V10!

stone10
07.03.2008, 12:50
is ja ganz nett un so also is würklich nett aber wie hat der typ aus diesem viedeo http://de.youtube.com/watch?v=kwEXH_V4e3U&feature=related seine waffe hinbekommen ?

Pac_187
07.03.2008, 15:15
Durch schreiben?

Ich weis nicht wo du rauf hinaus willst...


Die Anleitung von Price ist nur für stink normale Schusswaffen und dient
keinesfalls zur Entwicklung von SWEPs welche Gegenstände schießen
können, geschweige denn etwas anderes außer "Kugeln".

TK:ONE
01.06.2008, 11:53
Hye sorry ds ich einen älteren Thread aufgreifen aber dass mit dem GAUSS-Blitz muss in der Animation der Waffe sein sonst gehtz nicht

Pac_187
01.06.2008, 11:56
Oh man...

Wenn ihr auch nur EINMAL (!) euren Verstand nutzen würdet.

Du glaubst doch wohl nicht im Ernst das ihn das noch interessiert :roll: