Was ist daran falsch?

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
  • Hey zusammen,


    also ich hatte mir mal so eine kleine DM-Funktion gescriptet.
    Eigentlich wenn man im DM-Modus ist, dann sollte der Spieler wieder in der DM-Zone spawnen anstatt normal.
    Aber jetzt ist das Problem, der Spieler spawnt bei der DM-Zone aber stirbt sofort wieder und spawnt ganz normal.
    Hier ist das bei OnPlayerDeath:




    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(dm[playerid] == 1)
    {
    GivePlayerMoney(killerid,100);
    GivePlayerMoney(playerid,-100);
    SetPlayerPos(playerid,-482.09710693359,-173.18466186523,77.222534179688);
    }
    if(dm[playerid] == 1)
    {
    GameTextForPlayer(playerid,"~r~Du bist gestorben", 5000, 3);
    new name[MAX_PLAYER_NAME+1];
    new string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "%s ist gestorben.", name, reason);
    SendClientMessageToAll(0xAA3333AA, string);
    }
    return 1;
    }


    Und hier der ganze Befehl und das andere Zeug:



    new dm[MAX_PLAYERS];



    if (strcmp("/dmzone", cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,-482.09710693359,-173.18466186523,77.222534179688);
    dm[playerid] = 1;
    return 1;
    }



    if (strcmp("/dmstop", cmdtext, true, 10) == 0)
    {
    if(dm[playerid] == 1)
    {
    SetPlayerHealth(playerid,0);
    dm[playerid] = 0;
    return 1;
    }



    Hoffe ihr könnt mir weiterhelfen.

  • das muss unter onpalyerspawn sonst wird er ja in dem moment geportet wo er stirbt
    public OnPlayerSpawn(playerid)
    {
    if(dm[playerid] == 1)
    {
    SetPlayerPos(playerid,-482.09710693359,-173.18466186523,77.222534179688);
    }
    return 1;
    }
    das hier unter onplayerdeath
    if(dm[playerid] == 1)
    {
    GameTextForPlayer(playerid,"~r~Du bist gestorben", 5000, 3);
    new name[MAX_PLAYER_NAME+1];
    new string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "%s ist gestorben.", name, reason);
    SendClientMessageToAll(0xAA3333AA, string);
    GivePlayerMoney(killerid,100);
    GivePlayerMoney(playerid,-100);
    }

  • Bei den Befehlen fehlt 1 Klammer:

    if (strcmp("/dmstop", cmdtext, true, 10) == 0)
    {
    if(dm[playerid] == 1)
    {
    SetPlayerHealth(playerid,0);
    dm[playerid] = 0;
    }
    return 1;
    }


    Bitte ;)


    //edit: @[Nes]Fischer/NeoPhoenix: Ich habs gemerkt ;) Aber danke für den Tipp :)