Beiträge von Jeffry

    Du musst die VehicleID nehmen, nicht die ModelID.
    public OnHousesLoad()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id = getFreeHouseID();
    if(id == -1) return 1;
    HouseInfo[id][h_x] = cache_get_field_content_float(i,"h_x",dbhandle);
    HouseInfo[id][h_y] = cache_get_field_content_float(i,"h_y",dbhandle);
    HouseInfo[id][h_z] = cache_get_field_content_float(i,"h_z",dbhandle);
    HouseInfo[id][ih_x] = cache_get_field_content_float(i,"ih_x",dbhandle);
    HouseInfo[id][ih_y] = cache_get_field_content_float(i,"ih_y",dbhandle);
    HouseInfo[id][ih_z] = cache_get_field_content_float(i,"ih_z",dbhandle);
    HouseInfo[id][hInterior] = cache_get_field_content_int(i,"h_interior",dbhandle);
    HouseInfo[id][ch_x] = cache_get_field_content_float(i,"ch_x",dbhandle);
    HouseInfo[id][ch_y] = cache_get_field_content_float(i,"ch_y",dbhandle);
    HouseInfo[id][ch_z] = cache_get_field_content_float(i,"ch_z",dbhandle);
    HouseInfo[id][ch_r] = cache_get_field_content_float(i,"ch_r",dbhandle);
    HouseInfo[id][hModel] = cache_get_field_content_int(i,"model",dbhandle);
    HouseInfo[id][hFarbe1] = cache_get_field_content_int(i,"farbe1",dbhandle);
    HouseInfo[id][hFarbe2] = cache_get_field_content_int(i,"farbe2",dbhandle);
    HouseInfo[id][hCarupgrade] = cache_get_field_content_int(i,"carupgrade",dbhandle);
    HouseInfo[id][hGeschlossen] = cache_get_field_content_int(i,"geschlossen",dbhandle);
    HouseInfo[id][hKasse] = cache_get_field_content_int(i,"kasse",dbhandle);
    HouseInfo[id][hMiete] = cache_get_field_content_int(i,"miete",dbhandle);
    HouseInfo[id][hPreis] = cache_get_field_content_int(i,"preis",dbhandle);
    HouseInfo[id][hKauflevel] = cache_get_field_content_int(i,"kauflevel",dbhandle);
    new tmp_name[MAX_PLAYER_NAME];
    cache_get_field_content(i,"besitzer",tmp_name,dbhandle);
    strmid(HouseInfo[id][hBesitzer],tmp_name,0,sizeof(tmp_name),sizeof(tmp_name));
    HouseInfo[id][hID] = cache_get_field_content_int(i,"id",dbhandle);
    new HouseCar = AddStaticVehicle(HouseInfo[id][hModel],HouseInfo[id][ch_x],HouseInfo[id][ch_y],HouseInfo[id][ch_z],HouseInfo[id][ch_r],HouseInfo[id][hFarbe1],HouseInfo[id][hFarbe2]);
    if(HouseInfo[id][hCarupgrade] == 1)
    {
    AddVehicleComponent(HouseCar, 1010); //Nitro
    AddVehicleComponent(HouseCar, 1074); //Räder
    AddVehicleComponent(HouseCar, 1087); //Hydraulik
    }
    updateHouse(id);
    }
    return 1;
    }

    Ok, komisch.
    Was wird dann so geprintet?

    Spoiler anzeigen
    public SpielerEinloggen(playerid,Kennwort[])
    {
    MySQLCheckConnection();
    new Query[255];
    format(Query,sizeof(Query),"SELECT * FROM `accounts` WHERE `Spielername` = '%s'",SpielerInfo[playerid][sName]);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Passwort",Query);
    if(!strcmp(Query,Kennwort,false))
    {
    mysql_fetch_field("Adminlevel",Query); SpielerInfo[playerid][sAdminlevel] = strval(Query);
    printf("AdminLevel geladen: %s / %d", Query, SpielerInfo[playerid][sAdminlevel]);
    mysql_fetch_field("Verwarnungen",Query); SpielerInfo[playerid][sWarns] = strval(Query);
    mysql_fetch_field("Premium",Query); SpielerInfo[playerid][sPremium] = strval(Query);
    mysql_fetch_field("Spielzeit",Query); SpielerInfo[playerid][sSpielzeit] = strval(Query);
    mysql_fetch_field("Geschlecht",Query); SpielerInfo[playerid][sGeschlecht] = strval(Query);
    mysql_fetch_field("posX",Query); SpielerInfo[playerid][posX] = floatstr(Query);
    mysql_fetch_field("posY",Query); SpielerInfo[playerid][posY] = floatstr(Query);
    mysql_fetch_field("posZ",Query); SpielerInfo[playerid][posZ] = floatstr(Query);
    mysql_fetch_field("posA",Query); SpielerInfo[playerid][posA] = floatstr(Query);
    mysql_fetch_field("Level",Query); SpielerInfo[playerid][sLevel] = strval(Query);
    printf("Level geladen: %s / %d", Query, SpielerInfo[playerid][sLevel]);
    mysql_fetch_field("Firma",Query); SpielerInfo[playerid][sFirma] = strval(Query);
    mysql_fetch_field("Firmaname",Query); SpielerInfo[playerid][sFirmaname] = strval(Query);
    mysql_fetch_field("Tutorial",Query); SpielerInfo[playerid][sTutorial] = strval(Query);
    mysql_fetch_field("Aussehen",Query); SpielerInfo[playerid][sSkin] = strval(Query);
    printf("Aussehen geladen: %s / %d", Query, SpielerInfo[playerid][sSkin]);
    mysql_fetch_field("Geld",Query); SpielerInfo[playerid][sGeld] = strval(Query);
    mysql_fetch_field("Alter",Query); SpielerInfo[playerid][sAlter] = strval(Query);
    mysql_fetch_field("Mats",Query); SpielerInfo[playerid][sMats] = strval(Query);
    mysql_fetch_field("Bmod",Query); SpielerInfo[playerid][sBmod] = strval(Query);
    mysql_fetch_field("Coints",Query); SpielerInfo[playerid][sCoints] = strval(Query);
    mysql_fetch_field("Ticketsopen",Query); SpielerInfo[playerid][sTicketsopen] = strval(Query);
    mysql_fetch_field("SaveDrogen",Query); SpielerInfo[playerid][sSaveDrogen] = strval(Query);
    mysql_fetch_field("SaveMats",Query); SpielerInfo[playerid][sSaveMats] = strval(Query);
    mysql_fetch_field("Drogen",Query); SpielerInfo[playerid][sDrogen] = strval(Query);
    mysql_fetch_field("Bank",Query); SpielerInfo[playerid][sBank] = strval(Query);
    mysql_fetch_field("Telefon",Query); SpielerInfo[playerid][sTelefon] = strval(Query);
    mysql_fetch_field("Telefonnummer",Query); SpielerInfo[playerid][sTelefonnummer] = strval(Query);
    mysql_fetch_field("Telefonbuch",Query); SpielerInfo[playerid][sTelefonbuch] = strval(Query);
    mysql_fetch_field("Klingelton",Query); SpielerInfo[playerid][sKlingelton] = strval(Query);
    mysql_fetch_field("Personalausweis",Query); SpielerInfo[playerid][sPerso] = strval(Query);
    mysql_fetch_field("PersonalausweisAntrag",Query); SpielerInfo[playerid][sPersoAntrag] = strval(Query);
    mysql_fetch_field("Arbeitslos",Query); SpielerInfo[playerid][sArbeitslos] = strval(Query);
    mysql_fetch_field("ArbeitslosAntrag",Query); SpielerInfo[playerid][sArbeitslosAntrag] = strval(Query);
    mysql_fetch_field("Job",Query); SpielerInfo[playerid][sJob] = strval(Query);
    mysql_fetch_field("Jobzeit",Query); SpielerInfo[playerid][sLastJob] = strval(Query);
    mysql_fetch_field("Fahrlizenz",Query); SpielerInfo[playerid][sFahrlizenz] = strval(Query);
    mysql_fetch_field("Angellizenz",Query); SpielerInfo[playerid][sAngellizenz] = strval(Query);
    mysql_fetch_field("FahrlizenzSperre",Query); SpielerInfo[playerid][sFahrlizenzLock] = strval(Query);
    mysql_fetch_field("Fluglizenz",Query); SpielerInfo[playerid][sFlyLic] = strval(Query);
    mysql_fetch_field("FluglizenzSperre",Query); SpielerInfo[playerid][sFlyLicLock] = strval(Query);
    mysql_fetch_field("Lastkraftwagenlizenz",Query); SpielerInfo[playerid][sLKWLic] = strval(Query);
    mysql_fetch_field("LastkraftwagenlizenzSperre",Query); SpielerInfo[playerid][sLKWLicLock] = strval(Query);
    mysql_fetch_field("Motorradlizenz",Query); SpielerInfo[playerid][sBikeLic] = strval(Query);
    mysql_fetch_field("MotorradlizenzSperre",Query); SpielerInfo[playerid][sBikeLicLock] = strval(Query);
    mysql_fetch_field("Schifffahrtslizenz",Query); SpielerInfo[playerid][sBoatLic] = strval(Query);
    mysql_fetch_field("SchifffahrtslizenzSperre",Query); SpielerInfo[playerid][sBoatLicLock] = strval(Query);
    mysql_fetch_field("Waffenlizenz",Query); SpielerInfo[playerid][sWeaponLic] = strval(Query);
    mysql_fetch_field("WaffenlizenzSperre",Query); SpielerInfo[playerid][sWeaponLicLock] = strval(Query);
    mysql_fetch_field("Gehalt",Query); SpielerInfo[playerid][sGehalt] = strval(Query);
    mysql_fetch_field("Fraktion",Query); SpielerInfo[playerid][sFraktion] = strval(Query);
    mysql_fetch_field("Fraktionssperre",Query); SpielerInfo[playerid][sInviteLock] = strval(Query);
    mysql_fetch_field("Boss",Query); SpielerInfo[playerid][sBoss] = strval(Query);
    mysql_fetch_field("Rang",Query); SpielerInfo[playerid][sRang] = strval(Query);
    mysql_fetch_field("Strafpunkte",Query); SpielerInfo[playerid][sPunkte] = strval(Query);
    mysql_fetch_field("PaydayZeit",Query); SpielerInfo[playerid][sPaydayZeit] = strval(Query);
    mysql_fetch_field("Respektpunkte",Query); SpielerInfo[playerid][sRespektpunkte] = strval(Query);
    mysql_fetch_field("Fischskill",Query); SpielerInfo[playerid][sFishSkill] = strval(Query);
    mysql_fetch_field("Krankenhaus",Query); SpielerInfo[playerid][sKrankenhaus] = strval(Query);
    mysql_fetch_field("Friedhof",Query); SpielerInfo[playerid][sFriedhof] = strval(Query);
    if(SpielerInfo[playerid][sKrankenhaus] || SpielerInfo[playerid][sFriedhof])
    {
    mysql_fetch_field("TotX",Query); SpielerInfo[playerid][sTx] = floatstr(Query);
    mysql_fetch_field("TotY",Query); SpielerInfo[playerid][sTy] = floatstr(Query);
    mysql_fetch_field("TotZ",Query); SpielerInfo[playerid][sTz] = floatstr(Query);
    }
    mysql_fetch_field("Tode",Query); SpielerInfo[playerid][sTode] = strval(Query);
    mysql_fetch_field("Fische",Query); SpielerInfo[playerid][sFishes] = strval(Query);
    mysql_fetch_field("Haus",Query); SpielerInfo[playerid][sHaus] = strval(Query);
    mysql_fetch_field("Spawn",Query); SpielerInfo[playerid][sSpawn] = strval(Query);
    mysql_fetch_field("Morde",Query); SpielerInfo[playerid][sMorde] = strval(Query);
    mysql_fetch_field("Kills",Query); SpielerInfo[playerid][sKills] = strval(Query);
    mysql_fetch_field("Verbrechen",Query); SpielerInfo[playerid][sVerbrechen] = strval(Query);
    mysql_fetch_field("Wantedlevel",Query); SpielerInfo[playerid][sWantedlevel] = strval(Query);
    mysql_fetch_field("Knast",Query); SpielerInfo[playerid][sGefangen] = strval(Query);
    mysql_fetch_field("KnastZeit",Query); SpielerInfo[playerid][sGefangenZeit] = strval(Query);
    mysql_free_result();
    format(Query,sizeof(Query),"UPDATE `accounts` SET `Online`='1',`Eingeloggt`='Am %s um %s Uhr' WHERE `Spielername`='%s'",Datum(),Uhrzeit(),SpielerInfo[playerid][sName]);
    mysql_query(Query);
    format(Query,sizeof(Query),"%s hat sich mit der IP %s angemeldet.",SpielerInfo[playerid][sName],SpielerInfo[playerid][sIp]);
    EnterToLog("Einloggen",Query);

    if(SpielerInfo[playerid][sKrankenhaus] || SpielerInfo[playerid][sFriedhof])
    SpielerInfo[playerid][sTotenkopf] = CreatePickup(1254,1,SpielerInfo[playerid][sTx],SpielerInfo[playerid][sTy],SpielerInfo[playerid][sTz],-1);
    SetPlayerScore(playerid,SpielerInfo[playerid][sLevel]);
    printf("Setze Score: %d", SpielerInfo[playerid][sLevel]);
    GivePlayerMoney(playerid,SpielerInfo[playerid][sGeld]);
    TextDrawShowForPlayer(playerid,UhrDraw);
    TextDrawShowForPlayer(playerid,DatumDraw);
    TextDrawShowForPlayer(playerid,NewsText);

    SpielerInfo[playerid][sEingeloggt] = true;
    format(Query,sizeof(Query),"Server: Willkommen %s Zurück.",SpielerInfo[playerid][sName]);
    SendClientMessage(playerid,Farbe_Weiß,Query);
    if(SpielerInfo[playerid][sAdminlevel])
    {
    format(Query,sizeof(Query),"Server: Du hast dich mit dem Adminlevel '%d' eingeloggt.",SpielerInfo[playerid][sAdminlevel]);
    printf("Query: %s", Query);
    SendClientMessage(playerid,Farbe_Blau,Query);
    for(new si;si<sizeof(SupportInfo);si++)
    {
    TextDrawShowForPlayer(playerid,SupportInfo[si][S_Nummern]);
    TextDrawShowForPlayer(playerid,SupportInfo[si][S_Text]);
    }
    TextDrawShowForPlayer(playerid,SupportBubble);
    }
    for(new fs;fs<sizeof(FightSystem);fs++)
    {
    GangZoneShowForPlayer(playerid,FightSystem[fs][fsZoneID],GetZoneColorOfFaction(FightSystem[fs][fsOwnerFaction]));
    if(FightSystem[fs][fsAttackFaction] != -255 && FightSystem[fs][fsFightTime])
    {
    GangZoneFlashForPlayer(playerid,FightSystem[fs][fsZoneID],GetZoneColorOfFaction(FightSystem[fs][fsAttackFaction]));
    if(SpielerInfo[playerid][sFraktion] == FightSystem[fs][fsOwnerFaction] || SpielerInfo[playerid][sFraktion] == FightSystem[fs][fsAttackFaction])
    {
    TextDrawShowForPlayer(playerid,Fight);
    TextDrawShowForPlayer(playerid,FightOverline);
    TextDrawShowForPlayer(playerid,FightUnderline);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsWinFaction]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsLoseFaction]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsWinKills]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsLoseKills]);
    TextDrawShowForPlayer(playerid,FightSystem[fs][fsTime]);
    }
    }
    }
    if(SpielerInfo[playerid][sPremium])
    {
    if(SpielerInfo[playerid][sPremium] < gettime())
    {
    SpielerInfo[playerid][sPremium] = 0;
    SendClientMessage(playerid,Farbe_Leuchtrot,"Server: Du bist nun kein Premium - Mitglied.");
    }
    else
    SendClientMessage(playerid,Farbe_Blau,"Server: Du bist Donator Benutzer. Für Details schau im Forum vorbei");
    }
    for(new a;a<sizeof(Autohaus);a++)
    SetPlayerMapIcon(playerid,a,Autohaus[a][ahX],Autohaus[a][ahY],Autohaus[a][ahZ],55,0,MAPICON_LOCAL);
    if(SpielerInfo[playerid][sWantedlevel])
    {
    if(SpielerInfo[playerid][sWantedlevel] > 6)
    SetPlayerWantedLevel(playerid,6);
    else
    SetPlayerWantedLevel(playerid,SpielerInfo[playerid][sWantedlevel]);
    }
    PlayerPlaySound(playerid,1063,0.0,0.0,0.0);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, SpielerInfo[playerid][posX], SpielerInfo[playerid][posY], SpielerInfo[playerid][posZ]);
    SetPlayerFacingAngle(playerid, SpielerInfo[playerid][posA]);
    LadeSpielerAutos(playerid);
    return 1;
    }
    else
    {
    mysql_free_result();
    SetPVarInt(playerid,"WrongPasswort",GetPVarInt(playerid,"WrongPasswort")+1);
    if(GetPVarInt(playerid,"WrongPasswort") >= 3)
    {
    Kick(playerid);
    return 0;
    }
    ShowPlayerDialog(playerid,Dialog_Einloggen,DIALOG_STYLE_PASSWORD,"Zukunft Reallife : Anmeldung:","Das angegebene Passwort ist falsch, bite versuche es nochmal","->","<.");
    }
    }
    else
    Kick(playerid);
    mysql_free_result();
    return 0;
    }

    Also dort wird das Level mit 15000 gespeichert, und das Adminlevel mit 0.
    Das Query ist syntaktisch korrekt, daher sollte es auch so in der Datenbank stehen (gegebenenfalls aktualisiere die Ansicht). Es sollte dann auch korrekt geladen werden.


    Also an sich sehe ich da nirgends einen Fehler, der darauf deutet, dass das Level (Score) nicht richtig geladen wird. Es müsste wieder 15000 sein, wenn du dich einloggst.

    Yup.
    Entweder du packst wirklich alle Dialoge in ein enum (dann darf aber auch in einem Filterscript kein enum mit Dialogen vorkommen), oder du definierst sie alle. Ich empfehle die define Variante.

    Dialog IDs über enums zu steuern ist nicht gut, da die immer von vorne anfangen, sprich bei zwei enums hast du auch zwei mal die gleichen Werte, das führt zu Fehlern.
    Schreibe alle Dialoge in defines und gebe die ID dahinter an.

    Rufst du die Funktion möglicherweise auf, bevor du die Daten geladen hast? Wenn du dafür, und davon gehe ich aus, mysql_pquery nutzt, dann musst du diesen Stock in dem Callback das aufgerufen wird (public) ausführen lassen, und nicht bei OnGameModeInit.