Server Crasht bei /enter

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
  • Moin ich habe folgendes Problem


    undzwar sobald ich ein haus betretten will mit /enter Crasht der server!


    Hier mal der /enter befehl:


    if(strcmp(cmd, "/enter", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
    {
    //printf("Found House :%d",i);
    if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0)
    {
    SetPlayerInterior(playerid,HouseInfo[i][hInt]);
    SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen Zuhause", 5000, 1);
    PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
    PlayerInfo[playerid][pLocal] = i;
    }
    else
    {
    GameTextForPlayer(playerid, "~r~Geschlossen!", 5000, 1);
    }
    }
    }
    for(new i = 0; i < sizeof(BizzInfo); i++)
    {
    if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
    {
    //printf("Found House :%d",i);
    if(!IsACop(playerid) && i == 3)
    {
    SendClientMessage(playerid, COLOR_GREY, "Nur Polizisten!");
    return 1;
    }
    if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerPCash(playerid) >= BizzInfo[i][bEntranceCost])
    {
    if(PlayerInfo[playerid][pPbiskey] != i)
    {
    if(BizzInfo[i][bLocked] == 1)
    {
    GameTextForPlayer(playerid, "~r~Geschlossen!", 5000, 1);
    return 1;
    }
    if(BizzInfo[i][bProducts] == 0)
    {
    GameTextForPlayer(playerid, "~r~Außerhalb der Zone", 5000, 1);
    return 1;
    }
    GivePlayerPCash(playerid,-BizzInfo[i][bEntranceCost]);
    format(string, sizeof(string), "~r~-%d$~n~~w~tippe /exit~n~um auszusteigen", BizzInfo[i][bEntranceCost]);
    BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost];
    ExtortionBiz(i, BizzInfo[i][bEntranceCost]);
    BizzInfo[i][bProducts]--;
    OnPropUpdate();
    GameTextForPlayer(playerid, string, 5000, 3);
    }
    SetPlayerInterior(playerid,BizzInfo[i][bInterior]);
    SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]);
    PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior];
    PlayerInfo[playerid][pLocal] = i+99;
    new dood[MAX_PLAYER_NAME];
    GetPlayerName(playerid, dood, sizeof(dood));
    format(string, sizeof(string), "%s hat %d$ bezahlt um das Unternehmen %d zu betreten", dood, BizzInfo[i][bEntranceCost], i);
    printf("%s", string);
    PayLog(string);
    //PlayerInfo[playerid][pLocal] = i;
    }
    else
    {
    GameTextForPlayer(playerid, "~r~Du hast nicht genug Geld!", 5000, 1);
    }
    }
    }
    for(new i = 0; i < sizeof(SBizzInfo); i++)
    {
    if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
    {
    if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerPCash(playerid) >= SBizzInfo[i][sbEntranceCost])
    {
    if(PlayerInfo[playerid][pPbiskey] != i)
    {
    if(SBizzInfo[i][sbLocked] == 1)
    {
    GameTextForPlayer(playerid, "~r~Geschlossen!", 5000, 1);
    return 1;
    }
    if(SBizzInfo[i][sbProducts] == 0)
    {
    GameTextForPlayer(playerid, "~r~Außerhalb der Zone", 5000, 1);
    return 1;
    }
    if(i == 10)
    {
    PaintballPlayers ++;
    PlayerPaintballing[playerid] = 1;
    new rand = random(sizeof(PaintballSpawns));
    SetPlayerPos(playerid, PaintballSpawns[rand][0], PaintballSpawns[rand][1], PaintballSpawns[rand][2]);
    TogglePlayerControllable(playerid, 0);
    }
    else if(i == 11)
    {
    PlayerKarting[playerid] = 1;
    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Du kannst am Kart Race teilnehmen. Steig in ein Kart.");
    }
    else
    {
    return 1;
    }
    GivePlayerPCash(playerid,-SBizzInfo[i][sbEntranceCost]);
    gSpentCash[playerid] = GetPlayerPCash(playerid);
    SBizzInfo[i][sbProducts]--;
    SBizzInfo[i][sbTill] += SBizzInfo[i][sbEntranceCost];
    ExtortionSBiz(i, SBizzInfo[i][sbEntranceCost]);
    new dood[MAX_PLAYER_NAME];
    GetPlayerName(playerid, dood, sizeof(dood));
    format(string, sizeof(string), "%s hat %d$ bezahlt um das Unternehmen %d zu betreten", dood, SBizzInfo[i][sbEntranceCost], i);
    printf("%s", string);
    PayLog(string);
    OnPropUpdate();
    }
    }
    else
    {
    GameTextForPlayer(playerid, "~r~Du hast nicht genug Geld!", 5000, 1);
    }
    }
    }
    if (PlayerToPoint(3.0, playerid,1481.1877,-1769.5936,18.7958))
    {
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,387.7978,173.8582,1008.3828);
    GameTextForPlayer(playerid, "~w~Willkommen im Rathaus", 5000, 1);
    PlayerInfo[playerid][pInt] = 3;
    PlayerInfo[playerid][pLocal] = 241;
    }
    else if (PlayerToPoint(3.0, playerid,-548.9719,-180.5455,78.4063))
    {
    if(PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
    {
    SetPlayerInterior(playerid,2); //normal 2
    SetPlayerPos(playerid,1205.0947,-10.1685,1000.9219); //original
    PlayerInfo[playerid][pInt] = 2; //normal 2
    PlayerInfo[playerid][pLocal] = 242;
    }
    }
    else if (PlayerToPoint(3.0, playerid,2695.6235,-1704.6960,11.8438))
    {
    GameTextForPlayer(playerid, "~w~Willkommen zu 8ball", 5000, 1);
    SetPlayerInterior(playerid,7);
    SetPlayerPos(playerid,-1404.5299,-259.0602,1043.6563);
    }
    else if (PlayerToPoint(8.0, playerid,-2111.5686,-443.9720,38.7344))
    {
    GameTextForPlayer(playerid, "~w~Willkommen zu Dirt Track", 5000, 1);
    SetPlayerInterior(playerid,4);
    SetPlayerPos(playerid,-1443.0554,-581.1879,1055.0472);
    }
    else if (PlayerToPoint(8.0, playerid,-2080.3079,-406.0309,38.7344))
    {
    GameTextForPlayer(playerid, "~w~Willkommen zum Stunting Track", 5000, 1);
    SetPlayerInterior(playerid,14);
    SetPlayerPos(playerid,-1464.7732,1557.5533,1052.5313);
    }
    else if (PlayerToPoint(3.0, playerid,1832.3160,-1125.1207,24.5590))///enter Punkt koordinaten einfügen
    {
    if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)
    {
    GameTextForPlayer(playerid, "~w~La Cosa Nostra Casino", 5000, 1);// Text wenn ihr im Interior seit
    SetPlayerInterior(playerid,1);//Interior zahl
    SetPlayerVirtualWorld(playerid, 11); // Virtual World !!! So seht ihr keine anderen Spieler die diese IUnterior nutzen
    SetPlayerPos(playerid,2233.8032,1712.2303,1011.7632);// Poistion die ihr aus dem Wiki habt.
    }
    }
    }
    return 1;
    }


    Hoffe ihr könnt mir helfen da ich gerade ein wenig verpeilt bin,....


    Mfg

  • ich bezweifle, dass es am server liegt.
    versuch mal einige textausgaben mit nummern im quelltext zu verteilen und führe es dann aus.
    zwischen der letzten nummer die du gesehen hast und der nächsten müsste der fehler liegen.dann nummerierst du in diesem bereich genauer oder kommentierst aus.
    so solltest du den fehler schnell finden.


    viel glück^^


    ps: meistens sinds schleifen die zu lang laufen... da musst du den zähler (meistens i) in die logfile/textausgabe packen.