Server Crash | Skriptcode [Nun Mehr Informationen]

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,


    Mein Name lautet MrPawn.
    Und zwar Crasht mein Server bei einem bestimmten Befehl.
    Und zwar wenn ich einen Teilnehmer zur Runde hinzufüge passiert noch nichts besonderes, auser das ich in den 'Warte auf Anwort von Leader' Modus gesetzt werde.
    Sobald ich eine Runde starten lassen und irgenteine Aktion ausführe, sei es Schlagen, schreiben etc. Dann macht der Server erst mal ein Schlummerchen ;)
    Genau wenn der Timer gestartet wird:
    public Updateuebungskill()
    {
    new string[256];
    if(Uebungscount[3] == 0)
    {
    TextDrawHideForAll(gTextDraw[0]);
    if(Uebungskill[0] > Uebungskill[1])
    {
    format(string, sizeof(string), "INFO: {FFFFFF}Team 1 hat gegen Team 2 mit %i Kills gewonnen.", Uebungskill[0]);
    }
    else if(Uebungskill[0] < Uebungskill[1])
    {
    format(string, sizeof(string), "INFO: {FFFFFF}Team 2 hat gegen Team 1 mit %i Kills gewonnen.", Uebungskill[1]);
    }
    SendClientMessageToAll(Hellgruen, string);
    for(new i; i < MAX_PLAYERS; i++ )
    {
    if(i == INVALID_PLAYER_ID)continue;
    if(PlayerInfo[i][pEingeloggt] == false)continue;
    if(PlayerInfo[i][pArena] != 3)continue;
    SetPlayerArena(i, 0);
    }
    return 1;
    }
    format(string, sizeof(string), "Uebrige Kills: %i", Uebungscount[3]);
    TextDrawSetString(gTextDraw[0], string);
    return 1;
    }


    Wieso das ist hier die Frage.


    Hier mal ein Video vom Uebungssystem ;):

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Mit freundlichen Grüßen,


    MrPawn



    EDIT:// Aktuell weis ich wo der Fehler liegt, kann diesen aber nicht beheben.
    Ich hab den Code mal ein "kleines" "bisschen" printen lassen :D


    public Updateuebungskill()
    {
    print("print1");
    new string[256];
    print("print2");
    if(Uebungscount[3] == 0)
    {
    print("print3");
    TextDrawHideForAll(gTextDraw[0]);
    print("print4");
    if(Uebungskill[0] > Uebungskill[1])
    {
    print("print5");
    format(string, sizeof(string), "INFO: {FFFFFF}Team 1 hat gegen Team 2 mit %i Kills gewonnen.", Uebungskill[0]);
    print("print6");
    }
    else if(Uebungskill[0] < Uebungskill[1])
    {
    print("print7");
    format(string, sizeof(string), "INFO: {FFFFFF}Team 2 hat gegen Team 1 mit %i Kills gewonnen.", Uebungskill[1]);
    print("print8");
    }
    SendClientMessageToAll(Hellgruen, string);
    print("print9");
    for(new i; i < MAX_PLAYERS; i++ )
    {
    print("print10");
    if(i == INVALID_PLAYER_ID)continue;
    print("print11");
    if(PlayerInfo[i][pEingeloggt] == false)continue;
    print("print12");
    if(PlayerInfo[i][pArena] != 3)continue;
    print("print13");
    SetPlayerArena(i, 0);
    print("print14");
    }
    print("print15");
    return 1;
    }
    print("print16");
    format(string, sizeof(string), "Uebrige Kills: %i", Uebungscount[3]);
    print("print17");
    TextDrawSetString(gTextDraw[0], string);
    print("print18");
    return 1;
    }


    In log kommt er bis print4
    Es liegt also an den Uebungskills abfragen:
    if(Uebungskill[0] > Uebungskill[1])

    Einmal editiert, zuletzt von Kasakow ()


  • bei Uebungskill1,
    Uebungskill2;
    musst du bei beiden noch ne größe angeben. Z.B. [MAX_PLAYERS]

  • Beitrag von Kasakow ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Dankeschön, das stimmt auch. Die Werte waren gleich :)
    Nun Crash der Server nicht mehr.
    Ach und Tom Sunder
    Laber bitte nicht so einen Käse ^^
    Ich hänge doch keine 500 Felder an die Variable wenn 2 Reichen ;)
    ( #define MAX_PLAYERS 500 )


    ich kann ja nix dafür ich weiß ja net ob du das am anfang von der dm runde einträgst oder am ende... und ich hab gedacht du machst das am ende darum hab ich auf das mit dem = zuerst net geachte...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen