Beiträge von Jeffry

    Wird OnPlayerDeath zuerst in Filterscripts oder zuerst im Gamemode ausgeführt?

    Im Filterscript.



    Gibt's ne Funktion womit ich Befehle verbieten kann ohne das im Befehl zu ändern? Sprich via FilterScript z.B. obwohl der Befehl im Gamemode ist?

    Du setzt eine Spielervariable im Filterscript auf true, und wenn diese true ist, returnst du im Filterscript 1, dann wird im Gamemode der Befehl nicht mehr aufgerufen.

    Beim Dialog anzeigen:

    C
    if(strlen(str)) ShowPlayerDialog(playerid, DIALOG_EVENTLIST, DIALOG_STYLE_MSGBOX, "Event Participants", str, "Ok", "");
    else SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Spieler im Event.");

    Unter den Includes:

    C
    new bool:inEvent[MAX_PLAYERS];



    Beim Dialog anzeigen:

    C
    new str[512], pname[MAX_PLAYER_NAME];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    	if(IsPlayerConnected(i) && inEvent[i])
    	{
    		GetPlayerName(i, pname, MAX_PLAYER_NAME);
    		format(str, sizeof(str), "%s%s (ID: %d)\n", str, pname, i);
    	}
    }
    ShowPlayerDialog(playerid, DIALOG_EVENTLIST, DIALOG_STYLE_MSGBOX, "Event Participants", str, "Ok", "");


    Beim Verlassen des Events:

    C
    inEvent[playerid] = false;

    Uhh, hast du etwas bei OnPlayerConnect geändert?
    Kommentiere da vielleicht testweise mal alles aus, und schaue ob es dann geht. Möglicherweise hängt er irgendwo in einer Endlosschleife, genau kann ich dir das aber leider nicht sagen, da musst du rumprobieren, wo der Fehler liegen könnte.


    Wenn möglich, mache die Änderungen die du gemacht hast rückgängig, vielleicht löst das das Problem schon. Außer du hast irgendwo unbewusst aus Versehen etwas geändert.

    Ah, sorry. Das liegt daran, dass ich immer printf nutze, da habe ich vergessen das zu ändern.

    So passt es.

    Erstmal danke für das Erstellen eines Threads, das macht die Sache übersichtlicher.
    Versuche es so:

    Was wird dann geprintet?