OnPlayerTakeDamage - Custom DMG

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
  • Guten Morgen,


    ich hab das hier mal provisorisch gescriptet, und mit Absicht auch etwas umständlicher, damit ich die Logik dahinter verstehe, aber so recht klappen will das nicht.
    Mein Ziel ist es HP und AP in die Schadensberechnung mit einzubeziehen.


    switch(weaponid)
    {
    case BRASS_KNUCKLES:
    {
    new Float:HP = GetPlayerHealth(playerid, HP),
    Float:AP = GetPlayerArmour(playerid, AP),
    Float:DMG = 5;


    if(AP != 0)
    {
    if(DMG > AP)
    {
    SetPlayerArmour(playerid, 0);
    DMG = DMG - AP;
    SetPlayerHealth(playerid, HP - DMG);
    }
    else if(DMG <= AP) SetPlayerArmour(playerid, HP - DMG);
    else if(DMG == AP) SetPlayerArmour(playerid, 0);
    }
    else SetPlayerHealth(playerid, HP - DMG);
    }
    case KATANA:
    {
    new Float:HP = GetPlayerHealth(playerid, HP),
    Float:AP = GetPlayerArmour(playerid, AP),
    Float:DMG = 40;

    if(AP != 0)
    {
    if(DMG > AP)
    {
    SetPlayerArmour(playerid, 0);
    DMG = DMG - AP;
    SetPlayerHealth(playerid, HP - DMG);
    }
    else if(DMG <= AP) SetPlayerArmour(playerid, HP - DMG);
    else if(DMG == AP) SetPlayerArmour(playerid, 0);
    }
    else SetPlayerHealth(playerid, HP - DMG);
    }
    case KNIFE:
    {
    new Float:HP = GetPlayerHealth(playerid, HP),
    Float:AP = GetPlayerArmour(playerid, AP),
    Float:DMG = 15;


    if(AP != 0)
    {
    if(DMG > AP)
    {
    SetPlayerArmour(playerid, 0);
    DMG = DMG - AP;
    SetPlayerHealth(playerid, HP - DMG);
    }
    else if(DMG <= AP) SetPlayerArmour(playerid, HP - DMG);
    else if(DMG == AP) SetPlayerArmour(playerid, 0);
    }
    else SetPlayerHealth(playerid, HP - DMG);
    }


    Kompilieren will es zwar, aber, wenn ich z.B. mit einer Katana angreife, stirbt der Spieler sofort.
    Wo liegt mein Denkfehler?

  • Oh, okay. Danke für den Hinweis! ;)


    EDIT: Irgendwas scheine ich übersehen zu haben. Wenn ich jmd z.B. mit der Katana angreife, gibt es einen instant kill. Das einzige, was ich noch abgeändert habe ist, dass ich die Getter Funktionen vor den seitch gesetzt habe, um Wdh zu vermeiden.

    Einmal editiert, zuletzt von Manyula ()