Pawn - Von oben bis unten durchgenommen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend.


    Die Nachfolgende Erklärung ist eher kein Tutorial. Ich habe aber keine passendere Sektion gefunden, darum habe ich es hier gepostet.
    Da ich hier desöfteren sehe, wie ahnungslose Leute größere Scriptprobleme bewältigen wollen, aber eigentlich keine Ahnung von der Materie haben, will ich diese etwas näher erläutern.
    2 Begriffe werden sehr gerne verwechselt.
    Pawn und Pawno.


    Pawn ist die eigentliche Scriptsprache, in der Gamemodes, Filterscriptes und Includes geschrieben werden.
    Pawn wird aber nicht nur verwendet, um SAMP-Scriptes zu erstellen.
    Es ist gleichzeitig auch eine Programmiersprache, mit der man ausführebare, also Executables (.exe) erstellen kann.
    (Hier mehr).


    Pawno ist der standartmäßig mitgelieferte Scripteditor von SA-MP.
    Es ist das Programm, in dem ihr eure Scripts schreibt.



    Es gibt außerdem noch andere Scripteditoren (IDEs).
    (Dazu hier mehr).


    Dann gibt es noch den Compiler (pawncc.exe).
    Der Compiler wandelt das Script (.pwn) in eine für den Server ausführbare Datei (.amx) um.
    Pawno führt den Compiler mittels einigen Parametern aus und übergibt den Dateinamen der Scriptdatei und legt den Namen der Outputdatei, also der für den Server ausführbaren Datei fest.


    Das sieht dann so aus:

    Code
    pawncc.exe C:\Users\Oshikuru\Desktop\Server\gamemodes\gamemode.pwn


    Die Outputfile wäre in diesem Fall C:\Users\Oshikuru\Desktop\Server\gamemodes\gamemode.amx, sofern kein Compile-Error aufgetreten ist.


    Nachfolgend gibt es eine Übersicht von allen Parametern die dem Compiler übergeben werden können (zusätzlich zur Scriptfile).




    Nun noch eine kurze Zusammenfassung:

    Pawn: Die eigentliche Scriptsprache, in der man Gamemodes, Filterscripts und Includes schreibt.
    Pawno: Die standartmäßig mitgelieferte Entwicklerumgebung (IDE) von SA-MP.
    Der Compiler: Wandelt die Scriptdatei (.pwn) in eine vom Server ausführbare Datei (.amx) um.



    Ich werde die Erklärung heute am Nachmittag noch mit einigen Beispielen erweitern.
    Natürlich hoffe ich, das sie euch den Hintergrund des Scripting etwas verständlicher gemacht hat.

  • Pawn ist sowohl eine Programmier- als auch eine Scriptsprache.
    Es kommt darauf an, ob sie nun im Bereich "Scripting" (Nein, Gamemodes und Filterscripts sind kein ->Scripting<-, da die Sourcefiles kompiliert werden.) eingesetzt werden, wie z.B. beim Erstellen von Includes, da diese vom Compiler interpretiert, also erst später gelinkt werden.


    Wie gesagt, Pawn gibt es nicht nur im SA-MP Bereich.

  • ich grabe den Thread mal aus um paar Infos zu korregieren und die User auf den auch aufmerksam zu machen wiel er doch einigermaßen Hilfreich ist.


    Zitat

    Pawn ist eine Programmier- und keine Skriptsprache.


    Wie im IRC schon gesagt sollte man an seinem eigenen "Halbwissen" arbeiten und es vervollständigen . Gib mal eine Quelle (außer deiner ominösen Person , die sicher auch nur voller Halbwissen vollgestopft ist ) ? Sogar der Entwickler von Pawn selbst behauptet es ist eine Skriptsprache , also das nächste mal überlegen was man da schreibt .


    Zitat


    Wie gesagt, Pawn gibt es nicht nur im SA-MP Bereich.


    Im SA:MP Bereich ist sie am bekanntesten , aber sie wird auch gerne für Microcontroller benutzt und auch ein anderes berühmtes Computerspiel verwendet es .


    Zum Argument Skriptsprachen seien auch nur Programmiersprachen , stimmt das auch , aber nur wenn man das rein Textlich vom Begriff allein her betrachtet , denn wenn man technisch an die Sache rangeht , dann ist das ein totaler Blödsinn.

  • zabus


    pawn ist eine programmiersprache, da du die dateien kompilierst um sie ausführbar zu machen - wäre es eine scriptsprache, sowie php zum beispiel, würde ein parser dahinter stecken, der just-in-time die dateien in maschinen verständlichen code übersetzt, wenn es eine anfrage gibt. - das gegenteil kannst du beweisen, wenn du uns ein video lieferst wie du eine .pwn datei ohne zu kompilieren ausführst - viel erfolg :P


    selbst das genannte spiel aka counterstrike benutzt .amx, also kompilierte .pwn dateien :P

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich verstehe nicht was einige hier für Probleme haben. Er hat es einfach mal leicht und verständlich erklärt. Ob nun der eine oder andere Begriff richtig ist, ist doch Egal, vor allem den Neulingen. Jene sind bestimmt sehr froh über so eine kleine Einführung in die Grundsysteme.
    Zum Thema "Halbwissen": Wer weis schon alles? :D


    also von mir 10/10 da er sich damit Mühe gegeben hat und es nicht verdient, von Leuten mit "Internet-ADS" angemacht zu werden.



    LG, Chris

    Blub