Loading... Bug

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
  • Hey Leute....


    Ich habe das mit den Klassen (ClassSelection) jetzt hin gekriegt.


    Jetzt habe ich folgendes Problem:


    Beim spawnen, kommt dieser Fehler:



    Kennt bestimmt jeder, der mal gecheatet hat,
    und mit nem Boot aufm Wasser airbreaked^^


    Mein OnPlayerSpawn sieht so aus:

    public OnPlayerSpawn(playerid)
    {
    //SpielerInfo[playerid][sModel] = GetPlayerSkin(playerid);
    //TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    TextDrawShowForPlayer(playerid, Textdraw2);
    TextDrawShowForPlayer(playerid, Textdraw3);
    TextDrawShowForPlayer(playerid, Textdraw4);

    TextDrawHideForPlayer(playerid, Textdraw0);
    TextDrawHideForPlayer(playerid, Textdraw5);
    TextDrawHideForPlayer(playerid, Textdraw6);
    TextDrawHideForPlayer(playerid, Textdraw7);
    TextDrawHideForPlayer(playerid, Textdraw8);
    TextDrawHideForPlayer(playerid, Textdraw9);
    //TextDrawShowForPlayer(playerid, Textdraw5);
    //TextDrawShowForPlayer(playerid, Textdraw6);
    //TextDrawShowForPlayer(playerid, Textdraw7);
    //TextDrawShowForPlayer(playerid, Textdraw8);
    //TextDrawShowForPlayer(playerid, Textdraw9);
    if(SpielerInfo[playerid][sTeam] == 1)
    {
    if(SpielerInfo[playerid][sRank] == 1)
    {
    SetPlayerPos(playerid,1912.6583,-575.4293,59.5028);
    SetPlayerFacingAngle(playerid,2.5385);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 26, 50);
    GivePlayerWeapon(playerid, 31, 250);
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 2)
    {
    SetPlayerPos(playerid,1912.6583,-575.4293,59.5028);
    SetPlayerFacingAngle(playerid,2.5385);
    GivePlayerWeapon(playerid, 4, 1);
    GivePlayerWeapon(playerid, 23, 150);
    GivePlayerWeapon(playerid, 34, 100);
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 3)
    {
    SetPlayerPos(playerid,1912.6583,-575.4293,59.5028);
    SetPlayerFacingAngle(playerid,2.5385);
    GivePlayerWeapon(playerid, 29, 130);
    GivePlayerWeapon(playerid, 35, 2);
    GivePlayerWeapon(playerid, 16, 5);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0x30000000,"Du bist verbuggt, bitte relogge so schnell wie möglich!");
    //return 1;
    }
    return 1;
    }
    else if(SpielerInfo[playerid][sTeam] == 2)
    {
    if(SpielerInfo[playerid][sRank] == 4)
    {
    SetPlayerPos(playerid,1976.2473,-402.2062,85.0356);
    SetPlayerFacingAngle(playerid,110.5216);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 27, 50);
    GivePlayerWeapon(playerid, 30, 250);
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 5)
    {
    SetPlayerPos(playerid,1976.2473,-402.2062,85.0356);
    SetPlayerFacingAngle(playerid,110.5216);
    GivePlayerWeapon(playerid, 4, 1);
    GivePlayerWeapon(playerid, 23, 150);
    GivePlayerWeapon(playerid, 34, 100);
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 6)
    {
    SetPlayerPos(playerid,1976.2473,-402.2062,85.0356);
    SetPlayerFacingAngle(playerid,110.5216);
    GivePlayerWeapon(playerid, 32, 200);
    GivePlayerWeapon(playerid, 36, 2);
    GivePlayerWeapon(playerid, 16, 5);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0x30000000,"Du bist verbuggt, bitte relogge so schnell wie möglich!");
    //return 1;
    }
    return 1;
    }
    return 1;
    }


    Bitte um Hilfe.

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • Auch bei Benutzung von SetVehicleVelocity tretet der Fehler öfter mal auf. Debug mal deinen Code und schau wann das genau kommt, debuggen mit SendClientMessage - damit man wenigstens die letzte Nachricht noch lesen kann:
    Debug einfach mal deinen Code, um ermitteln zu können bis wohin der Code kommt & ob der Code überhaupt wie erwünscht aufgerufen wird. Debuggen kann man auf mehrere Arten - ich empfehle es via Konsolenausgabe (print & printf). Falls du nicht weißt, wie du etwas Debuggen kannst - hier kommt ein kleines, einfaches Beispiel: » Beispiel «. Falls du dies immer noch nicht verstanden hast, und ein besseres Beispiel o. genauere Erklärung möchtest - sende mir eine Nachricht mit dem Betreff: 'Debugerklärung'. Wenn du nach dem Debuggen nicht weiter kommst, bitte die Konsolenausgabe (meist aus der serverlog(.txt) Datei im Verzeichnis wo die samp-server(.exe) Datei ist) hier posten. Debuggen nicht verstanden? Hier eine perfekte Erklärung von Goldkiller: » Klick mich «.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Habe aufm Server Rank 3 genommen von den Armys.
    Fazit:


    Code
    [19:40:23] RCON (In-Game): Player [[COD]BetterKnower] sent command: changemode ArmyScript
    [19:40:35] Number of vehicle models: 6
    [19:40:41] TextDraws Part 1
    [19:40:41] TextDraws Part 2
    [19:40:41] Team 1 geladen
    [19:40:41] Team 1 Rank 3 geladen.


    Pawno Code mit den Teilen:

    public OnPlayerSpawn(playerid)
    {
    //SpielerInfo[playerid][sModel] = GetPlayerSkin(playerid);
    //TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    TextDrawShowForPlayer(playerid, Textdraw2);
    TextDrawShowForPlayer(playerid, Textdraw3);
    TextDrawShowForPlayer(playerid, Textdraw4);
    print("TextDraws Part 1");


    TextDrawHideForPlayer(playerid, Textdraw0);
    TextDrawHideForPlayer(playerid, Textdraw5);
    TextDrawHideForPlayer(playerid, Textdraw6);
    TextDrawHideForPlayer(playerid, Textdraw7);
    TextDrawHideForPlayer(playerid, Textdraw8);
    TextDrawHideForPlayer(playerid, Textdraw9);
    print("TextDraws Part 2");
    //TextDrawShowForPlayer(playerid, Textdraw5);
    //TextDrawShowForPlayer(playerid, Textdraw6);
    //TextDrawShowForPlayer(playerid, Textdraw7);
    //TextDrawShowForPlayer(playerid, Textdraw8);
    //TextDrawShowForPlayer(playerid, Textdraw9);
    if(SpielerInfo[playerid][sTeam] == 1)
    {
    print("Team 1 geladen");
    if(SpielerInfo[playerid][sRank] == 1)
    {
    SetPlayerPos(playerid,1912.6583,-575.4293,59.5028);
    SetPlayerFacingAngle(playerid,2.5385);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 26, 50);
    GivePlayerWeapon(playerid, 31, 250);
    print("Team 1 Rank 1 geladen.");
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 2)
    {
    SetPlayerPos(playerid,1912.6583,-575.4293,59.5028);
    SetPlayerFacingAngle(playerid,2.5385);
    GivePlayerWeapon(playerid, 4, 1);
    GivePlayerWeapon(playerid, 23, 150);
    GivePlayerWeapon(playerid, 34, 100);
    print("Team 1 Rank 2 geladen.");
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 3)
    {
    SetPlayerPos(playerid,1912.6583,-575.4293,59.5028);
    SetPlayerFacingAngle(playerid,2.5385);
    GivePlayerWeapon(playerid, 29, 130);
    GivePlayerWeapon(playerid, 35, 2);
    GivePlayerWeapon(playerid, 16, 5);
    print("Team 1 Rank 3 geladen.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0x30000000,"Du bist verbuggt, bitte relogge so schnell wie möglich!");
    print("Team 1 Rank verbuggt!!!");
    //return 1;
    }
    return 1;
    }
    else if(SpielerInfo[playerid][sTeam] == 2)
    {
    print("Team 2 geladen.");
    if(SpielerInfo[playerid][sRank] == 1)
    {
    SetPlayerPos(playerid,1976.2473,-402.2062,85.0356);
    SetPlayerFacingAngle(playerid,110.5216);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 27, 50);
    GivePlayerWeapon(playerid, 30, 250);
    print("Team 2 Rank 1 geladen.");
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 2)
    {
    SetPlayerPos(playerid,1976.2473,-402.2062,85.0356);
    SetPlayerFacingAngle(playerid,110.5216);
    GivePlayerWeapon(playerid, 4, 1);
    GivePlayerWeapon(playerid, 23, 150);
    GivePlayerWeapon(playerid, 34, 100);
    print("Team 2 Rank 2 geladen.");
    return 1;
    }
    else if(SpielerInfo[playerid][sRank] == 3)
    {
    SetPlayerPos(playerid,1976.2473,-402.2062,85.0356);
    SetPlayerFacingAngle(playerid,110.5216);
    GivePlayerWeapon(playerid, 32, 200);
    GivePlayerWeapon(playerid, 36, 2);
    GivePlayerWeapon(playerid, 16, 5);
    print("Team 2 Rank 3 geladen.");
    return 1;
    }
    else
    {
    print("Team 2 Rank verbuggt!!!");
    SendClientMessage(playerid,0x30000000,"Du bist verbuggt, bitte relogge so schnell wie möglich!");
    //return 1;
    }
    return 1;
    }
    else
    {
    print("Kein Team!!!");
    //return 1;
    }
    return 1;
    }


    Liegt also an SetPlayerPos oder SetPlayerFacing Angle.
    Aber da ist alles korrekt Oo


    MfG
    Atta(Oo);


    PS: Danke für den Hammer tipp Pablo!
    Damit werde ich so manchen Fehler beheben können!
    DANKE!

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • Nicht aus der Chatlog Datei o. Konsole debuggen - via SendClientMessage und dann im Ingame Chat schauen. Auch wenn dieser GTA Fehler auftritt, werden die Funktionen noch vom Script aufgerufen - also liegt der Fehler höchstwarscheinlich woanders, sehe dort keinen Fehler! ;)


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Kann ich dir mal das komplette Script schicken ?
    Bzw. kann ich dir einfach einen Pastebin Link schicken ?
    Komme damit einfach nicht klar :(


    Habe alles versucht, aber klappt net.


    PS: HIer noch ein Pic, damit du siehst, was genau wann war.
    Ich könnte nicht genau sehen, wann das war.
    Das Script arbeitet das ja so schnell ab.



    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


    Einmal editiert, zuletzt von AttachedObject(Oo); ()

  • Fehler war, dass keine einzige AddPlayerClass eingebaut war/ist.


    AddPlayerClass(0,0,0,0,0,0,0,0,0,0,0); // :) [Fix] By Bubelbub


    das wurde jetzt bei OnGameModeInit eingefügt.
    Und schon gehts.

    Miete mich (nicht) :love:

  • Riesen Dank!
    wirklich!
    Aber noch eins...


    Ich will das so machen:
    den GameMode mit einem Filterscript verbinden.
    Das:
    Ich in dem Filterscript, Map, Spawn(mit interior etc.) und Waffen festlege.


    Damit ich nicht immer nen neues Filterscript mit Textdraws schreiben muss..
    Sondern dann bei OnGameModeExit da steht: SendRconCommand oder so unloadfs Alte Map nächste Zeile: loadfs neue Map


    Wie verbinde ich das mit einem Filterscript ?


    Oder ich habe mir überlegt, es andersrum zu machen, aber ich wäre für den ersten Weg.


    Wie mache ich das ?


    Bitte nochmals um hilfe^^


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • du machst dir arrays für die maps.


    Maps[3][100];


    Dann hast du 3 Maps.


    die definierst du so:


    Maps[0][0] = CreateObject(...);
    Maps[0][1] = CreateObject(...);
    Maps[0][2] = CreateObject(...);
    Das wäre Map 1.
    Für Map 2 ersetzt du Maps[0] durch Maps[1];


    Für das wechseln machst du dann die Löschung der einen Objekte.
    for(new x; x < 100; x++)
    {
    DestroyObject(Maps[0][x]);
    }


    mit filterscripts das zu machen is doof.
    Dann mach du lieber deine 3 Maps und schick mir das Script, dann bau ich dir das ein ^^
    Haste mehr von als wenn du für jedes ein Filterscript lädst.


    Wenn du es trotzdem machen willst, machst du beim Filterscript einfach oben ein Array:


    new Map[100];


    Dann bei OnFilterscriptInit:


    Map[0] = CreateObject(...);
    Map[1] = CreateObject(...);
    Map[2] = CreateObject(...);
    bis 99, ggf. die 100 anpassen ^^


    Bei OnFilterscriptExit machst du dann:


    for(new x; sizeof Map; x++)
    {
    DestroyObject(Map[x]);
    }


    Und schon haste deine Filterscripte.

    Miete mich (nicht) :love:

  • Soll ich dir das dann so schicken per PN:
    Die Spawne schick ich net, das gemappte auch net.
    und waffen etc auch net.
    Nur halt das, was vorhanden ist, 2x duplizieren, aber irgendwie so machen, dass sich das auf andere Maps bezieht.


    Können wir das morgen mal übers TS bereden, wenn du Zeit hast ?


    Danke im vorraus.


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________


  • Bubelbub ?
    Ich habe das nicht ganz verstanden, wie man alles auf eine bestimmte map einstellt mit den Spawns und Waffen.
    Kannst du mal ein Beispiel mit meinem Script machen ?
    Pastebin Link gibts über ICQ.


    MfG
    Atta(Oo);

    MfG
    Atta(Oo);
    __________________________________________________________________________________________________________________