Server Crasht bei CMD?

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 alle,
    Unser Server crasht komischerweise bei CMD´s und es werden immer mehr die wir finden .... Wir wissen auch nicht wieso :huh: Das ist einfach nur komisch.... Der Server crasht bei /edit /invite /kick bis jetzt... Aber die CMD´s sind nicht verbuggt wir haben schon nachgesehen aber was ist da los? :S
    Hier mal die Script abschnitte:


    //----------------------------------[Kick]------------------------------------------------
    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /kick [playerid] [Grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /kick [playerid] [Grund]");
    return 1;
    }
    if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht kicken, da er ein höheres Adminlevel hat als du!");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    KickLog(string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    return 1;
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    //----------------------------------[INVITE]------------------------------------------------
    if(strcmp(cmd, "/invite", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /invite [spielerid/teildesnamens]");
    return 1;
    }
    new para1;
    new ftext[20];
    para1 = ReturnUser(tmp);
    if (PlayerInfo[playerid][pLeader] >= 1)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if (gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
    {
    if(PlayerInfo[para1][pJob] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Spieler kann nicht eingeladen werden, weil er einen Job hat!");
    return 1;
    }
    if(PlayerInfo[playerid][pLeader] == 1) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Polizei"; ChosenSkin[para1] = 280; SetPlayerSkin(para1, 280); }
    else if(PlayerInfo[playerid][pLeader] == 2) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "FBI/ATF"; ChosenSkin[para1] = 286; SetPlayerSkin(para1, 286); }
    else if(PlayerInfo[playerid][pLeader] == 3) { PlayerInfo[para1][pTeam] = 2; gTeam[para1] = 2; ftext = "Nationalgarde"; ChosenSkin[para1] = 287; SetPlayerSkin(para1, 287); }
    else if(PlayerInfo[playerid][pLeader] == 4) { PlayerInfo[para1][pTeam] = 1; gTeam[para1] = 1; ftext = "Feuerwehr/Sanitäter"; ChosenSkin[para1] = 70; SetPlayerSkin(para1, 70); }
    else if(PlayerInfo[playerid][pLeader] == 5) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "La Cosa Nostra"; ChosenSkin[para1] = 258; SetPlayerSkin(para1, 120); }
    else if(PlayerInfo[playerid][pLeader] == 6) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Yuzuki"; ChosenSkin[para1] = 120; SetPlayerSkin(para1, 258); }
    else if(PlayerInfo[playerid][pLeader] == 7) { return 1; }
    else if(PlayerInfo[playerid][pLeader] == 8) { PlayerInfo[para1][pTeam] = 10; gTeam[para1] = 12; ftext = "Hitman Agentur"; ChosenSkin[para1] = 127; SetPlayerSkin(para1, 127); }
    else if(PlayerInfo[playerid][pLeader] == 9) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "CNN Studio"; ChosenSkin[para1] = 148; SetPlayerSkin(para1, 148); }
    else if(PlayerInfo[playerid][pLeader] == 10) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Taxiunternehmen"; ChosenSkin[para1] = 255; SetPlayerSkin(para1, 255); }
    else if(PlayerInfo[playerid][pLeader] == 11) { PlayerInfo[para1][pTeam] = 12; gTeam[para1] = 12; ftext = "Fahrlehrer"; ChosenSkin[para1] = 59; SetPlayerSkin(para1, 59); }
    else if(PlayerInfo[playerid][pLeader] == 14) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Grove Street"; ChosenSkin[para1] = 270; SetPlayerSkin(para1, 270); }
    else if(PlayerInfo[playerid][pLeader] == 13) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "Terroristen"; ChosenSkin[para1] = 270; SetPlayerSkin(para1, 270); } //Skin Ändern!
    else { return 1; }
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pMember] = PlayerInfo[playerid][pLeader];
    PlayerInfo[para1][pRank] = 1;
    printf("AdmCmd: %s hat %s eingeladen um %s beizutreten.", sendername, giveplayer, ftext);
    format(string, sizeof(string), "Du bist %s beigetreten, du wurdest vom Leader %s eingeladen", ftext, sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s eingeladen %s beizutreten.", giveplayer,ftext);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SetPlayerInterior(para1,0);
    new rand = random(sizeof(gInviteSpawns));
    SetPlayerPos(para1, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
    SetPlayerFacingAngle(para1, gInviteSpawns[rand][3]);
    SetPlayerCameraPos(para1,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
    SetPlayerCameraLookAt(para1,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
    TogglePlayerControllable(para1, 0);
    SelectChar[para1] = 255;
    SelectCharID[para1] = PlayerInfo[para1][pMember];
    SelectCharPlace[para1] = 1;
    PlayerInfo[para1][pModel] = ChosenSkin[para1];
    PlayerInfo[para1][pChar] = ChosenSkin[para1];
    SendClientMessage(para1, COLOR_LIGHTRED, "* Verwende 'next' um deinen Charakter zu wählen.");
    SendClientMessage(para1, COLOR_LIGHTRED, "* Wenn du den Charakter gefunden hast, den du benutzen willst, tippe 'done'.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler wird gesucht / ist schon in einem Team / ist schon ein Familienmitglied.");
    return 1;
    }
    }
    }//not connected
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen (nur für Leader)!");
    }
    }
    return 1;

    Hoffe ihr könnt uns helfen :rolleyes:
    //Edit befehl war zu lange den Poste ich aber auch noch
    MFG alex :huh:

    DIK2gXr.png

    Einmal editiert, zuletzt von DurtyFree ()

  • //So hier Teil 2 der /edit befehl und was ich zulätzt verändert hab...
    if(strcmp(cmd, "/edit", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Admin!");
    return 1;
    }
    new x_job[256];
    x_job = strtok(cmdtext, idx);
    if(!strlen(x_job)) {
    SendClientMessage(playerid, COLOR_WHITE, "|__________________ Edit __________________|");
    SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /edit [name] betrag] (für Hauser und Unternehmen)");
    SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: Level, Price, Funds, Products");
    SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /edit [name] [betrag]");
    return 1;
    }
    new proplev = strval(tmp);
    //if(strcmp(x_job,"car",true) == 0)
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
    {
    format(string, sizeof(string), "Haus: %d", i);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    if(proplev > 0)
    {
    if(strcmp(x_job,"level",true) == 0)
    {
    HouseInfo[i][hLevel] = proplev;
    }
    else if(strcmp(x_job,"price",true) == 0)
    {
    HouseInfo[i][hValue] = proplev;
    }
    }
    }
    }
    for(new i = 0; i < sizeof(BizzInfo); i++)
    {
    if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
    {
    format(string, sizeof(string), "Biz: %d", i);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    if(proplev > 0)
    {
    if(strcmp(x_job,"level",true) == 0)
    {
    BizzInfo[i][bLevelNeeded] = proplev;
    }
    else if(strcmp(x_job,"price",true) == 0)
    {
    BizzInfo[i][bBuyPrice] = proplev;
    }
    else if(strcmp(x_job,"funds",true) == 0)
    {
    BizzInfo[i][bTill] = proplev;
    }
    else if(strcmp(x_job,"products",true) == 0)
    {
    BizzInfo[i][bProducts] = proplev;
    }
    }
    }
    }
    for(new i = 0; i < sizeof(SBizzInfo); i++)
    {
    if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
    {
    format(string, sizeof(string), "SBiz: %d", i);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    if(proplev > 0)
    {
    if(strcmp(x_job,"level",true) == 0)
    {
    SBizzInfo[i][sbLevelNeeded] = proplev;
    }
    else if(strcmp(x_job,"price",true) == 0)
    {
    SBizzInfo[i][sbBuyPrice] = proplev;
    }
    else if(strcmp(x_job,"funds",true) == 0)
    {
    SBizzInfo[i][sbTill] = proplev;
    }
    else if(strcmp(x_job,"products",true) == 0)
    {
    SBizzInfo[i][sbProducts] = proplev;
    }
    }
    }
    }
    format(string, sizeof(string), "Du hast bereinigt: %s.", x_job);
    SendClientMessage(playerid, COLOR_WHITE, string);
    OnPropUpdate();
    }
    return 1;
    }
    Zuletzt verändert:
    Unter OnPlayerText
    if(RegistrationStep[playerid] > 0)
    {
    /* if(RegistrationStep[playerid] == 1)
    {
    new idx;
    tmp = strtok(text, idx);
    if((strcmp("männlich", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("männlich")))
    {
    PlayerInfo[playerid][pSex] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ok, du bist also männlich.");
    SendClientMessage(playerid, COLOR_WHITE, "Wann ist dein Geburtstag? (Benutze zb. 25.11.1998)");
    RegistrationStep[playerid] = 2;
    return 0;
    }
    else if((strcmp("weiblich", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("weiblich")))
    {
    PlayerInfo[playerid][pSex] = 2;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ok, du bist also weiblich.");
    SendClientMessage(playerid, COLOR_WHITE, "Wann ist dein Geburtstag? (Benutze zb. 25.11.1998)");
    RegistrationStep[playerid] = 2;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Bist du männlich oder weiblich? (Gib ein was du bist!).");
    }
    return 0;
    }*/
    if(RegistrationStep[playerid] == 1)
    {
    ShowMenuForPlayer(abfrage, playerid);
    return 0;
    }
    if(RegistrationStep[playerid] == 2)
    {
    new year, month,day;
    getdate(year, month, day);
    new DateInfo[3][20];
    split(text, DateInfo, '.');
    if (!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]))) {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Wann ist dein Geburtstag? (Benutze zb. 25.11.1998)");
    return 0;
    }
    if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Wann ist dein Geburtstag? (Benutze zb. 25.11.1998)");
    return 0;
    }
    new check = year - strval(DateInfo[2]);
    if(check == year)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Wann ist dein Geburtstag? (Benutze zb. 25.11.1998)");
    return 0;
    }
    if(strval(DateInfo[1]) > month)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day)
    {
    check -= 1;
    }
    PlayerInfo[playerid][pAge] = check;
    format(string, sizeof(string), "Ok, du bist also %d Jahre alt.",PlayerInfo[playerid][pAge]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    RegistrationStep[playerid] = 3;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Woher kommst du? Wähle aus:");
    RegistrationStep[playerid] = 3;
    ShowMenuForPlayer(herkunft, playerid);
    return 0;
    }
    /* else if(RegistrationStep[playerid] == 3)
    {
    new idx;
    tmp = strtok(text, idx);
    if((strcmp("usa", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("usa")))
    {
    PlayerInfo[playerid][pOrigin] = 1;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also von den USA.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Danke für deine Informationen. Du wirst zum Tutorial weitergeleitet.");
    ShowMenuForPlayer(geschenk, playerid);
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    return 0;
    }
    else if((strcmp("europa", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("europe")))
    {
    PlayerInfo[playerid][pOrigin] = 2;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus Europa.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Danke für deine Informationen. Du wirst zum Tutorial weitergeleitet.");
    ShowMenuForPlayer(geschenk, playerid);
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    return 0;
    }
    else if((strcmp("asia", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("asia")))
    {
    PlayerInfo[playerid][pOrigin] = 3;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus Asien.");
    ShowMenuForPlayer(geschenk, playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Danke für deine Informationen. Du wirst zum Tutorial weitergeleitet.");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Woher kommst du? (Schreibe: USA, Europa oder Asien)");
    }*/
    //return 0;
    //}
    /*if(RegistrationStep[playerid] == 3)
    {
    ShowMenuForPlayer(herkunft, playerid);
    return 0;
    }*/
    return 0;
    }


    Hoffe mir kann einer helfen :pinch: