Beiträge von SarahCool565

    Ich habe das schonmal so probiert:



    Aber im public geht eben nicht das "SendClientMessage" natürlich muss man noch bei dem "SetTimer" ein Forward machen, was ich natürlich auch gemacht habe. Aber anstatt 6 Sekunden zu warten, und das sich DANN der Timer aktiviert, aktiviert er sich sofort und das ganze wird nur heruntergerackert.

    Wer kennt das nicht?
    Man Joint ins Spiel und wird gefragt ob man ein "Rundgang" haben möchte, oder sowas ähnliches. Wo dann unterschiedliche Orte gezeigt werden & ein Text erscheint wo z.B. steht "Hier siehst du...." und die Kamera um das Gebäude herumschwirrt, oder vor dem Gebäude.
    Sowas möchte ich auch machen.
    Ich habe alle Informationen die ich brauch (wohin muss die Kamera etc.) nun möchte ich aber das zwischen jeder Kamerafahrt gewartet wird.


    Beispiel:
    Kamerafahrt 1: Stadthalle
    --Text zur Stadthalle--
    WARTEN (6 Sekunden z.B. zum lesen)
    Kamerafahrt 2: Los Santos Bank
    --Text zur Los Santos Bank--
    WARTEN (6 Sekunden)


    Ich habe vieles versucht, z.B. SetTimer, SetTimerEx weiß aber nicht wie ich das auf meinem Beispiel übertragen soll. Als ich versuchte einen Timer namens "Bank" zu erstellen und in dem public dann "SendClientMessage" zu machen zeigte er mir einen Fehler an, das "playerid" schon vorhanden sei.


    Hat jemand irgendeine Idee?

    OnPlayerSpawn:

    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    new skin = dini_Int(Spieler,"Skin");
    SetPVarInt(playerid,"Skin",skin);
    SetPlayerSkin(playerid, skin);
    if(IstSpielerInFraktion(playerid,0)) // ZIVI SPAWN
    {
    SetSpawnInfo(playerid,0,skin,1766.2850,-1895.8571,13.5629,273.2245,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetPlayerColor(playerid, weiß);
    return 1;
    }
    if(IstSpielerInFraktion(playerid,2)) //LSPD SPAWN
    {
    SetPlayerPos(playerid,1535.9575,-1623.2018,13.3828);
    SetPlayerColor(playerid, blau);
    SendClientMessage(playerid,blau,"Du bist beim LSPD gespawnt!");
    return 1;
    }
    return 1;

    Ich musste anfangen zu lachen.
    Ich meine, "klauen" ist ja was anderes hast die Mülltonnen ja wieder.
    - Müllabfuhr
    - kleiner Streich
    gibt so viele Gründe. Oder weil deine Mülltonne so hübsch aussieht wie die von deinem Nachbarn?


    stock Register(playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    dini_Create(Spieler);
    dini_Set(Spieler,"Passwort",key);
    dini_IntSet(Spieler,"Adminlevel",0);
    dini_IntSet(Spieler,"Level",0);
    dini_IntSet(Spieler,"Fraktion",0);
    dini_IntSet(Spieler,"Team",0);
    dini_IntSet(Spieler,"Beruf",0);
    SendClientMessage(playerid,gelb,"Du hast dich ERFOLGREICH registriert!");
    SpielerReset(playerid);
    SetPVarInt(playerid,"loggedin",1);
    GivePlayerMoney(playerid,5000);
    dini_Set(Spieler,"Skin","-1");
    SetPlayerPos(playerid,1766.2850,-1895.8571,13.5629);
    SetPlayerCameraPos(playerid,1771.3131,-1897.6000,13.5551);
    SetPlayerCameraLookAt(playerid,1766.2850,-1895.8571,13.5629);
    SendClientMessage(playerid,gelb,"Mit /navigation findest du alle wichtigen Orte.");
    return 1;
    }

    Kannst du das OnDialogResponse Callback auch noch posten? Hatte vergessen, dass du da noch Dialoge hast.



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == BUY)
    {
    if(response == 0)
    {
    return 1;
    }
    if(listitem == 0)
    {
    GivePlayerMoney(playerid, -20);
    GivePlayerWeapon(playerid,367,100);
    SendClientMessage(playerid,gelb,"Du hast dir erfolgreich die Kamera für 20$ gekauft!");
    GivePlayerWeapon(playerid,43,200);
    }
    if(listitem == 1)
    {
    GivePlayerMoney(playerid, -50);
    GivePlayerWeapon(playerid,323,100);
    SendClientMessage(playerid,gelb,"Du hast dir erfolgreich den Vibrator für 50$ gekauft!");
    GivePlayerWeapon(playerid,12,1);
    }
    if(listitem == 2)
    {
    GivePlayerMoney(playerid, -90);
    GivePlayerWeapon(playerid,336,100);
    SendClientMessage(playerid,gelb,"Du hast dir erfolgreich den Baseballschläger für 90$ gekauft!");
    GivePlayerWeapon(playerid,5,1);
    }
    if(listitem == 3)
    {
    GivePlayerMoney(playerid, -2000);
    GivePlayerWeapon(playerid,369,100);
    SendClientMessage(playerid,gelb,"Du hast dir erfolgreich die Infrarot-Schutzbrille für 2000$ gekauft!");
    GivePlayerWeapon(playerid,45,1);
    }
    }
    if(dialogid == LOGIN)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,rot,"Du wolltest dich nicht einloggen!");
    Kick(playerid);
    return 1;
    }
    if(response == 1)
    {
    SpielerLaden(playerid,inputtext);
    return 1;
    }
    }
    if(dialogid == REGISTER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,gelb,"Du hast den Registrierungsvorgang abgebrochen!");
    Kick(playerid);
    }
    if(response == 1)
    {
    Register(playerid,inputtext);
    }
    }


    if(dialogid == INFO)
    { if(response == 0)
    {
    return 1;
    }
    if(listitem == 1)
    {
    ShowPlayerDialog(playerid,BERUFE,DIALOG_STYLE_LIST,"Berufe","Busfahrer/in\nMechaniker/in","OK","Abbrechen");
    }
    }


    if(dialogid == BERUFE)
    {
    if(response == 0)
    {
    return 1;
    }
    if(listitem == 0)
    {
    SendClientMessage(playerid,gelb,"Ein Checkpoint wurde bei dem Beruf gesetzt!");
    SetPlayerCheckpoint(playerid,1154.3901,-1771.3240,16.5992,5.0);
    }
    }
    return 1;
    }

    Hallo. Ich sollte hier ein Thema aufmachen.
    Um euch zu informieren:
    Ich versuche eine Skin-Auswahl zu machen, sodass Mitglieder die sich Registrieren wollen danach den Skin aussuchen und gespawnt werden. Bei denen die schon registriert sind und man in der .txt Datei z.B. schon Skin 192 schrieb, funktioniert es. Die können sich dann problemlos mit dem Skin immer und immer wieder einloggen.


    Mein Problem ist es:
    Insofern einer der noch nicht registriert ist ein Skin auswählen möchte und sich spawnt wird nach (gefühlten 5 Sekunden) der Skin wieder zu CJ umgeändert.


    OnPlayerConnect:

    public OnPlayerConnect(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SendClientMessage(playerid,gelb,"Herzlich Willkommen zurück auf EnjoyYourLife!");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in der Datenbank gefunden.\nBitte gebe hier dein Passwort ein:","OK","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Dein Account wurde noch nicht gefunden.\nBitte schreibe dein Passwort hier rein:","OK","Abbrechen");
    }
    return 1;
    }



    OnPlayerRequestClass

    public OnPlayerRequestClass(playerid, classid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    new skin = dini_Int(Spieler,"Skin");
    if(dini_Exists(Spieler) && skin != -1)
    {
    SetPVarInt(playerid,"Skin",skin);
    SetSpawnInfo(playerid,0,skin,1766.2850,-1895.8571,13.5629,273.2245,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    }
    return 1;
    }


    OnPlayerRequestSpawn

    public OnPlayerRequestSpawn(playerid)
    {
    if(GetPVarInt(playerid,"Skin") == 0) SetPVarInt(playerid,"Skin",GetPlayerSkin(playerid));
    return 1;
    }


    OnPlayerSpawn

    public OnPlayerSpawn(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    new skin = dini_Int(Spieler,"Skin");
    SetPVarInt(playerid,"Skin",skin);
    if(IstSpielerInFraktion(playerid,0)) // ZIVI SPAWN
    {
    SetSpawnInfo(playerid,0,skin,1766.2850,-1895.8571,13.5629,273.2245,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetPlayerColor(playerid, weiß);
    return 1;
    }
    if(IstSpielerInFraktion(playerid,1)) //LSPD SPAWN
    {
    SetPlayerPos(playerid,1535.9575,-1623.2018,13.3828);
    SetPlayerColor(playerid, blau);
    SendClientMessage(playerid,blau,"Du bist beim LSPD gespawnt!");
    return 1;
    }
    return 1;
    }

    Such halt nach SetPlayerSkin in deinem Code und überleg ob es an denjenigen Stellen überhaupt Sinn ergibt anstatt hier rumzufragen warum es denn nicht geht... 8o


    Wenn man es schon an jede Stelle getan hat um zu gucken "funktioniert es - funktioniert es nicht" dann muss man halt nach rat fragen dafür ist dieser Thread, das Thema hier offen.


    Jeffry
    Hab es eingefügt.
    Leider ist der Bug immer noch nicht weg mit dem CJ Skin.
    Sollte ich ein Timer erstellen der dann nach 5 Sekunden den Skin automatisch ändert und einfach eine Abfrage machen if Skin ... Selected (nur mal als beispiel) dann SetPlayerSkin ... ?

    Nein ich habe kein Timer.
    Die 5 Sekunden waren nur so gefühlt.
    Man joint ins Game (als unregistrierter) registriert sich und sucht dann Skin aus. 5 Sekunden (ca.) nachdem man den Skin ausgewählt hat wird der wieder zu CJ zurückgesetzt.
    Wenn du den Bug nicht verstehst connecte dich hier: server1.hostmania.eu:7816
    Dort wird der Server gehostet.

    Kleineres Skin-Auswahl-Problem.
    Ich möchte es so machen: wenn der Spieler NEU ist, kann er in die Skin Auswahl.
    Wenn er allerdings schon registriert ist soll er sich mit den Skin einloggen können. (Ohne eine Skin-Auswahl zu sehen)


    Bei "SpielerLaden" und "SpielerSpeichern" hab ich es jeweils eingefügt sowie in Enum.
    Bei OnPlayerSpawn und OnPlayerRequestClass ebenso.


    Mein Problem: Ich weiß nicht wo ich das hintun soll. (Siehe in den folgenden Code)

    //Skinauswahl
    //JUNGS (19) die Zahlen in den Kommentaren hinter den Befehl sind die Skin IDs #merken
    AddPlayerClass(0, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //0
    AddPlayerClass(3, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //3
    AddPlayerClass(15, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //15
    AddPlayerClass(17, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //17
    AddPlayerClass(18, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //18
    AddPlayerClass(20, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //20
    AddPlayerClass(21, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //21
    AddPlayerClass(23, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //23
    AddPlayerClass(25, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //25
    AddPlayerClass(26, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //26
    AddPlayerClass(29, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //29
    AddPlayerClass(28, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //28
    AddPlayerClass(33, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //33
    AddPlayerClass(32, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //32
    AddPlayerClass(37, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //37
    AddPlayerClass(36, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //36
    AddPlayerClass(38, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //38
    AddPlayerClass(49, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //49
    AddPlayerClass(51, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //51
    //MÄDCHENS (19)
    AddPlayerClass(9, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //9
    AddPlayerClass(10, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //10
    AddPlayerClass(12, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //12
    AddPlayerClass(41, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //41
    AddPlayerClass(40, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //40
    AddPlayerClass(55, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //55
    AddPlayerClass(54, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //54
    AddPlayerClass(63, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //63
    AddPlayerClass(65, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //65
    AddPlayerClass(90, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //90
    AddPlayerClass(131, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //131
    AddPlayerClass(150, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //150
    AddPlayerClass(157, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //157
    AddPlayerClass(169, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //169
    AddPlayerClass(178, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //178
    AddPlayerClass(193, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //193
    AddPlayerClass(226, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //226
    AddPlayerClass(201, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //201
    AddPlayerClass(216, 1766.2850,-1895.8571,13.5629,273.2245, 0,0,0,0,0,0); //216


    OnPlayerSpawn:

    SetPlayerSkin(playerid, GetPVarInt(playerid,"Skin"));


    OnPlayerRequestClass:

    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Sname);
    SetSpawnInfo(playerid,0,SetPlayerSkin(playerid,dini_Int(Spieler,"Skin")),1766.2850,-1895.8571,13.5629,273.2245,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);

    Naja, also zu deiner Meinung das man sich ja nicht viel Mühe bei der Mauer geben muss, find ich schwachsinnig. Schließlich soll später ein gutes/großes Projekt auf die beine gestellt werden. Da kann man zeit investieren sich um den Serverswitch zu kümmern. Bei dir hört sich das an wie 0 Plan, und ganz schnell (hab ich so das gefühl).


    Siehe erste Zeile in meinem Text. Da habe ich eingesehen das es zu viel Aufwand wäre da ich das Wasser und den Himmel also Helikopter nicht mit inbetracht gezogen habe.



    Gestige Reife ist bei jeden halbwegs guten Projekt vorhanden, aber die Ziele, bzw. was die Projektleiter im Endeffekt selber für Regel aufstellen wollen, ist bei jeden unterschiedlich.
    So ein Projekt würde nicht funktionieren, bzw. würde zerbrechen. Und bei großen Servern zusammen tun, würde eh nicht funktionieren. Warum sollte man seine gesamte Arbeit hinwerfen und dann etwas neues noch ungetestetes machen.
    Beim RAM braucht man sich keine Sorgen machen, wenn der Server ordentlich ist.

    Grunsätzlich ist der Vorschlag aber gut, aber unmöglich umzusetzen, höchstens bei neu gründenden Servern.


    Man muss nicht direkt die Arbeit hinwerfen was man bereits gescriptet hat, man tut dies entweder mit in den Server rein oder lässt die pwn Datei einfach und fängt neu an.
    Ich habe viele viele Server gesehen die besaßen keine geistige Reife. Da wurden Sätze gesagt wie "Ich spritz dir gleich in dein Gesicht" wohlgemerkt zu mir, und das finde ich ist keine geistige Reife. Die kleineren Server behruhen nur auf einen Pure-RP Script das ziemlich langweilig wird. Wieso nicht also was GANZ NEUES machen. Ob es am ende klappt oder nicht, das ist die Frage. Ansonsten erstellt man 3 Server und sagt "wenn ihr in LS spielen wollt geht auf diese IP" also hätte man noch ein Notfall Plan.


    Ob dann am Ende genausoviele Spieler auf den SF Server wie auf dem LS Server sind ist fraglich. Man könnte auch einfach ein einheitliches Projekt machen. Sodass in jedem Staat (LS,SF,LV) was gescriptet ist. Das in jedem Staat z.B. eine Fahrschule ist und das man selber bestimmen kann wo man spawnt. Ohne Grenzen oder sonstiges das könnte man auch machen.


    Woher weißt du das denn nun?


    Es würde doch nur Komplikationen geben, wenn sich drei Server zu einem zusammen schließen, zum Beispiel: Wer entscheidet welcher Server welche Stadt bekommt?


    Dafür brauch man eben geistliche Reife. Das machen dann die Scripter unter sich aus.
    Geistliche Reife ist das A. und O. in diesem Projekt.


    @.StriX
    Klar man kann noch das Wasser in betracht ziehen, und den Himmel stimmt daran habe ich nicht gedacht. Aber dann müssten "wir" (also die Scripter) uns ausmachen wie wir dies tun wollen. Es wird schon kompliziert aber ich denke man kann erstmal die 3 Staaten machen, und weiterschauen. Die Grenze würde ich zuletzt machen, denn man kann sich vorher besprechen biswohin gescriptet und gemappt werden darf. Und die Grenze wird auch das letzte Problem sein also müssten dann die Scripter sich wieder zusammensetzen und eine gemeinsame Idee austüffteln.

    Idee ist gut, hätte sogar lust mitzuwirken.
    Das Problem ist nur, wie wollt ihr das machen. Ich kenne keine Funktion im Scripting die auf einen anderen Server Connected.


    Wäre es möglich, 3x Server bei einem Hoster zu nehmen (z.B Nitrado) und alle mit einer Datenbank zu verbinden (über localhost doch rein theoretisch möglich sofern alle 3x auf einem Note). Koordis gespeichert werden wo man in eine andere stadt fährt, ihn in der Range kicken lassen (oder Include zum wechseln schreiben) und dann Koordis auslesen aus der datenbank und auf anderem Server spawnen.


    Komisches gedöns, keine Ahnungs obs möglich wäre, aber ich wäre dabei.


    Ich wäre ebenfalls dabei. Ich nehme LS.
    Ich denke sowas wäre viel zu kompliziert. Man könnte auch ganz einfach eine "Mauer" dahin Mappen um einfach die Grenze zu symbolisieren. So muss man sich wirklich nicht viel Mühe machen (außer die Mauer dahin zu mappen)

    Wieso labert ihr so viel? Macht doch einfach ein solches Projekt.
    Die Städte Los Santos, San Fierro, Las Venturas haben ihr eigen Leben. Quasi die in LS werden niemanden in SF begegnen. Wenn man möchte das jemand den Server wechselt (wird dann wahrscheinlich in der Datenbank gespeichert) nimmt man ein bisschen Geld an und tut ihn dann auf den anderen Server. Oder er macht sich einen neuen Account, da man aber dann schlauerweise die IP bannt (also das man keinen neuen Account erstellen kann) müssen die blechen. Oder sie starten ihr Rooter neu das geht auch.
    Grundsetzlich sollte man aber die Städte anders machen. Das heißt in SF sollte nicht das selbe wie LS existieren (bisauf die Fraktionen) vielleicht gibt es da kleinere Besonderheiten wofür es sich lohnt umzusteigen um so nochmal Geld zu verdienen.


    Es wird nicht schwer, es setzen sich maximal 3 Scripter dran (LS,SF,LV) und dann wird besprochen.
    Man kann auch mehrere Scripts machen (z.B. Loginsystem ist 1 und Autos ist 1) und am Ende tut man dann alles in einem und so konnte sich keiner in die quere kommen. Ich denke die Idee ist schon sehr gut und es wäre mal was anderes aber dann sollte jeder Staat auch anders aussehen. (z.B. in LS gibt es ein Tätoo Laden und in SF gibt es ein All-In-One-Shop oder irgendwie sowas)


    Fazit: Es ist sehr wohl machbar wenn man die geistige Reife, die Geduld dafür besitzt. Und dieses mit "da will der eine Staat die Macht" wtf wir sind nicht im Krieg. Wenn der Server Geld verdient wird es dann aufgeteilt. Bei solch einem Projekt gibt es keinen Staat der mehr "Macht" will. Man macht dieses Projekt weil es einem Spaß macht, und wenn man sich gut versteht untereinander dann gibt es auch keinen "Machtkamp." Zudem ist LS, SF und LV getrennt sodass nicht mal ein "Machtkampf" beginnen kann.

    Deine magische Kugel hat unrecht. Die Daten sind zu 100% richtig. Habe inderzeit 4 neue ausprobiert wovon 1er in Frage kam.
    (hostet kostenlos den Server + MySQL Datenbank)
    Habe auch die von palwal ausprobiert dieser zeigt mir aber auch nur Fehler an.
    Ich werd schon mit so ein Linux ding klar kommen, mein jetziges Problem ist es nur das ich ein Registrierungs System einbauen möchte, nur das er direkt in die Skinauswahl (die nicht mehr vorhanden ist - ausgeklammert) geht. Versteh ich nicht, aber ich mache morgen vielleicht ein neues Script, füg da alles ein und wenn es klappt dann übertrag ich es auf mein richtiges Script.

    Normalerweise hat jeder User unten rechts die Möglichkeit so Upzugraden. (In der Taskleiste ist ein Symbol)
    Sollte dies nicht der Fall sein: hast du Minecraft dir "Premium" gekauft? Wenn ja, jeder Minecraft Benutzer erhält auch Windows 10 kostenlos. (Ich glaube aber nur die Beta)
    Wenn du dir Windows 10 Upgradest via Symbol hast du es nur 1 Jahr kostenlos. Was danach passiert weiß ich nicht.


    Symbol: