/rentroom Befehl funktioniert nicht

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 Rentroom befehl runktioniert nicht und ich weiß nicht wieso es kommt auch keine meldung auf dem server:


    if(strcmp(cmd, "/rentroom", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 1 && HouseInfo[h][hRentabil] == 1)
    {
    if(PlayerInfo[playerid][pOwnPerso] == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du benötigst einen PerosnalAusweis");
    return 1;
    }
    if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
    {
    SendClientMessage(playerid, COLOR_WHITE, " Die gehört bereits ein Haus, gib /sellhouse ein um dein altes zu verkaufen.");
    return 1;
    }
    if(GetPlayerMoney(playerid) > HouseInfo[h][hRent])
    {
    PlayerInfo[playerid][pPhousekey] = h;
    GivePlayerMoney(playerid,-HouseInfo[h][hRent]);
    HouseInfo[h][hTakings] = HouseInfo[h][hTakings]+HouseInfo[h][hRent];
    PlayerPlayMusic(playerid);
    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
    SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen zu Hause~n~Du kannst das Haus an deiner Haustür mit /exit verlassen", 5000, 3);
    PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
    PlayerInfo[playerid][pLocal] = h;
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation zu deiner neuen Miete !");
    SendClientMessage(playerid, COLOR_WHITE, "Gib /help um Hilfe zu bekommen !");
    OnPlayerUpdate(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, " Du hast nicht genug Geld !");
    return 1;
    }
    }
    }
    }
    return 1;
    }


    Passiert einfach nicht, vielen dank schonmal für hilfe

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • probiers so, ein return 1; unterbricht die schleife

    if(strcmp(cmd, "/rentroom", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 1 && HouseInfo[h][hRentabil] == 1)
    {
    if(PlayerInfo[playerid][pOwnPerso] == 0)return SendClientMessage(playerid, COLOR_WHITE, "Du benötigst einen PerosnalAusweis");
    if(PlayerInfo[playerid][pPhousekey] != 255 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)return SendClientMessage(playerid, COLOR_WHITE, " Die gehört bereits ein Haus, gib /sellhouse ein um dein altes zu verkaufen.");
    if(GetPlayerMoney(playerid) > HouseInfo[h][hRent])
    {
    PlayerInfo[playerid][pPhousekey] = h;
    GivePlayerMoney(playerid,-HouseInfo[h][hRent]);
    HouseInfo[h][hTakings] = HouseInfo[h][hTakings]+HouseInfo[h][hRent];
    PlayerPlayMusic(playerid);
    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
    SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
    GameTextForPlayer(playerid, "~w~Willkommen zu Hause~n~Du kannst das Haus an deiner Haustür mit /exit verlassen", 5000, 3);
    PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
    PlayerInfo[playerid][pLocal] = h;
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation zu deiner neuen Miete !");
    SendClientMessage(playerid, COLOR_WHITE, "Gib /help um Hilfe zu bekommen !");
    OnPlayerUpdate(playerid);
    }
    else return SendClientMessage(playerid, COLOR_WHITE, " Du hast nicht genug Geld !");
    }
    }
    }
    return 1;
    }

  • Sry davon habe ich gerade nicht so viel ahnung habe mich mit dem housesystem noch nicht so beschäfdigt, weiß nicht wo hin ich das tuen soll


    for(new h = 0; h < sizeof(HouseInfo); h++)
    ist doch drinnen

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • Probkem gefunden, irgendwie geht es nur bei dernn unteren Häuser ich habe 38 Im script drinnen, meins ist haus 24 etwa und da wo wir eben geteste haben haus 1 und da geht /rentromm, Haus 21 Funktioniert /rentroom noch und ab 22 Nicht mehr




    BItte um hilfe
    //edit

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

    3 Mal editiert, zuletzt von eli ()

  • Ist von meinem GF .. könnte dir villt helfen


    CMD:zimmermieten(playerid, params[])
    {
    new string[128];
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]) && HouseInfo[h][hRentFee] >= 1)
    {
    if( ! strcmp( HouseInfo[h][hOwner], "Nobody", true ) )
    {
    SendClientMessageEx( playerid, COLOR_WHITE, "Du kannst kein Zimmer mieten wenn niemand das Haus besitzt." );
    }
    else
    {
    if(PlayerInfo[playerid][pPhousekey] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
    {
    SendClientMessageEx(playerid, COLOR_WHITE, " Du besitzt bereits ein Haus, schreibe /sellhouse wenn du das Haus mieten willst.");
    return 1;
    }
    if(GetPlayerCash(playerid) > HouseInfo[h][hRentFee])
    {
    if( HouseInfo[h][hRentable] == 0 )
    {
    SendClientMessageEx(playerid, COLOR_WHITE, "Dieses Haus ist nicht zu vermieten.");
    return 1;
    }
    else
    {
    PlayerInfo[playerid][pRenting] = h;
    GivePlayerCash(playerid,-HouseInfo[h][hRentFee]);
    HouseInfo[h][hSafeMoney] = HouseInfo[h][hSafeMoney]+HouseInfo[h][hRentFee];
    SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
    if(HouseInfo[h][hCustomInterior] == 1)
    {
    TogglePlayerControllable(playerid, 0);
    GameTextForPlayer(playerid, "Objecte werden geladen...", 4000, 5);
    SetPVarInt(playerid, "LoadingObjects", 1);
    SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
    }
    SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
    GameTextForPlayer(playerid, "~w~Willkommen Zuhause~n~Du kannst dieses Haus verlassen indem du zur Tuer gehst und /exit schreibst.", 5000, 3);
    PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
    PlayerInfo[playerid][pVW] = 6000+h;
    PlayerInfo[playerid][pLocal] = 6000+h;
    SetPlayerVirtualWorld(playerid, h+6000);
    SendClientMessageEx(playerid, COLOR_WHITE, "Gratulation. Du kannst dieses Haus nun jederzeit verlassen oder betreten.");
    SendClientMessageEx(playerid, COLOR_WHITE, "Schreibe /hilfe fuer mehr Informationen.");
    OnPlayerStatsUpdate(playerid);
    new ip[32];
    GetPlayerIp(playerid,ip,sizeof(ip));
    format(string,sizeof(string),"%s (IP: %s) has rented house ID %d (owned by %s) for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hOwner],HouseInfo[h][hRentFee]);
    Log("logs/house.log", string);
    return 1;
    }
    }
    else
    {
    SendClientMessageEx(playerid, COLOR_WHITE, "Du hast nicht genuegend Geld.");
    return 1;
    }
    }
    }
    }
    return 1;
    }