Sobald ich Streamer einfüg kommt Login Dialog nimmer (Ich hab debug zeilen)

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,
    sobald ich den Streamer einfüg kommt der Login Dialog nimmer und wenn cih es wieder rausmach kommt er wieder. Darum wenn ich on geh dann kann ich net zocken, da der Login Dialog net kommt ich kann eig nur off gehen. Es kommt eine Debug nachricht:

    Code
    [21:33:17] [debug] Run time error 19: "File or function is not found"
    [21:33:17] [debug]  Streamer_CallbackHook
    [21:33:17] [debug]  CreateDynamicObject
    [21:33:17] [debug]  MoveDynamicObject
    [21:33:17] [debug] Run time error 19: "File or function is not found"
    [21:33:17] [debug]  Streamer_CallbackHook
    [21:33:17] [debug]  CreateDynamicObject
    [21:33:17] [debug]  MoveDynamicObject
    [21:33:17] Script[gamemodes/script.amx]: Run time error 19: "File or function is not found"
    [21:33:17] Number of vehicle models: 0


    Weiß wer woran es liegt?


    edit: Hab gerade bemerkt, dass die ganzen Cars nimmer spawnen und die Bots auch nimmer on kommen...

  • Aktualisiere deine Plugins. Alle neu herunterladen und ersetzen.



    https://www.gta-servers.de/samp-faq#


    Oh danke dank dir hab ich nun bei den plugins nachgeschaut und bemerkt das ich streamer net drin hab :D
    Edit:
    Hab gerade bemerkt, dass nun in pawno errors kommen (hab das neueste include runtergeladen)

    Code
    C:\Users\Timo\Desktop\Script\pawno\include\streamer.inc(487) : warning 235: public function lacks forward declaration (symbol "OnPlayerWeaponShot")
    C:\Users\Timo\Desktop\Script\pawno\include\streamer.inc(489) : error 017: undefined symbol "BULLET_HIT_TYPE_PLAYER_OBJECT"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
  • Das ist, sagen wir mal, "normal". Warum? Die Objekte werden ja gestreamt, was bedeutet, dass ein Timer alle X Millisekunden prüft wo du bist und dir dann die Objekte erstellt. Werden die Autos, die vom Server erstellt werden, früher für dich gestreamt als die Objekte, fallen sie runter.
    Das gleiche beim Spieler, du fällst durch die Map, weil du vor den Objekten an der Position bist, das kannst du verhindern indem du den Spieler kurz einfrierst (TogglePlayerControllable) und mit einem Timer wieder "auftaust".


    Die Autos musst du ein paar Meter höher spawnen und eventuell die Stream Distanz der Autos kleiner machen, bzw die der Objekte größer.

  • Das ist, sagen wir mal, "normal". Warum? Die Objekte werden ja gestreamt, was bedeutet, dass ein Timer alle X Millisekunden prüft wo du bist und dir dann die Objekte erstellt. Werden die Autos, die vom Server erstellt werden, früher für dich gestreamt als die Objekte, fallen sie runter.
    Das gleiche beim Spieler, du fällst durch die Map, weil du vor den Objekten an der Position bist, das kannst du verhindern indem du den Spieler kurz einfrierst (TogglePlayerControllable) und mit einem Timer wieder "auftaust".


    Die Autos musst du ein paar Meter höher spawnen und eventuell die Stream Distanz der Autos kleiner machen, bzw die der Objekte größer.


    ok das hab ich nun gemacht aber jetzt funken viele befehle nimmer wie z.B. /motor


    und Ich hab die vehicle net mit streamer erstellt sondern mit CreateVehicle. Kann man die iwie mit Streamer erstellen?

  • Nein, du brauchst die Autos nicht mit einem Streamer streamen, SAMP erledigt das schon für dich. Zudem kann das Plugin das gar nicht.


    Dann solltest du den Code entweder hier posten oder du testet den Befehl selbst durch Debuggen, wo genau der Fehler steckt.

  • Nein, du brauchst die Autos nicht mit einem Streamer streamen, SAMP erledigt das schon für dich. Zudem kann das Plugin das gar nicht.


    Dann solltest du den Code entweder hier posten oder du testet den Befehl selbst durch Debuggen, wo genau der Fehler steckt.


    ok der Befehl (hab ich mal aus nem tutorial und editiert weil cih net wusste ie der geht xD

    if(strcmp(cmdtext, "/motor", true) == 0)
    {
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
    {
    SendClientMessage(playerid, COLOR_RED, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
    }
    if(GetVehicleModel(car) != 520)
    {
    if (Tank[car] <= 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Der Tank ist leer. Du musst erst /tanken.");
    }
    }
    else if (Motor[car] == false )
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true; // Setzt den Bool Motor auf true
    SendClientMessage(playerid, COLOR_BLUE, "Du hast den Motor deines Fahrzeugs angeschaltet");
    }


    else
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false; // Setzt den Bool wieder auf falsch zurück.
    SendClientMessage(playerid, COLOR_BLUE, "Du hast den Motor deines Fahrzeugs ausgeschaltet");
    }
    }
    return 1;
    }

    reicht das oder soll ich auch alle definationen schicken?
    PS: wenn ich den streamer entfern und alles dazu funkt der befehl

  • Nein, musst du nicht. Du musst aber schon erklären was du eingibst und was nicht funktioniert.
    Außerdem solltest du erklären was passieren sollte, wenn du eingibst was du eingibst.


    ok
    Das passiert normalerweiße:
    Ich gib den Befehl ein und der Motor startet und es kommt eine Nachricht das er gestartet ist.


    Was passiert:


    Ich geb den Befehl ein und esm kommt keine Nachricht und der Motor gheht net an oder aus

  • Hast du auch geprüft ob der Befehl überhaupt aufgerufen wird? Wenn nicht, mache das bitte.
    So:


    if(GetPlayerVehicleSeat(playerid) == 0)
    zu:


    printf("Befehl /Motor von ID %d aufgerufen.", playerid);
    if(GetPlayerVehicleSeat(playerid) == 0)


    Kommt der print in der Konsole? Wenn nein, dann hast du was anderes kaputt gemacht, sodass dein OnPlayerCommandText nicht mehr (korrekt) aufgerufen wird.

  • printf("Befehl /Motor von ID %d aufgerufen.", playerid);


    Das kommt
    hab nun weiter gemacht und das wird net ausgeführt:
    else if (Motor[car] == false )
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true; // Setzt den Bool Motor auf true
    SendClientMessage(playerid, COLOR_BLUE, "Du hast den Motor deines Fahrzeugs angeschaltet");
    }

    Einmal editiert, zuletzt von Tom Sunder ()

  • Du hättest es auch selbstständig fortführen können...


    if(strcmp(cmdtext, "/motor", true) == 0)
    {
    printf("Befehl aufgerufen");
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    printf("Step 1");
    new car = GetPlayerVehicleID(playerid);
    printf("Step 2: car = %d", car);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
    {
    SendClientMessage(playerid, COLOR_RED, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
    }
    printf("Step 3: model = %d", GetVehicleModel(car));
    if(GetVehicleModel(car) != 520)
    {
    printf("Step 4");
    if (Tank[car] <= 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Der Tank ist leer. Du musst erst /tanken.");
    }
    }
    else if (Motor[car] == false )
    {
    printf("Step 5");
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    printf("Step 6");
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    printf("Step 7");
    Motor[car] = true; // Setzt den Bool Motor auf true
    printf("Step 8");
    SendClientMessage(playerid, COLOR_BLUE, "Du hast den Motor deines Fahrzeugs angeschaltet");
    }


    else
    {
    printf("Step 9");
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    printf("Step 10");
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    printf("Step 11");
    Motor[car] = false; // Setzt den Bool wieder auf falsch zurück.
    printf("Step 12");
    SendClientMessage(playerid, COLOR_BLUE, "Du hast den Motor deines Fahrzeugs ausgeschaltet");
    }
    }
    printf("Befehl Ende");
    return 1;
    }


    Anhand der prints weißt du jetzt wo der Code hingeht und aufhört.


  • wie gesagt hab ich ja und es liegt an:
    else if (Motor[car] == false )
    {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = true; // Setzt den Bool Motor auf true
    SendClientMessage(playerid, COLOR_BLUE, "Du hast den Motor deines Fahrzeugs angeschaltet");
    }