Beiträge von xSnake


    dann kommt das hier
    ----------------------------------
    [19:29:48] Red-Game0v3r-Reallife by Snake
    [19:29:48] ----------------------------------


    [19:29:48] Number of vehicle models: 61
    [19:30:20] Incoming connection: 25.172.50.84:2249
    [19:30:20] [join] Tester has joined the server (0:25.172.50.84)


    was soll ich jetze gucken ?

    Templer: Ich dachte der Fehler wäre, das wenn er sich registriert hat, das nichts in die Datenbank gespeichert wird.
    So wie es aussieht hat er sich die Videos von MrMonat angeschaut, und da hat er das auch mit cache_insert_id(dbhandle); gemacht, so habe ich ihn das auch geschrieben.
    Du hattest das aber mit mysql_insert_id gemacht.
    Ob das beides die gleiche Wirkung hat, weiß ich nicht.


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    //speichern
    new query[128];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i' WHERE id='%i'",sInfo[playerid][level],
    GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    Ich glaube da liegt der Fehler
    unswa GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][db_id]);
    oder ?

    Hallo ich habe eine Kleine Frage wenn ich mich Registriere bekomme ich Level1 und 2500$ aber der Server speichert das nicht in der Datenbank
    also ich will das Sofern ein Spieler auf dem Server ist er Level 1 und 2500$ bekommt bekommt er auch aber wenn ich mich auslogge und wieder einlogge ist das Level auf 0 genauso wie mein Geld auf 0


    kann mir jemand helfen ?


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    //speichern
    new query[128];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i' WHERE id='%i'",sInfo[playerid][level],
    GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    public OnPasswordResponse(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    //Spieler laden


    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);
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    SendClientMessage(playerid,GRÜN,"Erfolgreich eingeloggt!");
    loadPlayerCars(playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Das eigegeben Passwort ist fasch");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen auf Red-Game0v3r-Reallife,\n\n\n\n Bitte logge dich nun ein!\n\n\n","Login","Abbrechen");
    }
    return 1;
    }


    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
    mysql_function_query(dbhandle,query,false,"OnPlayerRegister","d",playerid);
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    return 1;
    }


    public OnPlayerRegister(playerid)
    {
    sInfo[playerid][db_id] = mysql_insert_id();
    SendClientMessage(playerid, ROT, "Du hast dich Erfolgreich Registriert !");
    SendClientMessage(playerid, LEUCHTENDBLAU, "=====>Willkommen auf Red-Game0v3r-Reallife<=====");
    SetPlayerMoney(playerid, 2500);
    SetPlayerScore(playerid,1);
    savePlayer(playerid);
    SetPlayerColor(playerid, 0xFF00FFFF);
    }


    ocmd:setadmin(playerid,params[])
    {
    if(!isAdmin(playerid,/*hier einsetzten ab welchen rang man das kann*/))return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
    new pID,a_level;
    if(sscanf(params,"ui",pID,a_level))return SendClientMessage(playerid,ROT,"INFO: /makeadmin [ID] [level]");
    sInfo[pID][pAdminl]= Admin;
    savePlayer(pID);
    SendClientMessage(pID,ROT,"Dein Adminrang wurde geändert.");
    SendClientMessage(playerid,ROT,"Dein hast den Adminrang geändert.");
    return 1;
    }

    Achso Danke hat funktioniert
    bloß ich kapier das mit den Einstellungen nicht wenn ich jetze sag ich mal ein spieler schreib 5 nachrichten hintereinander dann soll er gemutet werde wie stell ich das ein ?

    #define USE_DATABASE


    Hast du diese Zeile kommentiert? Wenn nein, mach das.

    wie ? ich haste 'define USE_DATABASE definiert
    #define USE_DATABASE


    #define FILTERSCRIPT


    #include <a_samp>


    #if defined MAX_PLAYERS
    #undef MAX_PLAYERS
    #endif
    // Change this for more efficiency.
    #define MAX_PLAYERS (500)


    #define PACK_CONTENT (true)


    #include <Double-O-Files_2>
    #include <Double-O-Bits>
    #include <ForEachPlayer>
    #include <zcmd>


    #if defined USE_DATABASE
    #include <JBDB>
    #endif

    #error

    Jetze bekomme ich diese errors


    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(3059) : error 017: undefined symbol "TempBan"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6608) : error 017: undefined symbol "UnbanIp"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6614) : error 017: undefined symbol "BanIp"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6620) : error 017: undefined symbol "AddNameToBlacklist"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6626) : error 017: undefined symbol "RemoveNameFromWhitelist"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6632) : error 017: undefined symbol "AddNameToWhitelist"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6638) : error 017: undefined symbol "RemoveNameFromWhitelist"
    C:\Dokumente und Einstellungen\Tobi\Desktop\Kopie von Selfmadescript\filterscripts\JunkBuster.pwn(6922) : warning 203: symbol is never used: "ret_memcpy"

    Ein Teil fehlt mir beim Laden: Ich brauch die Zeile wo du mysql_function_query für den Callback OnPasswordResponse aufrufst.


    Sonst sehe ich so auf den Hinblick überhaupt nichts.


    //Login/Register
    new name[MAX_PLAYER_NAME],query[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
    mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);


    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    //speichern
    new query[128];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i' WHERE id='%i'",sInfo[playerid][level],
    GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0)continue;
    if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
    GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
    GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
    new query[256];
    format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    DestroyVehicle(cInfo[i][id_x]);
    cInfo[i][id_x]=0;
    }
    savePlayer(playerid);
    resetPlayer(playerid);
    if(newbie[playerid]) DestroyVehicle(newbie[playerid]),newbie[playerid]=0;
    return 1;
    }


    saveCarToDB(playerid,carid)
    {
    new query[128];
    format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",sInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
    mysql_function_query(dbhandle,query,true,"carSavedToDB","i",carid);
    return 1;
    }


    loadPlayerCars(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    return 1;
    }


    public OnPasswordResponse(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    //Spieler laden


    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);
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    SendClientMessage(playerid,GRÜN,"Erfolgreich eingeloggt!");
    loadPlayerCars(playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Das eigegeben Passwort ist fasch");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen auf Red-Game0v3r-Reallife,\n\n\n\n Bitte logge dich nun ein!\n\n\n","Login","Abbrechen");
    }
    return 1;
    }


    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
    mysql_function_query(dbhandle,query,false,"OnPlayerRegister","d",playerid);
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    return 1;
    }


    public OnPlayerRegister(playerid)
    {
    sInfo[playerid][db_id] = mysql_insert_id();
    SendClientMessage(playerid, ROT, "Du hast dich Erfolgreich Registriert !");
    SendClientMessage(playerid, LEUCHTENDBLAU, "=====>Willkommen auf Red-Game0v3r-Reallife<=====");
    SetPlayerMoney(playerid, 2500);
    SetPlayerScore(playerid,1);
    SetPlayerColor(playerid, 0xFF00FFFF);
    }

    Habe das jetze so eingefügt natürlich das forward oben aber funktioniert immernoch nicht :/
    Er soll ja wenn er sich registriert In der Datenbank in der Tabella User den spieler erstellen und speichern er Erstellt ihn auch aber er speichert das nicht :(

    Dann bekomme ich einen warning
    C:\Dokumente und Einstellungen\Tobi\Desktop\Selfmadescript\gamemodes\Reallife-Kopie.pwn(1073) : warning 215: expression has no effect


    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
    mysql_function_query(dbhandle,query,false,"","");
    SendClientMessage(playerid, ROT, "Du hast dich Erfolgreich Registriert !");
    sInfo[playerid][db_id];
    SendClientMessage(playerid, LEUCHTENDBLAU, "=====>Willkommen auf Red-Game0v3r-Reallife<=====");
    SetPlayerMoney(playerid, 2500);
    SetPlayerScore(playerid,1);
    SetPlayerColor(playerid, 0xFF00FFFF);
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    return 1;
    }