Fehler bei MoveObject

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
  • Guten Tag liebe Breadfish Community,


    ich habe ein Problem, und zwar dass ein Teil meines Zollsystems nicht geht.
    Ich habe gestern ein Zoll System geschrieben, mit 3 Zöllen 2 davon gehen wunderbar,
    beim letzten (LS - SF) habe ich den Fehler das die "Schranke" (Leitplanke) sich nicht bewegt.
    Ich erwähne nochmal dass diese "Defekte" Schranke nach dem gleichen System aufgebaut ist wie jede andere.


    Der Pastebin Code: >> Klick mich :3 <<


    ich danke im voraus für eure hilfe :3 :love:

  • Beitrag von Madretsma ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Wie erstellst du denn die Objekte? Zeig mal den Code dafür.


    EDIT: PasteBin sehr unübersichtlich, du schreibst lssf1 = CreateObject(978, 53.31388, -1539.09839, 4.78243, 0.00000, 0.00000, 83.04000);
    in die letzte Zeile...
    Versuch das ganze mal mit CreateDynamicObject und dann mit MoveDynamicObject..


    Mit freundlichen Grüßen


    Madretsma

  • Hallo .Moersy,


    du hast ja bei dem "IsPlayerInRangeOfPoint" so gemacht:


    MoveObject(lssf1,53.31388, -1539.09839, 1.00000,3.5);//Ich denke mal das Tor geht auf


    und das gleiche beim Timer auch... das gibt ja kein Sinn:


    MoveObject(lssf1,53.31388, -1539.09839, 1.00000,3.5); //


    weil es ja dann wieder auf geht...


    Mit freundlichen Grüßen
    German_ScripterHD


  • Nein hat er nicht ? ;)


    Hier der Code von ihm zum öffnen:


    MoveObject(lssf1,53.31388, -1539.09839, 1.00000,3.5); //Geht Nicht


    Hier der Code zum schliessen:


    MoveObject(lssf1,53.31388, -1539.09839, 4.78243,3.5);


    Dies scheint schon richtig zu sein.


    Mit freundlichen Grüßen


    Madretsma

  • else if(zcloselssf == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,50.9383,-1524.3573,5.0624))//Zoll Richtig [SF]
    {
    if(!IsACop(playerid))
    {
    GivePlayerMoney(playerid,-500);
    GameTextForPlayer(playerid,"~r~ -500$",6000,1);
    }
    MoveObject(lssf1,53.31388,-1539.09839,-10.0000,3.5);
    SetTimer("closelssf1",7000,0);
    SendClientMessage(playerid,COLOR_RED,"[ZOLL] ** Viel Spaß in San Fierro **");
    }
    }



    public closelssf1()
    {
    return MoveObject(lssf1,53.31388, -1539.09839, 4.78243,3.5);
    }


    Versuch das mal so. Ansonsten debugge dir den Code einmal.
    Falls du nicht weißt, wie du es debuggen sollst, dann melde dich bitte.

  • Schicke uns doch auch mal die anderen beiden, vielleicht gibt es doch einen Fehler.
    Außerdem debugge das mal so, und fahre mal zu dem Zoll hin, und schaue was dort passiert. Schicke uns danach den Code (aus der server.log) hier:
    else if(zcloselssf == 0)
    {
    print("zcloselssf = 0");
    if(IsPlayerInRangeOfPoint(playerid,5.0,50.9383,-1524.3573,5.0624))//Zoll Richtig [SF]
    {
    print("IsInRangeOfPoint (Zoll-Richtung SF)");
    if(!IsACop(playerid))
    {
    print("!IsACop");
    GivePlayerMoney(playerid,-500);
    GameTextForPlayer(playerid,"~r~ -500$",6000,1);
    }
    print("Move-Timer-Message");
    MoveObject(lssf1,53.31388,-1539.09839,-10.0000,3.5);
    SetTimer("closelssf1",7000,0);
    SendClientMessage(playerid,COLOR_RED,"[ZOLL] ** Viel Spaß in San Fierro **");
    print("Ende");
    }
    }

  • Hast du meinen Code schon eingefügt, der mit den Debugs?
    Wenn nicht, dann mach das mal. Schicke uns davon dann auch die Log!

  • Habe ich.


    ==============================================
    Er printet:


    [16:44:55] [CMD /zoll by Moersy]
    [16:44:55] zcloselssf = 0
    [16:44:55] IsInRangeOfPoint (Zoll-Richtung SF)
    [16:44:55] !IsACop
    [16:44:55] Move-Timer-Message
    [16:44:55] Ende
    ==============================================
    (Also alles) Er rennt ohne Probleme einmal durch


  • Kann es sein, dass du irgendwo noch ein Objekt hast, das "lssf1" heisst? Probier mal bitte das Objekt überall umzubenennen.


    Vielleicht hat er ja die ganze Zeit die Falsche Object ID, weil er scheint ja sonst alles richtig auszuführen...



    Mit freundlichen Grüßen


    Madretsma

  • if(!strcmp(cmdtext,"/teleporttoobject",true)){
    new Float:o_p[3];
    GetObjectPos(lssf1, o_p[0], o_p[1], o_p[2]),
    SetPlayerPos(playerid, o_p[0], o_p[1], o_p[2]+3.5);
    return SendClientMessage(playerid, -1, "Du hast dich zum Objekt lssf1 Teleportiert.");
    }


    Teleportiere dich mal zum Objekt lssf1 und überprüfe ob die Variable nicht irgendwo überschreiben lässt; Portest du dich mit dem Befehl zum richtigen Objekt, teile uns das doch bitte mit.


    mfg :thumbup: