Deathmatch Team erstellen

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 leute ,


    ich wollte mal wieder was wissen :D


    wie erstelle ich ein death match also z.b:


    ich schreib beim chat : /dm


    und dan werde ich zu meinen ort teleportiert wo der deathmatch ist.


    und wen ich da sterbe werde ich noch mal da beim deatch match gespawnt.


    und wen ich beim chat schreibe: /exit


    komm ich da hin wo ich will ( die x y z sachen schreib ich selbst hin:D)


    ------------------------------------------------------------------------------------------


    wie kann man so was machen :?:

  • new DMON;


    if (strcmp(cmd, "/dm", true) == 0)
    {
    if(DMON(playerid) == 0)
    {
    SetPlayerPos(playerid, x,y,z)
    DMON[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR, "du bist bereits im Deathmatch ! /dmexit !");
    }
    return 1;
    }


    Bei OnPlayerDeath


    if(DMON == 1)
    {
    SetPlayerPos(playerid, x,y,z)
    }


    Den exit befehl kannste wohl selber machen


    ich glaube so müsste es gehen, wenn nicht schreib die errors hab lange nix mehr gemacht kann sein das da was falsch ist

  • new DMON[MAX_PLAYERS];


    if (strcmp(cmd, "/dm", true) == 0)
    {
    if(DMON[playerid] == 0)
    {
    SetPlayerPos(playerid, x,y,z);
    DMON[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR, "du bist bereits im Deathmatch ! /dmexit !");
    }
    return 1;
    }


    Bei OnPlayerSpawn


    if(DMON[playerid] == 1)
    {
    SetPlayerPos(playerid, x,y,z);
    }


    Bei OnPlayerConnect


    DMON[playerid] = 0;
    Habs mal verbessert.

  • Bittesehr ;)


    new DeathmatchStatus[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    DeathmatchStatus[playerid] = 0;
    return 1;
    }


    public OnPlayerDisconnect(playerid)
    {
    DeathmatchStatus[playerid] = 0;
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(DeathmatchStatus[playerid] == 1)
    {
    SetPlayerPos(playerid, X,Y,Z); // deine Deathmatch Cords
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/dm", true) == 0)
    {
    if(DeathmatchStatus[playerid] == 0)
    {
    SetPlayerPos(playerid, X,Y,Z); // deine Deathmatch Cords
    DeathmatchStatus[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, 0x666666FF, "Du bist bereits in der Deathmatch Zone!");
    }
    return 1;
    }
    if (strcmp(cmdtext, "/funexit", true) == 0)
    {
    if(DeathmatchStatus[playerid] == 1)
    {
    SetPlayerPos(playerid, X,Y,Z); // deine Cords. wo er hin soll
    DeathmatchStatus[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, 0x666666FF, "Du bist nicht in der Deathmatch Zone!");
    }
    return 1;
    }
    return 0;
    }

  • Mithilfe der PVarInt Funktion könnte man sich Arbeit ersparen, da diese bei Disconnect automatisch resetet wird.


    SetPVarInt(playerid, "PlayerIsInDM", 1); //Bei /DM benutzen
    SetPVarInt(playerid, "PlayerIsInDM", 0); //Bei /Exit benutzen


    Um das zu überprüfung nutzt man:


    if(GetPVarInt(playerid, "PlayerIsInDM") == 1) { ... }