Bitte um Hilfe

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
  • #include <a_samp>
    #include <dini>
    #include <Dudb>
    #pragma unused ret_memcpy
    #pragma unused strtok
    #pragma unused loggedin
    #pragma unused pInfo
    #pragma tabsize 0



    main()
    {
    print("\n----------------------------------");
    print(" Herzlich Wilkommen auf .::[ German Realive at GRL ]::.");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    SetGameModeText("German Realive");
    AddPlayerClass(0,1108.7482,-1796.7314,16.5938,86.7707,0,0,0,0,0,0); // position;
    AddPlayerClass(1,1108.7482,-1796.7314,16.5938,86.7707,25,0,0,0,0,0); // position


    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,1108.4147,-1796.7128,16.5938);
    SetPlayerFacingAngle(playerid,86.7707);
    SetPlayerCameraPos(playerid,1108.4147,-1796.7128,16.5938);
    SetPlayerCameraLookAt(playerid,1108.4147,-1796.7128,16.5938);


    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    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].");
    }
    }


    new string[256];
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername,sizeof(playername));
    format(string, sizeof(string), "Willkomen %s auf German Realive at GRL ",playername);
    SendClientMessage(playerid, 0xF0F0F0FF,string);
    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)
    {
    SendClientMessage(killerid,0xFFFF00FF,"Sie haben einen Mord begannen");
    SendClientMessage(playerid,0xFFFF00FF,"[Sie sind Tod [Mord/Unfall]");
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


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


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


    public OnPlayerCommandText(playerid, cmdtext[])


    {
    new spieler[MAX_PLAYER_NAME];
    if(strcmp(cmdtext, "/register", true) == 0)
    {
    new save[40]; // Erstelle einen neuen String "save", wobei 40 Wörter verwendet werden können.
    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((cmdtext))); // 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;
    }
    new loggedin[MAX_PLAYERS];//Das bei den defines hinschreiben
    if(strcmp(cmdtext, "/login", true) == 0)
    {
    new save[40], s2[256]; //gleiche wie oben
    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((cmdtext))) // 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("/help", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,0xF50000FF," ");
    SendClientMessage(playerid,0x00B9FFFF,"••••Account•••• /stats /login /changepass /buylevel /rules");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Allgemeines•••• /pay /time /buy /showperso /id /drink /shwolicenses /members");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Allgemeines•••• /buygun /skill /licenses /lotto /spawnchange");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Allgemeines•••• /showfinances /cancel /accept /eject /usedrugs /contract /fill /filllcar /get fuel");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Allgemeines•••• /shwome /lehrer /showoilprice /gebietinfo /tognews /togfam");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Anderes•••• /rentcar /rentbike /hangup /call /househelp /renthelp /leaderhelp");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Anderes•••• /cookhelp /fishhelp /ganghelp /onlinehelp");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Chat•••• /(A)dmin /(sup)port /(s)shout /(c)lose /(f)amily /me");
    SendClientMessage(playerid,0xF0F0F0FF,"••••Bank•••• /givecheck /usecheck /dropcheck /balance /withdraw /deposit /wiretransfare");
    return 1;
    }
    if (strcmp("/rules", cmdtext, true, 10) ==0)
    {
    SendClientMessage(playerid,0xF50000FF," ");
    SendClientMessage(playerid,0xF50000FF," ");
    SendClientMessage(playerid,0xF50000FF," ");
    SendClientMessage(playerid,0xF50000FF," _________________________________________________________________");
    SendClientMessage(playerid,0xF50000FF,"| Für Informationen zu den Regeln schaue doch mal im Forum vorbei ");
    SendClientMessage(playerid,0xF50000FF,"| http://german-realive-at-grl.dyndns.org/wcf2/ ");
    SendClientMessage(playerid,0xF50000FF,"|_________________________________________________________________");
    SendClientMessage(playerid,0xF50000FF," ");
    SendClientMessage(playerid,0xF50000FF," ");
    SendClientMessage(playerid,0xF50000FF," ");


    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[])
    {
    return 1;
    }


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }


    enum Info
    {
    passwort[128],
    skin,
    };


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


    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;
    }

    Einmal editiert, zuletzt von Mambo ()

  • Guten abend,


    Ja musste warten das jemand ein Betrag macht weil schon 10000 Zeichen erreicht wurden^^ Dies ist schon mein zweiter script aber irgendwie hab ichs verlernt xD Wnen mir jemand den Fehler sagen könnte. Wäre gut und nett :)


    mfg


    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(92) : error 017: undefined symbol "loggedin"
    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(148) : warning 219: local variable "loggedin" shadows a variable at a preceding level


    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

  • oh ;D


    /edit Wenn ich das new loggedin[MAX_PLAYERS];


    da oben hinschriebe denn bekomm ich 2 Errors und 1 warn :S;(


    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(95) : warning 213: tag mismatch
    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(151) : warning 219: local variable "loggedin" shadows a variable at a preceding level
    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(348) : error 021: symbol already defined: "loggedin"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    2 Mal editiert, zuletzt von Mambo ()

  • /edit ne denn is das noch da (2 warns)


    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(95) : warning 213: tag mismatch
    C:\GTa an lol (Lasse)\Server\GTARP\gamemodes\tutorial.pwn(151) : warning 219: local variable "loggedin" shadows a variable at a preceding level
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.
    ________________________
    Ich brauch hilfe!!! ;(;(

    Einmal editiert, zuletzt von Mambo ()

  • Einstein hatte Recht die menschliche Dummheit ist unendlich ... :pinch:
    Versuch mal selber die Errors zu beheben wenn du es nicht schaffst, dann tuts mir Leid dann solltest du mit dem Scripten aufhören, wäre doch fatal, wenn du jeden Error den du hast hier nachfragst.

  • Jeden Error? 1. Ist es ein Warning und kein Error. Und 2. Habe ich bei den Wanrings alles ausprobiert aber nix hat geholfen. Also nix da mit jedem mal wenn was nicht funktioniert. Und außerdem hab ich nicht nach Sinnlosen Kommentaren gefragt. Gibts es eigentlich auch über 12 Jährige in so einem Forum? Oder muss man sich jedes mal aufs neue beschweren über kleine Heulsusen die ihren Senf dazu geben müssen?


    (Danke RottenApple)

  • Jeden Error? 1. Ist es ein Warning und kein Error. Und 2. Habe ich bei den Wanrings alles ausprobiert aber nix hat geholfen. Also nix da mit jedem mal wenn was nicht funktioniert. Und außerdem hab ich nicht nach Sinnlosen Kommentaren gefragt. Gibts es eigentlich auch über 12 Jährige in so einem Forum? Oder muss man sich jedes mal aufs neue beschweren über kleine Heulsusen die ihren Senf dazu geben müssen?


    (Danke RottenApple)


    Der zwölf Jährige kann mindestens sein Gehinr benutzen, einer hilft dir und du fragst weiter nach, benutz mal selber dein Gehirn sonst musst du nur immer weiter nachfragen, ich meine es nur gut.
    Ps. muss jz los, sry for Spam.