Beiträge von 123marvin123

    Du solltest nicht immer auf die Ressourcen achten.
    Diese kleinen Unterschiede machen sich meistens kaum bemerkbar, und wenn doch, dann nur bei einem Server mit vielen Spielern.
    Nimm einfach das, mit dem du am besten klar kommst.

    Irgendwie verstehe ich immer noch nicht, was das jetzt nützt. 8|

    Damit kann man vollständige Gamemodes in 100% Java schreiben.
    Das ermöglicht dir sehr viele neue Möglichkeiten. Außerdem hat der Autor der API es einem sehr einfach gemacht.
    Er hat sich z.b die Mühe gemacht alle Fahrzeug Ids mit Namen in einem Enum zu speichern. Außerdem gibt es viele verschiedene Dinge die er hinzugefügt hat, die es in Pawn nicht gibt / nur problematisch zu implementieren sind.


    Ja, du musst dich nur ein wenig mit Java auskennen.
    Ein einfaches Beispiel findest du hier: klick


    @iSweety: Das mit den Plugins aktivieren und deaktivieren, ist ebenfalls ein Plugin für Shoebill, dass in Java geschrieben wurde. Pawn Filterscripts funktionieren nicht immer 100 Prozentig wenn man Shoebill Gamemodes verwendet.




    Shoebill bietet mehrere Möglichkeiten einen Server zu betreiben. Du kannst dir einfach unser vollständiges Server Paket für SA-MP 0.3.7 runterladen. In diesem Paket ist alles wichtige enthalten (außer JRE/JDK).
    Wer nicht das ganze Paket haben möchte, kann sich auch das simple Paket runterladen, dort ist jedoch noch kein SA-MP Server dabei, dieser muss manuell auf http://sa-mp.com/ runtergeladen werden.
    Außerdem bieten wir auch einen Wrapper für Mac OS X an, mit dem es ganz einfach ist, unter OS X einen Server mit Shoebill zu betreiben. In diesem Wrapper wurde bereits alles vorinstalliert (JDK, Runtimes etc.). Einfach öffnen, und der Server läuft.




    • Volles Paket (0.3.7 R2): Download
    • Einfaches Paket (kompatibel mit 0.3.7 R2): Download
    • Mac Wrapper (alles dabei, 0.3.7 R2): Download







    Shoebill ist ein Projekt, welches es erlaubt, Filterscripts und Gamemodes in Java zu schreiben. Du hast vollen Zugriff auf alle Features von Java 8 und auch
    auf alle bereits erstellen Dritt-Anbieter-Libraries (z.B. Apache Commons). Dank Shoebill's eingebauten Informationen über SA-MP und GTA: SA ist es nicht nötig,
    nach Fahrzeug oder Interior IDs zu suchen, da alles nötige eingebaut ist, und auch zur Runtime zur verfügung steht. Außerdem bietet Shoebill eine großartige Möglichkeit
    mit Dialogen und anderen Features von SA:MP im Java-Style zu arbeiten (z.B. mit Lambdas oder Object-Buildern).






    • Unterstützt die neuen Features von Java 8
    • Objektorientiert
    • Eventgesteuert
    • Unterstütz Unicode/Codepages
    • Unterstütz Java Plugins (z.B. wie Bukkit, Spigot etc.)
    • Bietet einen Service-Manager um komponentenbasierte Entwicklung zu unterstützen
    • Verwendet slf4j als Log-Interface und log4j als Implementierung
    • Verwendet YAML als Konfigurationssystem und bietet dazugehörige Tools
    • Bietet einen Launcher um Bootstrap-ClassLoader Verschmutzung zu verhindern
    • Verwendet einen Dependency Manager basierend auf den Ressourcen von Maven
    • Unterschtüzt SA-MP 0.3.7 R2
    • Koexistieren mit Pawn Gamemodes / Filterscripts
    • Bietet ein AMX-Interface für Native Funktionen / Callbacks






    Shoebill wird hauptsächlich von drei Leuten entwickelt:
    mk124: Hat das Shoebill Projekt ins Leben gerufen und das Fundament gelegt
    123marvin123: Ist im April 2014 dem Shoebill Projekt beigetreten. Hat das Projekt am Leben gehalten nachdem mk124 keine Zeit mehr hatte
    JingLin (inaktiv): Half mk124 am Anfang



    Danke an:
    June, 258921, Shindo, Yiyin, ba2001, hitman249, Meta, Joe Zhao, 52_PLA, Zito, Julian
    und alle die Shoebill unterschtützen und benutzen







    Shoebill benutzt das Java Native Interface. Wenn es dieses Interface nicht geben würde, könntest du deine Gamemodes nicht in Java schreiben.
    Der Spieler braucht keine Modifikation um auf einem Shoebill Server zu spielen, alles passiert auf der Server Seite.



    Außerdem bietet Shoebill einen Dependency Manager welcher auf Maven basiert und automatisch die benötigten und alten Dateien
    ersetzt. Es gibt auch einen Updater für das native Plugin, den Dependency Manger und den Launcher. Wenn du diesen verwenden möchtest,
    kannst du einfach die beigelegte update-shoebill.bat/.sh Datei starten, und alle alten Dateien werden ersetzt.



    Einleitung in die Projekte:


    • ShoebillPlugin - natives Plugin für den SA-MP Server
    • shoebill-launcher - Boot Programm
    • shoebill-dependency-manager - Abhängigkeitsmanager, lädt und updated alle nötigen Artefakte
    • shoebill-utilities - Verschiedene Werkzeuge (nur Intern)
    • util-event - Event-System von Shoebill
    • shoebill-api - Haupt-API
    • shoebill-runtime - Shoebill's Laufzeitumgebung
    • shoebill-common - Oft benötigte Werkzeuge (für Dialoge, Fahrzeuge etc.)
    • example-vehicle-manager-plugin - Beispiel Plugin
    • example-lvdm - Beispiel Spielmodus


    Einleitung in die Order / Datei Struktur:




    • plugins/Shoebill.dll - Natives Plugin für Windows
    • plugins/Shoebill - Natives Plugin für Linux
    • gamemodes/base.amx - Leere AMX Datei (benötigt)
    • filterscripts/bare.amx - Leeres Filterscript (benötigt für OnRconCommand)
    • shoebill/bootstrap - Die benötigten Jar-Dateien für Shoebill
    • shoebill/repository - Die lokale Repository für den Dependency Manager
    • shoebill/libraries - Zusätzliche Libraries für Shoebill die nicht in der Maven Repository sind
    • shoebill/gamemodes - Hier kannst du deinen Gamemode einfügen
    • shoebill/plugins - Hier können zusätzliche Plugins eingefügt werden
    • shoebill/shoebill.yml - Shoebill's Konfigurationsdatei
    • shoebill/resources.yml - Ressourcen Konfigurationsdatei (welcher Gamemode, welche Repository, welche Plugins, welche Runtimes etc.)
    • shoebill/jvm_options.txt - Parameter für die virtuelle Java Maschine
    • shoebill/codepages.txt - Eine Liste der Windows Codepages, welche für Linux benötigt wird







    Shoebill wird auf GitHub entwickelt: GitHub
    Unser CI Jenkins (für manuellen JAR-Download): Jenkins
    Unsere Webseite: Shoebill
    Unsere API-Dokumentation: API-Doc
    Unsere Commons API-Documentation: Commons API-Doc





    Schau dir unsere YouTube Videos an:



    Schau dir unsere Entwicklungsbeispiele an:


    Schau dir unsere Wiki an und erstelle ein Projekt mit dem Projektgenerator:


    Was soll das bringen?

    marvin die stringlänge bei sscanf kann man ruhig weglassen ;)


    Kann man sollte man aber nicht ->


    Zitat

    Die Warnings String Buffer Overflow, welche in der Serverlog angezeigt werden resultieren darraus , wenn man die Stringlänge vergisst anzugeben. Dies jedoch nur sollte man das Sscanf-Plugin verwenden. Bei der Funktion , welche noch viele nutzen ist das nicht der Fall, jedoch ist es dabei möglich den String zu überladen was letztendlich den Server offline setzt siehe SoL Skript (/sirene , /kofferraum).

    Ich glaub bei Dini geht es nicht, aber bei MySQL könntest du eine While schleife machen.
    z.B
    while(mysql_retrieve_row()) //this will be running until all rows are processed
    {
    //you can use mysql_fetch_field and mysql_fetch_field_row here
    }

    Also ich hatte diesen Bug noch nie, und finde das dieser "Bug" nur hervorgerufen wird, wenn man unsauber Scriptet.
    Aber du könntest einen Bot connecten lassen, der die ID 0 einnimmt :)

    @[SoA]TheBester: Kann man doch so ähnlich einfach oben im Script


    #define HTML_ROT "{FF0000}"


    Und dann z.b So:


    format(string, sizeof(string), ""HTML_ROT"(( *Serverinhaber %s: %s))", sendername, result);

    Du musst im String dann einfach einen HTML Colorcode nehmen ( Weiß nicht genau wie die heißen )
    So wäre z.B Rot:


    format(string, sizeof(string), "{FF0000}(( *Serverinhaber %s: %s))", sendername, result);