Kills an der Seite

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,


    ihr kennt es bestimmt von DM Servern, wenn an der Seite die Kills stehen.


    Nun ich habe mir ein Headshot Script gedownloadet, aber nun steht der Kill immer an der Seite.


    Weiß jemand wieso ?


    Hier der Code:


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Credits:
    // Script erstellt von Stas
    // Offizieller Scripter der Xtreme - RolePlay - Community
    // www.xtreme-roleplay.eu
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Includes
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #include <a_samp>
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Macros
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #define SENDE_NACHRICHT // ausklammmern, falls unerwünscht
    #define WAFFE_9MM (22)
    #define WAFFE_9MMs (23)
    #define WAFFE_DEAGLE (24)
    #define WAFFE_GEWEHR (33)
    #define WAFFE_SNIPER (34)
    #define GEDRUECKT(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
    #define SPIELER_GEDUCKT(%1) GetPlayerSpecialAction(%1) == SPECIAL_ACTION_DUCK
    #define HAT_GESCHOSSEN(%1) GetPVarInt(%1, "HEADSHOT_GESCHOSSEN")
    #define SETZE_GESCHOSSEN(%1) SetPVarInt(%1, "HEADSHOT_GESCHOSSEN", 1)
    #define SETZE_NICHT_GESCHOSSEN(%1) SetPVarInt(%1, "HEADSHOT_GESCHOSSEN", 0)
    #define TOETESPIELER(%1) SetPlayerHealth(%1, 0)
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // CallBacks
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Überprüft, ob Spieler mit der Sniper abschießt
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    if(GEDRUECKT(KEY_FIRE) && ValideWaffe(playerid)) {
    if(!HAT_GESCHOSSEN(playerid)) {
    SETZE_GESCHOSSEN(playerid);
    SetTimerEx("Headshot_AntiSpam", 1000, false, "d", playerid);
    Headshot_ErmittleZielperson(playerid);
    }
    }
    return 1;
    }
    // Setzt das AntiSpam
    forward Headshot_AntiSpam(playerid);
    public Headshot_AntiSpam(playerid) {
    SETZE_NICHT_GESCHOSSEN(playerid);
    return 1;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // private Funktionen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Hier könnt ihr die Waffen setzen, mit welchen man Kopfschüße machen kann
    stock ValideWaffe(waffe)
    {
    new ValideWaffen[] = { WAFFE_SNIPER, WAFFE_DEAGLE, WAFFE_9MM, WAFFE_9MMs, WAFFE_GEWEHR };
    for(new index = 0; index < sizeof(ValideWaffen); index++)
    {
    if(GetPlayerWeapon(waffe) == ValideWaffen[index]) return 1;
    }
    return 0;
    }
    // Überprüft, ob Spieler die Zielperson in den Kopf trifft
    stock Headshot_ErmittleZielperson(playerid) {
    // Erstellen der Speicherstellen für die Koordinaten des Vektors und der Kamera
    new Float:x,Float:y,Float:z,Float:FrontX,Float:FrontY,Float:FrontZ,Float:CamX,Float:CamY,Float:CamZ;
    // Setzen der Koordinaten in die Variablen
    // Funktionen werden im Tutorial erklärt
    GetPlayerCameraFrontVector(playerid, FrontX, FrontY, FrontZ);
    GetPlayerCameraPos(playerid, CamX, CamY, CamZ);
    for(new Float:i = 0.0; i < 100; i = i + 0.5) {
    // Berechnung der Koordinaten mit Hilfe einer bekannten Rechnung
    x = FrontX * i + CamX; y = FrontY * i + CamY; z = FrontZ * i + CamZ;
    for(new zielperson = 0; zielperson < MAX_PLAYERS; zielperson ++) {
    if(IsPlayerConnected(zielperson)) {
    // Spieler kann sich zwar nicht selber anschießen, aber wir gehen auf eine Nummer sicher
    if(zielperson != playerid) {
    // Falls die Zielperson geduckt
    if(SPIELER_GEDUCKT(zielperson)) {
    // Überprüfen, ob die Zielperson tatsächlich auf den berechneten Koodinaten ist
    if(IsPlayerInRangeOfPoint(zielperson, 0.4, x, y, z)) {
    GameTextForPlayer(playerid, "~r~HEADSHOT", 2000, 6); // GameText für den Spieler
    GameTextForPlayer(zielperson, "~r~HEADSHOT!", 2000, 6); // GameText für die Zielperson
    TOETESPIELER(zielperson); // Töten der Tielperson
    #if defined SENDE_NACHRICHT
    SendDeathMessage(playerid, zielperson, 34);
    #endif
    }
    }
    // Falls die Zielperson steht
    else {
    // Überprüfen, ob die Zielperson tatsächlich auf den berechneten Koodinaten ist
    if(IsPlayerInRangeOfPoint(zielperson, 0.4, x, y, z - 0.7)){
    GameTextForPlayer(playerid, "~r~HEADSHOT", 2000, 6); // GameText für den Spieler
    GameTextForPlayer(zielperson, "~r~HEADSHOT", 2000, 6); // GameText für die Zielperson
    TOETESPIELER(zielperson); // Töten der Tielperson
    #if defined SENDE_NACHRICHT
    SendDeathMessage(playerid, zielperson, 34);
    #endif
    }
    }
    }
    }
    }
    }
    return 1;
    }


    MfG Larso99