Beiträge von 123marvin123

    Autohaus System für Shoebill

    Powered by:


    Vorab: Dies ist ein Plugin für Shoebill , und kann momentan nicht mit anderen Pawn-Gamemodes zusammenarbeiten.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Features:

    • Geschrieben in Java
    • Dialoge als Hauptinterface
    • Optionen können im Gamemode angepasst werden
    • Fahrzeuglizenzen mit Verfallsdatum
    • Lizenzen für Fahrzeuge können im Gamemode hinzugefügt werden
    • MySQL
    • Open Source (GitHub)
    • Mehrsprachig (Deutsch, Englisch, Vereinfachtes Chinesisch)


    Welche Vorteile bringt mir das Plugin?

    • Da es in Java geschrieben wurde, ist es deutlich schneller als Pawn
    • Detaillierte Fehlerbeschreibungen (Exceptions) während der Laufzeit
    • Schnelle & einfache Entwicklung durch Java


    Nachteile?


    Wie kann ich das Plugin verwenden?


    - Entweder lädst du dir die Datei über den Jenkins Server runter, oder du holst dir die benötigten Pakete über Maven
    - Falls du das Projekt über Maven hinzufügen möchtest, musst du folgendes in der pom.xml Datei ergänzen:

    Code
    <dependency> 
        <groupId>org.marvin</groupId>
        <artifactId>dealership</artifactId>
        <version>0.1-SNAPSHOT</version>
        <type>jar</type>           
        <scope>compile</scope>
    </dependency>


    Wie verwende ich das Plugin in meinem Gamemode?


    - Du holst dir die DealershipPlugin Instanz vom Server.

    Code
    private DealershipPlugin dealershipPlugin;
    dealershipPlugin = Shoebill.get().getResourceManager().getPlugin(DealershipPlugin.class);


    - Mit dieser Instanz kannst du nun Optionen anpassen, oder Fahrzeuglizenzen hinzufügen

    Code
    dealershipPlugin.getBuyableLicenses().add(new BuyableVehicleLicense(411, 12500, 5)); //Fügt eine kaufbare Lizenz für den Infernus hinzu, welche 12.500$ kostet, und 5 Tage gültig ist.


    - Falls du einen eigenen Anti-Money-Cheat verwendest, kannst du die Get & Set Money Funktion wie folgt anpassen:

    Code
    dealershipPlugin.setAddMoneyFunction((player, integer) -> {
                player.giveMoney(integer);            
                //Oder eigene Funktion zum setzen der Server-Side Value
    });
    dealershipPlugin.setMoneyGetter(player -> player.getMoney()); //Oder eigene Funktion


    - Außerdem kannst du die Sprache des Spielers einstellen:

    Code
    dealershipPlugin.setPlayerLanguage(player, "DEU");
     dealershipPlugin.setPlayerLanguage(player, "ENG"); //etc.
    //Oder:
    dealershipPlugin.getShowLanguageDialog().accept(player);


    Danke an

    • mk124 für die Übersetzung & das testen


    Die Sprachdatein und die Mysql.txt Datei könnt ihr euch hier besorgen: http://puu.sh/9jvUr/d4aca2349f.rar

    Vorab: Dieses Tutorial bezieht sich auf die Java Api für SA-MP (klick)


    Serverteil:


    Schritt 1 (Nötige Datein runterladen):
    - JDK8 und JRE8 herunterladen und installieren. Wichtig ist, dass ihr die 32 Bit Version nehmt. (JDK8 , JRE8)
    - Shoebillserver runterladen und an einen Ort entpacken (klick)


    Schritt 2 (Java einrichten):
    - JAVA_HOME Variable setzen. Wie ihr in das Menu kommt, findet ihr hier
    - Im "Systemvariablen" Tab, drückt ihr auf "Neu...", und gebt beim Namen ein: "JAVA_HOME" und beim Wert den Installationspfad der JDK8 (Bild)


    Schritt 3 (Server vorbereiten & starten):
    - Ihr geht in den Serverordner, und ändert die server.cfg nach eurem belieben um.
    - Um den Server korrekt zu starten, benutzt die "startup.bat"
    - Sobald der Server gestartet wurde, solltet ihr schon joinen können.
    - Das nächste wäre dann nur noch den eigenen Gamemode zu entwickeln.


    Schritt 4 (Ordnerstruktur verstehen):
    - Im "Shoebill" Ordner des Servers befinden sich mehrere Datein und Ordner.
    - In der "resources.yml" befinden sich die wichtigsten Einstellungen.
    - Dort könnt ihr den Gamemode, die Plugins, die Maven Repositorys und die Runtime Version verändern.
    - Der "data" Ordner ist sozusagen euer neuer "scriptfiles" Ordner.
    - Jeder Gamemode / Plugin hat dort seinen eigenen Bereich für Dateien, Logs oder sonstiges.
    - Der benötige Ordner wird vom Server beim ersten Start automatisch erstellt.
    - In den "libraries" Ordner könnt ihr eure benötigten Dritt-Bibliotheken einfügen wie z.B den mysql-connector.
    - Wenn ihr euren Gamemode jedoch über eine Maven Repository lädt, müsst ihr euch hierbei keine Sorgen machen, da alles automatisch heruntergeladen wird.


    Scriptingteil:


    Schritt 1 (Eclipse herunterladen):
    - Ihr ladet euch Eclipse für Java Entwickler runter (http://www.eclipse.org/downloads/)
    - Die heruntergeladene Datei entpackt ihr an einen Ort eurer Wahl.


    Schritt 2 (Eclipse starten und einrichten):
    - Um Eclipse zu starten führt ihr die "eclipse.exe" Datei aus.
    - Beim ersten Start werdet ihr gefragt, an welchen Ort er eure Workspace anlegen wollt.
    - Nach dem Eclipse gestartet wurde, drückt ihr auf "Window" -> "Preferences" und gebt in das Suchfeld folgendes ein "Content Assist"
    - Nach dem die drei Einträge ("Ant", "Java" und "Xml") gefunden wurden, klickt ihr bei Java auf "Content Assistent".
    - Auf der rechten Seite unten, seht ihr den Bereicht "Auto Activation". Falls die Checkbox bei euch nicht angeklickt ist, drückt ihr auf den Kasten.
    - Bei Auto activation delay (ms) schreibt ihr rein, wie lange es dauern soll, bis die Autocompletion angezeigt wird.
    - Ich nehme 5 Millisekunden
    - Bei Auto activation triggers for Java schreibt ihr rein, welche Zeichen die Autocompletion aktivieren soll.
    - Da ich möchte, dass die Autocompletion immer einspringen soll, schreibe ich in das Feld ".abcdefghijklmnopqrstuvwxyz"
    - Falls das nun fertig ist, sollte es bei euch so aussehen.
    - Nun drücken wir auf "Apply".
    - Als nächstes löschen wir den Suchbegriff aus der Textbox, und drücken auf Java, und dann auf "Installed JREs"
    - Als nächstes drückt ihr auf "Add...", und wählt "Standard VM" aus, und drückt "Next >"
    - Bei "JRE home" drückt ihr auf "Directory" und wählt das JDK8 Paket aus. (Meistens unter C:\Program Files (x86)\Java\jdk1.8.0"). Hier ein Bild: klick
    - Drückt auf "Finish", und nimmt den Harken bei "jre7" raus und setzt ihn bei "jdk1.8.0".
    - Am Ende drücken wir auf "OK" um die Einstellungen zu übernehmen.


    Schritt 3 (Java 8 Patch installieren):
    - Ihr drückt oben auf "Help" -> "Eclipse Marketplace", und sucht nach "Java 8".
    - Ihr installiert nun "Java 8 support for Eclipse Kepler SR2", und scrollt runter und installiert ebenfalls "Java 8 support for m2e for Eclipse Kepler SR2" (Bild: klick).
    - Nun ist alles soweit eingerichtet, dass ihr anfangen könnt.


    Schritt 4 (Das Projekt erstellen):
    - Um nun ein Shoebill Gamemode zu erstellen, drückt ihr oben links auf File -> New und dann ganz unten auf "Other".
    - In dem Menü wählt ihr unter "Maven" das "Maven Project" aus, und drückt auf "Next >". Ihr drückt nun solange "Next >" bis ihr hier ankommt.
    - Bei Group Id gebt ihr etwas an, was euch identifiziert. Ich z.B nehme "me.marvin"
    - Bei der Artifact Id gebt ihr den Namen des Projekts an. Ich z.B nehme dafür "breadfishgm"
    - Bei der Version könnt ihr euch eine aussuchen, ich jedoch belasse es bei "0.0.1-SNAPSHOT"
    - Beim Package schreibt ihr eure Groupid + eure Artifactid hinein. Bei mir hieße es dann "me.marvin.breadfishgm"
    - Ihr drückt nun auf "Finish" und solltet nun ein Projekt haben.


    Schritt 5 (Das Projekt bearbeiten):
    - Als erstes geht ihr in die pom.xml Datei, und drückt ganz unten auf "pom.xml".
    - Nun sollte es bei euch so aussehen: klick
    - Ihr müsst nun unter "<version>..</version>" folgendes einfügen: Pastebin
    - Dort drunter, müsst ihr nun die Dependency hinzufügen: Pastebin
    - Ganz unten, vor "</project>" müsst ihr nun folgendes hinzufügen: Pastebin
    - Wenn ihr <outputDirectory> verwendet (was optional ist), ist es wichtig das ihr den Pfad anpasst.
    - Wenn alles fertig ist, sollte es so bei euch aussehen: klick
    - Ihr speichert nun alles, und macht einen Rechtsklick auf euren Gamemode -> Maven -> Update Project, und klickt OK
    - Um nun richtig zu starten, geht ihr in die "App.java" und fügt hinter dem "public class App" ein "extends Gamemode".
    - Nun müsst ihr die Methoden implementieren. Das ganze zieht am Ende so aus -> klick


    Schritt 6 (Das Projekt zum builden vorbereiten):
    - Der letzte große Schritt denn ihr machen müsst, ist dem Gamemode eine "gamemode.yml" Datei beizulegen.
    - Anhand dieser Datei, weiß der Server, welche Klasse er benutzen muss, um den Gamemode zu starten.
    - Ihr erstellt einen Ordner mit dem namen "resources" im "src/main/" Ordner.
    - Nun macht ihr Rechtsklick auf den eben erstellten Ordner, und wählt "New" -> "File" und gebt ein: "gamemode.yml".
    - In diese Datei schreibt ihr nun folgendes: Pastebin
    - Am Ende sollte es so aussehen: klick


    Schritt 7 (Der Buildprozess):
    - Um das Projekt zu builden, drückt ihr auf den Runden grünen Playbutton -> klick und wählt "Maven build" aus.
    - Am ende drückt ihr einfach auf Ok, und die .jar Datei des Gamemodes sollte dort sein, wo ihr sie in der pom.xml Datei angegeben habt.


    Hier noch ein zusätzliches Video:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    https://www.youtube.com/watch?v=FLlFeNXPPN8

    Kann denn jeder auf diesem Gamemode/Server spielen oder braucht man dafür einen extra Client?


    Man braucht keinen extra Client, du musst das Shoebill Framework lediglich als Plugin in deine serverconfig Datei eintragen. Am besten lädst du dir das SA-MP Server Development Paket runter, da siehst du wie das alles aufgebaut ist. Es gibt nähmlich extra Config Datein für Shoebill. (http://puu.sh/3S0JD/62a386d1da.zip <-- Ist die 0.3x Version, einfach 0.3z Server runterladen und Datein ersetzen)


    //Edit:
    Es wurde soeben die Version 1.0 releast.
    Es hat sich viel getan, jetzt wird z.B. 0.3z R2-2 supportet.
    Es gibt aber auch sonst noch sehr viel das verändert wurde :)