[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Beitrag von undbyebye ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hallöchen,

    hat irgendjemand von euch noch das Programm, in dem man die SA:MP Sound IDS abspielen konnte wo alle aufgelistet waren.

    Damals gab es ja ein Programm dafür, finden es nirgends.

    Ich rede von diesen Sounds https://team.sa-mp.com/wiki/Sound_IDs.html

    GTAGarage.com » Alci's SAAT GUI FrontEnd



    //edit oder du erstellst schnell ein Befehl wo die sound id abgespielt wird.


    Beispiel: /sound SOUND_ID

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Moin, kann man bei SetPVarInt auch ein wert immer hörher setzen oder geht nur das 1 / 0 prinzip ?


    zb in der art ?

    Code
    SetPVarInt ("versuche", +=1);
  • zb in der art ?

    Jap, kannst sowas machen:


    C
    #define AddPVarInt(%0,%1,%2) SetPVarInt(%0,%1,GetPVarInt(%0,%1)+(%2))

    und dann einfach:


    C
    SetPVarInt(playerid, "versuche", 1);
    AddPVarInt(playerid, "versuche", 3);
    //GetPVarInt(playerid, "versuche") wäre jetzt 4 :)

    #Handy :D

    ast2ufdyxkb1.png


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

  • Servus, ich wollte gerne Spielerfahrzeuge am Harken umparken, aber leider gibt er es nicht weiter, bzw es passiert nix.

    Code
             new trailer = GetVehicleTrailer(GetPlayerVehicleID(playerid));
             if(IsValidVehicle(trailer))
            {
                GetVehiclePos(trailer, VehiclePos[trailer][0], VehiclePos[trailer][1], VehiclePos[trailer][2]);
                GetVehicleZAngle(trailer, VehiclePos[trailer][3]);
                VehicleInterior[trailer] = GetPlayerInterior(playerid);
                VehicleWorld[trailer] = GetPlayerVirtualWorld(playerid);
                UpdateVehicle(trailer, 1);
                SaveVehicle(trailer);
            }


    Baue ich es jedoch so um, mit GetVehicleID(GetPlayerVehicleID(playerid)) um geht es, nur nicht am trailer

    Code
                new id = GetVehicleID(GetPlayerVehicleID(playerid));
                GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
                GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
                VehicleInterior[id] = GetPlayerInterior(playerid);
                VehicleWorld[id] = GetPlayerVirtualWorld(playerid);
                UpdateVehicle(id, 1);
                PutPlayerInVehicle(playerid, VehicleID[id], 0);
                SaveVehicle(id);

    Einmal editiert, zuletzt von undbyebye ()

  • GetVehicleID

    Das ist eine interne Skript Funktion von deinem Skript, keine Ahnung was die macht.


    Könntest du etwas erläutern was du vor hast? Das lässt sich nur indirekt aus deinem Code schließen.


    Willst du ein Auto an ein anderes Auto hängen oder willst du ein Auto parken, welches du als Anhänger hast?

    ast2ufdyxkb1.png


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Willst du ein Auto an ein anderes Auto hängen oder willst du ein Auto parken, welches du als Anhänger hast?

    Genau das will ich :)


    Die id hole ich mir ja über

    Code
    new trailer = GetVehicleTrailer(GetPlayerVehicleID(playerid));

    in wiki habe ich auch nachgeschaut und das soll so gehen... tut es aber nicht, oder wie hole ich die id vom auto was am harken hängt..

    Einmal editiert, zuletzt von undbyebye ()

  • Ah, vermutlich musst du es so machen:


    C
    new id = GetVehicleID(GetVehicleTrailer(GetPlayerVehicleID(playerid)));

    Und das PutPlayerInVehicle kannst du dir sparen (oder wieso solltest du plötzlich dann im Trailer sitzen?!) :D


    Erklärung:

    ast2ufdyxkb1.png


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

  • Oh lol war fast dran an dieser lösung.. danke dir :) aso im auto wollte ich ihn nie setzen das andere war als beispiel dass es geht wenn man es mit einsteigen umparken will.. :D

    Einmal editiert, zuletzt von undbyebye ()

  • Kann mir jemand sagen warum diese Funktion mich so aufregt?


    MoveDynamicObjectRot(obj, Float:rX, Float:rY, Float:rZ, bool:open)


    Ich verstehe es nicht, an einigen Positionen (RZ Achse), möchte er die Objekte nur mit stottern bewegen. Ich achte darauf, die Float Werte 1zu1 zu übernehmen.

    Hab hier mal ein Beispiel:

    C#
    //Stotternde Bewegung
    
    Beispiel1 = CreateDynamicObject(968, -1430.860473, 792.999572, 47.268093, -0.000000, -90.000000, 136.399948, -1, -1, -1, 300.00, 300.00); 
    MoveDynamicObjectRot(Beispiel1, 0.000000, -10.0, 136.399948,true); 
    
    
    //Funktioniert einwandfrei
    Beispiel2 = CreateDynamicObject(968, 526.860107, 475.853881, 19.089714, 0.000000, -90.000000, 35.400009, -1, -1, -1, 300.00, 300.00);
    MoveDynamicObjectRot(Beispiel2, 0.000000, -10.0, 35.400009,true);


    Wenn ich das so übernehme, möchte Beispiel1 nur stotternd sich bewegen, Beispiel2 funktioniert einwandfrei. Seit Tagen muss ich mich damit rumspielen :(



    Wird das ganze nur mit MoveDynamicObject realisiert mit den Positionen kriegt man Beispiel1 auch nicht "smooth" bewegt. Beispiel2 wiederum schon. Und es wurde dabei beachtet die Objekte anders zu positionieren während die Rotation stattfindet (X,Y,Z +/- 0.01)

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

    Einmal editiert, zuletzt von Jameso () aus folgendem Grund: SF

  • Seit Tagen muss ich mich damit rumspielen

    Dies scheint ein internes Problem mit dem streamer Plugin und diesem Objekt zu sein, dass der Speed zu gering ist und es deshalb zu Fehlern kommt.


    In der Funktion MoveDynamicObjectRot, schreibe sie so, dann sollte es gehen:


    C
    MoveDynamicObject(obj,x,y+((open)?(0.003):(-0.003)),z,0.003,rX,rY,rZ);

    ast2ufdyxkb1.png


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

  • Guten Morgen :)

    Ich wollte mal fragen wie es nochmal war, wenn ich zb ein Fahrzeug Spawnen will, aber stadt ID zb Namen


    in etwa so ?


    Beispiel:

    Code
    enum fahrzeuge
    {
    "Infernus","411",
    "Sultan","560"
    //usw
    }
    new fInfo[fahrzeuge];
    Code
    cmd:veh(playerid,prams[])
    {
        if(admin bla
        sscanf bla wie verwenden ist..
        if(fInfo[fahrzeuge] .... is auto der name im enum enthalten... 
    usw aber hier weiß ich net mehr so weiter ^^
        return true;
    }

    Einmal editiert, zuletzt von undbyebye ()

    • Offizieller Beitrag

    Würde an deiner Stelle das Array mit allen Fahrzeugen füllen, so sparst du dir einen zweiten Parameter.


    Dein Ansatz ist ja so schon recht gut, jetzt kannst du prüfen welche ID zu dem Fahrzeug gehört, falls eine gefunden wird das Fahrzeug dann spawnen.

    Habe hier mal etwas Altes von mir rausgekramt.