Warum kann ich das haus nicht betreten?

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
  • //enter befehl fürs gebäude
    ocmd:enter(playerid,params[])
    {
    for(new i=0; i<sizeof(bInfo); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
    SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
    SetPlayerInterior(playerid,bInfo[i][b_interior]);
    SetPlayerVirtualWorld(playerid,i);
    SetPlayerShopName(playerid,bInfo[i][b_shopname]);
    return 1;
    }
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][h_id])continue;
    if(hInfo[i][ih_x]==0.0)continue;
    if(!strlen(hInfo[i][h_besitzer]))continue;
    if(!isplayermieter(playerid))continue;
    if(strcmp(hInfo[i][h_besitzer],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter2],getPlayerName(playerid),true))continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
    SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
    SetPlayerInterior(playerid,hInfo[i][h_interior]);
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    return 1;
    }


    Ich spawne im haus bei spawnchange, ich kann auch mit N rausgehen aber am icon komme ich nicht rein...


  • if(strcmp(hInfo[i][h_besitzer],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter2],getPlayerName(playerid),true))continue;

    zu

    if(strcmp(hInfo[i][h_besitzer],getPlayerName(playerid),true) || strcmp(hInfo[i][h_mieter],getPlayerName(playerid),true) || strcmp(hInfo[i][h_mieter2],getPlayerName(playerid),true))continue;


    // Edit Fail :)

  • ...


    Debugge es doch einfach mal, anstatt dass jetzt jeder an jeder if-Abfrage rumrät.


    ocmd:enter(playerid,params[])
    {
    printf("1");
    for(new i=0; i<sizeof(bInfo); i++)
    {
    printf("i: %d", i);
    printf("Range: %d", IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]));
    if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
    printf("tp");
    SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
    SetPlayerInterior(playerid,bInfo[i][b_interior]);
    SetPlayerVirtualWorld(playerid,i);
    SetPlayerShopName(playerid,bInfo[i][b_shopname]);
    return 1;
    }
    printf("2");
    for(new i=0; i<sizeof(hInfo); i++)
    {
    printf("i: %d", i);
    printf("id: %d", hInfo[i][h_id]);
    if(!hInfo[i][h_id])continue;
    printf("x: %f", hInfo[i][ih_x]);
    if(hInfo[i][ih_x]==0.0)continue;
    printf("strlen: %d", strlen(hInfo[i][h_besitzer]));
    if(!strlen(hInfo[i][h_besitzer]))continue;
    printf("mieter: %d", isplayermieter(playerid));
    if(!isplayermieter(playerid))continue;
    printf("vor namen");
    if(strcmp(hInfo[i][h_besitzer],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter2],getPlayerName(playerid),true))continue;
    printf("Range: %d", IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]));
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
    printf("tp");
    SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
    SetPlayerInterior(playerid,hInfo[i][h_interior]);
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    printf("Ende");
    return 1;
    }


    Was steht im Log, wenn du den Befehl eingibst?