Beiträge von 123marvin123

    Saintsbury: Wie maddin schon beschrieben hat, ist das die Event-Variable. In Java 8 wurden so genannte Lambda-Expressions eingeführt, und Shoebill macht davon in vielen Bereichen Nutzen.
    Es ist dir überlassen ob du die neuen Funktionen von Java 8 in deinem Code verwendest, früher hätte das Codebeispiel so ausgesehen:


    Java
    eventManagerNode.registerHandler(PlayerUpdateEvent.class, new EventHandler<PlayerUpdateEvent>() {
                @Override
                public void handleEvent(PlayerUpdateEvent event) throws Throwable {
                    Player player = event.getPlayer();
                    //Und so weiter
                }
            });

    Du siehst das die Lambda-Expressions den Code sauberer und einfacher halten. Ich werde die Codebeispiele und Events so schnell wie möglich nach kommentieren.


    //Edit:


    Ich habe heute angefangen einen Wrapper-Generator für Shoebill zu erstellen, welcher Javacode aus einer Include-Datei generieren kann. Im Moment funktioniert er noch nicht hundertprozentig korrekt, aber ich habe heute erst angefangen daran zu arbeiten, und der Code ist noch sehr durcheinander und funktioniert wahrscheinlich nicht immer so wie er sollte (auch wenn man schon ca. 90% der FCNPC.inc zu Java konvertieren kann). Hier könnt ihr ihn euch ansehen:


    https://github.com/Shoebill/wrapper-generator


    Der Generator generiert drei Dateien, welche die Funktionen beinhalten die die nativen Funktionen von dem Plugin aufrufen können. Außerdem werden die Callbacks automatisch gehookt.


    //Edit (4.4.16):




    Ich habe grade einen Projektgenerator erstellt, mit dem man ganz einfach und unkompliziert vollständige Maven Projekte für Shoebill erstellen kann. Das Tool ist einfach zu verwenden und erlaubt es einem, schnell ein Projekt zu erstellen. Nach dem das Projekt erstellt wurde, kann es in die IDE importiert werden, und dort bearbeitet werden.


    Hier eine kleine Vorschau:



    Download:

    Dann hast du was falsch gemacht. Wird der Timer alle 1000 Millisekunden aufgerufen und ist der Anfangswert von der Progressbar bei 1000?
    Wenn ja, dann stell bitte sicher, dass du 0.794 bei jedem Tick von dem Value abziehst.

    [ASAP]Frosty: Ups, ich hab mich aus Versehen vertippt mit der 1260, aber wir hatten die selbe Idee.
    Aber wenn die Progressbar von 1000 (also nicht 100) starten soll, dann sollte der Wert auf 0.794 geändert werden.


    Kp ob das so funktioniert, wie ich mir das vorstelle.


    Wie kommst du auf die 0.0794? Wenn er 21 Minuten laufen soll dann müsste der Wert bei 0.4629 liegen.
    Außerdem ist da ein kleiner Logikfehler in der If-Abfrage. So sollte es funktionieren (wenn von 1000 auf 0 in 21 Minuten):



    Mit der Funktion [wiki]strfind[/wiki] kannst du genau das machen. Die Funktion gibt die Position an der der Text gefunden wurde zurück.
    Wenn die Funktion -1 zurück gibt wurde der Text nicht gefunden.


    Beispiel:

    Code
    if(strfind(inputtext, "_", true) != -1)
    {
        //"_" existiert im String
    }
    else
    {
        //"_" existiert nicht im String
    }

    Shoebill erstellt beim Start eine vollwertige Java Maschine, du kannst also alle Features von Java 8 verwenden. Auch weitere Threads können eröffnet werden, um somit rechenintensive Berechnungen durchzuführen. Außerdem bietet Shoebill eine "objekt-orientierte" Erfahrung im Gegensatz zu Pawn, und bietet durch shoebill-common auch viele Hilfsklassen die einem eine Menge Arbeit abnehmen bei alltäglichen Aufgaben.

    Danke Mert_Coleman.



    Die erste Snapshot-Version von Shoebill 1.2 ist nun zum Download verfügbar. Haltet euch vor Augen, dass diese Version noch nicht Stabil läuft. Der Server könnte sich unerwartet verhalten. Die größte Änderung in dieser Version ist, dass Shoebill seine internen Komponenten geändert hat. Es benutzt nun Sampgdk anstatt einem eigenem Hooking-System. Diese Änderung wird bessere Kompatibilität mit anderen Plugins und Gamemodes bieten.


    Fertig:

    • Internes Hooking-System mit Sampgdk ersetzen
    • Support für die neuen Dialoge aus SAMP 0.3.7


    Geplant:


    • Kaputte Funktionen reparieren, welche durch die Änderung aufgetreten sind
    • ?


    Die Shoebill-Api hat sich ein wenig geändert, in der Weise wie sie das Amx Interface behandelt. Es ist nötig seine Version der Shoebill-Api auf 1.2-SNAPSHOT zu ändern. In der resources.yml Datei ist es nötig die Version der Runtime auf 1.2-SNAPSHOT zu ändern. Außerdem ist es nötig den Launcher und das Plugin zu updaten, am besten mithilfe des Shoebill Updater (einfach die update-shoebill.bat/.sh Datei starten) oder manuell die Dateien runter zu laden:








    (Das Plugin in den "plugins" Ordner verschieben und den Launcher nach shoebill/bootstrap verschieben)
    Stellt sicher, dass ihr den offlineModus einmal deaktiviert (in der resources.yml) damit Shoebill die neusten Artefakte aus unserer Quelle runter laden kann (http://repo.gtaun.net)


    (Updates können in kurzen oder langen Zeitperioden auftauchen, bitte darauf achten, dass Ihr auf dem aktuellstem Stand seid bevor ihr einen Bug meldet.)


    //Update 29. November:


    Die neuen Dialogtypen von SAMP 0.3.7 können nun via shoebill-common-1.2-SNAPSHOT verwendet werden.


    Folgendes muss in der pom.xml geändert / hinzugefügt werden

    XML
    <dependency>
        <groupId>net.gtaun</groupId>
        <artifactId>shoebill-common</artifactId>
        <version>1.2-SNAPSHOT</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>


    Danach kann ein TabListDialog mit oder ohne Header erstellt werden:


    Es können 0-3 Header via der .header() Funktion gesetzt werden, und Reihen mit der .item() Funktion hinzugefügt werden.
    Es müssen TabListDialogItems anstatt normale ListDialogItems verwendet werden. Mit der .column() Funktion kann der Inhalt der Spalten 0-3 gesetzt werden. Als Inhalt werden normale ListDialogItems verwendet und somit können auch RadioItems und Switches verwendet werden. Handler können mit der .onSelect() Methode gesetzt werden.


    Hier ein Screenshot:

    Ich war nun etwa vier Stunden auf dem Server, und werde nun ein kleines Fazit aus dieser Erfahrung ziehen:


    Ich fange mit Serverseitigen Aspekten an, darunter zählen:

    • Tutorial
    • Unterschiedliche Systeme wie z.B. Fahrzeug-, Fahrschul- und Jobsystem
    • Allgemeine Erfahrung und Erlebnisse
    • Bugs & Rechtschreibung


    Tutorial:

    Das Tutorial hat mir sehr gut gefallen, es wurden die wichtigsten Orte gezeigt und mit einem kurzen, aber aussagekräftigem, Text beschrieben.
    Man hat selbst die Möglichkeit zu entscheiden wie schnell man durch das Tutorial gehen möchte, indem man nach eigenem Ermessen weiter drückt.
    Mir sind ein paar wenige Rechtschreib- und Grammatikfehler aufgefallen, jedoch nichts ernsthaftes. Für das Tutorial vergebe ich neun von zehn Punkten.


    Fahrzeugsystem:

    Es existiert ein solides Fahrzeugsystem. mit einem optisch ansprechendem Tachometer und Zustandsanzeigen, welches mich persönlich sehr anspricht.
    Es ist nicht zugeklatscht mit irgendwelchen sinnlosen Anzeigen, sondern wirklich nur mit dem wichtigsten. Es gibt ein einfaches Motor/Licht-System, nichts besonderes aber es reicht aus.
    Die verschiedenen Fahrzeugklassen brauchen auch unterschiedliche Kraftstoffarten, an den Tankstellen muss man dann die richtige auswählen. Für das Fahrzeugsystem vergebe ich sieben von zehn Punkten.


    Fahrschulsystem:

    Das Fahrschulsystem gefällt mir sehr gut. Es ist anders als man es von den meisten Servern gewohnt ist. Anfangs muss man drei Theoriestunden bei der Fahrschule absolvieren (in fünf Minuten Abständen) und
    anschließend dann beim TÜV die theoretische Prüfung ablegen. Bei der Prüfung werden einem verschiedene Verkehrssituationen gezeigt, welche man richtig interpretieren und einschätzen muss.
    Außerdem gibt es noch theoretische Fragen wie z.B. wie schnell man innerorts fahren darf etc. Anschließend macht man dann die praktische Prüfung, welche man von den meisten anderen Servern kennt.
    Mir persönlich gefällt das Fahrschulsystem extrem gut, da es etwas anderes ist, als was die meisten Server haben, deswegen vergebe ich auch hier neun von zehn Punkten.


    Jobsystem:

    Das Jobsystem ist wie auf den meisten anderen Servern auch. Man wählt einen Job aus, fährt zu einem Checkpoint und nimmt den Job an, das ist nichts besonderes. Bei den verschiedenen Jobs wurde sich jedoch mehr Mühe gegeben,
    und man sieht auch öfter mal innovative Features, jedoch würde ich mir wünschen das ganze noch weiter auszubauen, da die Berufe einen großen Teil des Spiels darstellen sollten. Ich gebe dem Jobsystem sieben von zehn Punkten, da ich mir in Zukunft mehr wünschen würde.


    Allgemeine Erfahrungen und Erlebnisse:


    Der Server lief dauerhaft Lag-frei und ich hatte ein flüssiges Spielerlebnis. Es ist nicht alles mit unnötigen Textdraws oder Textlaben zugemüllt, sondern es wurde sparsam und mit Verantwortung mit diesen Features umgegangen.
    Das meiste lief einfach gut und problemlos ab, und mehr gibt es dazu auch aktuell nicht zu sagen. (10/10)


    Bugs & Rechtschreibung:

    Mir persönlich(!) sind keine Bugs oder Fehler aufgefallen. Es gab vereinzelt Rechtschreib- oder Grammatikfehler, jedoch nichts ernsthaftes. (9/10)


    Community:

    Aktuell spielen nicht sehr viele Spieler auf dem Server, jedoch sind alle Spieler sehr freundlich und hilfsbereit. Als ich auf den Server kam traf ich "DreameR" welcher mit eine Einführung gab, und mir
    half mein Leben aufzubauen. Ich machte ein Konto bei der Bank auf, kaufte mir ein Handy und ein Telefonbuch und suchte mir anschließen einen Job, alles mit der Hilfe von DreameR.
    Auch heute traf ich sehr nette Mitspieler, und deswegen gebe ich der Community von Suchtklinik Roleplay die volle Punktzahl (10/10).


    Abschließende Worte:

    Abschließend kann ich nur sagen, dass Suchtklinik Roleplay ein ausgezeichneter Server ist, auf welchem jeder willkommen ist und begrüßt wird. M4a_x ist ein sehr fähiger und freundlicher Administrator,
    und ich denke, dass dieser Server mehr Spieler verdient hat.



    Abschließende Punktzahl: 61/70