Beiträge von Weihnachtsmann

    Wie lese ich nun die Gründe etc aus?



    public OnUserCheckBan(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    cache_get_field_content(0,"grund",dbhandle); // ?? :D
    }
    return 1;
    }


    //Edit
    Wie liest man ein String aus in R34?


    Ok also gespeichert wirds und geladen wirds auch, ich dank euch :D

    Hey liebe Community,
    Ich wollte nun mein Bansystem anfangen, doch jetzt weiß ich gerade nicht weiter.
    Ich möchte eine extra Tabelle anlegen, wo Name/Datum/Adminname/Grund gespeichert werden und beim Login geprüft werden bzw. ausgelesen wird.
    Doch wie klappt das?


    Benutze das R34 Plugin

    Machste das jetzt mit Get/SetPlayerTeam?
    Bin grad neugierig ob meine Methode auch klappen würde.. Ansonsten teste ichs selber.


    SetPlayerTeam ^^, ob deine Methode funktioniert weiß ich nicht.
    Trotzdem danke :)

    Hey,
    Wie ging das nochmal, das wenn ein Spieler seinen eigenen Teammember nicht anschiessen kann bzw. der angeschossene Spieler keine HP verliert?


    mfg

    Ich wollte es so machen, das man nur jede 5 Sekunden den Befehl eingeben kann, alles klappt doch bei der Anzeige, wie lange man noch warten muss kommt i.wie 53553525532632Sekunden ^^
    Man muss bestimmt durch irgendwas teilen oder?

    COMMAND:enter(playerid,params[])
    {
    new str[64];
    if(sInfo[playerid][pEingeloggt] == 0) return SendClientMessage(playerid,GRAU,"** Du bist nicht eingeloggt!");
    format(str,64,"** Du kannst nur jede (%d)Sekunden ein Gebäude betreten!",entertimer);
    if(entertimer > gettime())return SendClientMessage(playerid,GELB,str);
    for(new i=0; i<sizeof(bInfo); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
    SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
    SetPlayerInterior(playerid,bInfo[i][b_interior]);
    SetPlayerVirtualWorld(playerid,i);
    SetPlayerShopName(playerid,bInfo[i][b_shopname]);
    return 1;
    }
    entertimer = gettime()+5;
    return 1;
    }


    Das liegt daran das er nicht mehr auf den Server ist
    Speicher die IP beim Connect zwischen und dann hast du die ip



    public OnPlayerConnect(playerid)
    {
    //Login/Register
    new name[MAX_PLAYER_NAME],query[128],query2[64];
    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);
    format(query2,sizeof(query2),"UPDATE user SET ip = '%s' WHERE id='%i'",GetIP(playerid),sInfo[playerid][PlayerID]);
    mysql_function_query(dbhandle,query2,false,"","");
    return 1;
    }
    Irgendwas mache ich falsch ^^


    Er speichert bei allen die IP: 255.255.255

    nativ

    Code
    [20:28:36]    Error: Function not registered: 'mysql_log'
    [20:28:36]    Error: Function not registered: 'mysql_connect'
    [20:28:36]    Error: Function not registered: 'mysql_close'
    [20:28:36]    Error: Function not registered: 'cache_get_data'
    [20:28:36]    Error: Function not registered: 'cache_get_field_content_int'
    [20:28:36]    Error: Function not registered: 'mysql_tquery'
    [20:28:36]    Error: Function not registered: 'mysql_escape_string'
    [20:28:36] Script[gamemodes/GG.amx]: Run time error 19: "File or function is not found"
    [20:28:36] Number of vehicle models: 0

    Hm könntest mal anstatt cache_get_field_content_int - cache_get_row_int nutzen musst halt nur anstatt die Spalten Namen die Spalten IDS eintragen (Angefangen bei 0) so im moment seh ich da kein Fehler



    Edit: Benutzt du dieses ORM System von dem Plugin ?


    mysql_static.so benutze ich von dem Plugin

    Was sagt den dir MySQL Log wenn nichts drinn ist vielleich mal mit mysql_log(LOG_DEBUG); starten (Damit wird ALLES geloggt)


    Hey,
    Also ich hab ein Problem, das wenn man sich das erstemal Registriert das z.b Level unso i.wie nicht gespeichert wird. Oder da steht man ist nicht eingeloggt wenn man ein Befehl eingibt!
    Ich habe das Mysql System von MrMonat!


    Plugin R34



    public OnPasswordResponse(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    //Passwort richtig
    sInfo[playerid][pEingeloggt] = 1;
    sInfo[playerid][pLevel] = cache_get_field_content_int(0,"level",dbhandle);
    sInfo[playerid][pAdmin] = cache_get_field_content_int(0,"adminlevel",dbhandle);
    sInfo[playerid][pKills] = cache_get_field_content_int(0,"kills",dbhandle);
    sInfo[playerid][pTod] = cache_get_field_content_int(0,"tode",dbhandle);
    SetPlayerScore(playerid,sInfo[playerid][pLevel]);
    sInfo[playerid][PlayerID] = cache_get_field_content_int(0,"id",dbhandle);
    GivePlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    }
    else
    {
    //Passwort falsch
    SendClientMessage(playerid,ROT,"Das eingegebene Passwort ist falsch.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
    }
    return 1;
    }



    public OnPlayerConnect(playerid)
    {
    //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);
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIALOG_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);
    }else{
    //Keine Eingabe
    SendClientMessage(playerid,ROT,"Gibt bitte dein Passwort ein.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
    }
    }else{
    Kick(playerid);
    }
    }
    case 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,"","");
    }else{
    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;
    }



    stock savePlayer(playerid)
    {
    if(sInfo[playerid][pEingeloggt]==0)return 1;
    //Speichern level,money
    new query[256];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',kills = '%d',tode = '%d',adminlevel='%i' WHERE id='%i'",sInfo[playerid][pLevel],GetPlayerMoney(playerid),sInfo[playerid][pKills],sInfo[playerid][pTod],sInfo[playerid][pAdmin],sInfo[playerid][PlayerID]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }

    Hey,
    Ich wollte die IPS in der Datenbank speichern, doch i.wie klappt es nicht!
    Der schreibt nichts in die Datenbank

    stock savePlayer(playerid)
    {
    if(sInfo[playerid][pEingeloggt]==0)return 1;
    new query[256];
    new plrIP[16];
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));
    if(!strcmp(plrIP, "127.0.0.1"))
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',kills = '%d',tode = '%d',ip = '%s',adminlevel='%i' WHERE id='%i'",sInfo[playerid][pLevel],GetPlayerMoney(playerid),sInfo[playerid][pKills],sInfo[playerid][pTod],plrIP,sInfo[playerid][pAdmin],sInfo[playerid][PlayerID]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }



    new plrIP[16];
    GetPlayerIp(playerid, plrIP, sizeof(plrIP));
    if(!strcmp(plrIP, "127.0.0.1"))
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password,ip) VALUES ('%s','%s','%s') ",name,passwort,plrIP);
    mysql_function_query(dbhandle,query,false,"","");