PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie mit Lua einen Gamemode erstellen?



naloxx
21.03.2008, 20:17
Ich habe jetzt schon Lua gelernt und kann auch die grundlegenden Funktionen. Dann habe ich mir ein paar Sachen in der Gmod.de wiki angeschaut und wollte nun einen Gamemode machen.
Allerdings habe ich keine Ahnung, wie :shock:
Ich weiß nämlich nicht, wie so ein Gamemode aufgebaut ist und wie er überhaupt funktioniert.

Könnte mir jemand ein paar Grundlagen nennen, oder auf nütziche Seiten verweisen? wäre echt nett

gmodbest
21.03.2008, 20:34
Wiso schaust du dir nicht die anderen gamemodes an `?

Andrey
21.03.2008, 21:03
Wiso schaust du dir nicht die anderen gamemodes an `?

Weil man daraus überhaupt nichts erkennt.

Übe ersteinmal solange weiter, bis du weißt, wie das funktioniert, und du musst lernen was Init ist. Mach doch erst einmal ein Sent. :D

naloxx
21.03.2008, 21:27
Was ist überhaupt ein Sent?

:-? Ich kenn nur SWEPs und davon habe ich schon welche gemacht.

Andrey
21.03.2008, 21:30
Was ist überhaupt ein Sent?

:-? Ich kenn nur SWEPs und davon habe ich schon welche gemacht.

SEntities Script Entities
Das sind die Lustigen Props, mit der Weißen Umrandung. :gmod:!

Die ihrgendwas besonderes können.

naloxx
21.03.2008, 21:36
Achso ;)

Pac_187
22.03.2008, 14:42
Also wenn du keine SENTs kennst dann kannst du auch noch
keinen Gamemode machen ;)

Ich selbst habe mir auch schon mal darüber Gedanken gemacht einen
Gamemode zu basteln, aber ich bekomme es nicht auf die Reihe,
da ich noch nicht so gut unterscheiden kann was zum Client und
was zum Server gehört.

Desweiteren muss man auch erstmal wissen, was in welche Dateien gehört... :-?


Scripte man lieber erstmal 'n paar SWEPs weiter die dann z.B. SENTs mit
nutzen.

Wie z.B. mein RPG/Rocketlauncher (http://pac187.extra.hu/?b=Lua/SWEPs/Rocket%20Launcher),
dort sind die Raketen auch SENTs, welche dann wiederum
bei der Explosion Effekte benutzen.
Also ist so ziemlich alles miteinander verzweigt und von daher muss man auch
erstmal über alles Bescheid wissen ;)

Ein langer Weg der sich aber am Ende lohnen wird, wenn man dann mit dem
Wissen welches man gesammelt hat auch etwas anfangen kann :gmod:

BennyG
23.03.2008, 17:23
@ Pac,wenn du mich net mehr hasst,könnten wir ja ein machen...

Allerdings ist es wirklich wichtig,wie Pac schon sagte,dass man vorher Sents kann,bevor man einen Gamemode(Der nicht aus einfachen Deathmatch besteht)
machen kann.
Wie zum Beispiel Spawn punkte(Ok,das sind einfach nur Point entities,aber psss)
oder Turrets,oder sowas in der Art

Falls du es dennoch Versuchen willst... Schau dir das hier mal an
http://www.garrysmod.com/wiki/?title=Category:Lua:Articles:Gamemodes

Scarecrow
23.03.2008, 19:17
Weil man daraus überhaupt nichts erkennt.

Man muss auch das Geschriebene verstehen und eine gewissen Erfahrung mit sich bringen, um etwas erkennen zu können ;)

Gamemodes zu erstellen ist nicht so schwer, wie es einem am Anfang scheint. Ein Gamemode besteht nur aus vielen Sachen, was einen Einzelnen manchmal überfordern könnte. Deshalb ist es ratsam die einzelnen Punkte an viele Leute zu verteilen.

Wenn man wirklich einen Gamemode erstellen will, sei es nur zum Spaß, sollte man ein Konzept im Kopf haben. Wenn man dann weiß, was in den Gamemode soll, kommen die einzelnen Sachen nacheinander zum Vorschein und werden entwickelt.

Die drei wichtigsten Sachen des Gamemode-Ordners (Init - Cl_Init und Shared) sind dann das Grundkonzept und beinhalten alle Funktionen bzw. Verweise auf Funktionen. Der Content-Ordner enthält Maps, Models etc.
Der Entities-Ordner beinhaltet alle in Lua geschriebenen Entities (SENTs, SWEPS etc.)

Kurz: Ein Gamemode besteht aus allem, was man sonst nur einzeln macht.

naloxx
23.03.2008, 19:59
Also shared legt ja eigentlich so das Wesentliche und die Einstellungen fest, aber was ist so in cl_init und init drin? Denn mehr bräuchte ich fürn Anfang gar nicht, da ich erst mal nicht vorhabe, neue Sachen zu integrieren.

BennyG
23.03.2008, 20:31
Also shared legt ja eigentlich so das Wesentliche und die Einstellungen fest, aber was ist so in cl_init und init drin? Denn mehr bräuchte ich fürn Anfang gar nicht, da ich erst mal nicht vorhabe, neue Sachen zu integrieren.

Das stimmt überhaupt nicht.
Shared ist längst nicht nur für Info's
Man benutz es für Sachen die vom Client und vom Server benutz werden können.
Wie zum Beispiel die Teams,die müssen vom Clienten(Fürs Scoreboard z.B) abgerufen werden können,aber auch vom Server,um den neu Connectioneten Spieler ins richtige zu verschieben.

naloxx
23.03.2008, 21:35
Könnte mir denn evtl. jemand einen Script für einen Deathmatchmodus mit 2 Teams zeigen? Damit könnte ich mich ein bisschen auseinander setzen und ein bisschen mehr Erkenntnisse gewinnen.

Scarecrow
25.03.2008, 00:50
Zu der Shared-Sache: Letztenendes kann man cl_init und Init sogar in Shared unterbringen, wenn man die passenden Verzweigungen baut.

Andrey
25.03.2008, 02:14
Zu der Shared-Sache: Letztenendes kann man cl_init und Init sogar in Shared unterbringen, wenn man die passenden Verzweigungen baut.

Jedoch ist das Ganze mit cl_init und init einfacher, denke ich mir mal.

Man braucht schon ne menge Erfahrung um ein Gamemode zu machen, und wenn man auf dem "base" gamemode aufbaut, erst recht, weil da, überhaupt nichts ist.

naloxx
31.03.2008, 16:00
Ok Leute, ich habe mir nun neue Gedanken über einen GameMode gemacht und brauche nun ein einfaches Script für ein Team-Deathmatch.

Bitte, ich brauche da eure Hilfe!

Scarecrow
11.04.2008, 16:33
Ok Leute, ich habe mir nun neue Gedanken über einen GameMode gemacht und brauche nun ein einfaches Script für ein Team-Deathmatch.

Bitte, ich brauche da eure Hilfe!

Also es gibt 2 mögliche Arten von Hilfe, die du da verlangst:

Entweder es ist ein sehr merkwürdiges Problem, wo du nicht weiter kommst, oder du willst, dass wir dir jetzt die ganze Arbeit abnehmen. Da du kein wirkliches Problem geschildert hast, trifft Letzteres zu. Ich glaube aber kaum, dass dir jetzt jeder gerne die Arbeit abnehmen würde, weil sie es sonst selbst gemacht hätten.

Um es kurz zu machen: Mach selbst!