Suche UCP Coder

  • Hey, ich bräuchte ein Simples UCP, wo man sich einloggen kann, und dan seine Statistik sieht mit Skin, es sollte dem UCP von Grex ähneln, hier mein Script(ist Mysql von RFT)
    /*


    - Gui MySql Login und Register System
    - Speichert: Morde, Tode und Geld
    - © 2010 by Julian Glatter


    Credits To: GStyleZ for his nice MySql Plugin
    */
    //______Includes_______
    #include <a_samp>
    #include <a_mysql>


    //______Define_________
    #define MySql_Host "localhost"
    #define MySql_User ""//User muss eingetragen werden
    #define MySql_Password ""//Passwort muss eingetragen werden
    #define MySql_Database ""//Database Name muss eingetragen werden
    /* Colors */
    #define Color_Green 0x33AA33AA
    #define Color_White 0xFFFFFFAA
    #define Color_Red 0xAA3333AA
    /* Settings */
    #define Max_Player_Login_Attemps 3 //Die Maximalen Login versuche




    //______New _________
    new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];



    //______________________________________________________________________________
    public OnGameModeInit()
    {
    Connect_To_Database();
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME);
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    if(mysql_CheckAccount(PlayerName[playerid]) != 0)
    {
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Wilkommen auf <platzhalter>.\nDu kannst dich nun einloggen", "Login", "Abrechen");
    return true;
    }
    else
    {
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", "Wilkommen auf <platzhalter>.\nDu kannst dich nun einloggen", "Register", "Abrechen");
    return true;
    }
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid, "Eingeloggt") == 1)
    {
    mysql_SetInt("spieler", "Geld", GetPlayerMoney(playerid), "Name", PlayerName[playerid]);
    mysql_SetInt("spieler", "Aussehen", GetPlayerSkin(playerid), "Name", PlayerName[playerid]);
    mysql_SetInt("spieler", "Morde", GetPVarInt(playerid, "Morde"), "Name", PlayerName[playerid]);
    mysql_SetInt("spieler", "Tode", GetPVarInt(playerid, "Tode"), "Name", PlayerName[playerid]);
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SetPVarInt(playerid, "Tode", GetPVarInt(playerid, "Tode")+1);
    SetPVarInt(killerid, "Morde", GetPVarInt(playerid, "Morde")+1);
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {


    case 0:
    {
    if(!inputtext[0])
    {
    SendClientMessage(playerid, Color_White, "Info: Bitte gebe ein Passwort ein");
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Wilkommen auf <platzhalter>.\nDu kannst dich nun einloggen", "Login", "Abrechen");
    return true;
    }
    if(strcmp(inputtext, mysql_GetString("spieler", "Passwort", "Name", PlayerName[playerid]), true) == 0)
    {
    SetPVarInt(playerid, "Eingeloggt", 1);
    GivePlayerMoney(playerid, mysql_GetInt("spieler", "Geld", "Name", PlayerName[playerid]));
    SetPlayerSkin(playerid, mysql_GetInt("spieler", "Aussehen", "Name", PlayerName[playerid]));
    SetPVarInt(playerid, "Morde", mysql_GetInt("spieler", "Morde", "Name", PlayerName[playerid]));
    SetPVarInt(playerid, "Tode", mysql_GetInt("spieler", "Tode", "Name", PlayerName[playerid]));
    SendClientMessage(playerid, Color_Green, "Info: Wilkommen auf < Platzhalter >");
    SpawnPlayer(playerid);
    return true;
    }
    else
    {
    SetPVarInt(playerid, "PWFalsch", GetPVarInt(playerid, "PWFalsch")+1);
    if(GetPVarInt(playerid, "PWFalsch") < Max_Player_Login_Attemps)
    {
    SendClientMessage(playerid, Color_Red, "Info: Solltest du dein Passwort zu oft falsch eingeben wirst du gekickt");
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Wilkommen auf <platzhalter>.\nDu kannst dich nun einloggen", "Login", "Abrechen");
    return true;
    }
    if(GetPVarInt(playerid, "PWFalsch") == Max_Player_Login_Attemps)
    {
    SendClientMessage(playerid, Color_Red, "Info: Du hast dein Passwort zu oft falsch eingegeben du wurdest gekickt");
    Kick(playerid);
    return true;
    }
    }
    }
    case 1:
    {
    if(!inputtext[0])
    {
    SendClientMessage(playerid, Color_Red, "Info: Passwort zu kurz");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", "Wilkommen auf <platzhalter>.\nDu kannst dich nun einloggen", "Register", "Abrechen");
    return 1;
    }
    SetPVarInt(playerid, "Eingeloggt", 1);
    CreatePlayerAccount(PlayerName[playerid], inputtext);
    mysql_SetString("spieler", "Passwort", inputtext, "Name", PlayerName[playerid]);
    SendClientMessage(playerid, Color_Green, "Info: Erfolgreich registriert");
    SpawnPlayer(playerid);
    return true;
    }


    }
    return 1;
    }


    //______________________________________________________________________________
    stock Connect_To_Database()
    {
    mysql_connect(MySql_Host, MySql_User, MySql_Database, MySql_Password);
    if(mysql_ping() == 1)
    {
    print("MySql: Verbindung zur Datenbank wurde erfolgreich hergestellt");
    return true;
    }
    else
    {
    print("MySql: Es konnte keine Verbindung zur Datenbank hergestellt werden");
    print("MySql: Es wird erneut versucht eine Verbindung zur Datenbank herzustellen");
    mysql_connect(MySql_Host, MySql_User, MySql_Database, MySql_Password);
    if(mysql_ping() == 1)
    {
    print("MySql: Es konnte im 2 Versuch eine Verbindung hergestellt werden");
    return true;
    }
    else
    {
    print("MySql: Es konnte keine Verbindung zur Datenbank hergestellt werden");
    print("Info: Der Server wird nun beendet");
    SendRconCommand("exit");
    return true;
    }
    }
    }


    stock CreatePlayerAccount(PName[], PPassword[])
    {
    new query[109];
    format(query, sizeof(query), "INSERT INTO spieler (Name, Passwort) VALUES ('%s', '%s')", PName, PPassword);
    mysql_query(query);
    return true;
    }


    stock mysql_GetString(Table[], Field[], Where[], Where2[])
    {
    new query[128], Get[128];
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Where2);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }


    stock mysql_GetInt(Table[], Field[], Where[], Where2[])
    {
    return strval(mysql_GetString(Table, Field, Where, Where2));
    }


    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new query[128];
    format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    stock mysql_CheckAccount(sqlplayersname[])
    {
    new query[128], escstr[MAX_PLAYER_NAME];
    mysql_real_escape_string(sqlplayersname, escstr);
    format(query, sizeof(query), "SELECT id FROM spieler WHERE LOWER(Name) = LOWER('%s') LIMIT 1", escstr);
    mysql_query(query);
    mysql_store_result();
    if (mysql_num_rows()==0)return 0;
    else
    {
    new strid[32];
    new intid;
    mysql_fetch_row(strid);
    intid = strval(strid);
    return intid;
    }
    }


    Gegenleistung würde ich für euch etwas Designen falls es reicht.. einfach melden^^


    /e Aussehen Hinzugefügt^^



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)