Jetpack wegmachen / löschen ?

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 habe folgendes Problem.
    Auf einem DM Server.
    Wenn man /jp macht, wird die SPECIAL_ACTION_USE_JETPACk oder so ähnlich ausgeführt.
    Doch wie kriege ich das Jetpack wieder weg ?
    Garnicht so ?


    Oder nur, wenn ich ein Pickup erstelle.
    Weil wenn ich Enter drücke, ist das pickup dort und ich kriege es sofort.
    Ich kann dabei weg springen
    aber kriege es immer wieder -.-
    Außerdem soll es so sein:
    Dass wenn man dann Enter drückt, dass das Jetpack dann nicht da sich dreht die ein Pickup, dass es jeder nehmen kann.
    Sondern es sofort gelöscht wird.


    Und nur per /jp ein neues gemacht wird.
    Das ist wegen verschiedenen Klassen(Soldat, Sniper, Scout) so.
    Damit nur Scouts /jp machen können.
    Und nicht ein Soldat so ein Jetpack, was dann da schwebt aufheben kann.


    Bitte um Hilfe!


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • Hey, danke erstmal, super idee^^


    Und jetzt habe ich das Problem.
    Das das nicht weg geht.
    Das JetPack


    Aber liegt wohl an der Variable, helft mal bitte nocheinmal^^



    if (strcmp("/jetpack", cmdtext, true, 10) == 0 || strcmp("/jp", cmdtext, true, 10) == 0)
    {
    new BenutztJetPack[MAX_PLAYERS];
    if(SpielerInfo[playerid][sRank] == 5)
    {
    if(BenutztJetPack[playerid] == 0)
    {
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
    BenutztJetPack[playerid] = 1;
    return 1;
    }
    if(BenutztJetPack[playerid] == 1)
    {
    if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
    {
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
    BenutztJetPack[playerid] = 0;
    return 1;
    }
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist kein Scout! Du kannst deine Klasse mit F4 ändern.");
    return 1;
    }
    return 1;
    }

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • Habs nicht getestet sollte aber gehen. Achja nutze zum einrpcken die Tabulator(Tab) Taste (mit den 2 Pfeilen) Statt leertaste ;)



    //Global definieren, macht sonst wenig sinn ;)
    new BenutztJetPack[MAX_PLAYERS];
    //Unter OnPlayerConnect um die variable zu resetten
    BenutztJetPack[playerid] = 0;
    //
    if (!strcmp("/jetpack", cmdtext)|| !strcmp("/jp", cmdtext) //kürzer/selbe
    {
    if(SpielerInfo[playerid][sRank] == 5)
    {
    if(BenutztJetPack[playerid] == 0)
    {
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
    BenutztJetPack[playerid] = 1;
    return 1;
    }
    else
    {
    //Aus dem Englischen Forum
    new Float:pjx, Float:pjx, Float:pjx;
    GetPlayerPos(playerid, pjx, pjx, pjx);
    SetPlayerPos(playerid, pjx, pjx, pjx);
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
    BenutztJetPack[playerid] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist kein Scout! Du kannst deine Klasse mit F4 ändern.");
    return 1;
    }
    return 1;
    }

  • Danke geht, aber...
    Jetzt höre ich immernoch das rauschen, dieses chhhh wenn man steht oder nur schwebt.
    Obwohl das teil weg ist Oo


    Nochmal helfen pls^^


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________