Beiträge von Tom Sunder

    Das kommt auf das Objekt drauf an, das ist nicht bei allen Objekten gleich.
    Ich schätze entweder X oder Y, da Z meistens nur die Blickrichtung des Objektes ist.


    Das objekt wird nicht angezeigt:


    new Text:UBRadar[MAX_PLAYERS];
    public OnPlayerConnect(playerid)
    {
    UBRadar[playerid] = TextDrawCreate(83.000000, 374.000000, " ");
    TextDrawUseBox(UBRadar[playerid], 1);
    TextDrawBoxColor(UBRadar[playerid], 0x000000FF);
    return 1;
    }
    TextDrawSetPreviewModel(UBRadar[playerid], 16782);
    TextDrawShowForPlayer(playerid, UBRadar[playerid]);

    Nein, eher nicht. Da brauchst du bestimmt ein paar mehr, vor allem wegen dem Kreisrand. Da würde ich eine 0 oder ein O nehmen, und den Rest dann mit Textdraws ausfüllen. Da nimmst am besten einen Textdraw Editor und spielst damit etwas rum, bis du das Eck komplett gefüllt hast, mit mehreren Textdraws.


    ok. Und könnte man jetzt etl das Objekt was du oben erwähnt hast als Textdraw machen? Darum gibt es da ne Function, wo man Objekte als Textdraw machen kann?

    Das könnte klappen, ja, zumindest im Ansatz. Mit dem Preview Model und: http://wiki.sa-mp.com/wiki/TextDrawSetPreviewRot


    Falls es sich nicht direkt aktualisiert, musst du das Textdraw erst löschen und dann wieder erstellen.

    ok. Eine frage: kann man machen dass ein Strich nach oben zeigt und dann 1/4 des Kreises (1/4 das neben dem Strich ist) transparent grün ist, ohne dass man da jetzt mehr als 2 TextDraws braucht?

    Mit Textdraws bekommst du das nicht hin, da diese keine Drehung haben. Außer du nimmst ganz viele kleine Textdraws und setzt sie so zusammen, allerdings ist das nicht wirklich ressourcenschonend und flackert wahrscheinlich.


    Es gibt dieses Objekt: 16782
    Das ist ein Radar, vielleicht lässt sich damit etwas machen.


    Aber generell ist dein Vorhaben kaum zu realisieren.


    Ich kann damit was anfangen wenn das geht: Das Objekt als TextDraw anzeigen lassen und es drehen lassen oder halt entfernen lassen und dann wieder erscheinen lassen aber leicht gedreht. Tut es das?

    Hallo,
    auf den ganzen Radaren von der Army oder so drehen sich ja immer "grüne Striche"


    und so was würde ich gerne für die Army machen. Hat etl wer ein Tool wo sowas bei der Mini-Map ist oder kann mir wer erklären wie ich das leicht erstellen kann weil mit dem TextDraw-Editor bekomm ich es net hin (ich meine halt, dass sich die "grüne Striche" auch drehen...)


    oh danke hab mich schon gefragt wie man bestimmen kann welcher Timer (wenn man den Timer öffters gestartet hat) gekillt wird ;)
    PS: bei new gehört es ohne MAX_PLAYERS

    Du kannst nur Spieler freezen, Fahrzeuge nicht. Wenn du den Spieler im Fahrzeug freezt, dann kann er es auch nicht mehr steuern, allerdings rollt es vorher aus.


    schade. Und kann ich etl um das Fahrzeug herum unsichtbare Gegenstände spawnen lassen, die niemand sieht oder kann mir wer was machen wo das Fahrzeug sobald es sich bewegt sofort wieder an die Stelle wo man eingestellt hat geportet wird (das bekomm ich net hin ohne, dass es 200 mb Ram verbraucht)?

    Wenn der Spieler bereits unter Wasser ist, würde ich einfach die Z Koordinarte vom Fahrzeug mir holen und bei einer gewissen Grenze dann das Fahrzeug via. SetVehicleVelocity nach unten drücken, ist in meinen Augen eine sinnigere Lösung als via. SetVehiclePos. Das ganze dann über OnPlayerUpdate() , dann kannst dir direkt den Timer sparen.


    Geht leider net wenn cih das mach ist mein Bildschirm gelb und es ist in der mitte ein schwarzer Kasten in dem Loading... steht



    Zitat von Jeffry

    Wenn du steil aus dem Wasser fliegst, kannst du weiterfliegen, dann geht es auch wenn du nach unten gesetzt wirst.
    Wenn du an der Oberfläche schwimmst und dann nach unten gesetzt wirst, dann geht es nicht. Dann musst du den Spieler aus der Hydra setzen, die Hydra wieder unter Wasser setzen (möglicherweise neu spawnen) und den Spieler wieder reinsetzen.


    geht nicht passiert genau das gleiche
    public HydraT()
    {
    new Float:uX, Float:uY, Float:uZ;
    if(IsVehicleInWater(hydra) == 0)
    {
    for(new i=0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerInVehicle(i, hydra) == 1)
    {
    SetPlayerPos(i, 0.0, 0.0, 0.0);
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, -16.0);
    PutPlayerInVehicle(i, hydra, 0);
    }
    }
    }
    return 1;
    }

    Du musst sie weiter nach unten setzen. Wenn du sie direkt auf die Oberfäche setzt, oder nur etwas darunter, dann geht's nicht.


    Funkt net habs grad so:
    public HydraT()
    {
    new Float:uX, Float:uY, Float:uZ;
    if(IsVehicleInWater(hydra) == 0)
    {
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 6.0);
    if(IsVehicleInWater(hydra) == 0)
    {
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 6.0);
    if(IsVehicleInWater(hydra) == 0)
    {
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 6.0);
    }
    }
    }
    return 1;
    }

    Hallo,
    ich hab gemacht, dass eine Hydra im Wasser gespawnt wird, damit sie unter wasser fliegen kann. Jetzt hab ich ne Frage: Kann ich machen, dass wenn ich in der Hydra unter Wasser bin ich nicht an die Oberfläche kann. D.h., dass ich mit der Hydra dann nur unter Wasser sein kann und nciht mehr an die Oberfläche komm. Mein Probem ist gerade, dass ich mach, wenn die Hydra an der Oberfläche ist sie nach unten wieder ins Wasser gesetzt wird, aber dann kann cih nciht mehr fliegen.
    Hier der Code (det Timer wird in OnGameModeInit gestartet9:
    public HydraT()
    {
    new Float:uX, Float:uY, Float:uZ;
    GetVehiclePos(hydra, uX, uY, uZ);
    if(IsVehicleInWater(hydra) == 0)
    {
    new Float:uX, Float:uY, Float:uZ;
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 3.0);
    if(IsVehicleInWater(hydra) == 0)
    {
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 3.0);
    if(IsVehicleInWater(hydra) == 0)
    {
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 3.0);
    }
    }
    GetVehiclePos(hydra, uX, uY, uZ);
    SetVehiclePos(hydra, uX, uY, uZ - 2.0);
    }
    return 1;
    }