Beiträge von Flashrex.

    Ich zocke auf dem Server und muss sagen das er mir echt gut gefällt. Es gibt schon einige Stammspieler und Updates+ Bugfixxes kommen alle 1-3 Tage. Bin mir sicher das der Server im laufe der Zeit seine Spielerzahl stark steigern kann.

    Erstmal danke allen für die netten Worte.


    Um da direkt mal dran anzuknüpfen wollte ich euch hier mal das aktuelle Gangwar-Update zeigen:
    https://los-v.de/forum/index.p…e-13-04-2021-gangwar-2-0/

    Und hier noch ein Video welches auf unserem Server entstanden ist:

    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.

    Sehr geehrtes Brotfische,

    mit stolz darf ich verkünden, dass LoS-V morgen am 02.04.2021 um 20:00 Uhr für alle User seine Pforten öffnet und in die öffentliche Beta startet.


    Du hast keine Lust mehr auf die strikten Roleplayregelungen und langwierigen Whitelistverfahren?

    Dann ist LoS-V genau das was du suchst! Bei uns findest du lockeres Gameplay mit all den Systemen, die du auch aus dem Roleplay kennst.


    Aber wer sind wir überhaupt?

    Das Projekt entstand aus einigen Mitgliedern der ehemaligen Life of Sa SAMP-Community.

    Dabei möchten wir betonen, dass wir in keinerlei Zusammenhang mit den damaligen Betreibern der Life of Sa Community stehen und uns als eigenständige und unabhängige Community sehen.

    Derzeit besteht das Entwicklerteam aus 4 aktiven Developern, die gemeinsam stetig an dem Script und den Vorschlägen der Community arbeiten.


    test8.jpg


    LoS-V bringt die altbekannten SA:MP Reallife-Systeme zu GTA V und verbindet sie mit den neuen Möglichkeiten die GTA bietet.

    Dabei möchten wir alte SA:MP Hasen genauso abholen wie eingefleischte GTA V Spieler.


    Hier mal ein Beispiel wie wir das konkret umsetzen möchten:

    Auf LoS-V haben wir weitesgehend auf lästige Befehlseingaben verzichtet und nahezu alles ist über das Handy bzw. ein Interaktionsmenü steuerbar.

    Das Handy fungiert dabei wie ein Control Panel mit dem ihr zum Beispiel eure Fahrzeuge einsehen und auf der Karte markieren, eure Accounts (Forum, Ts) miteinander verknüpfen könnt und einiges mehr.


    Aber seht einfach selbst in dieser kleinen Demo aus der Entwicklung wie das ganze Ingame aussieht:


    Kommen wir nun erstmal zu den wichtigsten Fragen:





    Wir möchten euch an dieser Stelle aber auch gar nicht mit zu viel Text langweilen und laden euch herzlich ein direkt bei uns vorbeizuschauen und euch selbst ein Bild von den Systemen zu machen.

    Für all eure Fragen stehen wir euch jederzeit hier in den Kommentaren sowie auf unserem Teamspeak Server zur Verfügung.



    Mit freundlichen Grüßen
    Die LoS-V Communityleitung

    Bisschen spät aber hier hab ich die komplette Einrichtung von Server + Visual Studio Projekt in einem Video erklärt:

    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.

    Flashrex kommt zur Rettung 8)


    Ich hab heute meine neue Tutorial Reihe auf Youtube gestartet in der ich den Umgang mit der alt:V API erkläre (C#).

    Hier die Playlist:

    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.


    Darüberhinaus hab ich vor einiger Zeit ein Video erstellt was Client vs. Serverside ein wenig erklärt.

    Bezog sich zwar auf Rage aber ist in Alt:V gleich:

    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.


    Ansonsten wünsche ich dir viel Spaß mit Gta:V und alt:V ;)

    Erstmal schön zu sehen das du meine Tutorials schaust, danke dafür :D

    Du musst dir von dem target die Instanz der Playerklasse holen.

    In dem Fall mit :


    Code
    IPlayer itarget = target.GetData<IPlayer>("PlayerData");

    Und dann kannst du auf die Funktion über das Objekt zugreifen.


    Code
    itarget.Save();


    /edit Übrigens solltest du die Playerklasse auch nutzen, wenn du sie schon hast.
    Statt target.SetData(...) kannst du itarget.Adminlevel = ... machen.


    Moin kurze frage warum wird der Spieler nicht in das Fahrzeug gesetzt?

    SetIntoVehicle ist derzeit verbuggt. Wenn du den Befehl 2x ausführt funktioniert es. (zumindest bei mir)

    Es wäre nützlich, wenn du uns sagst welche Programmiersprache du nutzt.


    Dennoch kann ich dir ein paar Ansätze geben:


    1. Du loopst durch alle Fahrzeuge auf dem Server und überprüfst ob ein Fahrzeug in der Nähe des Spielers ist.


    Beispielcode C#:



    Code
    //Wir gehen alle Fahrzeuge auf dem Server durch und checken ob
    //der Spieler sich in der Nähe eines dieser Fahrzeuge befindet.
    foreach(Vehicle vehicle in NAPI.Pools.GetAllVehicles()) {
        if(client.Position.DistanceTo2D(vehicle.Position) < 5) {
           //Fahrzeug öffnen/schließen
        }
    }




    2. Du speicherst Fahrzeuge, die der Spieler öffnen/schließen kann mit Hilfe von EntityData (in C#: .setData()) an dem jeweiligen Client und fragst dann sobald der Spieler /lock eingibt ab ob der Spieler in der Nähe seines Fahrzeugs ist.


    Beispielcode in C#:


    Code
    //Überprüfen ob der Spieler ein privates Fahrzeug hat und uns
    //gegebenfalls das Fahrzeug vom Spieler holen.
    if(!client.HasData("PrivateVehicle") return;
    Vehicle vehicle = client.GetData("PrivateVehicle");
    
    
    //Überprüfen ob Spieler in der Nähe seines Fahrzeugs ist
    if(client.Position.DistanceTo2D(vehicle.Position) < 4) {
        //Fahrzeug öffnen/schließen
    }


    Falls du ein wenig Englisch kannst, kann ich dir Stuyk´s Tutorial Reihe sehr ans Herz legen.
    In seinem 2. und 3. Video erklärt er wie man beide meiner Ansätze umsetzt.

    Benutz nicht die gtanetwork.api über nuget, die ist outdated.
    Du musst direkt die Bootstrapper.dll unter "Bridge/runtime/" referenzieren.
    Dann sollte es funktionieren.


    In dem Video wird erklärt er wie man alles richtig einrichtet. Ist zwar auf Englisch aber sollte verständlich sein.


    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.


    Falls danach weiterhin fragen bestehen oder du es nicht verstehst, helfe ich dir gerne nochmal weiter.


    /edit Bei 4:20 erklärt er wie man die Bootstrapper.dll referenziert.

    Du musst die Datei System.Data.Common von:


    "RAGEMP/dotnet/" nach "RAGEMP/server-files/bridge/runtime"


    kopieren. Falls das allein nicht reicht, kopiere sie auch nochmal in deinen resource ordner ("RAGEMP/server-files/bridge/resources/myResource").


    Falls weitere solcher Fehler mit anderen Dateien auftreten einfach mit denen wiederholen.

    Deine Fehlermeldung besagt ,dass du versuchst auf ein Objekt zuzugreifen welches nicht definiert ist.
    Die Bridge hat eine eigene Funktion um eine Nachricht in der Konsole auszugeben:


    C
    [ServerEvent(Event.ResourceStart)]
    public void OnResourceStart() {
           NAPI.Util.ConsoleOutput("FirstResource erfolgreich gestartet!");
    }


    So würde ich es machen.


    /edit Hab zu spät gesehen, dass das Problem bereits gelöst war aber vielleicht hilft es noch jemandem der ein ähnliches Problem hat.

    Eine Möglichkeit wäre einfach vorher mit Hilfe einer anderen Funktion/Query die Datenbank durchzugehen und zu checken ob der Name bereits existiert.


    Beispiel:
    1. User gibt Name ein
    2. Funktion "checkIfCharacterNameExists" (Beispielname) wird aufgerufen -> Query geht durch Datenbank und checkt Namen
    3. Wenn Name existiert -> Fehler an User, wenn nicht Funktion zum erstellen des Charakters (CreatePlayerSkin) wird aufgerufen

    Ist zwar schon ein wenig älter aber falls noch jemand die selbe Frage hat:


    Es gibt 2 Möglichkeiten Daten zwischen Client und Server auszutauschen.


    1. Über Events
    2. Über EntityData


    Events:
    C# Server:

    Code
    int daten = 0;
    string daten2 = "test";
    NAPI.ClientEvent.TriggerClientEvent(client, "eventName", daten, daten2);


    Javascript Client:

    Code
    mp.events.add('eventName', (daten, daten2) => {
        //Code
    });


    EntityData:
    C# Server:

    C
    client.SetSharedData("dataName", data);

    Clientside Javascript:

    JavaScript
    var data = mp.players.local.getVariable('dataName');


    In den anderen Sprachen ist das Prinzip das selbe.

    In RageMP hast du viele Freiheiten was Programmiersprachen angeht.


    Serverside: C#, C++, Javascript
    Clientside: Javascript, C#


    Ich würde dir empfehlen C# oder Javascript zu nutzen ,da das am weitesten verbreitet ist und du daher am meisten Scripte und Tutorials findest.


    Ich kann dir leider nicht mit NodeJs helfen, da ich selber in C# programmiere.


    Falls du ein wenig Englisch kannst würde ich dir diese Tutorial-Reihe empfehlen:

    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.

    Klingt gut.


    Was ist eigentlich mit FiveMP/FiveM?
    Ist diese Modifikation zu empfehlen?

    FiveM hat ein Slot Limit von 64 Spielern.


    BTT: Ich denke Rage wird sich als stärkste Mod durchsetzen, wenn jetzt nicht noch was unerwartetes passiert. Die großen Server sind alle auf Rage umgestiegen, Rage stellt regelmäßig neue Spielerrekorde auf (z.B. auf GVMP 1000 Spieler gleichzeitig), die Synchro ist im großen und ganzen sehr gut und es gibt kaum Abstürze. Nur ein wenig mehr Updates könnte es geben. Aber da muss man bedenken ,dass in SA:MP die Updateinvervalle auch recht lang waren und Rage auch nur von wenigen Personen programmiert wird.