[MySQL]IP speichern??

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
  • Und wie kann ich dich speichern??



    ihr mein Stock SavePlayer

    Spoiler anzeigen
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Skin", GetPlayerSkin(playerid), "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "WantedLevel",GetPlayerWantedLevel(playerid),"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Level", GetPlayerScore(playerid), "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "FightingStyle",GetPlayerFightingStyle(playerid), "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kontostand",PlayerInfo[playerid][pKontoStand], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Alter", PlayerInfo[playerid][pAlter],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Werbungsanzahl", PlayerInfo[playerid][pWerbung],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Telefonbuch", PlayerInfo[playerid][pTelefonbuch], "Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "HandyNummer", PlayerInfo[playerid][pHandyNummer],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "GangJail",PlayerInfo[playerid][pGangJail],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Nutzung",PlayerInfo[playerid][pNutzung],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Job",PlayerInfo[playerid][pJob],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "SaveMats",PlayerInfo[playerid][pSaveMats],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", PlayerInfo[playerid][pKills], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "MatsPakete",PlayerInfo[playerid][pPackete],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "MatsHave",PlayerInfo[playerid][pMats],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "FraktionsLeader", PlayerInfo[playerid][pFraktionsLeader], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "FraktionsMember", PlayerInfo[playerid][pFraktionsMember], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "FraktionsRange", PlayerInfo[playerid][pFraktionsRange], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "AdminLevel", PlayerInfo[playerid][pAdminLevel], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Autoschein", PlayerInfo[playerid][pAutoschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Motorradschein", PlayerInfo[playerid][pMotorradschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Flugzeugschein", PlayerInfo[playerid][pFlugschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "LKWschein", PlayerInfo[playerid][pLKWschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Bootschein", PlayerInfo[playerid][pBootschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Waffenschein", PlayerInfo[playerid][pWaffenschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Angelschein", PlayerInfo[playerid][pAngelschein], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Respektpunkte", PlayerInfo[playerid][pRespektPunkte], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "PayDayTime", PlayerInfo[playerid][pPayDayTime], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Bann",PlayerInfo[playerid][pBanned],"Name",PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "TimeBan",PlayerInfo[playerid][pTimeBanned],"Name",PlayerInfo[playerid][pName]);
    new str[128];
    format(str,sizeof(str),"Spieler %s erfolgreich gespeichert!",PlayerName(playerid));
    print(str);
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • Ein neues Enum ? ist das alles nur C&P ? einfach ein neues eintragen dürfte doch nicht so schwer sein
    halt als String:



    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(To, To);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }

  • Beispiel aus einem Haus System einfach den string formatieren und das Formatierte dan anstatt GetPlayerIp
    hier ein abschnitt vom hauskaufen bei mir mit string funktion: mysql_SetStringByInt("haus", "Besitzer",SpielerName(playerid), "id", haus);

  • dazu brauchst du einen string
    siehe beispiel:


    new plrIP[16];
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));


    zum thema speichern
    kannst du das so als string verpacken

    GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 16);


    und dann als string abspeichern ich map generel diese stocks nicht da werden nur unötig viele querys aufgerufen


    genau so wie beim laden :D

  • hier

    stock mysql_GetString(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }


    für die funktionen reicht es in maddins tutorial zu schauen jedoch bietet sich es mehr an das ganze mit hilfe von sscanf zu laden zum ersten ist das ganze nicht so umständlich
    und zum zweiten ist es auch viel weniger code und ressourcen schonender