Ein paar Errors ^^

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

  • Script


    #include <a_samp>
    #include <dini>
    #include <Dudb>
    #include <ocmd>
    #include <sscanf>

    Script
    #define rot 0xAA3333AA

    Script
    #pragma unused ret_memcpy
    #pragma unused pInfo
    enum Info
    {
    passwort[128],
    skin
    }

    Script
    new pInfo[MAX_PLAYERS][Info];
    new bool:loggedin[MAX_PLAYERS];
    new spieler[MAX_PLAYER_NAME];
    main()
    {
    print("\n----------------------------------");
    print(" Testgamemode by Robbe");
    print("----------------------------------\n");
    }

    Script
    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Testgamemode by Robbe");
    return 1;
    }

    Script
    public OnGameModeExit()
    {
    return 1;
    }

    Script
    public OnPlayerRequestClass(playerid, classid)
    {
    return 1;
    }

    Script
    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 auf dem Testserver!");
    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;
    }

    Script
    public OnPlayerDisconnect(playerid, reason)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    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));
    dini_FloatSet(save,"PosX", x);
    dini_FloatSet(save,"PosY", y);
    dini_FloatSet(save,"PosZ", z);}
    return 1;
    }

    Script
    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
    SetPlayerPos(playerid, dini_Float(save,"PosX"), dini_Float(save,"PosY"), dini_Float(save,"PosZ"));

    Script
    return 1;
    }

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

    Script
    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }

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

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

    Script
    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.
    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)
    {
    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(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);
    SetPlayerPos(playerid, dini_Float(save,"PosX"), dini_Float(save,"PosY"), dini_Float(save,"PosZ"));

    Script
    }
    else // wenn das passwort nicht stimmt
    {
    SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!");
    }
    }
    return 1;
    }
    if(strcmp("/dveh",cmdtext,true,10) ==0)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    DestroyVehicle(vehicleid);
    return 1;
    }
    if(strcmp("/hilfe",cmdtext,true,10) ==0)
    {
    SendClientMessage(playerid,rot,"/veh (Auto spawnen) - /dveh (Auto entfernen) - /givegun(Waffe geben)");
    return 1;
    }

    Script
    return 0;
    }
    ocmd:veh(playerid,params[])
    {
    new Float:vehx,Float:vehy,Float:vehz;
    new vehid,cc1,cc2,string[128];
    if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, rot,"Benutzung: /veh [Vehicle ID] [Farbe 1] [Farbe 2]");

    Script
    GetPlayerPos(playerid,vehx,vehy,vehz);
    new carid = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1);
    SetVehicleNumberPlate(carid,"~>Admin<~");
    PutPlayerInVehicle(playerid, carid, 0);
    format(string,sizeof(string),"[AdmCmd] Du hast ein Admincar gespawnt! (FahrzeugID :%d)",GetVehicleModel(GetPlayerVehicleID(playerid)));
    SendClientMessage(playerid,rot,string);
    return 1;
    }
    ocmd:givegun(playerid,params[])
    {
    new id,muni,waffe;
    if(sscanf(params,"uii",id,waffe,muni)) return SendClientMessage(playerid,rot,"Benutzung: /givegun [ID] [WID] [MUNI]");
    GivePlayerWeapon(id,waffe,muni);
    SendClientMessage(playerid,rot,"Waffe vergeben");
    return 1;
    }
    ocmd:setskin(playerid, params[]) {
    new userID, skinID;
    if (sscanf(params, "ui",userID, skinID)) return SendClientMessage(playerid, rot, "/setskin <playerid> <skinid>");
    if(!IsPlayerConnected(skinID))return SendClientMessage(playerid,0x0000,"Der spieler ist nicht online");
    SetPlayerSkin(userID, skinID);
    return 1;
    }
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }

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

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

    Script
    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }

    Script
    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }

    Script
    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }

    Script
    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }

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

    Script
    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }

    Script
    public OnObjectMoved(objectid)
    {
    return 1;
    }

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

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

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

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

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

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

    Script
    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }

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

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

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

    Script
    public OnPlayerUpdate(playerid)
    {
    return 1;
    }

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

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

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

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

    Script
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    return 1;
    }

    Script
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }
    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;
    }


    Eigentlich habe ich alle Includes und Plugins drinne.

    Det blæser en halv pelikan.

    I may look calm. But inside my mind I have killed you 20 times in 5 minutes in 20 different ways.