Beiträge von [DT]midomen

    Ist das Thema also erledigt?

    Wenn du angst hast dass beim Laden des Spiels die Koordinaten nicht richtig geladen werden kannst du im Constructor deiner Myplayer Klasse die Positionen deines Spawns setzen.


    .Net Doku zu Konstruktoren

    Constructors - C# programming guide
    A constructor in C# is called when a class or struct is created. Use constructors to set defaults, limit instantiation, and write flexible, easy-to-read code.
    learn.microsoft.com


    In deinem Fall wäre es


    public float posx { get; private set; }
    public float posy { get; private set; }
    public float posz { get; private set; }

    public MyPlayer(ICore server, IntPtr nativepointer, ushort id) : base(server, nativepointer, id)
    {
    SpielerID = -1;
    Geld = 0;
    Adminlevel = 0;
    Eingeloggt = false;
    Fraktion = 0;
    Rang = 0;
    posx = xspawn;//Nicht 0 sondern Koordinaten von deinem standard Spawn z.b. Spawn von Neulingen
    posy = yspawn;
    posz = zxspawn;
    }



    public void SetPlayerPos(float x , float y, float z){ //Funktion in die MyPlayer Klasse einfügen

    this.posx = x;

    this.posy = y;

    this.posz = z;

    }



    public static void OnPlayerDisconnect(MyPlayer.MyPlayer myplayer, string reason) {

    myplayer.SetPlayerPos(spielerx,spielery,spielerz);//Koordinaten musst du über einen Befehl rausbekommen. Z.B. bei Samp GetPlayerPos(playerid,...);
    Datenbank.AccountSpeichern(myplayer);
    }





    Damit läuft dann auch alles wenn du dich Schritt für Schritt daran hältst.

    Du musst natürlich bei OnPlayerDisconnect erst einmal die myplayer koordinaten befüllen.

    Das Laden und speichern funktioniert also.


    Nur musst du die Spieler Position beim disconnecten herausfinden und diese in dein myplayer objekt befüllen. Erst danach nutzt du Datenbank Account Speichern.

    Ich kenne die konkreten Befehle aus der Altv Libary nicht aber du brauchst auf jeden fall so etwas die GetPlayerPos (myplayer.playerid) und die Rückgabewerte befüllst du in dein myplayer Objekt.

    Hat das MyPlayer Object auch entsprechend x,y,z properties in die das gespeichert wird? In der Datenbank hast du unter der accounts tabelle posx,posy,posxz genau so geschrieben?


    Vielleicht ein Tippfehler vorhanden?

    SQL Logs die du zeigen kannst?


    Ich kann jetzt auch nur wild spekulieren die aktuellen Informationen sind begrenzt


    PS: Wann wird AccountSpeichern ausgeführt? Auch beim ausloggen?

    Du hast doch sowieso ein System in dem bereits die Daten geladen werden. Dort lädst du dann einfach die Koordinaten aus der Datenbank und beim spawnen verwendest du die Koordinaten.


    Bedeutet konkret in der "Datenbank.AccountLaden" Funktion lädst du die Koordinaten in das myplayer Objekt.


    Bei der Funktion


    myplayer.Spawn(new AltV.Net.Data.Position(-425, 1123, 325), 0);


    benutzt du die Koordinaten aus dem myplayer objekt.


    myplayer.Spawn(new AltV.Net.Data.Position(myplayer.x, myplayer.y, myplayer.z), 0);


    so würde das dann aussehen.



    PS:


    bezüglich deines speicher problems.


    Hast du in deiner DB bei accounts auch die posx, posy, posz hinzugefügt? Als float natürlich.

    Tatsächlich ist es so, dass du dir auch alles erklären lassen kannst. Du kannst die KI fragen, warum hast du da die Abfrage so gemacht und nicht so? Was fragst du da ab und und...

    Ich hab jetzt mal bisschen rumprobiert und erklären kann die KI gut und kleine Scripting Fragen kann Sie auch beantworten. Ich persönlich finde es für Anfänger super!

    Obwohl ich schon lange scripte ist mein Wissen nur beschränkt, da ich es nur Hobbymäßig mache. Mir persönlich hilft die KI und gibt mir bei manchen Funktionen einen guten Ansatz, wenn ich mal nicht weiter weiß.

    Wie von dir erwähnt bei komplexen Sachen hört es auch auf, da hast du recht.

    Prinzipiell sollte dir die KI alles erklären können was du durch lesen von Dokumentationen erlernen kannst bzw. Regeln einer spezifischen Sprache oder auch Dinge die du in jeder Programmiersprache findest. Zusammenhänge in komplexen Systemen sind jedoch eine ganz andere Welt.

    Da dieses Forum schon längst mit der SA:MP Mod im Grab liegt und nur paar alte Weggefährte als Friedhofsbesucher erhält kann er sich auch Adolf mit zwei Hakenkreuzen nennen ohne das es irgendjemand neues abschrecken wird.

    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.
    ein interessantes Video zu dem Thema.

    ChatGPT kann in Zukunft nützlich sein. Aktuell liefert es zwar teilweise brauchbare Ergebnisse aber bei komplexeren Dingen hört es dann auf. Für Leute die den gelieferten Code nicht verstehen sowieso nicht zu empfehlen da sie auf Treibsand bauen werden. Lieber die Arbeit von anderen machen lassen die einem im Notfall die gemachte Arbeit im Detail erklären können.


    PS: In deinem konkretem Fall hat ChatGPT das beste aus deinem sehr dürftigem Input gemacht. Das Objekt ist zwar ein Gate und keine Schranke aber es hat prinzipiell erst ein mal das gemacht was du wolltest.

    fracVehicle[i][e_rank] = rID; if(horn == 1) { fracVehicle[i][e_horn] = true;

    Kannst du mal im Code zeigen woher "horn" kommt?


    Was die anderen dir erklären wollen ist dass die abfrage if horn == 1 -> horn = true; sehr sinnbefreit aussieht da in einem bool 0 = false ist und true = 1


    Du willst aber wahrscheinlich darauf hinaus dass er deinen bool nicht als bool sieht sondern als int wert weswegen du aus = 1 = true machen willst um das warning zu vermeiden. Daher die frage woher "horn" überhaupt kommt.

    hmm bei den heutigen server die es gibt glaube nicht dass es viel ausmachen wird.. ich habe zb welche in mein anderen gamemode was noch auf normal samp ist und da ist die auslastung ganz gering ich vermute mal ehr das es sich dann bemerkbar macht wenn man 100 leute und mehr drauf hat aber heute noch 100 spieler ? :D man kann schon mit 5 - 10 glücklich sein ^^

    Bei den aktuellen Userzahlen kann das einem wohl tatsächlich egal sein aber Programme müssen deine bessere Hardware auch erst ein mal ausschöpfen können. Du kannst in 10 Jahren auch 1 Mio Kerne haben, es wird dir nichts bringen wenn dein Programm diese nicht ausschöpft und bei GTA SA aus dem Jahr 2005 kannst du dir da sicher sein. Bei den Servern kommt es wohl eher darauf an mit welcher MP Mod man spielt. SA:MP von Kalcor war zwar beliebt aber auch beschissen. Wobei du ja schon erwähnt hast dass du bei 15 Spielern froh bist.

    ich habe jetzt zb ein warning wo ich nicht draus schlau werde qpawno meint ich würde die veriable 'leherer' nicht verwenden was ich aber tue

    Warum nicht so?




    //Kaliber war schneller.


    Pvars solltest du übrigens vermeiden.

    Wenn ich mich richtig erinner sind sie vorteilhaft wenn man die gleiche Variable auch in einem Filterscript verwenden möchte jedoch geht diese auf die CPU.

    Ich glaub ihr beide seid die einzigen magnetköpfe die nicht verstanden haben das es Ironie ist.

    Zumal ich ein schönes Auto besitze Aebian :p

    Ach Risq was soll ich nur mit dir anfangen.

    Hoffentlich hast du endlich einen Ausbildungsplatz gefunden aber bitte schließe dich nächstes mal erst unserem Beef an wenn du einen Führerschein hast und mitreden kannst. Kuss brudi

    Das sind so Knechte die dann sagen ich bin neidisch auf Kaliber aber selber nicht wissen wieso hahaha :D.

    Schuh auf Kopf!


    dennismitzwein Ich dachte du fährst Rolls Royce statt Tesla und chillst mit Oligarchen Töchtern.

    Ich wohne eig nicht weit weg, kam aber gestern aus Berlin wegen Unehre. Jetzt endlich wieder in den heimischen Gefilden den Frust in alkoholischen Kaltgetränken aus französischer Produktion ertränken

    Tuchel hat Dortmunds Mutter auf dein Nacken rasiert.