|
|
#1 |
|
Little Clucker
![]() Join Date: Jun 2008
Posts: 37
Reputation: 1
|
Hali Halo Halöle !
Hier in diesem Tutorial erkläre ich euch wie ihr eure erste Include selber erstellen könnt. Im ersten Teil dieses Tutorials zeige ich euch wie ihr Funktionen kürzen oder verlängern könnt. Ein Beispiel wäre: Code:
SendClientMessage(playerid, FARBE, " Das ist ein Beispiel"); wird zu: WUNSCH(playerid, FARBE," Das ist ein Beispiel"); Nicht immer auf diese Groß und klein schreibung achten. Einfach etwas auswählen was man sich gut merken kann. Ich nehme immer die Anfangs Buchstaben die in der Funktion Groß geschrieben werden. Also ich würde nehmen bei SendClientMessage : SCM 1. Sparrt es auf die Menge sehr viel CODE was pawn ja als Bytes an sieht. Schritt 1: Wir erstellen eine neue .txt Datei oder einfaches Worddokument und bennen sie um in einen gewünschten namen .. Beispiel: firstinc.inc < ganz wichtig ist das .inc damit die Datei Später vom Compiler als Include erkannt wird. Schritt 2: Wir öffnen die Datei und suchen uns als erstes aus welche Funktion wir verändern möchten. In unserem fall nehmen wir mal wieder SendClientMessage. Wir schreiben in die Include folgendes rein: Code:
#define WUNSCH SendClientMessage //WUNSCH wird die Funktion sein. Ihr könnt sie nennen wir ihr wollt Schritt 3: Gratulation ! Ihr habt eure erste eigende Include nun fertig sobald ihr diese gespeichert habt. Wenn ihr dies getan habt fügt ihr sie in den Include Ordner unter Pawno. Schritt 4: Ihr öffnet euren Gamemode und fügt ganz oben bei den Includes folgendes dazu: #include <firstinc> //firstinc ist in dem fall der Name der Include. Schritt 5: Jetzt könnt ihr auch schon eure ganzen SendClientMessage in eurer FUNKTION umwandeln. Fertig. Ein weiterer teil dieses Tutorial folgt. in dem ich euch zeige wie ihr eine eigende Funktion erstellen könnt. Mfg HappyMeal |
|
|
|
|
#2 |
|
Little Clucker
![]() Join Date: Mar 2007
Posts: 47
Reputation: 0
|
Hälst du es wirklich für nötig in einem ganzen Tutorial erklären zu müssen wie man #define Makros benutzt oder Funktionen erstellt? Dafür hätte meiner Meinung nach ein einziger Satz mit Beispiel gereicht:
Makros wie #define oder #include werden vom Präprozessor und damit vor dem Erzeugen des kompilierten Codes bearbeitet. #define Konstante Wert Im Klartext bedeutet das nur dass der Compiler alle Vorkommen von 'Konstante' vor dem Kompilieren in 'Wert' umwandelt. Dazu braucht ihr keine extra Include oder sonstiges. #define-Makros können fast überall im Code angewandt und wieder umgekehrt werden. Deshalb sind auch so tolle Systeme wie http://forum.sa-mp.com/index.php?topic=110767.0 möglich ![]() Und das mit dem "Sparen von Code" bzw. "Bytes" halte ich auch nicht für ganz sinnvoll. Immerhin ist der Quelltext in gewisser Weise dazu da, dem Menschen verständlich zu machen, was mit dem Code erreicht werden soll. Daher ist es wichtig, dass die Funktionen und alles andere Namen bekommen, die möglichst viel über deren Wirkung aussagen. SCM() anstelle von SendClientMessage() zum Beispiel ist doch nicht gerade sehr hilfreich, wenn sich jemand den Code anschaut der ihn nicht kennt. Bei 'SendClientMessage' könnte man vermuten, dass ein Client eine Nachricht empfangen soll, bei 'SCM' würde ich vielleicht erst an http://de.wikipedia.org/wiki/Supply_Chain_Management denken ![]() MfG Recycler |
|
|
|
|
#3 |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Nov 2008
Location: Germany
Posts: 3,292
Reputation: 274
|
und wie funzen normal includes
weil wenn ich nen include macher will ich ja auch eigene funktionen machen und mit eigenen natives versehn. ich find des tut hat 3/5 verdient^^ |
|
|
|
|
#4 |
|
Little Clucker
![]() Join Date: Mar 2007
Posts: 47
Reputation: 0
|
Includes sind einfach nur Dateien, die weiteren Code enthalten - sie können über
#include "dateiname.inc" oder #include <dateiname> (bei .inc Dateien im pawno/include Ordner) eingebunden werden. Wenn du für deine eigenen Funktionen native-Einträge haben möchtest, kannst du diese in der entsprechenden Include oder sonst wo auskommentiert verzeichnen, zum Beispiel: /* native yourFunction(param); */ MfG Recycler |
|
|
|
|
#5 | |
|
Beta Tester
![]() ![]() ![]() ![]() ![]() Join Date: Oct 2007
Location: Germany
Posts: 757
Reputation: 85
|
Quote:
|
|
|
|
|
|
#6 |
|
Little Clucker
![]() Join Date: Jun 2008
Posts: 37
Reputation: 1
|
Nunja.
Es ist auch eigentlich nur ein Tutorial für Anfänger. Früher hab ich mich auch immer gefragt: ,,hmm..wassoll ich mit ner Include anfangen?" usw. Desswegen versuche ich halt in verschiedenen Teilen dieses Tutorials zu zeigen wie man es anstellt. |
|
|
|
|
#7 | |
|
High-roller
![]() ![]() ![]() ![]() ![]() Join Date: Nov 2008
Location: Germany
Posts: 3,292
Reputation: 274
|
Quote:
|
|
|
|
|
|
#8 | ||
|
Huge Clucker
![]() ![]() ![]() Join Date: Dec 2007
Posts: 260
Reputation: 0
|
Quote:
einbeziehen kann so das sich das Skript zusammen setzt wobei ich darin keinen Sinn sehe ich habe Includes auch nur immer als Funktions Verzeichnis genutzt, egal jeder hat da eine andere Sichtweise auf die Dinge |
||
|
|
|
|
#9 |
|
Little Clucker
![]() Join Date: Mar 2007
Posts: 47
Reputation: 0
|
Includes werden dafür gebraucht um Code auszulagern. Beispielsweise unterteile ich meine Gamemodes in den Hauptteil (.pwn) und sonst für jede größeren Funktionsansammlungen einheitliche Includes (core.inc, fileloader.inc etc.) - so behält man einfach die Übersicht und weiß, wo sich welcher Code befindet.
MfG Recycler |
|
|
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [TUTORIAL]Tutorial basico para los mas nuevos | the_chaoz | Español/Spanish | 25 | 28/02/2012 09:31 PM |
| [Tutorial] Basic MySQL Tutorial | Faraday | Help Archive | 43 | 03/06/2011 12:55 PM |
| [FS+ Include]YossI's Health include | GiP_YossI | Filterscripts | 10 | 17/04/2011 05:15 PM |
| Tutorial on how to create tutorial? - need one | introzen | Help Archive | 3 | 13/01/2010 01:16 PM |
| [GF-Tutorial] & [NON-GF-Tutorial] : Fahrschule Mit Fragen Erstellen V.2.0 [Erfor | playafaller | Archive | 1 | 26/12/2009 02:24 PM |