Beiträge von 123marvin123

    Skript- und Communitytechnisch ein Server mit großem Potential, jedoch viel zu wenig Spieler. Die Community ist sehr freundlich und hilfsbereit.
    Ich hab es bisher noch nicht erlebt das irgendwelche Leute sinnlos rumgeballert haben o.ä, alle verhalten sich sehr realistisch, selbst die Polizei :thumbup:


    Ich kann den Server nur empfehlen, das Adminteam ist zwar klein, aber kennt sich sehr gut aus.


    9 / 10 (es gibt noch kleine Schönheitsfehler in den Nachrichten und in den Textdraws. Man könnte die Nachrichten alle ein bisschen schöner gestalten, mit mehrfarbigen Texten etc.)


    Sieht super aus Werde auf jedenfall mal vorbei schauen wenn die Seite richtig Online ist.


    Danke, wir werden auf jeden Fall alles dafür tun, damit unser Projekt gut anlaufen wird, und auch weiterhin seine Qualität hält.

    Ich freue mich sehr auf dieses Projekt, da ich damit viel Erfahrung im Bereich Teamwork sammeln kann, aber auch meine Fähigkeiten im Entwicklungsbereich erweitern kann.
    Ich bin überzeugt davon, dass Caglar und Mert_Coleman zwei sehr en­ga­giert Personen sind, mit denen man gut arbeiten kann.


    Wenn es Neuigkeiten zu diesem Projekt gibt, werden wir sie euch hier preisgeben.

    Caglar ist aktuell leider durch private Probleme nur schwer zu erreichen, deswegen werde ich versuchen dir zur helfen.
    Erstmal solltest du am besten Xampp nicht produktiv benutzen, sondern nur zum testen, aber das weißt du bestimmt schon.


    Am besten schaust du dir diese Seite mal an: http://stackoverflow.com/quest…cess-xampp-from-a-network
    Dort wird geschrieben das du folgendes aus der httpd-xampp.conf Datei löschen sollst:


    PHP
    #
    # New XAMPP security concept
    #
    <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
            Require local
        ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
    </LocationMatch>


    (Die Datei befindet sich hier: xampppath\apache\conf\extra\httpd-xampp.conf)

    Nicht ohne weiteres, wenn du nur schnell mal eine Exe-Datei verschicken willst, kannst du dir diese Beiträge hier durchlesen:
    http://stackoverflow.com/quest…cutable/20306095#20306095


    Dort werden verschiedene Wege erläutert, wie man die Abhängigkeiten direkt in die Exe-Datei packt.


    Aber wie SLaYz schon sagte, solltest du es vermeiden Passwörter und andere persönliche Dinge in dein Programm zu speichern, da es wie gesagt ganz einfach geklaut werden kann.

    Es gibt Programme die den Treiber mit in die Exe-Datei packen können, aber wenn du später dein Programm veröffentlichst wirst du normalerweise einen Installer erstellen der den MySQL-Treiber dann auch mit kopiert.
    Normalerweise genügt es einfach die Mysql.Data.dll Datei in den selben Ordner zu verschieben wo auch die Exe-Datei liegt.

    Da habt ihr euch aber eine Menge vorgenommen. Ich glaube kaum das euer Vorhaben über den ASI-Loader funktionieren wird, da S0beit und eventuell auch CLEO geladen werden bevor der ASI-Loader überhaupt die Module lädt.
    Eine bessere Möglichkeit wäre da z.B. eine benötigte Datei von GTA SA zu ersetzen die so früh wie möglich geladen wird (z.B. EAX.dll oder wie S0beit es macht einfach die DirectX Libraries ersetzen). Die ganzen Features die hier aufgelistet worden sind,
    brauchen eine sehr lange Zeit, damit sie einwandfrei funktionieren, und beim User keine Probleme verursachen. Der User möchte natürlich stets sein GTA SA problemlos ausführen können, und nicht an SAMP oder einen bestimmten Server gebunden sein.
    Ich möchte euch hiermit nur sagen, dass ihr euch am besten mit jemanden zusammen tut, der wirklich Ahnung von C++ hat und dann eure Wünsche mit ihm zusammen überdenkt. Es gibt viele Wege wie Hacks & Cheats in den Prozess gelangen können, selbst große Anti-Cheat Systeme
    (z.B. VAC oder PunkBuster) können oftmals nicht alle Cheats erkennen, und die Wahrscheinlichkeit das ihr in diesem Forum einen C++-Entwickler findet, der euch da was sicheres zaubern kann, ist sehr gering. Wenn ihr jedoch Fragen zur Netzwerkkommunikation habt, steh ich gerne bereit euch zu helfen :) An eurer Stelle würde ich vielleicht ein schönes Webinterface für die Admins basteln wo alle Clients aufgelistet werden, und dort auch die laufenden Prozesse einsehbar sind etc.


    :thumbup:

    Alf21: Danke für dein positives Feedback.



    - Shoebill-Funktionen von Pawn aus aufrufen




    Um dieses Update zu nutzen, muss der beigelegte shoebill-updater verwendet werden. Einfach die update-shoebill.bat/.sh Datei starten, und Shoebill wird alle Dateien runterladen.


    Es freut mich euch mitteilen zu können, dass Shoebill ab sofort die Möglichkeit bietet, von Pawn aus Shoebill Funktionen aufrufen zu können. Aktuell werden Integers, Strings und Floats als Datentypen akzeptiert. Es können
    auch Variablen per Referenz übergeben werden, die dann im Java Teil geändert werden können. Hier ein kleines Beispiel:


    Als erstes muss eine neue native Funktion in dem Pawn-Skript deklariert werden:
    native CallShoebillFunction(name[], {Float,_}:...); (am besten direkt in eine Include-Datei oder einfach oben im Skript)


    Nun muss eine Funktion registriert werden, dies geschieht von Java aus. Jede AMX-Datei hat seinen eigenen Funktions-Pool, wenn man will das die Funktion überall verfügbar ist, ist es zu empfehlen die Funktion in dem AmxLoadEvent zu registrieren.
    In diesem Beispiel möchte ich das meine Funktion von überall aus verfügbar ist, deswegen werde ich sie im AmxLoadEvent deklarieren:


    Code
    eventManager.registerHandler(AmxLoadEvent.class, e -> {
         e.getAmxInstance().registerFunction("GetPlayerFactionName", objects -> {
             Player player = Player.get((Integer) objects[0]);
             //Do something to get player's faction etc.
             objects[1] = "Los Santos PoPo";
             //Return value for pawn (not always needed)
             return 1;
         }, Integer.class, String.class);
     });


    Die .registerFunction-Methode ist verfügbar in AmxInstance-Objekten.
    Erst wird der Name angegeben, gefolgt von der Java-Funktion die aufgerufen wird. Anschließend dann die Parameter-Typen, in dem Falle Integer (für die PlayerId) und den String (als Referenz, dort wird der Name reingeschrieben).
    Funktionen die registriert werden, sollten auch wieder gelöscht werden. Dies geschieht mit der .unregisterFunction-Methode:


    Code
    eventManager.registerHandler(AmxUnloadEvent.class, e -> {
        e.getAmxInstance().unregisterFunction("GetPlayerFactionName");
    });


    von Pawn aus kann die Funktion nun problemlos aufgerufen werden, zum Beispiel unter OnPlayerSpawn:



    public OnPlayerConnect(playerid)
    {
    new factionName[] = "Unknown";
    CallShoebillFunction("GetPlayerFactionName", playerid, factionName);
    printf("Factionname: %s", factionName);
    return 1;
    }


    Ergebnis: "Factionname: Los Santos PoPo"