Raketen System

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 will nun gerne mal wieder was ausprobieren wo ich auch Kniffeln muss, wie früher und zwar Will ich ein Paar Spezial Funktion für Terror, S.W.A.T und die Armee Machen,
    Nähmlich noch eine Lenkbare rakete, die auch von den Terrors geklaut werden Kann doch das Problem ist das Lenken Objekte würde ich ja finden aber es gibt 4 Tasten und 3
    Koordinaten Ich bräuchte einen Kleinen Ideen Anstups wie so was gehen Könnte, ich hoffe auch Antworten und Bedanke mich Schonmal im Voraus!



    MFG Arendium :rolleyes:

  • Hoch = Z-Achse erhöhen
    Runter = Z-Achse verringern
    Rechts = Y-Achse erhöhen
    Links = Y-Achse verringern
    Vorne = X-Achse verringern
    Hinten = X-Achse erhöhen


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Wie schnell du den Timer machen würdest und wie stark moven ;)


    Ja ich denke im 1000millisekunden Interval sollte ausreichen...und wie stark moven, ja wie schnell willst du denn, dass die Rakete fliegt :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Nein - Warum gehste auf so einen MS Sekunden Wert, 150 - 250 MS sehen schon viel besser aus (50 Sekunden würde wahrscheinlich lagen). Wenn Du ein System hast das läuft, dann optimiere es und schau, ob es so gut läuft und dann suchste nen Kompromiss mit dem Intervall

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hmmm kommen Timer mit Kommazahlen klar ? würde so wie dus sagst 47,61904761904762 Timer brauchen (Milisekunden)


    Ich mach erstmal kurz nebenher das mit den keys ;)


    Nein kommen sie nicht :whistling:


    und das ist definitiv zu viel nimm irgendwas zwischen 100 und 1000 Millisekunden ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Ich werde es mal mit 250 Versuchen also 4 mal in der Sekunde Aber die Rakete würde dan ja einfach nach rechts gehen, dass heisst ich müsste auch noch
    mit Rotation arbeiten damit es Gut aussieht ;)


    Hat dort jemand eine idee wie man es gut Berechnen kann die Moves habe ich muss die Rakete nurnoch Mappen ;)



    new Keys,hr,lr;
    GetPlayerKeys(playerid,Keys,hr,lr);
    new r, l, h, u;
    if(ud > 0) { u = 1; }
    if(ud < 0) { h = 1; }
    if(lr > 0) { r = 1; }
    if(lr < 0) { l = 1; }

  • ok Ich melde mich da wieder wenn jemand dan noch mit rotation um das ganze auszubessern noch ne Idee hat darf er es gerne Posten und Danke Kaliber!


    MFG Arendium


    //edit Kaliber: das weiss ich nicht hab ja die Rakete bisher nur gemappt ich muss jetzt nur noch Grade camera attach machen und das MoveObject ;)



    //edit2 So jetzt kommts gleich zum ersten test der Code:



    stock RaketeLenken(playerid)
    {
    new Keys,hr,lr;
    GetPlayerKeys(playerid,Keys,hr,lr);
    new r, l, h, u;
    if(ud > 0) { u = 1; }
    if(ud < 0) { h = 1; }
    if(lr > 0) { r = 1; }
    if(lr < 0) { l = 1; }
    MoveObject(Rakete, Raketex+h-u, Raketey+r-l, Raketez+h-u, 5.00, 0.0000, 90.0000, 0.0000);
    Raketez = Raketez+h-u;
    Raketey = Raketey+r-l
    Raketex = Raketex+h-u
    return 1;
    }



    So Funtkion sieht nun so aus:



    stock RaketeLenken(playerid)
    {
    new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);
    new r, l, h, u;
    if(ud > 0) { u = 1; }
    if(ud < 0) { h = 1; }
    if(lr > 0) { r = 1; }
    if(lr < 0) { l = 1; }
    MoveObject(Rakete, Raketex+h-u, Raketey+r-l, Raketez+h-u, 5.00, 0.0000, 90.0000, 0.0000);
    Raketez = Raketez+h-u;
    Raketey = Raketey+r-l;
    Raketex = Raketex+h-u;
    return 1;
    }


    Die Rakete movet sich nur nach oben bis ich sterbe... weil mein Spieler Runterfällt


    So sie geht hoch bis zum Tor das eig. offen sein müsste und bleibt stehen... Jetzt bewegt es sich garnichtmehr weiss jemand was ?


    Kaliber: Weisst du was nicht geht ?

    76ul4ppd4lmb.png

    6 Mal editiert, zuletzt von Mr.Soap ()

  • Das Ding ist einfach, dass diese Rakete ein Ziel benötigt, sonst steht die nur blöd in der Luft ;)


    Raketex, Raketey, Raketez wie/wo initialisierst du diese Variablen ? (Wo gibst du den Variablen einen Wert ?)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Habe es inzwischen So:



    ocmd:rakete(playerid, params[])
    {
    AttachCameraToObject(playerid, Rakete);
    SetTimerEx("RaketeLenken", 250, true, "i", playerid);
    Raketex = 265.20001221;
    Raketey = 1883.90002441;
    Raketez = 16.20000076;
    return 1;
    }


    stock RaketeLenken(playerid)
    {
    new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);
    new r, l, h, u;
    if(ud > 0) { u = 1; }
    if(ud < 0) { h = 1; }
    if(lr > 0) { r = 1; }
    if(lr < 0) { l = 1; }
    new Move1, Move2, Move3;
    Move1 = Raketex+h-r;
    Move2 = Raketey+r-l
    Move3 = Raketez+h-r;
    MoveObject(Rakete, Move1, Move2, Move3, 5.00, 0.0000, 90.0000, 0.0000);
    Raketez = Raketez+h-u;
    Raketey = Raketey+r-l;
    Raketex = Raketex+h-u;
    return 1;
    }

  • Hier bitte

    stock RaketeLenken(playerid)
    {
    new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);
    if(ud > 0) { Raketex -= 1.0; SendClientMessage(playerid, 0xFFFFFFFF, "Hinten");}
    else if(ud < 0) { Raketex += 1.0; SendClientMessage(playerid, 0xFFFFFFFF, "Vorne");}
    if(lr > 0) { Raketey += 1.0; SendClientMessage(playerid, 0xFFFFFFFF, "rechts");}
    else if(lr < 0) { Raketey -= 1.0; SendClientMessage(playerid, 0xFFFFFFFF, "links");}
    if(Keys == 4){Raketez += 1.0; SendClientMessage(playerid, 0xFFFFFFFF, "Runter");}
    else if(Keys == 32){ Raketez -= 1.0; SendClientMessage(playerid, 0xFFFFFFFF, "Hoch");}
    MoveObject(rocket, Raketex, Raketey, Raketez, 5.00, 0.0000, 90.0000, 0.0000);
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    RaketeLenken(playerid);
    return 1;
    }



    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    rocket = CreateObject(1245, 10.0, 10.0, 20.0, 0.0, 0.0, 0.0);
    AttachCameraToObject(playerid, rocket);
    GetObjectPos(rocket, Raketex, Raketey, Raketez);
    return 1;
    }

    new Float:Raketex, Float:Raketey, Float:Raketez;
    new rocket;