Headshot System geht nicht

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


    Ich wollte einen Headshot System einfügen



    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;
    }


    Aber dies geht nicht hier ist mal mein Aktueller OnPlayerTakeDamage Bereich:



    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    //
    if(weaponid == 23) {
    if(issuerid != INVALID_PLAYER_ID)
    {
    if(gTeam[issuerid] == 2 || IsACop(issuerid) || PlayerInfo[issuerid][pLeader] == 24 || PlayerInfo[issuerid][pMember] == 24 || PlayerInfo[issuerid][pLeader] == 7)
    {
    if(PlayerCuffed[playerid] > 0)
    {
    SendClientMessage(issuerid, COLOR_GREY, " Spieler ist schon gefesselt !");
    return 1;
    }
    if(GetDistanceBetweenPlayers(issuerid,playerid) < 5)
    {
    if(gTeam[playerid] == 2)
    {
    SendClientMessage(issuerid, COLOR_GREY, " Du kannst keinen Beamten Tazern! !");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(issuerid, COLOR_GREY, " Der Betroffene ist in einem Fahrzeug !");
    return 1;
    }
    if(TazerBereit[issuerid] == 0)
    {
    SendClientMessage(issuerid, COLOR_GREY, " Dein Tazer ist noch nicht aufgeladen! (ca. 30 Sekunden)");
    return 1;
    }
    if(random(3) == 0)
    {
    SendClientMessage(issuerid, COLOR_GREY, " Du hast ihn nicht getroffen!");
    return 1;
    }
    new giveplayer[128], sendername[128], 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;
    }


    Doch wo und wie füg ich den Headshot System dann ein.


    Und wollte fragen ob das vllt wer einfügen kann und per Pastebin zurück senden kann.


    PS: Kann einer auch machen das wenn man Headshot macht das da in groß und Rot "HEADSHOT" steht so als Textdraw?


    Danke im Voraus ^^

  • Hier mal deinen Code ordentlicher geschrieben:


    ast2ufdyxkb1.png


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


  • C:\Users\azat\Desktop\GenerationSky\gamemodes\GenerationSky.pwn(67157) : error 017: undefined symbol "bodypart"
    C:\Users\azat\Desktop\GenerationSky\gamemodes\GenerationSky.pwn(67219) : warning 203: symbol is never used: "info"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

  • ...du musst mal die aktuellsten Includes von SA:MP downloaden..und dann den Callback so schreiben:


    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)


    Das mit dem Symbol is never used info..hat nichts mit dem Code zu tun..das eine Variable die du deklarierst aber nicht nutzt ^^


    Kannst diese so am einfachsten deklarieren, damit sowas nicht passiert:


    new stock info;

    ast2ufdyxkb1.png


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

  • C:\Users\azat\Desktop\GenerationSky\gamemodes\GenerationSky.pwn(1386) : error 021: symbol already defined: "info"
    C:\Users\azat\Desktop\GenerationSky\gamemodes\GenerationSky.pwn(67154) : error 025: function heading differs from prototype
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    2 Errors.


    Zeile: 1368
    new triadenleadertorvar;


    Zeile: 67154
    public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)


    Frage: was hat jetzt Hitmanleadertorvar damit zu tun ^^ ?

  • 1. Du musst schon lesen:



    ...du musst mal die aktuellsten Includes von SA:MP downloaden.

    Bzw...den neusten SA:MP Server downloaden: http://www.sa-mp.com/download.php


    2. Du hast irgendwo jetzt nochmal info deklariert...das hat nichts mit dieser Variable zu tun, die du gepostet hast...

    ast2ufdyxkb1.png


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

  • Also.


    ich habe jetzt das aktuelle SAMP Ordner gedownloadet und mein Script doch hin zu gefügt und bei der Server.cfg alles eingestellt.
    So.


    jetzt hat es auch geklappt:


    doch aber bei dem Info da ist noch ein Fehler:



    C:\Users\azat\Desktop\GenerationSky\gamemodes\GenerationSky.pwn(1386) : error 021: symbol already defined: "info"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen