Handtuch braucht leider Hilfe bei DM Arena

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
  • Guten Tag liebe Leser und Leserinnen .
    Ich habe ein Problem , Ich habe zb. eine DM Arena dann werde ich hingeportet /dm zb.
    Nur wenn ich sterbe bin ich wieder am normalen Spawn , Wie kann ich machen das man in der Arena spawnt ?

  • z.b. so
    ganz oben


    new tod[MAX_PLAYERS];
    public OnPlayerSpawn(playerid)
    {
    if(tod[playerid] == 1)
    {
    SetPlayerPos(playerid,Float:x,Float:y,Float:z)
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    tod[playerid] = 1;
    return 1;
    }


    ist ungetestet.

  • Nur würde ich eben andere Variablen nehmen


    Wenn er in der DM Arena ist eine Variable auf 1 oder sowas setzen


    z.b.


    /dm 1
    -> Variable InDMArena[playierid] = 1
    /dm 2
    -> Variable InDMArena[playierid] = 2


    usw..


    Dann onplayerspawn


    if ( InDMArena[playerid] == 1 )
    {
    SetPlayerPos (zu dem Arena Spawn)
    }
    else if ( InDMArena[playerid] == 2 )
    {
    SetPlayerPos (zu dem Arena Spawn der Arena 2)
    }


    usw


    Mfg

    ik bin der vito c:

  • ich würde das folgendermaßen machen.


    Bei deinem CMD /dm einfach noch SetSpawnInfo(playerid, ....) und eine Variable, daß das Script weiss, da du in der DM Arena bist. Z.B. playerAreanDM[playerid] = 1;
    Bei OnPlayerDeath einfach Abfragen, ob der Spieler in der DM Arena ist (siehe Variable als Beispiel) und dort einfach ein return 1; machen.


    Ich code das mal :D

    public OnPlayerCommand(playerid, cmdtext[])
    {
    if (!strcmp(cmdtext, "/dm", true) {playerArena[playerid] = 1; SetPlayerPos(...); SetSpawnInfo(...); return 1;}
    return 0;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if (playerArena[playerid]) return 1;


    /* dein restlicher Code für diesen Callback */
    return 1;
    }


    Wo ich nur (...) gemacht habe, musst du natürlich den Code vervollständigen ;)

    Einmal editiert, zuletzt von Woozie ()