Register Problem

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
  • Hallo erstmal^^
    Ich habe ein Problem :S, da ich bei einem Tutorial geguckt habe wegen einem Register System und habe alles das selbe gemacht wie er das beschrieben hat aber ich bekam 5 Erros 4 in einer gleichen Zeile? und 1 wegen der geschleiften klammer
    kann mir wer helfen? WÄRE echt NETT!

    enum Info
    {
    passwort[128], // 128 steht für die maximale länge des passworts
    skin,
    };


    und jz die mit der Zeile
    GetPlayerName(playerid,spieler,sizeof(spieler));
    Bitte helft mir

  • enum Info
    {
    passwort[128], // 128 steht für die maximale länge des passworts
    skin
    };


    GetPlayerName(playerid,spieler,sizeof(spieler));


    mach drüber mal


    new spieler[MAX_PLAYER_NAME];

  • Lern mal die grundlagen ..


    Dann das enum Problem sollte weg sein ...


    über dem:


    GetPlayerName(playerid,spieler,sizeof(spieler));


    machst du das:


    new spieler[MAX_PLAYER_NAME];

  • falls ich das drüber machen soll
    new spieler[MAX_PLAYER_NAME];
    kommt aber denn nen 6ten Error
    denn siehe hier


    ^^

  • Ich Poste einfach mein Script hier rein...
    /* --- Das wird ein Las Ventruas Reallife Script!
    ---Damit ihr es wisst!---
    */


    ////////INCLUDE//////
    #include <a_samp>
    #include <dini>
    #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



    ////////Farben//////////////
    #define GELB 0xFFFF00FF
    #define ROT 0xFF1400FF
    #define ORANGE 0xFFC800FF
    #define GRAU 0xB4B4B4FF
    #define GRÜN 0x05FF00FF
    #define BLAU 0x0005FFFF
    #define SCHWARZ 0x190000FF
    #define LILA 0xAA00FFFF
    #define PINK 0xFF00EBFF
    #define TUKIS 0x00FFFAFF



    ///////////REGISTER DIALOGE///////////
    #define DIALOG_LOGIN 3
    #define DIALOG_REG 4



    ///////////ENUMS////////////
    enum spieler_daten
    enum Info
    {
    passwort[128], // 128 steht für die maximale länge des passworts
    skin,
    };



    //////////NEW//////////////////
    new pInfo[MAX_PLAYERS][Info];
    new bool:loggedin[MAX_PLAYERS];



    forward ServerNachricht();
    main()
    {
    print("\n----------------------------------");
    print(" Las Venturas Reallife Script V.1.0");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {


    SetGameModeText("German Reallife");


    SetTimer("ServerNachricht",300000,1);


    //Noobspawn Roller
    AddStaticVehicle(462,1775.1903,-1931.1636,12.9810,270.1194,14,14); // Roller 1
    AddStaticVehicle(462,1775.1824,-1929.2021,12.9843,273.6497,1,3); // Roller2
    AddStaticVehicle(462,1775.2501,-1927.3464,12.9849,271.7040,10,10); // Roller3
    AddStaticVehicle(462,1775.2593,-1925.4921,12.9844,271.4600,13,13); // Roller4
    AddStaticVehicle(462,1775.2188,-1923.4215,12.9830,274.7297,2,1); // Roller5
    AddStaticVehicle(462,1775.2513,-1921.7722,12.9870,263.7948,2,1); // Roller6
    AddStaticVehicle(462,1775.1283,-1920.2623,13.0301,268.1032,3,1); // Roller7
    AddStaticVehicle(462,1775.3082,-1918.5045,12.9851,269.6984,14,14); // Roller8
    AddStaticVehicle(462,1775.3181,-1916.2660,12.9833,270.4491,12,12); // Roller9
    AddStaticVehicle(462,1775.3922,-1914.1256,12.9854,267.2156,3,1); // Roller10


    //Die Spieler
    AddPlayerClass(2,1763.7412,-1938.7987,13.5777,269.5280,0,0,0,0,0,0); // Player Position
    AddPlayerClass(3,1763.7412,-1938.7987,13.5777,269.5280,0,0,0,0,0,0); // Player Position
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1763.7412,-1938.7987,13.5777);
    SetPlayerCameraPos(playerid, 1766.0593,-1938.8680,13.5731);
    SetPlayerCameraLookAt(playerid, 1763.7412,-1938.7987,13.5777);
    SetPlayerFacingAngle(playerid,269.5280);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    SendClientMessage(playerid,ORANGE,"-----------Herzlich Willkommen auf den Reallife-Server von German of Reallife!------------");


    new name[128], save[128]; // Dies machen wir um den Namen vom Spieler aufzuschreiben || Hiermit können wir sagen, dass etwas gespeichert werden soll
    GetPlayerName(playerid,name,sizeof(name)); // Dies sagt, er soll( vom Spieler, den namen, in der größe name aufschreiben)
    format(save,sizeof(save),"/Spieler/%s.ini",name); // Hier wird gechekt, wo der Spieler gespeichert ist, bzw. wo ein Spieler angelegt werden soll.
    if(dini_Exists(save)) // Hier wird geprüft, ob die Datei des Spielers schon existiert.
    { // Wenn ja, sende einen Text und lade den Skin und das Geld
    SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
    SendClientMessage(playerid, 0xFFFFFFAA, "Dein Account wurde wiedererkannt.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt einloggen.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /login [passwort].");
    GivePlayerMoney(playerid,dini_Int(save,"Geld")); // Hier wird das geld dem Spieler gegeben, was er vorher hatte
    SetPlayerSkin(playerid,dini_Int(save,"Skin")); // Hier wird der Skin des Spielers geladen
    }
    else
    {
    if(!dini_Exists(save)) // Wenn kein Spieler mit dem Namen existiert
    { //Sende einen Text
    SendClientMessage(playerid, 0x33CCFFAA, "Willkommen bei SA:MP 0.3 Server");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du hast noch keinen Account.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Du kannst dich jetzt registrieren.");
    SendClientMessage(playerid, 0xFFFFFFAA, "Benutze dazu /register [passwort].");
    }
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    new name[128], save[128];// Gleiche
    GetPlayerName(playerid,name,sizeof(name)); // wie
    format(save,sizeof(save),"/Spieler/%s.ini",name);// oben
    if(dini_Exists(save)) // steht
    {
    dini_IntSet(save,"Geld",GetPlayerMoney(playerid)); // speichert das aktuelle Geld, was der Spieler zum schluss hatte
    dini_IntSet(save,"Skin",GetPlayerSkin(playerid)); // speichert den aktuellen Skin, welchne der Spieler zum schluss hatte
    }
    return 1;
    }
    public OnPlayerSpawn(playerid)
    {
    new name[128], save[128];// Gleiche
    GetPlayerName(playerid,name,sizeof(name)); // wie
    format(save,sizeof(save),"/Spieler/%s.ini",name);// oben
    if(loggedin[playerid] == false) //Wenn er nicht eingeloggt ist
    {
    SendClientMessage(playerid, 0xAA3333AA, "Du musst dich Einloggen bevor du spawnst!");
    Kick(playerid); // Kicke den Spieler
    }
    SetPlayerSkin(playerid,dini_Int(save,"Skin")); //lade und setze den gespeicherten Skin
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0), "/register", true) == 0)
    {
    new save[40]; // Erstelle einen neuen String "save", wobei 40 Wörter verwendet werden können.
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spieler,sizeof(spieler));
    format(save, sizeof(save),"Spieler/%s.ini",spieler); //Speicherort
    if(!dini_Exists(save)) // wenn der Spieler sich regestriert und es noch keine .ini Datei mit seinem Namen gibt
    {
    dini_Create(save); // Erstelle eine Neue .ini Datei
    dini_IntSet(save,"passwort",udb_hash(strget(cmdtext,1))); // Setze in die .ini Datei(save,"dass passwort", welches er eingegeben hat) || das udb_hash verschlüsselt das Passwort in der .ini. Dazu benötigen wir die oben angegebene Include DUBD.
    SendClientMessage(playerid, 0x33AA33AA, "***Dein Account wurde erfolgreich registriert***");
    SendClientMessage(playerid, 0x33AA33AA, "***Nutze /login [Passwort] um dich einzuloggen***");
    }
    else
    {
    if(dini_Exists(save)) // Wenn beim regestrieren die Datei schon besteht
    {
    SendClientMessage(playerid, 0xAA3333AA, "Der Account ist bereits registriert");
    }
    }
    return 1;
    }
    if(strcmp(strget(cmdtext,0), "/login", true) == 0)//Login...
    {
    new save[40], s2[256]; //gleiche wie oben
    new spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spieler,sizeof(spieler));
    format(save,sizeof(save),"Spieler/%s.ini",spieler);
    if(dini_Exists(save)) // wenn Datei existiert
    {
    s2=dini_Get(save,"passwort"); // lade das Passwort
    if(strval(s2)==udb_hash(strget(cmdtext,1))) // wenn die Eingabe nach /login mit dem Passwort von der registration übereinstimmt
    {
    loggedin[playerid] = true; //sage dem Server, dass der Spieler eingeloggt ist.
    SendClientMessage(playerid, 0x33CCFFAA, "***Du hast dich erfolgreich eingeloggt***");
    SpawnPlayer(playerid);
    }
    else // wenn das passwort nicht stimmt
    {
    SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!");
    }
    }
    return 1;
    }
    if (strcmp("/heilen",cmdtext,true,10) == 0)
    {
    SetPlayerHealth(playerid,100.0);
    SendClientMessage(playerid,ROT,"Du hast dich erfolgreich geheilt.");
    return 1;
    }
    if (strcmp("/help",cmdtext,true,10) == 0)
    {
    SendClientMessage(playerid,ROT,"__________________________________________Das Hilfesystem_____________________________________");
    SendClientMessage(playerid,GRÜN,"/heilen");
    SendClientMessage(playerid,ROT,"__________________________________________Das Hilfesystem_____________________________________");


    return 1;
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(response)
    {
    switch(dialogid) // dialogid auswählen
    {
    case DIALOG_LOGIN: // ID Login
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
    {
    Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
    Spieler[playerid][skin] = dini_Int(accFormat,"skin");
    Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
    Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
    Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
    Spieler[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG: // ID Registrieren
    {
    if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
    }
    }
    return 1;
    }
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    public ServerNachricht()
    {
    SendClientMessageToAll(ROT,"-----------------------------Die Server Nachricht wird von jedem gelesen!!-----------------------------");
    SendClientMessageToAll(ROT,"------------------------Hinweis: Die Server Nachricht wird jede 5Minuten angezeigt!-------------------------");
    SendClientMessageToAll(ROT,"-----------------------------Hier wird kein Sinnloses DeathMatch gemacht denn es ist ein Reallife-Server!!-----------------------------");
    }
    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }

  • Das lösscht du einfach mal weg:


    enum spieler_daten


    Dann machst du das hier so:


    if(strcmp(cmdtext, "/register", true) == 0)
    {
    new save[40]; // Erstelle einen neuen String "save", wobei 40 Wörter verwendet werden können.
    new spieler;
    GetPlayerName(playerid,spieler,sizeof(spieler));
    format(save, sizeof(save),"Spieler/%s.ini",spieler); //Speicherort
    if(!dini_Exists(save)) // wenn der Spieler sich regestriert und es noch keine .ini Datei mit seinem Namen gibt
    {
    dini_Create(save); // Erstelle eine Neue .ini Datei
    dini_IntSet(save,"passwort",udb_hash(strget(cmdtext,1))); // Setze in die .ini Datei(save,"dass passwort", welches er eingegeben hat) || das udb_hash verschlüsselt das Passwort in der .ini. Dazu benötigen wir die oben angegebene Include DUBD.
    SendClientMessage(playerid, 0x33AA33AA, "***Dein Account wurde erfolgreich registriert***");
    SendClientMessage(playerid, 0x33AA33AA, "***Nutze /login [Passwort] um dich einzuloggen***");
    }
    else
    {
    if(dini_Exists(save)) // Wenn beim regestrieren die Datei schon besteht
    {
    SendClientMessage(playerid, 0xAA3333AA, "Der Account ist bereits registriert");
    }
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen