Beiträge von JOK3R

    Klappt immer noch nicht und wie ich schon vorher gesagt habe aus irgend einem grund wird das pickup entfernter :/


    //Edit
    updateHaus(id)
    {
    new string[128];
    if(hInfo[id][h_pickup])
    {
    DestroyPickup(hInfo[id][h_pickup]);
    }
    if(hInfo[id][h_text])
    {
    Delete3DTextLabel(hInfo[id][h_text]);
    }
    if(!strlen(hInfo[id][h_besitzer]))
    {
    hInfo[id][h_pickup]=CreatePickup(1273, 1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], -1);
    format(string,sizeof(string), "{FFFFFF}.:{FF9600}Haus Information{FFFFFF}:.\nZum Verkauf\n{FF9600}Kosten: {FFFFFF}%i€\n{FF9600}/hauskaufen", hInfo[id][h_preis]);
    hInfo[id][h_text]=Create3DTextLabel(string, COLOR_WHITE, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], 10, 0, 1);
    }
    else
    {
    hInfo[id][h_pickup]=CreatePickup(1239, 1, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], -1);
    format(string,sizeof(string), "{FFFFFF}.:{FF9600}Haus Information{FFFFFF}:.\nBesitzer: {FFFFFF}%s\n{FF9600}/enter", hInfo[id][h_besitzer]);
    hInfo[id][h_text]=Create3DTextLabel(string, COLOR_WHITE, hInfo[id][h_x], hInfo[id][h_y], hInfo[id][h_z], 10, 0, 1);
    }
    return 1;
    }

    SQL
    [18:21:07] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1
    [18:21:11] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''5' at line 1

    Klappt aber er speichert nicht in der DB O.o ?


    Vergiss was ich gesagt habe xD bin heut verpeilt wegen der Sonnenfinsternis habe vergessen h_interior in saveHaus einzutragen


    Danke


    //Edit


    saveHaus(id)
    {
    new query[128];
    format(query, sizeof(query), "UPDATE haus SET besitzer='%s', h_preis='%i',ih_x='%f',ih_y='%f',ih_z='%f',h_interior='%i' WHERE id='%i'", hInfo[id][h_besitzer], hInfo[id][h_preis], hInfo[id][ih_x], hInfo[id][ih_y], hInfo[id][ih_z], hInfo[id][h_interior], hInfo[id][h_id]);
    mysql_function_query(dbhandle, query, false, "", "");
    return 1;
    }


    Glaub nicht das es so richtig ist

    Hallo Community,


    Ich bin's mal wieder


    Ich habe ein Problem mit einem Command der nicht ganz klappt
    hab alles versucht entweder bin ich zu blöd oder ich bin einfach nur Blind von der Sonnenfinsternis ^^


    ocmd:setinterior(playerid,params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,COLOR_RED,"Dein Adminrang ist zu niedrig.");
    new tmp_interior;
    if(sscanf(params, "fffi",tmp_interior))return SendClientMessage(playerid, COLOR_GREY, "{00A5FF}/setinterior {B3B3B3}[InteriorKoords] [InteriorID]");
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][h_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid, 5,hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]))continue;
    hInfo[i][h_interior] = tmp_interior;
    saveHaus(i);
    updateHaus(i);
    SendClientMessage(playerid,COLOR_DGREEN,"* Erfolgreich das Interior vom Haus geändert. *");
    return 1;
    }
    return 1;
    }


    Hoffe mir kann da einer Helfen


    MfG
    Jonny

    ich habe das als erstes nur mit datum vorbereitet weil ich noch nix hatte


    Dann hatte ich das nur mit Alter also du kannst nur dein alter eingeben weil ich nicht weiss wie man das mit Datum macht also tt/mm/jjjj :/


    also soll es eig nur alter sein nicht mit datum

    Also habe das eben so eingefügt aber er speichert immer noch nich das alter ich weiß echt nicht mehr was man da machen soll :/


    mysql-log sagt nix und die server-log sag das gleiche mit dem datum


    if(dialogid==Login)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    SpawnPlayer(playerid);
    SetPlayerColor(playerid,COLOR_WHITE);
    }
    else
    {
    //Keine Eingabe
    SendClientMessage(playerid,COLOR_RED,"Du hast dein Passwort nicht eingegeben bitte Gib es ein");
    ShowPlayerDialog(playerid,Login,DIALOG_STYLE_PASSWORD,"{FF9600}Login","{FF9600}Login: {FFFFFF}Du musst dein Passwort eingeben","Login","Abbrechen");
    SetPlayerColor(playerid,COLOR_GREY);
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }

    Das einzige was in pAlter ist ist in meiner alten savePlayer function die mit /* */ zu ist :/


    und das steht in der server-log


    [16:58:23] query: UPDATE user SET level='0',cash='0',datum='',geschlecht='1',alevel='0',skin='188',fraktion='0',rang='0' WHERE id='10'


    //Edit



    wen du das meinst


    public OnPasswordResponse(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    //Passwort Richtig
    sInfo[playerid][eingeloggt] = 1;
    sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
    SetPlayerScore(playerid,sInfo[playerid][level]);
    sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
    sInfo[playerid][cash] = cache_get_field_content_int(0,"cash",dbhandle);
    sInfo[playerid][datum] = cache_get_field_content_int(0,"datum",dbhandle);
    sInfo[playerid][geschlecht] = cache_get_field_content_int(0,"geschlecht",dbhandle);
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
    sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
    sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
    }
    else
    {
    //Passwort falsch
    SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
    ShowPlayerDialog(playerid,Login,DIALOG_STYLE_PASSWORD,"{FF9600}Login","{FF9600}Login: {FFFFFF}Du musst dein Passwort eingeben","Login","Abbrechen");
    }
    return 1;}


    public OnUserCheck(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0)
    {
    //__________________________ Registrierung __________________________
    ShowPlayerDialog(playerid,Register,DIALOG_STYLE_INPUT,"{FF9600}Registrierung","{FFFFFF}Herzlich Willkommen auf {FF9600}German Sun Reallife\n{FFFFFF}Scheint als wärst du Neu hier Auf dem Server Bitte gib ein Gewünschtes {FF9600}Passwort {FFFFFF}ein\n damit du Hier Spielen kannst\nMit freundlichen Grüßen {FF9600}German Sun Reallife.","Okay","Abbrechen");
    }
    else
    {
    //__________________________ Login __________________________
    ShowPlayerDialog(playerid,Login,DIALOG_STYLE_PASSWORD,"{FF9600}Login","{FFFFFF}Willkommen zurück,\nDein {FF9600}Account {FFFFFF}wurde in der Datenbank gefunden\nMit freundlichen Grüßen {FF9600}German Sun Reallife.","Okay","Abbrechen");
    }
    return 1;
    }

    okay geil der speichert jetzt alles aber ich habe irgwie immer noch ein problem mit dem datum obwohl ich es zu pAlter geändert habe


    [16:39:59] [ERROR] CMySQLQuery::Execute[()] - (error #1054) Unknown column 'datum' in 'field list'

    Also
    Server-log:


    [16:27:10] SavePlayer für 0 aufgerufen.
    [16:27:10] query: UPDATE user SET level='0',cash='0',datum='18',geschlecht='1',alevel='0',skin='98',fraktion='0',rang='0' WHERE id='8'


    datum ist falsch da habe ich vergessen alter hinzumachen



    und mysql-log


    [16:27:10] [ERROR] CMySQLQuery::Execute[()] - (error #1054) Unknown column 'datum' in 'field list'

    das waren die einzigen Errors die ich um 11 uhr bekommen habe wunder mich aber jetzt warum keine mehr erstellt wird weil nur das passwort und der username gespeichert wird


    SQL
    [11:53:44] [ERROR] CMySQLQuery::Execute[()] - (error #1054) Unknown column 'datum' in 'field list'[11:54:16] [ERROR] CMySQLQuery::Execute[()] - (error #1054) Unknown column 'datum' in 'field list'[11:55:13] [WARNING] CMySQLResult::GetRowDataByName - field not found ("datum")[11:55:13] [ERROR] cache_get_field_content_int - invalid data type

    Es wird ja keine erstellt was mich wundert


    Sorry falsche gelsesen


    ja damit habe ich es auch versucht bekomme auch error


    //edit


    Okay jetzt habe ich keine Errors mehr aber was soll mysql_log(LOG_ALL); bringen



    Weil es wird keine mysql-log erstellt :/

    die Sache ist halt bevor ich das Geschlecht und Alter system drinne hatte hat alles wunderbar geklappt
    seid dem ich es gestern eingefügt habe ging nix mehr mit dem Speichern

    Hallo Community,


    Ich bins mal wieder Gestern habe ich ein Thread auf gemacht "Spieler wird nicht mehr Gespeichert"


    Jetzt habe ich das Problem das meine DB nix mehr speichert außer das Passwort


    habe aber auch keine mysql-errors mehr


    Hier ist das script vlt kann mir da mal einer Helfen :/ bin langsam am verzweifeln


    if(dialogid==Login)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    SpawnPlayer(playerid);
    SetPlayerColor(playerid,COLOR_WHITE);
    }
    else
    {
    //Keine Eingabe
    SendClientMessage(playerid,COLOR_RED,"Du hast dein Passwort nicht eingegeben bitte Gib es ein");
    ShowPlayerDialog(playerid,Login,DIALOG_STYLE_PASSWORD,"{FF9600}Login","{FF9600}Login: {FFFFFF}Du musst dein Passwort eingeben","Login","Abbrechen");
    SetPlayerColor(playerid,COLOR_GREY);
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid==Register)
    {
    if(response)
    {
    if(strlen(inputtext)>7)
    {
    SetPVarString(playerid,"PasswortText", inputtext);
    ShowPlayerDialog(playerid,Geschlecht,0,"{FF9E00}Wähle dein Geschlecht","Wähle nun dein Geschlecht, mit welchem du auf dem Server spielen möchtest.\nDu kannst natürlich auch dein echtes bentzen.", "Männlich", "Weiblich");
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,COLOR_RED,"Dein passwort ist zu kurz es muss mindestens 8 Zeichen lang sein");
    ShowPlayerDialog(playerid,Register,DIALOG_STYLE_INPUT,"{FF9600}Registrierung","{FF9600}Registrierung:\n{FFFFFF}Bitte Registriere dich um\n auf dem server zu spielen.","Okay","Abbrechen");
    SetPlayerColor(playerid,COLOR_GREY);
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid == Geschlecht){
    if(response){
    sInfo[playerid][geschlecht] = 1;
    ShowPlayerDialog(playerid,Alter,1,"{FF9E00}Wähle dein Alter","Gebe nun dein Alter hier ein, mit welchem du auf dem Server spielen willst.\nDu kannst auch dein richtiges Alter angeben.","OK","");
    } else {
    sInfo[playerid][geschlecht] = 2;
    ShowPlayerDialog(playerid,Alter,1,"{FF9E00}Wähle dein Alter","Gebe nun dein Alter hier ein, mit welchem du auf dem Server spielen willst.\nDu kannst auch dein richtiges Alter angeben.","OK","");
    }
    return 1;
    }
    if(dialogid == Alter){
    if(response){
    if(IsNumeric(inputtext)){
    new name[MAX_PLAYER_NAME],query[128],passwort[35],str[50];
    GetPlayerName(playerid,name,sizeof(name));
    sInfo[playerid][datum] = strval(inputtext);
    //Registrierungsfunktion
    GetPVarString(playerid,"PasswortText", str,sizeof(str));
    mysql_escape_string(str,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (`username`,`password`) VALUES ('%s','%s') ",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPlayerRegister","i",playerid);
    SetPlayerColor(playerid,COLOR_WHITE);
    } else {
    ShowPlayerDialog(playerid,Alter,1,"{FF9E00}Wähle dein Alter","Du hast keine Zahl angegeben! Gib dein Alter ein, mit welchem du auf dem Server spielen willst.","OK","");
    }
    } else {
    ShowPlayerDialog(playerid,Alter,1,"{FF9E00}Wähle dein Alter","Du hast kein Alter angegeben! Gib dein Alter ein, mit welchem du auf dem Server spielen willst.","OK","");
    }
    return 1;
    }
    return 1;
    }


    public OnPlayerRegister(playerid)
    {
    sInfo[playerid][db_id] = cache_insert_id(dbhandle);
    sInfo[playerid][eingeloggt] = 1;
    new randM = random(sizeof(SkinM)), randW = random(sizeof(SkinW));
    new Skin1 = SkinM[randM];
    new Skin2 = SkinW[randW];
    if(sInfo[playerid][geschlecht] == 1){
    SetSpawnInfo( playerid, 0, Skin1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
    sInfo[playerid][skin] = Skin1;
    } else if(sInfo[playerid][geschlecht] == 2){
    SetSpawnInfo( playerid, 0, Skin2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 );
    sInfo[playerid][skin] = Skin2;
    }
    savePlayer(playerid);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, 400.6223,-1532.5000,32.2734);
    return 1;
    }


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    //Speichern Level,Geld
    new query[1024];
    format(query,sizeof(query),"UPDATE user SET level='%i',cash='%i',datum='%i',geschlecht='%i',alevel='%i',skin='%i',fraktion='%i',rang='%i' WHERE id='%i'"
    ,sInfo[playerid][level],sInfo[playerid][cash],sInfo[playerid][datum],sInfo[playerid][geschlecht],sInfo[playerid][alevel],sInfo[playerid][skin],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }