HeadShot system bugt

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 wenn ich einen ein Headshot gebe geht der server Down


    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
    {
    if(issuerid == INVALID_PLAYER_ID) return 1;
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    if(weaponid == 34 && bodypart == 9) //Headshot System
    {
    GameTextForPlayer(playerid,!"~r~~h~~h~] Headshot ]",5000,5);
    GameTextForPlayer(issuerid,!"~g~~h~~h~] Headshot ]",5000,5);
    SetPlayerHealth(playerid, 0.0);
    return 1;
    }

  • Versuch es mal so.


    Code
    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
    {
        if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 9)
        {
            // One shot to the head to kill with sniper rifle
            SetPlayerHealth(playerid, 0.0);
        }
        return 1;
    }


    PS: Nicht getestet

  • Hallo wenn ich einen ein Headshot gebe geht der server Down

    Darunter geht es noch weiter..poste mal den ganzen Callback..der Code sieht eigentlich in Ordnung aus.


    Eventuell nutzt du auch crashdetect, dann wird dir direkt gesagt, was der Fehler ist :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beim GameText haben sich Ausrufezeichen verirrt ... Ich glaube die sollten da nicht sein :P


    GameTextForPlayer(playerid,!"~r~

    Einmal editiert, zuletzt von Kevin1 ()

  • also weiter gehts nicht dannach kommt das tazer system


    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
    {
    if(issuerid == INVALID_PLAYER_ID) return 1;
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    if(weaponid == 34 && bodypart == 9) //Headshot System
    {
    GameTextForPlayer(playerid,!"~r~~h~~h~] Headshot ]",5000,5);
    GameTextForPlayer(issuerid,!"~g~~h~~h~] Headshot ]",5000,5);
    SetPlayerHealth(playerid, 0.0);
    return 1;
    }
    if(weaponid != 23) return 1;
    if(gTeam[issuerid] == 2 || IsACop(issuerid) || PlayerInfo[issuerid][pLeader] == 24 || PlayerInfo[issuerid][pMember] == 24 || PlayerInfo[issuerid][pLeader] == 7)
    {
    if(PlayerCuffed[playerid] > 0) return SendClientMessage(issuerid, COLOR_GREY, " Spieler ist schon gefesselt !");
    if(GetDistanceBetweenPlayers(issuerid,playerid) < 5)
    {
    if(gTeam[playerid] == 2) return SendClientMessage(issuerid, COLOR_GREY, " Du kannst keinen Beamten Tazern! !");
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(issuerid, COLOR_GREY, " Der Betroffene ist in einem Fahrzeug !");
    if(!TazerBereit[issuerid]) return SendClientMessage(issuerid, COLOR_GREY, " Dein Tazer ist noch nicht aufgeladen! (ca. 30 Sekunden)");
    if(!random(3)) return SendClientMessage(issuerid, COLOR_GREY, " Du hast ihn nicht getroffen!");
    new giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(issuerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s hat dich mit einem Stromschocker niedergestreckt.", sendername);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s mit einem Stromschocker niedergestreckt.", giveplayer);
    SendClientMessage(issuerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s holt seinen Stromschocker raus und streckt %s nieder.", sendername ,giveplayer);
    ProxDetector(30.0, issuerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GameTextForPlayer(playerid, "~r~Geschockt", 2500, 3);
    ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 1.0, 0, 0, 0, 0, 0);
    FreezePlayer(playerid);
    // PlayerCuffed[playerid] = 1;
    // PlayerCuffedTime[playerid] = 20 + random(10);
    TazerBereit[issuerid] = 0;
    SetTimerEx("TazerBereitForPlayer", 30000,0,"i",issuerid);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Beamter !");
    }
    return 1;
    }