Beiträge von Marschl

    Also dass heißt, dass dies falsch ist?


    forward OnFraktionLaden();
    public OnFraktionLaden()
    {
    new rows, fields;
    cache_get_data(rows, fields);
    for(new i = 0; i < rows; i++)
    {
    cache_get_field_content(i,"fid", fInfo[i][f_id],Handle);
    cache_get_field_content(i,"fname", fInfo[i][f_name],Handle,32);


    //Cords


    cache_get_row_float(i,"f_x", fInfo[i][f_x],Handle);
    cache_get_field_content(i,"f_interoir", fInfo[i][f_interior],Handle);
    cache_get_field_content(i,"f_world", fInfo[i][f_world],Handle);
    cache_get_field_content(i,"f_color", fInfo[i][f_color],Handle);
    cache_get_field_content(i,"f_kasse", fInfo[i][f_kasse],Handle);
    //Rangnamen
    cache_get_field_content(i,"f_rang1", fInfo[i][f_rang1],Handle);
    cache_get_field_content(i,"f_rang2", fInfo[i][f_rang2],Handle);
    cache_get_field_content(i,"f_rang3", fInfo[i][f_rang3],Handle);
    cache_get_field_content(i,"f_rang4", fInfo[i][f_rang4],Handle);
    cache_get_field_content(i,"f_rang5", fInfo[i][f_rang5],Handle);
    cache_get_field_content(i,"f_rang6", fInfo[i][f_rang6],Handle);
    printf("Fraktionen geladen");
    }
    return 1;
    }

    Diese Methode bringt leider ein error


    cache_get_row_float(i,"f_x", fInfo[i][f_x], Handle);


    Code
    C:\Users\marci\Desktop\NewLife-Roleplay\Server\gamemodes\NewLife.pwn(584) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.

    Ich habe es jetzt so kappiert...


    forward OnFraktionLaden();
    public OnFraktionLaden()
    {
    new rows, fields;
    for(new i = 0; i < rows; i++)
    {
    cache_get_data(i,"fname", fInfo[i][f_name],Handle,32);
    }
    return 1;
    }

    stock FraktionLaden(){ mysql_function_query(Handle, "SELECT * FROM `fraktionen`", true, "OnFraktionLaden", ""); return 1;}


    forward OnFraktionLaden();public OnFraktionLaden(){ new rows = cache_num_rows(); for(new i = 0; i < rows; i++) { cache_get_field_content(i,"fname", fInfo[i][f_name],Handle,32); //Rest hier auslesen... } return 1;}

    Ich benutze das R31 also dann cache_get_field_content_int oder?

    So, jetzt nochmal zur absicherund... @Jeffry


    Ist das so richtig?



    stock FraktionLaden()
    {
    for(new i=0;i<MAX_FRAKT;i++)
    {
    new str[128];
    format(str,sizeof(str),"SELECT * FROM `fraktionen` WHERE `fid` = '%i'",i);
    mysql_function_query(Handle, str, true, "OnFraktionLaden", "d", i);
    }
    return 1;
    }

    Hi,
    wenn ich meine Fraktionen lade:


    stock FraktionLaden(){for(new i=0;i<MAX_FRAKT;i++){new str[128];format(str,sizeof(str),"SELECT * FROM `frak` WHERE `ID` = '%i'",i);//fInfo[i][f_name] = cache_get_field_content_int(0,"fname",Handle);fInfo[i][f_name] = cache_get_field_content(0, "fname", fInfo[i][f_name], Handle);printf("Die Fraktionen wurden geladen!");}return 1;}


    Bekomme ich dieses im Error Log:

    Hi,
    sobald ich mich einlogge erstellt sich dieser MySQL Log


    Code
    [15:05:56] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Respektpunte")
    [15:05:56] [ERROR] cache_get_field_content_int - invalid data type
    [15:05:56] [WARNING] CMySQLResult::GetRowDataByName - field not found ("Geld")
    [15:05:56] [ERROR] cache_get_field_content_int - invalid data type

    Bitte um hilfe

    So, ... hab es hinbekommen...


    Hier für den der mal das gleiche Problem hat:


    stock SpielerSpeichern(playerid){if(sInfo[playerid][pEingeloggt] == 0)return 1;new query[1024];format(query, sizeof(query), "UPDATE user SET Level='%i', Respektpunkte='%i', BarGeld='%i', BankKonto='%i', BankGeld='%i', Fraktion='%i', FraktionRang='%i', Spawn='%i', Handy='%i', Handynummer='%i', PayDay='%i', Spielzeit='%i', Jail='%i', JailTime='%i', Prison='%i', PrisonCheckpoints='%i', AdminLevel='%i' WHERE id='%i'",GetPlayerScore(playerid), sInfo[playerid][pRespektpunkte], GetPlayerMoney(playerid), sInfo[playerid][pBankKonto], sInfo[playerid][pBankGeld], sInfo[playerid][pFraktion], sInfo[playerid][pFraktionRang], sInfo[playerid][pSpawn], sInfo[playerid][pHandy], sInfo[playerid][pHandynummer], sInfo[playerid][pPayDay], sInfo[playerid][pJail], sInfo[playerid][pJailTime], sInfo[playerid][pPrison], sInfo[playerid][pPrisonCheckpoints], sInfo[playerid][pAdminLevel], sInfo[playerid][pID]);mysql_function_query(Handle, query, false, "", "");SpielerReset(playerid);return 1;}


    Einfach nach den "" im Format einen Zeilenumbruch und einrücken ^^

    Die Zeile ist dem Compiler zu lang.
    Versuche es so:
    stock SpielerSpeichern(playerid){ if(sInfo[playerid][pEingeloggt] == 0)return 1; new query[512]; format(query, sizeof(query), "UPDATE user SET Level='%i', Respektpunkte='%i', BarGeld='%i', BankKonto='%i', BankGeld='%i', Fraktion='%i', FraktionRang='%i', Spawn='%i', Handy='%i',", GetPlayerScore(playerid), sInfo[playerid][pRespektpunkte], GetPlayerMoney(playerid), sInfo[playerid][pBankKonto], sInfo[playerid][pBankGeld], sInfo[playerid][pFraktion], sInfo[playerid][pFraktionRang], sInfo[playerid][pSpawn], sInfo[playerid][pHandy], sInfo[playerid][pHandynummer]); format(query, sizeof(query), "%sHandynummer='%i', PayDay='%i', Spielzeit='%i', Jail='%i', JailTime='%i', Prison='%i', PrisonCheckpoints='%i', AdminLevel='%i' WHERE id='%i'", query, sInfo[playerid][pPayDay], sInfo[playerid][pJail], sInfo[playerid][pJailTime], sInfo[playerid][pPrison], sInfo[playerid][pPrisonCheckpoints], sInfo[playerid][pAdminLevel],sInfo[playerid][pID]); mysql_function_query(Handle, query, false, "", ""); SpielerReset(playerid); return 1;}

    Nein kommt immer noch der gleiche Error :/

    Also dann
    einennew query1; und new query2;
    und das dann reinschreiben...
    und dann mysql_function_query(handle, query1, false, "", "");
    und mysql_function_query(handle, query2, false, "", "");


    oder wie muss ich das verstehen?

    Hallo,


    ich habe in dieser Zeile:


    stock SpielerSpeichern(playerid)
    {
    if(sInfo[playerid][pEingeloggt] == 0)return 1;
    new query[256];
    format(query, sizeof(query), "UPDATE user SET Level='%i', Respektpunkte='%i', BarGeld='%i', BankKonto='%i', BankGeld='%i', Fraktion='%i', FraktionRang='%i', Spawn='%i', Handy='%i', Handynummer='%i', PayDay='%i', Spielzeit='%i', Jail='%i', JailTime='%i', Prison='%i', PrisonCheckpoints='%i', AdminLevel='%i' WHERE id='%i'", GetPlayerScore(playerid), sInfo[playerid][pRespektpunkte], GetPlayerMoney(playerid), sInfo[playerid][pBankKonto], sInfo[playerid][pBankGeld], sInfo[playerid][pFraktion], sInfo[playerid][pFraktionRang], sInfo[playerid][pSpawn], sInfo[playerid][pHandy], sInfo[playerid][pHandynummer], sInfo[playerid][pPayDay], sInfo[playerid][pJail], sInfo[playerid][pJailTime], sInfo[playerid][pPrison], sInfo[playerid][pPrisonCheckpoints], sInfo[playerid][pAdminLevel],sInfo[playerid][pID]);
    mysql_function_query(Handle, query, false, "", "");
    SpielerReset(playerid);
    return 1;
    }


    Diesen Error:


    Code
    C:\Users\marci\Desktop\NewLife-Roleplay\Server\gamemodes\NewLife.pwn(417) : error 075: input line too long (after substitutions)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.

    Ich vermute das mein query zu klein ist...
    Danke für euere Hilfe :D


    Gruß