FS was Skin speichert

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • haste schon nen Script mit nem Register login System wenn ja was für ne Include "File , SII oder DINI .......


    weil dann können wir dir nen Code basteln den du dann Kinderleicht in dein Script einfügen kannst

    RFT

  • Also ich habe ein Registersystem gedownloadet von Joaum.


    Spoiler anzeigen

    /*
    Register FilterScript By Joaum
    */

    Spoiler anzeigen
    #include <a_samp>
    #include <dutils>//you need this include
    #include <dudb>//this too

    Spoiler anzeigen
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    #define COLOR_SYSTEM 0xEFEFF7AA
    #define MAX_TRIES 3 // Tries number before kick the player
    #define COLOR_RED 0xFF0000FF //RED
    new PLAYERLIST_authed[MAX_PLAYERS];
    new pkills[MAX_PLAYERS];
    new pdeaths[MAX_PLAYERS];
    new tries[MAX_PLAYERS];

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    printf(" ________________________ ");
    printf(" ");
    printf(" ");
    printf(" Register-System geladen! ");
    printf(" ");
    printf(" ");
    printf(" ________________________ ");

    Spoiler anzeigen
    }
    stock SystemMsg(playerid,msg[]) {
    if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {
    SendClientMessage(playerid,COLOR_SYSTEM,msg);
    }
    return 1;
    }

    Spoiler anzeigen
    stock PlayerName(playerid) {
    new name[255];
    GetPlayerName(playerid, name, 255);
    return name;
    }

    Spoiler anzeigen
    dcmd_register(playerid,params[]) {

    Spoiler anzeigen
    if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Du bist bereits eingelogt.");

    Spoiler anzeigen
    if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Dieser Account existiert bereits, benutze /login [Passwort].");

    Spoiler anzeigen
    if (strlen(params)==0) return SystemMsg(playerid,"Richtige Benutzung: /register [Passwort]");

    Spoiler anzeigen
    if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Account erstellt! Benutzt jetzt /login [Passwort]");
    return true;

    Spoiler anzeigen
    }

    dcmd_login(playerid,params[]) {

    Spoiler anzeigen
    if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Du bist bereits eingelogt.");
    if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Dein Account existiert nicht! Benutze /register [Passwort]");
    if (strlen(params)==0) return SystemMsg(playerid,"Richtige Benutzung: /login [Passwort]");

    Spoiler anzeigen
    if (udb_CheckLogin(PlayerName(playerid),params)) {
    // Status
    GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("Geld")+GetPlayerMoney(playerid));
    SetPlayerScore(playerid,dUserINT(PlayerName(playerid)).("Score")+GetPlayerScore(playerid));
    pkills[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Kills")+pkills[playerid]);
    pdeaths[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Tode")+pdeaths[playerid]);
    PLAYERLIST_authed[playerid]=true;

    Spoiler anzeigen
    return SystemMsg(playerid,"Erfolgreich eingelogt! Viel Spaß!");
    }
    // Bad Password
    tries[playerid]++;
    if(tries[playerid] == MAX_TRIES) {
    SystemMsg(playerid,"Du wurdest gekickt weil du zuoft das Passwort falsch eingegeben hast!");
    print("The Player was kicked for didnt put the password correctly");//lets print this to warn the server
    Kick(playerid);
    }
    else if (tries[playerid] == MAX_TRIES-1){
    SendClientMessage(playerid, COLOR_RED, "Beim nächsten falschen Versuch wirst du gekickt!");//ouch..
    }
    return 0;
    }

    public OnPlayerCommandText(playerid,cmdtext[]) {
    dcmd(login,5,cmdtext);
    dcmd(register,8,cmdtext);

    if(strcmp(cmdtext, "/stats", true) == 0)
    {
    new stringkills[256];
    new stringmortes[256];
    new stringratio[256];
    new stringscore[256];
    new stringdinheiro[256];
    new Float:ratio=floatdiv(pkills[playerid],pdeaths[playerid]);
    format(stringkills,sizeof(stringkills), "Kills: %d",pkills[playerid]);
    format(stringmortes,sizeof(stringmortes), "Tode: %d",pdeaths[playerid]);
    format(stringratio,sizeof(stringratio), "Ratio: %.2f",ratio);
    format(stringdinheiro,sizeof(stringdinheiro), "Geld: %d",GetPlayerMoney(playerid));
    format(stringscore,sizeof(stringscore), "Score: %d",GetPlayerScore(playerid));
    SendClientMessage(playerid, 0xFFFF00AA, " ");
    SendClientMessage(playerid, 0xFFFF00AA, "Deine Statistiken:");
    SendClientMessage(playerid, 0xFFFF00AA, stringkills);
    SendClientMessage(playerid, 0xFFFF00AA, stringmortes);
    SendClientMessage(playerid, 0xFFFF00AA, stringratio);
    SendClientMessage(playerid, 0xFFFF00AA, stringscore);
    SendClientMessage(playerid, 0xFFFF00AA, stringdinheiro);
    SendClientMessage(playerid, 0xFFFF00AA, " ");
    return 1;
    }

    Spoiler anzeigen
    return false;
    }

    Spoiler anzeigen
    public OnPlayerRequestSpawn(playerid)
    {
    if (!PLAYERLIST_authed[playerid]){
    if (udb_Exists(PlayerName(playerid))) {
    SendClientMessage(playerid, COLOR_SYSTEM, "------------------------------------------");
    SendClientMessage(playerid, COLOR_SYSTEM, "| |");
    SendClientMessage(playerid, COLOR_SYSTEM, "Benutze /login [Passwort] um dich einzuloggen! ");
    SendClientMessage(playerid, COLOR_SYSTEM, "| |");
    SendClientMessage(playerid, COLOR_SYSTEM, "------------------------------------------");
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    PlayerPlaySound(playerid,1147, X, Y, Z);//music
    return 0;
    }
    else SendClientMessage(playerid, COLOR_SYSTEM, "Du kannst jetzt spielen.");
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerText(playerid, text[])
    { if (!PLAYERLIST_authed[playerid]){
    if (udb_Exists(PlayerName(playerid))){
    SystemMsg(playerid,"Du musst dich erst einloggen um den Chat zu benutzen!");
    new Float:X;
    new Float:Y;
    new Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    PlayerPlaySound(playerid,1147, X, Y, Z);//music
    }
    return 0;
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDeath(playerid, killerid, reason)

    Spoiler anzeigen
    if (killerid != INVALID_PLAYER_ID) {

    Spoiler anzeigen
    pkills[killerid] ++;
    pdeaths[playerid] ++;
    }

    Spoiler anzeigen
    return 1;

    Spoiler anzeigen
    public OnPlayerConnect(playerid) {
    tries[playerid] = 0;
    PLAYERLIST_authed[playerid]=false;
    if (udb_Exists(PlayerName(playerid))) return SendClientMessage(playerid, COLOR_SYSTEM, "Wilkommen zurück! Du bist bereits registriert (/login password)");
    return false;

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid) {
    if (PLAYERLIST_authed[playerid]) {
    // save
    dUserSetINT(PlayerName(playerid)).("Geld",GetPlayerMoney(playerid));
    dUserSetINT(PlayerName(playerid)).("Score",GetPlayerScore(playerid));
    dUserSetINT(PlayerName(playerid)).("Kills",pkills[playerid]);
    dUserSetINT(PlayerName(playerid)).("Tode",pdeaths[playerid]);
    }
    PLAYERLIST_authed[playerid]=false;
    return false;
    }


    Habe es nur auf Deutsch übersetzt

  • Ich denke aber das es nicht geht wenn du ein GF edit hast das filterscript naja muss man testen :thumbup:

  • Also meine Posts waren ein bißchen ungenau ^^


    1. Wenn man das erste mal auf dem Server connectet, muss man sich ein Account anlegen
    2. Dann einmal einen Skin auswählen, das mann mit gTeam z.B. im Team Ballas ist
    3. Wenn man sich auslogt das das Geld, die Tode, die Kills und den Skin speichert
    4. Wenn man dann das nächstemal connectet /login [Passwort] machen muss und wenn man das gemacht hat man sein Geld, Kills, Tode und den Skin bekommt mitdem man sich ausgelogt hat.



    Hoffe das war jetzt besser erklärt.

  • dini_IntSet(Spielerdatei,"Skin",PlayerInfo[playerid][Skin]);
    PlayerInfo[playerid][Skin] = GetPlayerSkin(playerid);
    beim registrieren


    PlayerInfo[playerid][Skin] = dini_Int(Spielerdatei,"Skin");
    SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
    beim einloggen


    dini_IntSet(Spielerdatei,"Skin",PlayerInfo[playerid][Skin]);
    PlayerInfo[playerid][Skin] = GetPlayerSkin(playerid);
    beim update