Event System | Fragen & Probleme

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
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • C
    CMD:ecountdown(playerid,params[]) //Starts a countdown, after the countdown the Doors will be locked. (There is no command yet to unlock the doors).
    {
    	if(countTimer != -1) return SendClientMessage(playerid, RED, "ERROR: Countdown is already enabled.");
    	if(!params[0]) return SendClientMessage(playerid, 0xFF0055FF, "Type in a time.");
     	if(status) return SendClientMessage(playerid, 0xFF0000FF, "Error: Nicht unlocked.");
    	new time = strval(params);
    	if(time < 10 || time > 500) return SendClientMessage(playerid, RED, "Type in a time from 10 to 500..");
    	countTimer = SetTimerEx("CountDownObjekte", 1000, false, "dd", playerid, time);
    	return 1;
    }



    Und die Deklaration:

    C
    new bool:status = true;


    Versuche es dann so.

  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Du solltest jetzt aber in der Lage sein, den /elock Befehl zu verwenden, um die Objekte zu entfernen.
    An dem Code, den du gepostet hast, kann ich nicht nachvollziehen, warum die Objekte zu Beginn schon da sind (Serverstart?), daher versuche es erst mal mit dem elock Befehl, die müssten dan weg gehen, dann kannst du den countdown starten, der die Objekte erstellt.

  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Ahh, so meinst du es! Eine ausführliche Erklärung ist immer hilfreich.


    Unter den Includes:

    C
    new bool:blockCountdown;


    Im Countdown Befehl:

    C
    if(blockCountdown) return SendClientMessage(playerid, 0xFF0000FF, "Error: Erst die Runde beenden.");
    blockCountdown = true;


    Dort wo die Objekte gelöscht werden:

    C
    blockCountdown = false;
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Das ist die maximale Länge des Strings.
    In deinem Fall eben der Name (MAX_PLAYER_NAME) plus " has stopped the Event Countdown.", also 33, plus 1 (EOS-Zeichen). Daher musst du es auf 34+MAX_PLAYER_NAME ändern.


    Oder du machst einfach:

    C
    string[64]


    Das passt auch.

  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde vom Autor gelöscht ().