Blutbad nach GMX

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Wenn ich meinen Gamemode mittels GMX neustarte, habe ich nachdem Login das folgende Probleme:


    Ich bin Tot und zwar in einer SCHLEIFE. Man kann es nicht unterbrechen.


    Meine Frage hat jemand eine konkrete Ahnung woran sowas liegen könnte.


    Achja ich arbeite mit Dini und lass bei Disconnect, sowie in einem Stock die Daten speichern. Health und Armour runde ich zu einem Integer und lasse diesen Speichern und wieder aufrufen.


    Dieser Bug tritt nur beim GMX auf und nicht bei einem normalen Reconnect. Ich habe auch schon versucht mittels einer Gegenschleife die Energie hochzusetzen auf 100, allerdings klappt das auch nicht.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Das habe ich noch nicht direkt ausprobiert, aber dürfte normal gehen.


    Stock mittels OCMD aufgerufen


    ocmd:gmx(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid))
    {
    SendClientMessage(playerid,COLOR_RED,"Info: Du bist kein Admin!");
    }
    else
    {
    SpielerdatenSpeichern(playerid);
    }
    return 1;
    }
    stock SpielerdatenSpeichern(playerid)
    {
    new pName[MAX_PLAYER_NAME], save[128],Float:hp,Float:ap;
    GetPlayerName(playerid, pName, sizeof(pName));
    GetPlayerHealth(playerid,hp);
    GetPlayerArmour(playerid,ap);
    format(save, sizeof(save), "/Spieler/%s.ini", pName);


    dini_IntSet(save, "geschlecht", sInfo[playerid][geschlecht]);
    dini_IntSet(save, "alter", sInfo[playerid][alter]);
    sInfo[playerid][skin] = GetPlayerSkin(playerid);
    dini_IntSet(save, "skin", sInfo[playerid][skin]);
    sInfo[playerid][geld] = GetPlayerMoney(playerid);
    dini_IntSet(save, "geld", sInfo[playerid][geld]);
    sInfo[playerid][wanteds] = GetPlayerWantedLevel(playerid);
    dini_IntSet(save, "wanteds", sInfo[playerid][wanteds]);
    dini_IntSet((save), "health", floatround(hp));
    dini_IntSet((save), "armour", floatround(ap));


    SendRconCommand("Gmx");
    for (new Text = 0; Text < 50; Text++)
    {
    SendClientMessageToAll(COLOR_GREY," ");
    }
    SendClientMessageToAll(COLOR_GREEN, "Der Server wird neugestartet! \nBitte warten...");
    }


    Wie schon gesagt bei einem normalen Disconnect wird die Energie/Armour korrekt gespeichert und bei Connect bzw. Spawn auch richtig wieder aufgerufen.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

    Einmal editiert, zuletzt von Addickted ()