Ip über MySQL 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
  • Hallo,
    ich möchte gerne ein Auto Login erstellen.
    Das ganze dachte ich mir über die IP. Dazu möchte ich beim Connecten die IP Abfragen(Sofern der Account vorhanden ist) und wenn die Ip die selbe ist (wie beim letzten mal), soll er gleich spawnen können. Ansonsten muss er wie gewohnt das Passwort eingeben.
    Nun, ich habe die IP unter OnPlayerDisconnect speichern lassen. Unzwar so:
    public OnPlayerDisconnect(playerid, reason)
    {
    new sip[20];
    GetPlayerIp(playerid, sip, sizeof (sip));
    SpielerInfo[playerid][pip] = sip;
    return 1;
    }


    Dann habe ich im Stock Saveplayer eingebaut in etwa so:
    mysql_SetString("accounts", "ip", SpielerInfo[playerid][pip], "Name", SpielerInfo[playerid][pName]);


    Nun, will ich die datei wieder laden. Unzwar im Stock Loadplayer. Das möchte ich so machen
    SpielerInfo[playerid][pip] = mysql_GetString("accounts", "ip", "Name", SpielerInfo[playerid][pName]);
    Achja und im enum steht es so
    enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pScore,
    pGeld,
    pKills,
    pTode,
    Float:pHealth,
    pVip,
    pKopfgeld,
    pdm1siege,
    pdm2siege,
    pdm3siege,
    pdm4siege,
    pdm5siege,
    pBank,
    pautofarbe1,
    pautofarbe2,
    phydraulic,
    pneon,
    pspoiler,
    pnitro,
    pAuto,
    Float:ax,
    Float:ay,
    Float:az,
    Float:aza,
    pip[20]
    }


    Habe einen Fehler

    Zitat

    C:\Users\Pascal\Desktop\SAMP - Server\gamemodes\update.pwn(1138) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Pascal\Desktop\SAMP - Server\gamemodes\update.pwn(1217) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Zeile
    SpielerInfo[playerid][pip] = mysql_GetString("accounts", "ip", "Name", SpielerInfo[playerid][pName]);


    Wo ist der Fehler? :/
    Danke im voraus.
    lg

    "when you got nothing to lose, then baby you got it all" - OPERATOR

    • Offizieller Beitrag

    Gehts überhaupt bei OnPlayerDisconnect?


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • Ich denke schon. Immerhin speichert man ja auch bei OnPlayerDisconnect den Spielstand. Habe aber dennoch ein Problem.
    Unzwar weiß ich nicht unter was ich die ip Speichern soll. Wenn man bei Navicat eine neue Spalte hinzufügt muss man ja einstellen was man speichern will
    (Float, Int etc.) Leider ist da aber kein String.
    Was muss ich da also auswählen? :/

    "when you got nothing to lose, then baby you got it all" - OPERATOR

  • Gehts überhaupt bei OnPlayerDisconnect?


    Richtig, GetPlayerIp geht bei OnPlayerDisconnect nicht.


    new sip[20];
    GetPlayerIp(playerid, sip, sizeof (sip));
    SpielerInfo[playerid][pip] = sip;
    Das muss raus aus OnPlayerDisconnect und rein bei OnPlayerConnect (die IP ändert sich ja während der Spieler online ist nicht).



    Du musst es als VARCHAR anlegen. (Sollte auch in NaviCat so heißen) = string

  • Wenn ich die Ip bei OnPlayerConnect so mache, würden mein System ja nicht mehr Funktionieren.
    Ich versuche es mal bei OnPlayerSpawn.


    Zitat


    Du musst es als VARCHAR anlegen. (Sollte auch in NaviCat so heißen) = string


    Danke Jeffry :)

    "when you got nothing to lose, then baby you got it all" - OPERATOR

    Einmal editiert, zuletzt von XHSD ()