AttachTrailerToVehicle geht nicht immer?

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
  • Hi


    Ich habe auf meinem RL server das Problem, dass /attach nur manschmal oder garnicht geht.


    So sieht der CMD aus:


    if(strcmp(cmd, "/attach", true) == 0)
    {
    if(Meschaniker[playerid] == 1)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    AttachTrailerToVehicle(GetNearestCar(playerid, 7), GetPlayerVehicleID(playerid));
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du musst in einen Schlepper!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du musst zuerst in ein Auto!");
    }
    return 1;
    }
    .
    .
    .


    Als ich eben getestet habe konnte ich andere Schlepper problemlos attachen, andere Fahrzeuge aber nicht.
    Meiner meinung nach ist der CMD richtig. Könnt ihr mir helfen?


    MFG, Robdeflop®

  • Also dir fehlt die Funktion DetachTrailerFromVehicle, also:


    if(strcmp(cmd, "/attach", true) == 0)
    {
    if(Meschaniker[playerid] == 1)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
    AttachTrailerToVehicle(GetNearestCar(playerid, 7), GetPlayerVehicleID(playerid));
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du musst in einen Schlepper!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du musst zuerst in ein Auto!");
    }
    return 1;
    }
    }


    p.S.: Manche Fahrzeuge können nicht abgeschleppt werden wie Anhänger oder Motorräder

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Hi


    Hmm, ob das geht :D
    Das man manche sachen nicht attachen kann weiß ich, ich habs an vielen verschiedenen cars getestet^^


    Ich werds mal probieren, danke schonmal :)


    MFG, Robdeflop®


    EDIT: Habs eben getestet. Vorerst war ich zuversichtlich, aber dann gings iwie wieder nur bei manchen cars oO Kann mir vielleicht noch einer helfen?


    MFG, Robdeflop®

    Einmal editiert, zuletzt von Robdeflop ()

  • Ich weiß jetzt ned ob du mich mit dem Kann mir vielleicht noch einer helfen? verscheuchen willst, aber wollt halt sagen das sowas als Tastendruck unter OnPlayerKeyStateChange gehören soll, da es manchmal nicht funktioniert und öfter hintereinander versuchen muss. Ansonsten ist deine Funktion GetNearestCar Falsch beim berechnen.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Hi


    Nein, ich wollte dich ganz im gegenteil verscheuchen ;) Bist ja ne große hilfe ^^


    Also Die Funktion mitder ich das nächste car bekomme hat bis jetzt immer geklappt. Ich habs auch unter OnPlayerKeyStateChange, aber selbst da geht es manschmal net. Also bei manchen cars gehts, bei manchen nit. Is also nit so als wenn es manchmal bei einem car geht, un manchma nit. Dass die Cars async sind kann auch nicht sein, da ich auch vorher mal eingestiegen bin. GetNearestCar sieht so aus:


    public GetNearestCar(playerid, Float:distance)
    {
    new Float:pX, Float:pY, Float:pZ, Float:vX, Float:vZ, Float:vY;
    GetPlayerPos(playerid, pX, pY, pZ);
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, vX, vY, vZ);
    if((floatabs(pX-vX)<distance)&&(floatabs(pY-vY)<distance)&&(floatabs(pZ-vZ)<distance)&&(i != GetPlayerVehicleID(i)))
    {
    if(i == 0)
    {
    return INVALID_CAR;
    }
    return i;
    }
    }
    return INVALID_CAR;
    }


    Hab mehrere so-ähnliche funktionen für sogut wie alles was ID´s hat. Bis jetzt immer gefunzt :)


    MFG, Robdeflop®

  • Ok, aber ich kann mich noch bissl errinnern als ich son ADAC Typ war auf nem Server, dass auch wenn ich ihn angehängt habe er bei mir nicht oben war und komischerweise nach ein paar Meter auf meinem Fahrzeug war. Bedeutet betätige den Befehl und fahr bissl herum, vl hängt er sich an ^^. Nebenbei gemerkt schau ob der Hänger hinten nach oben schaut ^^. Vom Scripting her ist alles in Ordnung.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Hmm. Ich werd ma versuchen. Danke für deine hilfe :)


    Ne andere frage^^ (will kein extra thread aufmachen)


    Weiß jemand oda du templer :D Wie die genaue Mitte von dem Bildschirm is? Also wenn ich als Textdraw ein "+" Darstellen würde, das genau auf dem "Kreuz beim ziehlen" ist, welche Pos das wäre^^


    Ich glaube dass die max X Range 640 beträgt, und die Y 480. Stimmt das?


    MFG, Robdeflop®

  • Bei TextDrawCreate wurden in den Info Boxen alles erklärt ^^. Samp-Wikipedia lohnt sich halt um mir romane zu sparen :P .

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ai, diese billigen TextDraw Editoren gehören auf den Scheiterhaufen ^^.


    Rechne logisch ^^.


    Die Mitte von 600x460 ist ja, 300x230 und am besten noch TextDrawAlignment mittig stellen und dann passt alles, den Rest brauchst du nicht ^^. Außer du es verschönern willst.


    Kurzgefasst: Erstell ein Textdraw mit deinem Stil, ersetz Koordinate und Ausrichtung mit meiner Empfehlung und fertig.


    p.S.: Nebenbei gemerkt, die Koordinaten weichen von der Schriftgröße! Also bitte beachten!

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!