[Dringend]Account wird nicht mehr geladen

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
  • Guten zusammen


    Ich stehe vor einen Problem
    bei meinen lade stock für Player, bricht er irgendwo ab und ich weiß nicht aus welchen grund
    es lief alles die letzten tage und jetzt streikt er mir den richtig zu laden
    er kommt bis zum Skin weiter nicht der Debug ist sauber
    mit er kommt bis zum Skin meine ich: das er mir den noch setzt aber geld etc nicht mehr
    nichtmal die join message


    Ich hoffe jetzt auf eure hilfe, da ich wirklich überfragt bin
    hier mal der stock
    stock LoadPlayer(playerid)
    {
    new string[128],query[128];
    format(query,sizeof query,"SELECT * FROM `player` WHERE `Name`= '%s'",PlayerName(playerid));
    mysql_query(query);
    mysql_store_result();
    if(!mysql_num_rows())
    {
    mysql_free_result();
    }
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row(query,"Geschlecht");
    PlayerInfo[playerid][pGeschlecht] = strval(query);
    mysql_fetch_field_row(query,"Baned");
    PlayerInfo[playerid][pGebannt] = strval(query);
    mysql_fetch_field_row(query,"Skin");
    PlayerInfo[playerid][pSkin] = strval(query);
    SetPlayerSkin(playerid,strval(query));
    mysql_fetch_field_row(query,"Geld");
    PlayerInfo[playerid][pGeld] = strval(query);
    mysql_fetch_field_row(query,"Adminlevel");
    PlayerInfo[playerid][pAdmin] = strval(query);
    mysql_fetch_field_row(query,"Code");
    PlayerInfo[playerid][pCode] = strval(query);
    mysql_fetch_field_row(query,"Mail");
    format(PlayerInfo[playerid][pMail],50,"%s",query);
    mysql_fetch_field_row(query,"BDate");
    format(PlayerInfo[playerid][pBDay],50,"%s",query);
    mysql_fetch_field_row(query,"Banreason");
    format(PlayerInfo[playerid][pBanreason],50,"%s",query);
    mysql_fetch_field_row(query,"Banner");
    format(PlayerInfo[playerid][pBanner],50,"%s",query);
    mysql_fetch_field_row(query,"Timeban");
    PlayerInfo[playerid][pTimeban] = strval(query);
    }
    if(PlayerInfo[playerid][pCode]!=0)
    {
    //Snipped war nen Dialog
    }
    if(PlayerInfo[playerid][pGebannt]!=0)
    {
    //Snipped war nen Dialog
    }
    GiveCash(playerid,PlayerInfo[playerid][pGeld]);
    format(string, sizeof(string), "[Join] %s hat den Server betreten.", PlayerName(playerid));
    SendClientMessageToAll(cGreen, string);
    mysql_free_result();
    SpawnPlayer(playerid);
    PlayerInfo[playerid][pLogin]=1;
    return 1;
    }


    Ich bedanke mich schonmal im Vorraus

    Einmal editiert, zuletzt von RedJoker () aus folgendem Grund: Überschrift

  • Kam es einfach so? Hast du was hinzugefügt?


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Es kam wie aus heiteren Himmel
    Nix weiter dran gemacht


    //edit
    könnte es an den auch liegen?
    denn da gibt er mir nix mehr
    public GiveCash(playerid,money)
    {
    PlayerInfo[playerid][pMoney]=money;
    GivePlayerMoney(playerid,money);
    return money;
    }
    hier mal der debug


    eintragen tut er das:

    Einmal editiert, zuletzt von RedJoker ()

  • Ok das ist jetzt so:
    stock LoadPlayer(playerid)
    {
    new string[128],query[128];
    format(query,sizeof query,"SELECT * FROM `player` WHERE `Name`= '%s'",PlayerName(playerid));
    mysql_query(query);
    mysql_store_result();
    if(!mysql_num_rows())
    {
    mysql_free_result();
    }
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row(query,"Geschlecht");
    PlayerInfo[playerid][pGeschlecht] = strval(query);
    print("Geschlecht");
    mysql_fetch_field_row(query,"Baned");
    PlayerInfo[playerid][pGebannt] = strval(query);
    print("Baned");
    mysql_fetch_field_row(query,"Skin");
    PlayerInfo[playerid][pSkin] = strval(query);
    print("Skin");
    SetPlayerSkin(playerid,strval(query));
    mysql_fetch_field_row(query,"Geld");
    PlayerInfo[playerid][pGeld] = strval(query);
    print("Geld");
    mysql_fetch_field_row(query,"Adminlevel");
    PlayerInfo[playerid][pAdmin] = strval(query);
    print("Adminlevel");
    mysql_fetch_field_row(query,"Code");
    PlayerInfo[playerid][pCode] = strval(query);
    print("Code");
    mysql_fetch_field_row(query,"Mail");
    format(PlayerInfo[playerid][pMail],50,"%s",query);
    print("Mail");
    mysql_fetch_field_row(query,"BDate");
    format(PlayerInfo[playerid][pBDay],50,"%s",query);
    print("BDate");
    mysql_fetch_field_row(query,"Banreason");
    format(PlayerInfo[playerid][pBanreason],50,"%s",query);
    print("Banreason");
    mysql_fetch_field_row(query,"Banner");
    format(PlayerInfo[playerid][pBanner],50,"%s",query);
    print("Banner");
    mysql_fetch_field_row(query,"Timeban");
    PlayerInfo[playerid][pTimeban] = strval(query);
    print("Timeban");
    }
    if(PlayerInfo[playerid][pCode]!=0)
    {
    //ShowPlayerDialog(playerid,diaHinweis,DIALOG_STYLE_INPUT,GameName,"Dein Account ist noch nicht freigeschaltet\nWir haben dir eine Bestätigungs E-Mail gesendet wo ein Freischaltcode erhalten ist.\nKlicke auf Weiter um den Code einzugeben oder auf Später","Weiter","Später");
    }
    if(PlayerInfo[playerid][pGebannt]!=0)
    {
    //GetPlayerIp(playerid,zielip,sizeof(zielip));
    //ShowBanDialog(playerid,PlayerInfo[playerid][pBanner],PlayerInfo[playerid][pBanreason],zielip);
    }
    GiveCash(playerid,PlayerInfo[playerid][pGeld]);
    print("GiveCash");
    format(string, sizeof(string), "[Join] %s hat den Server betreten.", PlayerName(playerid));
    SendClientMessageToAll(cGreen, string);
    print("Message");
    mysql_free_result();
    SpawnPlayer(playerid);
    print("Spawn");
    PlayerInfo[playerid][pLogin]=1;
    print("Login");
    return 1;
    }


    der Log sagt das


    mehr kommt nicht


    //e
    Hat keiner eine idee wiso er nicht weiter kommt?
    auch wenn ich alles in der if(mysql_retrieve_row())
    mit eintrage geht er nur bis Timeban


    //edit2
    Hab das jetzt auch so nur dann lädt er nix mehr
    stock LoadPlayer(playerid)
    {
    new string[128];
    PlayerInfo[playerid][pGeschlecht] = mysql_GetInt("player", "Geschlecht", "Name", PlayerName(playerid));
    PlayerInfo[playerid][pGebannt] = mysql_GetInt("player", "Baned", "Name", PlayerName(playerid));
    PlayerInfo[playerid][pGeld] = mysql_GetInt("player", "Geld", "Name", PlayerName(playerid));
    GiveCash(playerid,mysql_GetInt("player", "Geld", "Name", PlayerName(playerid)));
    PlayerInfo[playerid][pSkin] = mysql_GetInt("player", "Skin", "Name", PlayerName(playerid));
    SetPlayerSkin(playerid,mysql_GetInt("player", "Skin", "Name", PlayerName(playerid)));
    PlayerInfo[playerid][pCode] = mysql_GetInt("player", "Code", "Name", PlayerName(playerid));
    format(PlayerInfo[playerid][pMail],50,"%s",mysql_GetString("player", "Mail", "Name", PlayerName(playerid)));
    format(PlayerInfo[playerid][pBDay],50,"%s",mysql_GetString("player", "BDate", "Name", PlayerName(playerid)));
    format(PlayerInfo[playerid][pBanreason],50,"%s",mysql_GetString("player", "Banreason", "Name", PlayerName(playerid)));
    format(PlayerInfo[playerid][pBanner],50,"%s",mysql_GetString("player", "Banner", "Name", PlayerName(playerid)));
    PlayerInfo[playerid][pTimeban] = mysql_GetInt("player", "Timeban", "Name", PlayerName(playerid));
    format(PlayerInfo[playerid][pAFKmessage],50,"%s",mysql_GetString("player", "AFKMessage", "Name", PlayerName(playerid)));
    if(PlayerInfo[playerid][pCode]!=0)
    {
    ShowPlayerDialog(playerid,diaHinweis,DIALOG_STYLE_INPUT,GameName,"Dein Account ist noch nicht freigeschaltet\nWir haben dir eine Bestätigungs E-Mail gesendet wo ein Freischaltcode erhalten ist.\nKlicke auf Weiter um den Code einzugeben oder auf Später","Weiter","Später");
    }
    if(PlayerInfo[playerid][pGebannt]!=0)
    {
    GetPlayerIp(playerid,zielip,sizeof(zielip));
    ShowBanDialog(playerid,PlayerInfo[playerid][pBanner],PlayerInfo[playerid][pBanreason],zielip);
    }
    GiveCash(playerid,PlayerInfo[playerid][pGeld]);
    format(string, sizeof(string), "[Join] %s hat den Server betreten.", PlayerName(playerid));
    SendClientMessageToAll(cGreen, string);
    SpawnPlayer(playerid);
    PlayerInfo[playerid][pLogin]=1;
    return 1;
    }
    Benötige DRINGEND eine HILFE

    2 Mal editiert, zuletzt von RedJoker ()

  • gut gut


    hier mal der eine
    if(dialogid==diaLogin)
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    format(string,sizeof(string),"{FFFFFF}Fehler{FF6E00} %s {FFFFFF}Das Passwort war Falsch",PlayerName(playerid));
    ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_PASSWORD,GameName,string,"Login","");
    return 1;
    }
    else
    {
    if(!strcmp(MD5_Hash(inputtext), mysql_ReturnPasswort(PlayerName(playerid)), true))
    {
    LoadPlayer(playerid);
    }
    else
    {
    format(string,sizeof(string),"{FFFFFF}Fehler{FF6E00} %s {FFFFFF}Das Passwort war Falsch",PlayerName(playerid));
    ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_PASSWORD,GameName,string,"Login","");
    return 1;
    }
    }
    }
    else
    {
    format(string,sizeof(string),"{FFFFFF}Der Account{FF6E00} %s {FFFFFF}wurde gefunden.\nUm sich einzuloggen gebe dein Passwort ein.",PlayerName(playerid));
    ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_PASSWORD,GameName,string,"Login","");
    }
    }

  • Kommentier nach und nach nach "Timeban" alles aus, bis du siehst, welcher der Zeilen streikt. Dort gibst du dir dann die Werte aus und vergleichst diese. Falls diese richtig sind, wirst du dir die Funktion anschauen müssen etc. Schritt für Schritt. Beziehe hier auch die if-Abfragen mit ein.

  • Ehm die if abfragen sind auch ausgeklammert gewesen und es hat nix gebracht
    Er holt es sich nur aus der DB und mehr nicht er setzt es nicht nix
    //edit
    im Anhang steht nen screen von Navicat
    und hier noch die Struktur der DB
    mysql_query("CREATE TABLE IF NOT EXISTS `player` (`id` int(11) AUTO_INCREMENT, `Name` varchar(255), `Passwort` varchar(255), `BDate` varchar(255), `Mail` varchar(255), `RegisterIP` varchar(255), `Geschlecht` int(11), `Baned` int(11), `Banreason` varchar(255), `Banner` varchar(255), `Skin` int(11), `Geld` int(11), `Adminlevel` int(11), `Code` int(11), `Timeban` int(11), `AFKMessage` varchar(255), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");

    Einmal editiert, zuletzt von RedJoker ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Sonic schreib mir 1. nochmal hier auf
    und das 2. definier das mal ja ich frage lieber mehr in letzter Zeit als 20 mal das selbe uz schreiben

  • Stimmt schon
    das habe ich ja schon überarbeitet aber mein Problem löst es nicht

  • die stimmen ja
    das is es er holt sich die sachen und mehr auch nicht

  • das er mir nicht mein geld gibt eine Messages sendet etc der Bricht in den stock nach den holen ab

  • format(query,sizeof query,"SELECT * FROM `player` WHERE `Name`= '%s'",PlayerName(playerid));
    mysql_query(query);
    mysql_store_result();
    if(!mysql_num_rows())
    {
    mysql_free_result();
    }
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row(query,"Geschlecht");
    PlayerInfo[playerid][pGeschlecht] = strval(query);
    print("Geschlecht");
    mysql_fetch_field_row(query,"Baned");
    PlayerInfo[playerid][pGebannt] = strval(query);
    print("Baned");
    mysql_fetch_field_row(query,"Skin");
    PlayerInfo[playerid][pSkin] = strval(query);
    print("Skin");
    SetPlayerSkin(playerid,strval(query));
    mysql_fetch_field_row(query,"Geld");
    PlayerInfo[playerid][pGeld] = strval(query);
    print("Geld");
    mysql_fetch_field_row(query,"Adminlevel");
    PlayerInfo[playerid][pAdmin] = strval(query);
    print("Adminlevel");
    mysql_fetch_field_row(query,"Code");
    PlayerInfo[playerid][pCode] = strval(query);
    print("Code");
    mysql_fetch_field_row(query,"Mail");
    format(PlayerInfo[playerid][pMail],50,"%s",query);
    print("Mail");
    mysql_fetch_field_row(query,"BDate");
    format(PlayerInfo[playerid][pBDay],50,"%s",query);
    print("BDate");
    mysql_fetch_field_row(query,"Banreason");
    format(PlayerInfo[playerid][pBanreason],50,"%s",query);
    print("Banreason");
    mysql_fetch_field_row(query,"Banner");
    format(PlayerInfo[playerid][pBanner],50,"%s",query);
    print("Banner");
    mysql_fetch_field_row(query,"Timeban");
    PlayerInfo[playerid][pTimeban] = strval(query);
    print("Timeban");
    }
    das macht er nur
    den rest bricht er ab

  • So jetzt reichts... ich geb dir mal per php n Denkanstoss:


    Zitat

    mysql_free_result() gibt den Speicher frei, der mit result (Ergebnis-Kennung) assoziert ist.


    Die Funktion muss nur dann aufgerufen werden, wenn Sie sich bei Anfragen, die große Ergebnismengen liefern, Sorgen über den Speicherverbrauch zur Laufzeit des PHP-Skripts machen. Nach Ablauf des Skripts wird der Speicher ohnehin freigegeben.


    Wo wird nun dein Problem liegen.. ich habs dir sicherlich schon 3x gesagt...


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen