/dm

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
  • Hallo Leute!


    Ich bin noch relativ unerfahren in Sachen scripten. Deshalb stelle ich euch hier eine kleine Frage. Ich möchte in Deathmatch Command machen, der einen in einen bestimmten Bereich bringt. ( Las Venturas Fabrik ). Das würde ich auch noch hinbekommen. Nur wie mache ich es, das wenn man in der Deathmatch Arena stirbt, wieder in die Arena kommt. Bis man /deathmatch eingegeben hat? Das war die erste Frage.


    Zweite Frage lautet:
    Wie mache ich ein /dmexit Command, den man nur bei /dm benutzen kann?


    Danke im Vorraus!

  • Du kannst ja

    Code
    SetPVarInt(playerid,"DM",1);


    machen und dann bei onplayerspawn

    Code
    if(GetPVarInt(playerid,"DM")==1)
    {
    SetPlayerPosblablablas
    }


    Und dann wenn er /deathmatch eingibt einfach

    Code
    SetPVarInt(playerid,"DM",0);
  • Ich kenne den Befehl noch nicht, kannst du ihn kurz erklären? Dann kann ich ihn sicher anwenden.

  • Welchen meinst du jetzt?


    Also weißt du denn was PVars sind?
    Also PVars sind "Variablen" die man dem Spieler zuteilt. So kann man dem Spieler Dinge zuteilen

    Code
    SetPVarInt(SpielerID,"Name des Ordners indem die Zahl gespeichert werden soll,Die Zahl"


    Es gibt noch SetVarFloat und SetPVarString glaube ich

    Einmal editiert, zuletzt von Ketchup ()

  • Huhu, ich habe im prinzip genau das selbe problem da ich auch noch nicht solange Scripte.
    Ich hab bis jetzt schon den Portbefehl nur ich möchte es auch so haben, dass wenn man den Befehl nutz das man automatisch immer an dieser Stelle wieder spawnt. Bis man z.b. ein Befehl wie /exit macht und somit dann direkt wieder an seinem gewohnten Platz spawnt. Am besten wär es auch wenn das nicht gespeichert werden würde, also der neue spawn der durch /dm1 kommt, denn falls ein Spieler in der dm arena off geht ohne /exit zumachen würde er ja immer wieder da spawnen das sollte nicht sein.


    if(strcmp(cmdtext,"/dm1",true)==0)
    {
    SetPlayerPos(playerid,4255.0171,1339.7206,70.9211);
    SetPlayerFacingAngle(playerid,358.7274);
    SendClientMessage(playerid,ORANGE,"Du bist DM 1 beigetreten. ");
    }

  • Moin Brand :P Also spontan würd das so machen:


    Oben irgendwo:



    new InDM1[MAX_PLAYERS]; // Erstellt eine neue Variable


    Dann bei public OnPlayerConnect:

    InDM1[playerid] = 0; // Setzt die oben erstellte Variable bei jedem Connect auf 0,sprich man ist nicht in der DM Arena 1


    Dann noch bei public OnPlayerDisconnect:

    InDM1[playerid] = 0; //Setzt die oben erstellte Variable bei jedem Disconnect auf 0,sprich man ist nicht in der DM Arena 1

    bei public OnPlayerDeath:

    if(InDM1[playerid] == 1) // Fragt ab ob die oben erstellte Variable von dem Spieler der gestorben ist auf 1 ist
    {
    SetPlayerPos(playerid,4255.0171,1339.7206,70.9211); //Spawnt den Spieler in der Arena(Habe die Kords von Brand genommen)
    }


    Und hier noch dein CMD:

    if(strcmp(cmdtext,"/dm1",true)==0)
    {
    if(InDM1[playerid] == 1)
    {
    SetPlayerPos(playerid,4255.0171,1339.7206,70.9211);
    SetPlayerFacingAngle(playerid,358.7274);
    SendClientMessage(playerid,ORANGE,"Du bist DM 1 beigetreten. ");
    }
    else
    {
    SendClientMessage(playerid,*EureFarbe,"Du bist bereits in der DM Arena 1!");
    }
    return 1;
    }


    Und hier der /exit Befehl:

    ocmd:exit(playerid,params[]) // OCMD Befehl^^
    {
    if(InDM1[playerid] == 1)// Fragt ab ob die Variable des Spieler der den Befehl eingibt auf 1 ist.
    {
    SetPlayerPos(playerid,X,Y,Z); // Wo er nach eingeben von /exit hingespawnt werden soll
    SendClientMessage(playerid,*EureFarbe,"Du hast die DM Arean 1 verlassen!");// Sollte klar sein
    }
    else if(InDM1[playerid] == 0)// Wenn die Variable des Spielers nicht auf 1 ist,sondern auf 0.
    {
    SendClientMessage(playerid,*EureFarbe,"Du bist nicht in der DM Arena 1!");//Sollte klar sein
    }
    return 1;
    }

    Ihr müsst die Koords natürlich mit euren ersetzen :P



    //edit: /exit Befehl hinzugefügt
    //edit2: Was hinzugefügt

    Wissen gibt dir Macht, aber der Charakter verschafft dir Respekt und Anerkennung...
    Bruce Lee 1940 - 1973

    Einmal editiert, zuletzt von Lumberjack ()