OnPlayerTakeDamage 2x definiert..

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 liebes Breadfish Forum,
    wollte eben fragen wie ich das mache das es beide Befehle ausführt.
    Wenn ich es zwei mal schreibe krieg ich den Fehler das er zwei mal definiert ist..
    symbol already defined: "OnPlayerTakeDamage"


    Ich habe das:
    Für Schusssound
    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    return 1;
    }
    und für Headshot System das man nur mit Sniper einen Headshot erzielen kann..
    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
    if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 9)
    {
    SetPlayerHealth(playerid, 0.0);
    }
    return 1;
    }
    Würde mich um positive Antwort freuen.


    Liebe Grüße,
    Matze :thumbup:

  • Entweder so, oder du definierst es als Funktion, die du dann aufrufst. Das macht die Sache übersichtlicher und du kannst es besser auseinander halten, was zu was gehört.


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    OnPlayerTakeDamage_HS(playerid, issuerid, amount, weaponid, bodypart);
    return 1;
    }


    stock OnPlayerTakeDamage_HS(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
    if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 9)
    {
    SetPlayerHealth(playerid, 0.0);
    }
    return 1;
    }