Beiträge von PoTTii



    Dat Ausrufezeichen war bewusst kollege ;) das muss auch drinne bleiben

    Was du machst ist eine Wertzuweisung bei einer If Abfrage, dass geht so nicht, du musst gleich (==) setzen und ohne Anführzungszeichen natürlich.


    if(name==desropter)


    Richtig, so funktionierts aber trotzdem nicht, weil du wenn du einen String abfragen willst "strcmp"/"strfind" benutzen musst.
    if (!strcmp(name,"desropter")

    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    // TextDrawHideForPlayer(playerid, Speedo[playerid]);
    new string3[64],string[150];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string,sizeof(string),"INSERT INTO user (name, passwort) VALUES ('%s', '%s')",playername3,password);
    //G mysql_query(string);
    format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    new var[32];
    format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    format(var, 32, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
    format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
    format(var, 32, "Allowed=%d\n",PlayerInfo[playerid][pAllowed]);fwrite(hFile, var);
    format(var, 32, "DonateRank=%d\n",PlayerInfo[playerid][pDonateRank]);fwrite(hFile, var);
    format(var, 32, "UpgradePoints=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var);
    format(var, 32, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var);
    format(var, 32, "Registered=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var);
    format(var, 32, "Sex=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
    format(var, 32, "Age=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
    format(var, 32, "Geworben=%d\n",PlayerInfo[playerid][pGeworben]);fwrite(hFile, var);
    format(var, 32, "Origin=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
    format(var, 32, "CK=%d\n",PlayerInfo[playerid][pCK]);fwrite(hFile, var);
    format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
    format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
    format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pAccount]);fwrite(hFile, var);
    format(var, 32, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "PayDayHad=%d\n",PlayerInfo[playerid][pPayDayHad]);fwrite(hFile, var);
    format(var, 32, "PayDayTime=%d\n",PlayerInfo[playerid][pPayDayTime]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
    format(var, 32, "WantedDeaths=%d\n",PlayerInfo[playerid][pWantedDeaths]);fwrite(hFile, var);
    format(var, 32, "Phonebook=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var);
    format(var, 32, "LottoNr=%d\n",PlayerInfo[playerid][pLottoNr]);fwrite(hFile, var);
    format(var, 32, "Fishes=%d\n",PlayerInfo[playerid][pFishes]);fwrite(hFile, var);
    format(var, 32, "BiggestFish=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var);
    format(var, 32, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var);
    format(var, 32, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var);
    format(var, 32, "HeadValue=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var);
    format(var, 32, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var);
    format(var, 32, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var);
    format(var, 32, "Materials=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var);
    format(var, 32, "Drugs=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
    format(var, 32, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var);
    format(var, 32, "Member=%d\n",PlayerInfo[playerid][pMember]);fwrite(hFile, var);
    format(var, 32, "FMember=%d\n",PlayerInfo[playerid][pFMember]);fwrite(hFile, var);
    format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
    format(var, 32, "Char=%d\n",PlayerInfo[playerid][pChar]);fwrite(hFile, var);
    format(var, 32, "ContractTime=%d\n",PlayerInfo[playerid][pJobzeit]);fwrite(hFile, var);
    // format(var, 32, "JobTime=%d\n",PlayerInfo[playerid][pJobTime]);fwrite(hFile, var);
    format(var, 32, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var);
    format(var, 32, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var);
    format(var, 32, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var);
    format(var, 32, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var);
    format(var, 32, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var);
    format(var, 32, "JackSkill=%d\n",PlayerInfo[playerid][pJackSkill]);fwrite(hFile, var);
    format(var, 32, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var);
    format(var, 32, "ZollPass=%d\n",PlayerInfo[playerid][pZollPass]);fwrite(hFile, var);
    format(var, 32, "ZollPassTime=%d\n",PlayerInfo[playerid][pZollPassTime]);fwrite(hFile, var);
    format(var, 32, "WarnTime=%d\n",PlayerInfo[playerid][pWarnTime]);fwrite(hFile, var);
    format(var, 32, "NewsSkill=%d\n",PlayerInfo[playerid][pNewsSkill]);fwrite(hFile, var);
    format(var, 32, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var);
    format(var, 32, "CookSkill=%d\n",PlayerInfo[playerid][pCookSkill]);fwrite(hFile, var);
    format(var, 32, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var);
    format(var, 32, "pSHealth=%.1f\n",PlayerInfo[playerid][pSHealth]);fwrite(hFile, var);
    GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
    format(var, 32, "pHealth=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var);
    format(var, 32, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var);
    format(var, 32, "Local=%d\n",PlayerInfo[playerid][pLocal]);fwrite(hFile, var);
    format(var, 32, "Team=%d\n",PlayerInfo[playerid][pTeam]);fwrite(hFile, var);
    format(var, 32, "Model=%d\n",PlayerInfo[playerid][pModel]);fwrite(hFile, var);
    format(var, 32, "PhoneNr=%d\n",PlayerInfo[playerid][pPnumber]);fwrite(hFile, var);
    format(var, 32, "House=%d\n",PlayerInfo[playerid][pPhousekey]);fwrite(hFile, var);
    format(var, 32, "Bizz=%d\n",PlayerInfo[playerid][pPbiskey]);fwrite(hFile, var);
    format(var, 32, "Tanke=%d\n",PlayerInfo[playerid][pPtankekey]);fwrite(hFile, var);
    format(var, 32, "HandyGeld=%d\n",PlayerInfo[playerid][pHandyGeld]);fwrite(hFile, var);
    format(var, 32, "HandyVer=%d\n",PlayerInfo[playerid][pHandyVer]);fwrite(hFile, var);
    format(var, 32, "SafeMaterials=%d\n",PlayerInfo[playerid][pSafeMats]);fwrite(hFile, var);
    format(var, 32, "SafeDrugs=%d\n",PlayerInfo[playerid][pSafeDrugs]);fwrite(hFile, var);
    // format(var, 32, "GangWar=%d\n",allowedgangwar[playerid]);fwrite(hFile, var);
    format(var, 32, "Punkte=%d\n", PlayerInfo[playerid][pPunkte]);fwrite(hFile, var);
    if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
    {
    PlayerInfo[playerid][pPos_x] = 1684.9;
    PlayerInfo[playerid][pPos_y] = -2244.5;
    PlayerInfo[playerid][pPos_z] = 13.5;
    PlayerInfo[playerid][pInt] = 0;
    }
    if(Spectate[playerid] != 255)
    {
    PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
    PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
    PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
    PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
    PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
    }
    format(var, 32, "HatJob=%.1f\n",PlayerInfo[playerid][pHatJob]);fwrite(hFile, var);
    format(var, 32, "Vertrag=%.1f\n",PlayerInfo[playerid][pVertrag]);fwrite(hFile, var);
    format(var, 32, "Pos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var);
    format(var, 32, "Pos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var);
    format(var, 32, "Pos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var);
    format(var, 32, "CarLic=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var);
    format(var, 32, "NewLic=%d\n",PlayerInfo[playerid][pNewLic]);fwrite(hFile, var);
    format(var, 32, "FlyLic=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var);
    format(var, 32, "BoatLic=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var);
    format(var, 32, "FishLic=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var);
    format(var, 32, "GunLic=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var);// hier wird der schein in der Spieler .ini gespeichert
    format(var, 32, "Krankenkasse=%d\n",PlayerInfo[playerid][pKrankenkasse]);fwrite(hFile, var);// hier wird der schein in der Spieler .ini gespeichert
    format(var, 32, "KrankenkasseTime=%d\n",PlayerInfo[playerid][pKrankenkasseTime]);fwrite(hFile, var);// hier wird der schein in der Spieler .ini gespeichert
    format(var, 32, "LKWLic=%d\n",PlayerInfo[playerid][pLKWLic]);fwrite(hFile, var);
    format(var, 32, "MotoLic=%d\n",PlayerInfo[playerid][pMotoLic]);fwrite(hFile, var);
    format(var, 32, "Zig=%d\n",PlayerInfo[playerid][pZig]);fwrite(hFile, var);
    format(var, 32, "ZigSucht=%d\n",PlayerInfo[playerid][pZigSucht]);fwrite(hFile, var);
    format(var, 32, "Gun1=%d\n",PlayerInfo[playerid][pGun1]);fwrite(hFile, var);
    format(var, 32, "Gun2=%d\n",PlayerInfo[playerid][pGun2]);fwrite(hFile, var);
    format(var, 32, "Gun3=%d\n",PlayerInfo[playerid][pGun3]);fwrite(hFile, var);
    format(var, 32, "Gun4=%d\n",PlayerInfo[playerid][pGun4]);fwrite(hFile, var);
    format(var, 32, "Ammo1=%d\n",PlayerInfo[playerid][pAmmo1]);fwrite(hFile, var);
    format(var, 32, "Ammo2=%d\n",PlayerInfo[playerid][pAmmo2]);fwrite(hFile, var);
    format(var, 32, "Ammo3=%d\n",PlayerInfo[playerid][pAmmo3]);fwrite(hFile, var);
    format(var, 32, "Ammo4=%d\n",PlayerInfo[playerid][pAmmo4]);fwrite(hFile, var);
    format(var, 32, "CDPlayer=%d\n",PlayerInfo[playerid][pCDPlayer]);fwrite(hFile, var);
    format(var, 32, "Wins=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var);
    format(var, 32, "Loses=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var);
    format(var, 32, "AlcoholPerk=%d\n",PlayerInfo[playerid][pAlcoholPerk]);fwrite(hFile, var);
    format(var, 32, "DrugPerk=%d\n",PlayerInfo[playerid][pDrugPerk]);fwrite(hFile, var);
    format(var, 32, "MiserPerk=%d\n",PlayerInfo[playerid][pMiserPerk]);fwrite(hFile, var);
    format(var, 32, "PainPerk=%d\n",PlayerInfo[playerid][pPainPerk]);fwrite(hFile, var);
    format(var, 32, "TraderPerk=%d\n",PlayerInfo[playerid][pTraderPerk]);fwrite(hFile, var);
    format(var, 32, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
    format(var, 32, "Warnings=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
    format(var, 32, "Adjustable=%d\n",PlayerInfo[playerid][pAdjustable]);fwrite(hFile, var);
    format(var, 32, "Fuel=%d\n",PlayerInfo[playerid][pFuel]);fwrite(hFile, var);
    format(var, 32, "Married=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var);
    format(var, 32, "MarriedTo=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var);
    format(var, 32, "SpawnChange=%d\n",SpawnChange[playerid]);fwrite(hFile, var);
    format(var, 32, "WantedLevel=%d\n",WantedLevel[playerid]);fwrite(hFile, var);
    format(var, 32, "WantedPoints=%d\n",WantedPoints[playerid]);fwrite(hFile, var);
    format(var, 32, "PlayMinutes=%d\n",PlayerInfo[playerid][pPlayMinutes]);fwrite(hFile, var);
    format(var, 32, "GesamtMinutes=%d\n",PlayerInfo[playerid][pGesamtMinutes]);fwrite(hFile, var);
    format(var, 32, "MinutesSinceAn=%d\n",PlayerInfo[playerid][pMinutesSinceAn]);fwrite(hFile, var);
    format(var, 32, "Offflucht=%d\n",OfflineFlucht[playerid]);fwrite(hFile, var);
    format(var, 32, "Knast=%d\n",Knast[playerid]);fwrite(hFile, var);
    format(var, 32, "Uhr=%d\n",PlayerInfo[playerid][pUhrID]);fwrite(hFile, var);
    format(var, 32, "Handy=%d\n",PlayerInfo[playerid][pHandyID]);fwrite(hFile, var);
    format(var, 32, "KnastTime=%d\n",KnastTime[playerid]);fwrite(hFile, var);
    format(var, 32, "Perso=%d\n",PlayerInfo[playerid][pOwnPerso]);fwrite(hFile, var);
    format(var, 32, "FrakSperre=%d\n",PlayerInfo[playerid][pFrakSperre]);fwrite(hFile, var);
    format(var, 32, "Punkte=%d\n", PlayerInfo[playerid][pPunkte]);fwrite(hFile,var);
    fclose(hFile);
    //TUTORIAL + ABFRAGE
    gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1;
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    ShowPlayerDialog(playerid,DIALOG_REGSTEP_1,DIALOG_STYLE_MSGBOX,"Geschlecht","Bist du Männlich oder Weiblich?","Männlich","Weiblich");
    SetPlayerInterior(playerid,0);
    PlayerInfo[playerid][pInt] = 0;
    SetPlayerPos(playerid, 2561.977051,-1642.861816,-3.886160);
    SetPlayerCameraPos(playerid, 2623.837891,-1595.514404,56.568008);
    SetPlayerCameraLookAt(playerid, 2534.729736,-1657.002075,16.080250);
    TogglePlayerControllable(playerid, 0);
    // TextDrawHideForPlayer(playerid, Speedo[playerid]);
    gPlayerAccount[playerid] = 1;
    gPlayerLogged[playerid] = 1;
    gPlayerSpawned[playerid] = 1;
    PlayerInfo[playerid][pReg] = 1;
    SetPlayerInterior(playerid, 0);
    PlayerInfo[playerid][pExp] = 1;
    PlayerInfo[playerid][pPayDayTime] = 1;
    }
    }
    return 1;
    }


    So gehts @ fusko

    Sieht hammer aus ^^


    Gefällt mir echt gut. Weitere Videos wären geil hastn abo von mir ^^


    Darf ich fragen was das fürn roller ist, wie alt du bist und wieviel kubik?


    Achja, bei deiner fahrweise haben sich sicherlich ein paar aufgeregt :D


    mfg


    Genauso hab ichs ja auch geschrieben, nur mit nem Zeilenumbruch...

    Hallo und willkommen zu meinem zweiten Tutorial nachdem mein erstes ([ SCRIPTING ] Simples Premiumsystem mit Sternen) doch relativ gut ankamen.
    Diesmal vieleicht nicht so schön bebildert, und auch ein wenig kürzer aber was solls ;)


    Und zwar geht es heute darum wie ihr euren Code Verkleinern/Optimieren verschönern könnt.
    Ich werde dabei einige Methoden zusammenfassen.


    Fangen wir doch mal an...



    Abfragen ob eine Variable auf 0 oder höher als 0 ist
    Wir haben eine Variable/PVar oder wir fragen ganz einfach was aus ner Datenbank ab.
    Wollen wir nun überprüfen ob diese Variable auf 0 ist würden wir das ganze so abfragen:


    if(Variable[Blubb] == 0)


    Doch das geht auch kürzer:


    if(!Variable[Blubb])
    Dies bedeutet ganz einfach: Wenn die variable nicht (Dafür das Ausrufezeichen) höher als 0 ist.
    Doch wie wenn wir abfragen wollen ob sie 1 oder höher ist?
    Normalerweise würden wir das so tun:


    if(Variable[Blubb] == 1)


    Doch auch das geht kürzer, einfach das Ausrufezeichen weglassen:
    if(Variable[Blubb])
    {
    }
    Und schon weiss das Script -> Ist die variable 1 oder höher, soll ich das ausführen was in den Klammern steht.
    Wait... Klammern? Wer brauch die schon! Wobei wir beim nächsten Thema wären.


    Keine Klammern bei if benötigt wenns nur eine Anweisung gibt


    Selbst wenn nur eine Anweisung nach einem if kommt würden einige das so schreiben:
    if(Health => 50.0)
    {
    SendClientMessage(playerid, color, "Du hast mehr als 50 Hp!");
    }


    Da wir aber wie gesagt nur eine Anweisung haben gehts auch wesentlich einfacher...
    Nämlich:
    if(Health => 50.0)
    SendClientMessage(playerid, color, "Du hast mehr als 50 Hp!");
    Einrücken ist natürlich von Vorteil!


    Da es aber nur für eine Anweisung gilt, klappt das ganz gut, mit mehreren allerdings nicht (Danke nochmal an den lieben BlackAce für die Erläuterung!)



    sizeof Blubb statt sizeof(blubb)
    Zwar was ganz kleines aber, meiner Meinung nach trotzdem übersichtlicheres.


    Anstatt beispielsweise
    format(str, sizeof(str), "%s", GetPlayerArmour(playerid));
    können wir auch ganz einfach folgendes schreiben:
    format(str, sizeof str, "%s", GetPlayerArmour(playerid));
    Meiner Meinung nach übersichtlicher (Besonders bei Stellen an denen ihr ne Menge Klammern benutzt).



    Ein Clear Befehl? 100x mit Messages zuspammen? nene!


    Was bei vielen Anfängern ein Fehler ist (Wars auch bei mir), ist dass ihr Script relativ viel Leistung auf nem Server zieht.
    Dies kann unter anderem an solch unsauberen Codes liegen.
    Angenommen ihr wollt einen Clear Befehl um den Chat zu "reinigen".
    Man denkt jetzt man sollte einfach 100x SendClientMessageToAll's reinballern.
    Doch erstens zieht das ne Menge Leistung, und auch Platz in eurem Script.


    Man würde jetzt so schreiben:
    ocmd:clear(playerid, params[])
    {
    SendClientMessageToAlL(farbe, "");
    SendClientMessageToAlL(farbe, "");
    SendClientMessageToAlL(farbe, "");
    SendClientMessageToAlL(farbe, "");
    SendClientMessageToAlL(farbe, "");


    //und immer so weiter


    return 1;
    }


    Auch das geht einfacher und übersichtlicher.
    Ihr erstellt innerhalb einer For Schleife eine Variable die auf 0 ist. Mit jedes Mal Befehl ausführen, ändert sich die variable um 1.
    Wenn die Variable eure maximale Zahl erreicht hat hört die Schleife auf.


    Das sähe dann so aus:
    for(new i=0; //eine Variable wird erstellt die auf 0 ist
    for(new i=0; i < 100; //wird wiederholen den befehl der anschliessend noch kommt sooft bis variable i auf 100 ist (also 100 mal)
    for(new i=0; i < 100; i++) //ii wird jedes mal erhöht bis i auf 100 ist


    //Das hier wäre dann unsere Grundschleife:
    for(new i=0; i < 100; i++)


    //doch nun kommt hintendran bzw untendrunter der Befehl der 100x ausgeführt werden soll bspw:


    for(new i=0; i < 100; i++)
    SendClientMessageToAll(farbe, "");


    Auch hier gilt: Nur eine Anweisung = Keine Klammern benötigt.


    Nun wird SendClientMessageToAll(farbe, ""); 100 mal ausgeführt.
    Eine immense Platzeinsparung, und einen Freudengrund für euren Server.



    Ich hoffe ich konnte euch ein bisschen helfen, und wenn ihr noch weitere Möglichkeiten kennt das Script zu verkleinern/optimieren, immer her damit.


    Mit freundlichen Grüssen.
    PoTTii



    Besteh ruhig weiterhin auf deine Schlichtweg Falsche Meinung. du hättest mich rausgeworfen.


    Achja, gemeldet, Rufmord unso.