DM Feld Teleport

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, alsoo, ich hätte gerne von EUCH für MEINEN Gamemode, etwas,
    wo man ins DM geportet wird, und wenn man stirbt, das man wieder am
    DM Feld spawnt... :)


    Es sollte desweiteren auch keine befehle nutzbar sein ausser /exitmini

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Einfach ne Variable nehmen
    indm[MAX_PLAYERS];
    bei dem befehl /dm wird die var auf eins gesetzt.
    Dann bei OnPlayerSpawn :
    if(indm[polayerid] == 1)
    {
    // DMspawnpunkt
    }
    else
    {
    // normaler spawn wenn nicht indm
    }


    Dann bei den Befehlen genau die gleiche Abfrage


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • also irgendwie... versteh... ich das nit ganz :<

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Wenn er in der DM-Zone Spawnen soll, solltest du iwas definiert haben..

    if(indm[playerid] == 1)//Abfragt ob er In der DM Zone ist (Ist Beispiel)
    {
    //Hier kannst du die Koordinaten rein haun am besten per Float
    }
    else //Oder ist er nicht in der DM Zone? Hier den normalen spawn
    {
    // normaler spawn wenn nicht indm
    }


    new indm[MAX_PLAYERS]; //... Definieren davor^^

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • Also du erstellst eine Variable die für alle Spieler gültig ist. Diese gibt an ob ein Spieler in dem DM ist oder nicht


    new indm[MAX_PLAYERS];


    Bei OnPlayerConnect wird die Var auf 0 gesetzt, weil er zu dem Zeitpunkt ja nicht im DM ist
    --> OnPLayerConnect
    indm[playerid] = 0;


    Dann hast du ja bestimmt einen Befehl wie man zu dem DM kommt.
    Bei diesem Befehl musst du die Var auf eins setzten
    indm[playerid] = 1;


    Damit der Spieler wenn er im DM ist auch immer da Spawnt musst du beim OnPLayerSpawn public eine Abfrage einbauen
    Dies geschieht wie folgt :



    if(indm[playerid] == 1)
    {
    SetPlayerPos(playerid, X, Y, Z);
    // DMspawnpunktkoordinaten für X Y Z einfügen
    }
    else
    {
    SetPlayerPos(playerid, X, Y, Z);
    // hier die koordinaten eintragen, wo er spawnen soll wenn er nicht im DM ist
    }


    Dann musst du bei deinen ganzen Befehlen eine Abfrage einfügen

    if(indm[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du kannst diesen Befehl nicht nutzen, da du im DM bist");
    return 1;
    }
    else
    {
    // Hier einfach die Sachen einfügen, die bei dem Befehl geschehen sollen
    return 1;
    }


    Dann musst du noch nen /enddm befehl machen, bei dem die Var wieder auf 0 gesetzt wird


    Hoffe jetzt ist es verständlich :)


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Ich baruche jetzt nurnoch, dass man keine Commands nutzen kann xD

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


    Einmal editiert, zuletzt von Hijashy ()

  • In welchem Sinn?
    Verstehe ich nicht sry (wie du es meinst xD)

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • Jetzt kann man wenn man im DM ist ja immernoch alle befehle nutzen, aber ich weis nit wie ich das mache, dass man keine befehle nutzen kann... vllt wie oben? das ist aber n bissl komisch, weil das is ja so dass man da auch wieder spawnt aber das ist ja nit soo owichtig^^

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Sprich bei diesem Text-Command:


    if(strcmp("/lol", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, COLOR_BLUBB,"lol^^");
    }
    return 1;
    }





    wo baue ich dann:


    if(indm[playerid] == 1)
    {
    //Es soll nichts Passieren.
    }


    ein?

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • machst einfach so:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(indm[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR, "Du bist im DM.Du kannst jezz keine Commands ausführen");
    return 0;//oder return1;? weiss ich jezze gar net....
    }


    //hier deine ganzen commands
    return 0;
    }

  • ja dann halt:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/leavedm", cmdtext, true, 10) == 0)
    {
    indm[playerid] = 0;
    return 1;
    }
    if(indm[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR, "Du bist im DM.Du kannst jezz keine Commands ausführen");
    return 0;//oder return1;? weiss ich jezze gar net....
    }


    //hier deine ganzen commands
    return 0;
    }


    So besser? xD^^