Tankdeckel rausfinden?

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
  • Rein theoretisch ist es machbar, ob der Aufwand sich lohnt ist allerdings fraglich.


    Rein von der Mathematik her, entsteht folgender Logikvorgang:


    Position vom Auto herausfinden -> Koordinaten subtrahieren/addieren bis man an der Tanköffnung ist (Der Algorithmus dafür muss für jedes Auto einzeln bestimmt werden) -> IsPlayerInRangeOfPoint mit einem Radius von geschätzten 0.25 bis 0.5?


    So kann er zwar auch hinter dem Auto stehen, oder vllt sogar auf dem Auto, aber beispielsweise nicht mehr auf der falschen Seite des Wagens. Und rein in der Theorie könnte ich mich auch auf mein Auto legen während ich tanke, wenn ich Lust drauf hätte ;)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Position vom Auto herausfinden -> Koordinaten subtrahieren/addieren bis man an der Tanköffnung ist (Der Algorithmus dafür muss für jedes Auto einzeln bestimmt werden) -> IsPlayerInRangeOfPoint mit einem Radius von geschätzten 0.25 bis 0.5?


    Hast recht es wäre zu einfach, die gegebene Funktion dafür zu nutzen


    -> http://wiki.sa-mp.com/wiki/GetVehicleModelInfo_DE

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wie du bereits sagst, es wäre zu einfach. Solch niederem Gebrauch gebe ich mich nicht hin. Wenn schon übertrieben, dann richtig! ;(


    Wieder was dazu gelernt, danke ;)


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Nun gut. Weil du es bist spendier ich dir mal meine Funktion, die ich im Script dafür habe.



    stock GetVehicleInfo(vehicleid, infotype, &Float:x, &Float:y, &Float:z, &Float:angle)
    {
    if(vehicleid == INVALID_VEHICLE_ID) return 0;


    new Float:mX, Float:mY, Float:mZ;


    GetVehicleModelInfo(GetVehicleModel(vehicleid), infotype, mX, mY, mZ);


    z += mZ;


    x += (mY * floatsin(-angle, degrees));
    y += (mY * floatcos(-angle, degrees));


    angle += 270.0;
    x += (mX * floatsin(-angle, degrees));
    y += (mX * floatcos(-angle, degrees));
    angle -= 270.0;
    return 1;
    }


    Du musst der Funktion den infotype geben, sowie die Position des Autos. Die Funktion spuckt dir dann die Koordinaten des gewünschten typens aus.


    Bsp.:



    stock IsPlayerInRangeOfTankdeckel(playerid, carid)
    {
    new Float:vpos[4];
    GetVehiclePos(carid, vpos[0], vpos[1], vpos[2]);
    GetVehicleZAngle(carid, vpos[3]);
    GetVehicleInfo(carid, VEHICLE_MODEL_INFO_PETROLCAP, vpos[0], vpos[1], vpos[2], vpos[3]);
    if(IsPlayerInRangeOfPoint(playerid, 2, vpos[0], vpos[1], vpos[2]))
    {
    return 1;
    }
    return 0;
    }


    Mfg,
    UncleSub

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