Tazer

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, möchte gerade mit einem Tazer anfangen, habe aber gleich eine Frage zu dem public:
    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
    if(issuerid != INVALID_PLAYER_ID)
    {
    if(weaponid==23)
    {
    if(IsPlayerACop(playerid))
    {
    Tazer(issuerid);
    }
    }


    }
    return 1;
    }
    was ist die issuerid / playerid?
    Ist die playerid der, der den DMG verursacht und die issuerid der Spieler der den DMG bekommt?




    Danke im vorraus!

  • Beitrag von Fernando_Jizuya ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Kinimod ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
    if(issuerid != INVALID_PLAYER_ID)
    {
    if(weaponid==23)
    {
    if(IsPlayerACop(issuerid))
    {
    Tazer(playerid);
    }
    }
    }
    return 1;
    }


    So rum dann, ja.



    Nein, das heißt, dass der Spieler sich nicht selbst Schaden zugefügt hat (hingefallen oder so).

  • Beitrag von ENEF ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Wie mache ich das jetzt am besten, dass ich dem Spieler nach dem Schuss die Waffe sozusagen Sperre?
    Funktioniert dass?


    Ich möchte dass er schießt, und dann ein Timer gesetzt wird. Soweit bin ich.
    Danach soll er z.B. für 10 Sekunden mit der "Tazerwaffe" nicht mehr schießen können.

  • Aber wie mache ich dann dass hier:
    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(weaponid==23)
    {
    if(GetPVarInt(playerid,"Tazer")==1)
    {


    }
    }
    return 1;
    }
    Ich will ja wenn es möglich ist mit dem 1 Schuss Damage verursachen, dass der public OnPlayerTakeDamage aufgerufen wird.
    Obwohl ich es auch so machen wollte, dass auch wenn ich keinen Spieler treffe kein Schuss mehr möglich ist bis der Tazer wieder geladen ist.



    Geht dass das man den Spieler bei klicken der Schusstaste nicht schießen lässt?
    Oder würde das gar nicht funktionieren?

  • Beitrag von ENEF ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Du könntest versuchen das ganze entweder über die Taste oder über die Animation die der Spieler ausführt, bei OnPlayerUpdate abzufragen, falls das passt, dann den Spieler kurz zu freezen und wieder zu entfreezen und dazu return 0 zu machen, damit der Schuss nicht synchronisiert wird.


    Wäre ein Versuch wert.

  • was man auch machen könnte, dass man einfach nicht zielen kann mit der Waffe.


    Das geht ja normal oder? Habe ich vorallem in NO DM Zonen immer wieder gesehen.


    Wie macht man dass dann? immer auf den Waffenslot der Hand wechseln?

  • Werde es jetzt vielleicht doch einfacher machen.
    Habe einfach einen Textdraw gemacht, der nach 10 Sekunden oder so Grün leuchtet und
    dem Spieler eben eine Nachricht angezeigt wird, dass der Tazer nur wenn er aufgeladen ist einen Spieler freezt.


    Könnte man ja dann auch einbauen dass er bei halber Ladung nur die Hälfte der Zeit gefreezt ist.



    Aber Danke für deine Hilfe