Beiträge von Padarom

    Seh' nur ich es so oder sind Obdachlose die in einem Wohnwagen wohnen keine Obdachlosen mehr? :D
    Nichts desto trotz, laut Screens ordentlich gemappt, hat schöne Details und ist gut. Lediglich den Zaun am Rand würde ich weglassen, ich glaube niemand kann vom Wasser aus so hoch springen ;)

    Ich frag mich, wieso hier in dem Thread 3 gleiche (zumindest von der Funktionsweise und Richtigkeit) Scripts zum C&P sind, aber es trotzdem Errors gibt :D

    Da wär ich auch dabei, hab L4D & L4D2 auf meinem Steam-Acc - Amnesia ist natürlich auch was feines, ich hab da nach etwa 3 Stunden aufgehört und 2 Wochen nicht gespielt weil das richtig angsteinflößend war :D

    Das ist es nicht, er sucht die Dini-Dateien, nicht irgendwelche im Script vorhandene Spielerdateien.


    Wenn du eine Include findest, die alle Spielerdateien auslesen könnte, dann könntest du dies mit einer Schleife tun, das .ini wegcutten und mit strcmp arbeiten. Ist aber wohl zu kompliziert und aufwendig, deswegen würde ich meinen Nutzern einfach sagen, dass ihr Name gleich bleiben soll :D

    Dann fügst du das irgendwo ein, wo das nicht hingehört. Der Code ist richtig. Also muss es an dir liegen.
    26 Errors kommen prinzipiell nur bei Klammerfehlern vor, und den hast du wahrscheinlich weil du die Timer-Publics irgendwo in ein anderes Public gestopft hast, oder den Command nicht unter OnPlayerCommandText.

    Wie gesagt, du musst dein if(strcmpcmd, ... trotzdem machen, ich habe dir nur den eigentlichen Teil des Commands gepostet.
    So wie du es gemacht hast funktioniert es auf keinen Fall, da Timer so nicht funktionieren. Außerdem kann man Publics nicht in anderen Publics starten. Lies dir mal in der Wiki ein Timer-Beispiel durch (oder hier irgendwo im Forum ein Tutorial), dann sollte es dir klar werden.
    Nutz' den Code von Benutzername (da ist die Command-Einleitung mit drinne), ändere das /gmx in /serverneustart oder was auch immer um und es klappt.

    inputtext ist kein Integer wie du ihn hier brauchst.
    Mache es wie folgt und es sollte gehen:


    SetPVarInt(playerid, "Alter", strval(inputtext));
    Am besten arbeitest du vorher aber noch mit einer IsNumeric-Abfrage, ansonsten crasht vielleicht irgendwas oder geht nicht.


    Mit freundlichen Grüßen
    Padarom

    Timer müssen geforwarded sein und einen Namen besitzen. Lies dir mal die Wiki-Funktion von SetTimer durch. Außerdem wird bei dir wirklich alles gleichzeitig gemacht.



    if(strcmp(cmd, "/Serverneustart", true) == 0 || strcmp(cmd, "/sn", true) == 0)
    {
    if(IsPlayerAdmin(playerid))
    {
    SetTimer(timer1, 6000, 0);
    SendClientMessageToAll(COLOR_ORANGE,"Serverneustart in 3 Minuten");
    }
    else SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin.");
    return 1;
    }

    Das überprüft jetzt halt, ob der Spieler als RCON-Admin eingeloggt ist, ansonsten änder einfach das IsPlayerAdmin(playerid) zu deinem um. Die Fehler die du gepostet hast, weisen auf Klammerfehler hin. die forward timer1 usw. kommen oben zu deinen new's/defines und die publics ganz unten ins Script.
    Der Command kommt natürlich in OnPlayerCommandText.


    Eigentlich sollte es so gehen, ansonsten wüsste ich nicht was falsch ist.


    Mit freundlichen Grüßen
    Padarom

    Mh, dann wüsste ich leider auch nicht wie's geht. Vielleicht greift Steam ja mit orginalem Steam-Gmod über die HL2.exe (von deinem Halflife) auf die GMod-Spieldateien zu. Wäre wohl etwas komplizierter, musst du wohl eher googlen wie das geht :/

    Geh mal in deiner Steambibliothek unten auf Spiel hinzufügen und dann auf Steam-fremdes Spiel. Da drückst du auf Durchsuchen und wählst die .exe von gmod9 aus- Weil du es von Chip runtergeladen hast, erkennt es Steam nicht als eigenes Spiel.


    (Aber wieso ist GMod kostenlos, ich hab es mir doch erst vor ein paar Monaten gekauft :D)

    forward timer1();
    forward timer2();
    forward timer3();


    // Hier Command-Einleitung
    if(IsPlayerAdmin(playerid))
    {
    SetTimer(timer1, 6000, 0);
    SendClientMessageToAll(COLOR_ORANGE,"Serverneustart in 3 Minuten");
    }
    else SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin.");


    public timer1()
    {
    SendClientMessageToAll(COLOR_ORANGE,"Serverneustart in 2 Minuten");
    SetTimer(timer2, 6000, 0);
    return 1;
    }


    public timer2()
    {
    SendClientMessageToAll(COLOR_ORANGE,"Serverneustart in 1 Minute");
    SetTimer(timer3, 6000, 0);
    return 1;
    }


    public timer3()
    {
    SendClientMessageToAll(COLOR_ORANGE,"Server startet neu.");
    SendRconCommand("gmx");
    return 1;
    }

    Alternativ könntest du den Timer auch repeaten lassen und mit einem Integer überprüfen wie oft er schon abgelaufen ist.


    Ich hoffe das hat dir ansatzweise geholfen ;)


    Mit freundl. Grüßen
    Padarom

    Ist nicht ganz so ideal mit OnPlayerKeyStateChange, da einige Tasten das Callback nicht auslösen (beispielsweise Pfeiltasten). Setze einen Timer auf die gewünschte Zeit für jeden Spieler und setze ihn bei OnPlayerUpdate jedes mal zurück. Ist aber recht ressourcenfressend, da manche Timer von manchen Spielern dann pro Sekunde was weiß ich wie oft neugestartet werden.