NPC's töten

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,


    Ich habe mal versucht es hinzubekommen das man auf Bots schiesen kann, jedoch scheitere ich schon an den Anfängen...
    Ich habe aus einem Headshot-Script die folgenden Funktionen genommen:


    stock Float:ErmittleDistanzZumPunkt(Float:CamX, Float:CamY, Float:CamZ, Float:PunktX, Float:PunktY, Float:PunktZ, Float:FrontX, Float:FrontY, Float:FrontZ) {
    new Float:Distanz;
    Distanz= floatsqroot((CamX - PunktX) * (CamX - PunktX) + (CamY - PunktY) * (CamY - PunktY) + (CamZ - PunktZ) * (CamZ - PunktZ));
    new Float:tmpX, Float:tmpY, Float:tmpZ;
    tmpX = FrontX * Distanz+ CamX;
    tmpY = FrontY * Distanz+ CamY;
    tmpZ = FrontZ * Distanz+ CamZ;
    return floatsqroot((tmpX - PunktX) * (tmpX - PunktX) + (tmpY - PunktY) * (tmpY - PunktY) + (tmpZ - PunktZ) * (tmpZ - PunktZ));
    }


    stock ZieltSpielerAufPunkt(playerid, Float:x, Float:y, Float:z, Float:radius)
    {
    new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
    GetPlayerCameraPos(playerid, cx, cy, cz);
    GetPlayerCameraFrontVector(playerid, fx, fy, fz);
    return (radius >= ErmittleDistanzZumPunkt(cx, cy, cz, x, y, z, fx, fy, fz));
    }


    Wenn ich diese jedoch benutze, dann reicht es schon,wenn man den Punkt nur ganz knapp im Kamera Winkel hat um diesen "Anzuzielen".
    Kann man das irgendwie genauer machen ?


    Ich habe auch mit dem radius herumgespielt:
    1.0 ist so wie ich es oben beschrieben habe,
    und kleiner als 1.0 dann jedoch liegt das Ziel nicht mehr auf dem gewünschten punkt und verzieht sich komisch nach rechts-oben


    hoffentlich habt ihr mein Problem verstanden und könnt mir helfen :)


    mfg
    Growen