Beiträge von d30af26d


    Willkommen beim Pawn Tutorial Stufe 2.
    Bei diesem Tutorial werden Variablen erklärt und wie man sie einsetzen kann.
    Die Variablen sind im Pawn eines der wichtigsten Dinge der Sprache.
    Man kann mit ihnen Werte speichern, auch speziell für Spieler und anderes.
    Die Variablen können Texte, Zahlen, Wahr-Falsch Werte oder Dezimalzahlen sein.


    Variablen können die Koordinaten eines Spielers festhalten.
    Ebenso kann der Geldstand eines Spielers damit festgehalten werden.
    Eine wichtige Sache ist, dass jede Spielervariable, wenn ein Spieler sich mit dem Server verbindet auf ein Standart Wert gesetzt wird (meist 0).
    Wenn dies nicht gemacht wird, dann kann es passieren, dass ein Spieler auf einmal ungewohlt 3.000.000 $ hat.
    Dieses Problem könnte viele nächste Probleme auslösen.


    Hier ist ein Beispiel, wie man eine Variable einsetzen kann:

    Auf diesem Bild werden paar allgemeine Informationen geschildert, welche für das Scripten wichtig sind.
    Wichtig ist, dass eine Variable, nur Werte zwischen
    -2147483648 bis 2147483647 speichern kann.


    Es gibt verschiedene Arten von Variablen, auf dem Bild ist ein Array zu sehen.


    Integer:
    new beispiel;
    (Wenn kein "Startwert" gesetzt wird, dann wird der Wert 0 zugeweist.)


    new beispiel = 7;
    (Hier wird gleich beim Erstellen von der Variable, dessen Wert auf 7 gesetzt.)


    new beispiel = 12;
    -> Ausgabe 1
    beispeil += 3;
    -> Ausgabe 2
    beispiel -= 5;
    -> Ausgabe 3


    Ausgabe 1 - 12
    Ausgabe 2 - 15
    Ausagbe 3 - 10
    (Man kann ebenso "/=" und "*=" verwenden.)
    (Es ist auch möglich ein Wert dazu zuaddieren mit diesem Vorgang: beispiel = beispiel + wert; )

    Float:
    new Float:beispiel;
    (Hier wird, wie beim Integer, jedoch auf 0.0 gesetzt.)
    (Wichtig: Man kann kein Integer mit einer Float-Zahl auf direktem Wege addieren, subtrahieren, ...)
    ( -> Dazu gibt es bestimmte Funktionen)


    new Float:gravitation = 0.008; (Standart Gravitation ist 0.008)
    SetGravity(gravitation);
    (Hier wird die Gravitation auf den Wert von "gravitation"(- 0.008) gesetzt.)
    (SetGravity(Float:value) - Das ist eine Funktion, um die Gravitation zu verändern)


    Wichtig: Um zwei Dezimalzahlen zu addieren, schaut in die float.inc rein. (Serverordner/pawno/includes/);
    Beispiel:


    new Float:Wert1 = 2.5;
    new Float:Wert2 = 5.5;
    new Float:Ergebnis = floatadd(Wert1, Wert2);


    (floatadd gibt an die Variable(Ergebnis) nun die Summe aus Wert1 und Wert2 weiter.)


    Addittion:
    floatadd(Float:oper1, Float:oper2)


    Subtraktion:
    floatsub(Float:oper1, Float:oper2)


    Division:
    floatdiv(Float:dividend, Float:divisor)


    Multiplikation:
    floatmul(Float:oper1, Float:oper2)


    Float ins Integer runden:
    floatround(Float:value, floatround_method:method=floatround_round)
    Beispeil:
    new Float:Test1 = 3.141592653; // Hier ist es die PI-Zahl
    new pi = floatround(Test1);


    Boolean
    Eine Boolean-Variable kann nur true(= 1) oder false(= 0) speichern.


    Anwendung:
    new bool:Autoschein;
    (Wie bei den Vorgängern wird hier Autoschein auf 0( = false) gesetzt.


    new bool:Autoschein = true;
    (Hier wird nun der Wert von Autoschein auf true ( = 1) gesetzt.)


    Wichtig: Der Boolean wird nur für Wahr oder Falsch verwendet.


    Array
    Der Array ist ein wichtiger Teil der Variablen, da dieser mehrere Werte festhalten kann.
    Beispiel:


    new Test[5];
    (Wichtig: Ihr könnt bei Arrays, wie hier zum Beispiel nur Test[0] bis Test[4] besetzten, weil das System anfängt bei 0 zu zählen.)


    Die meisten Anfänger stellen sich so ein Array vor (Beispiel):


    new Test[5];
    Test[3] = 9;

    0 1 2 3 4 5
    0 0 0 9 0 0


    Da jedoch das System anfängt bei 0 zu zählen ist dies Falsch. Dies ist richtig:
    (Unten = Wert | Oben = Slot)


    0 1 2 3 4 5
    0 0 9 0 0 0


    Arrays werden oft für Spieler benutzt, da es viel mehr Probleme geben würde, wenn für jeden Spieler
    jeweils ein Integer angelegt wird. (new player0; new player1; new player2; ...)


    Es gibt auch Mehrdimensionale-Arrays:
    new Spieler[500][2];


    Spieler[0][0] = 5;
    Spieler[0][1] = 10;
    (Man kann also mehrere Werte für einen Spieler speichern.)


    Hier ist ein anderes Beispiel:
    new Spieler[500][3];


    Spieler[0][0] = 5;
    Spieler[0][1] = 10;

    Spieler[1][3] = Spieler[0][0] + Spieler[0][1];


    Man muss vorsichtig bei den Mehrdimensionalen Arrays sein.


    Text
    Es gibt keine extra Variable für Texte, es werden dafür Arrays benutzt.
    Jeder Array-Slot kann nur 1 Buchstaben besitzen:


    new World[6] = "Hello";


    0 1 2 3 4 5 6
    H e l l o \0 0


    (Das Zeichen "\0" steht dafür, dass hier der String endet.)
    Man kann in der Konsole diesen Text wiedergeben:


    printf(World);
    (Diese Funktion wird später erklärt.)


    Lokale & Globale Variablen
    Kurze Erklärung durch ein Bild:


    Das war nun ein Tutorial zu den Variablen.
    Wenn ihr ein Fehler habt, dann überprüft ob die Variablennamen auch übereinstimmen,
    weil häufig dort der Fehler liegt. (Bsp.: new test = 1; tes = 3;)
    Es dürfen nur Namen benutzt werden, welche noch nicht im Script benutzt wurden.


    Mit freundlichen Grüßen
    Seibay

    Es geht doch auf der ganzen Welt doch so aus, um die Menschheit zu verarschen...
    Man sollte jedoch etwas kleines einbauen, weil das Forum langweiliger wirkt, als vorher.


    Willkommen bei meinen Pawn Tutorial Stufe 1.
    Ihr werdet nun die Welt des Scriptens betreten und vieles lernen!
    Mit diesem Tutorial könnt ihr euer Wissen erweitern und verbessern.
    Ihr solltets möglichst jede Übung nachmachen, indem ihr den Pawn Editor benutzt.
    Ebenso solltet ihr jede Übung verstehen und selber anwenden können.
    Es geht hier darum, um die Sprache zu verstehen und sie anwenden zu können, wie zum Beispiel eine Datei auslesen zu können.


    Mit dem Pawn Wissen, welches ihr später möglicherweise Verfügen werdet, könnt ihr

    • Autos erstellen, zerstören, teleportieren, reparieren, verändern und vieles weiteres.
    • Objekte erstellen, ...
    • Dateien lesen, löschen, schreiben, erstellen, verschieben, ...
    • Spieler kicken, bannen, einfrieren, teleportieren, umbennenen, ...
    • NPC's verwalten, erstellen, abspielen, verwenden, löschen, konfigurieren, ...
    • und vieles mehr...

    Am Anfang solltet ihr euch den Windows- bzw. Linux Server Ordner runterladen.
    Ihr geht nun auf die Hauptseite www.sa-mp.com unter Downloads und ladet euch den neusten Serverclient herunter.
    Wenn ihr diesen auf euren Computer nun habt, dann packt alle Datein aus den Archiv in ein Ordner.


    Wenn ihr alles richtig gemacht habt, solltet ihr nun ein gesamten Serverordner besitzen.
    Ihr geht nun in diesen Ordner und dannach in den Ordner Pawno.
    Nun öffnet ihr die Datei pawno.exe.


    Dies ist der Pawn Editor. Oben sieht ihr folgende Leiste (Erkärung vorhanden):


    Wenn ihr es verstanden habt, dann könnt ihr eine neue .pwn Datei erstellen und loslegen.
    Ihr solltet am besten zwischenspeichern, damit eure Arbeit nicht verloren geht.
    Wenn ihr kompiliert, dann speichert es die Datei ebenso.
    Wenn ihr beim kompilieren ein Fehler habt, dann muss dieser behoben werden, weil ihr sonst keine (meist) .amx Datei habt.
    (Eine .amx Datei ist das End-Produkt vom Kompilieren.)


    Wenn ihr selbständig ein Fehler nicht ausschmerzen könnt, dann diesen hier im Forum richtig unter Script Base berichten.
    Bitte ebenso die Zeile vorgeben, weil kaum einer wissen kann, was bei eurem Script in der Zeile steht.


    Wenn ihr nun eure .amx Datei habt und den Server noch nicht konfiguriert habt, dann solltet ihr eure server.cfg
    im Serverornder anpassen:


    Am Schluss die Datei speichern und den Server starten.
    Wenn sich die samp-server.exe Datei sofort schließt, dann schaut im server-log.txt nach, wo der Fehler liegt.
    Wenn der Server jedoch nun läuft, könnt ihr den Sa:mp Client öffnen.


    Euren Server eintragen:

    Und dannach diesen auswählen und Starten.


    Mit dieser kleinen Einführung habt ihr erstmal alles angepasst.
    In der zweiten Stufe von der Tutorial Reihe lernt ihr etwas im Pawn Editor.
    Dies war grade nur ein Konfigurations und Informations Tutorial für Pawn.


    Mit freundlichen Grüßen
    Seibay