Beim Teleport bleiben

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
  • Hi Leute,
    Ich hab mal eine Frage, könnt ihr mir zeigen, wie ich es machen kann, wenn sich einer zu /Dm1 teleportiert, das er, wenn er auch dort stirb dort wieder spawnt? Und wenn er verlassen will, das er zu seiner alten Stelle teleportiert wird?

  • dann musst du beim Spawn seine Position verändern:



    public OnPlayerSpawn(playerid)
    {
    if(DM[playerid] == 1) //Musst auch machen, dass wenn der Spieler /dm1 eingibt die Variabel "DM" für den Spieler auf 1 gesetzt wird
    {
    SetPlayerPos(playerid,x,z,z); //Deine Koordinaten
    }
    return 1;
    }




    new DM[MAX_PLAYERS];


    if(strcmp(cmdtext, "/dm1", true) == 0)
    {
    if(DM[playerid] == 0)
    {
    SetPlayerPos(playerid,x,y,z); //deine Koordinaten einfügen
    DM[playerid] = 1;
    }
    else if(DM[playerid] == 1)
    {
    SetPlayerPos(playerid,x,y,z); //Koords vom normalen Spawnpunkt
    ResetPlayerWeapons(playerid); //Waffenreset
    DM[playerid] = 0;
    }
    return 1;
    }


    //edit /dm1 Befhel

  • Was meinst du mit:
    //Musst auch machen, dass wenn der Spieler /dm1 eingibt die Variabel "DM" für den Spieler auf 1 gesetzt wird


    Und wie mach ich den Verlassen Befehl :)
    Bin noch ein Noobi :l



    /edit Verlass Befehl

  • Ich meine Damit:

    • Spieler gibt /dm1 ein (Erst ist nun in der DM Zone (hier DM[playerid] = 1))
    • Wenn er nun stirbt und wieder Spawn, dann wird abgefragt, ob er vorher DM was (ob DM[playerid] == 1 ist)

    Aber das habe ich schon in den Befehl eingefügt (siehe Post davor)


    Musst bloß noch die Waffen hinzufügen.


    //edit Hab das jetzt so gemacht das beim ersten eingeben von /dm1 der Spieler in die DM Zone geht und beim Zweiten eingeben er sie verlässt


  • ganz einfach wie er es gesagt hat nur eben zählen sollte man können dann geht das :D

  • Ich hab jetzt alles in einem Dialog gescirptet:
    Aber ohne die Posis noch:


    if (dialogid == Deathmatches)
    {
    if (response)
    {
    if(listitem == 0) // Minigun
    {
    GivePlayerWeapon(playerid, 38, 9999);
    SendClientMessage(playerid, COLOR_GREEN, "[INFO]: Die Schlacht beginnt! Viel Spaß mit der Minigun");
    }
    if(listitem == 1) // Desert
    {
    GivePlayerWeapon(playerid, 24, 200);
    SendClientMessage(playerid, COLOR_GREEN, "[INFO]: Die Schlacht beginnt! Viel Spaß mit der Desert");
    }
    if(listitem == 2) // Shotgun
    {
    GivePlayerWeapon(playerid, 25, 1000);
    SendClientMessage(playerid, COLOR_GREEN, "[INFO]: Die Schlacht beginnt! Viel Spaß mit der Shotgun");
    }
    if(listitem == 3) // Faust
    {
    SendClientMessage(playerid, COLOR_GREEN, "[INFO]: Die Schlacht beginnt! Viel Spaß");
    }
    if(listitem == 4) // Kettensäge
    {
    GivePlayerWeapon(playerid, 9, 9999);
    SendClientMessage(playerid, COLOR_GREEN, "[INFO]: Die Schlacht beginnt! Viel Spaß mit der Kettensäge");
    }
    if(listitem == 5) // Abgesägte Shotgun
    {
    GivePlayerWeapon(playerid, 26, 1000);
    SendClientMessage(playerid, COLOR_GREEN, "[INFO]: Die Schlacht beginnt! Viel Spaß mit der Abgesägten Shotgun");
    }
    }
    }
    return 0;
    }


    Wie kann ich das dann da zb. bei Minigun einfügen?
    Weil bei Minigun stirb man jede 10 Sekunden...

  • Ja ich hab da oben ja mein Dialog. Ich hab bewusst noch niergend Positionen eingefügt, da ich nicht an meinem Rechner bin. Ich woll jetzt nur kurz wissen, wie ich
    new DM[MAX_PLAYERS];


    if(strcmp(cmdtext, "/dm2", true) == 0)
    {
    if(DM[playerid] == 0)
    {
    SetPlayerPos(playerid,x2,y2,z2); //deine Koordinaten einfügen
    DM[playerid] = 2;
    }
    else if(DM[playerid] == 2)
    {
    SetPlayerPos(playerid,x2,y2,z2); //Koords vom normalen Spawnpunkt
    ResetPlayerWeapons(playerid); //Waffenreset
    DM[playerid] = 0;
    }
    return 1;
    }

    Dort einfüge. Es ist ja in einem Dialog. Wie geht das?