Beiträge von Marschl

    Das hab ich jetzt verstanden :D
    Mein anderes Problem ist wenn ich connecte kommt "Stay within the world boundaries"


    Hier meine DatenBank:
    http://prntscr.com/a204kt


    So lasse ich die Spieler Spawnen:


    public OnPlayerSpawn(playerid){pTimer[playerid] = SetTimerEx("PayDay", (1000*60), true, "i", playerid);spielzeitTimer[playerid] = SetTimerEx("SpielZeitTimer", (1000*60), true, "i", playerid);switch(sInfo[playerid][pSpawn]){case 0: //Neulingsspawn{new fID;fID = sInfo[playerid][pFraktion];SetPlayerPos(playerid, fInfo[fID][f_x], fInfo[fID][f_y], fInfo[fID][f_z]);SetPlayerFacingAngle(playerid, fInfo[fID][f_r]);}case 1: //Fraktion{// Was passieren soll}case 2: //Haus{// Was passieren soll}}return 1;}


    Woran kiegt das?


    PS: Wie schaffe ich es den Pawn code richtig einzufügen?




    Und bei dem Frakload lass ich die Fraktionen Printen die geladen wurden... die letzten 3 fehlen, Warum?


    Gruß

    Bin der gleichen Meinung...
    ich hatte es ja davor so:
    cache_get_field_content(i,"f_name", Handle,32);


    Das gab halt keine Error's oder Warnings
    Und ich hab dann gedacht das sei richtig

    Du solltest wirklich mehr Eigeninitiative zeigen und wenigstens mal einen Blick in das Wiki schauen, dort sind die Funktionen jeweils mit einem Beispiel erklärt, das kann man eigentlich dann nicht mehr falsch machen.
    Wenn ich dir das alles vorschreibe lernst du gar nichts dabei.


    forward OnFraktionLaden();public OnFraktionLaden(){ new rows, fields; cache_get_data(rows, fields); for(new i = 0; i < rows; i++) { fInfo[i][f_id] = cache_get_field_content_int(i,"fid",Handle); cache_get_field_content(i,"fname", fInfo[i][f_name],Handle,32); //Cords fInfo[i][f_x] = cache_get_field_content_float(i,"f_x", Handle); fInfo[i][f_interior] = cache_get_field_content_int(i,"f_interoir",Handle); fInfo[i][f_world] = cache_get_field_content_int(i,"f_world", Handle); fInfo[i][f_color] = cache_get_field_content_int(i,"f_color", Handle); fInfo[i][f_kasse] = cache_get_field_content_int(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;}

    Danke :)
    ich scripte noch nicht lange und habe diese Wiki nicht verstanden.
    Entschuldigung

    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 ^^