Fragen zum Haussystem (Mieter Rauswerfen & Mieter Auflisten)

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,


    Ich möchte gerne per MSGBOX wissen wie ich die Mieter die Online sind auflisten kann.
    Und wie kann ich Besitzer rauswerfen die Online sind also ID angeben das der jenige rausgeworfen wird.



    enum des Haussystem:



    Befehl zum Einmieten:


  • Ich möchte gerne per MSGBOX wissen wie ich die Mieter die Online sind auflisten kann.


    Versuchs mal.

    new str[256];
    for(new i=0, j=GetPlayerPoolSize(); i<=j; i++) {
    if(PlayerInfo[playerid][pHouseKey] == PlayerInfo[i][pHouseKey]) {
    format(str, sizeof(str), "%sMieter: %s (ID: %d)\n", str, PlayerInfo[i][pName], i);
    }
    }
    if(!strlen(str))return format(str, sizeof(str), "Du hast keine Mieter");
    ShowPlayerDialog(playerid, DIALOG_HOUSE_MIETERLIST, DIALOG_STYLE_MSGBOX, "Mieter", str, "Schließen", "");

  • Ich brauche irgendeine Konstante zwischen dem Besitzer des Hauses und dem Mieter, um zu überprüfen, ob der Spieler Mieter in dem jeweiligen Haus ist. Es ist schwierig zu helfen, ohne wirklichen Code.


  • Das ist der befehl sich einzumieten.


    Das heißt wen er sich einmietet wird im der HouseKey gegeben.
    Ebernso wen er sich ausmietet wird ihm der HouseKey entzogen



    das hängt ebenso mit Buyhouse zusammen die frage ist nun soll man MieterKey anlegen das es getrennt läuft?


  • Eine Liste würde ich dann so erstellen:
    //Ermittlung des Hauses des Owners der die Mieter aufgelistet sehen will
    for(new i;i<MAX_HOUSES;i++)
    {
    if(strcmp(Haus[i][hBesitzer],GetName(playerid),true)==0)
    {
    break;
    }
    }


    //Ermittlung aller Mieter ausgenommen der Owner
    new string[1024];
    if(i!=MAX_HOUSES&&i!=INVALID_HOUSE_KEY)
    {
    for(new x;x<MAX_PLAYERS;x++)
    {
    if(IsPlayerConnected(x)
    {
    if(PlayerInfo[x][pHouseKey]==i&&if(strcmp(GetName(x),Haus[i][hBesitzer]!=0)
    {
    format(string,sizeof(string),"%s\nSpieler: %s ist Mieter dieses Hauses",string,GetName(x));
    }
    }
    }
    }
    ShowPlayerDialog(playerid,dialogidselbereinfügen,DIALOG_STYLE_MSGBOX/*Außerduwillstjetztkrassesachenmachensobaldmanraufklicktdannnatürlichstyle_list*/,"Mieter",string,"Weiter","");



    so sollte es denke mal mit der Liste richtig sein

  • Habe das jetzt eingefügt



    Es stürzt ab wen ich Kompeilen.

  • schick uns doch mal den kompletten code nicht nur das fünfte listitem sondern ab if(dialogid==dialogvondemwirreden) bis ende


    btw. warum hast du die Positionen des Codes einfach geändert? Jede stelle hat seinen Grund gehabt und z.B. das ShowPlayerDialog einfach zu entfernen und wieder woanders einzufügen ist nicht gerade sinnvoll wenn man keine Ahnung hat was man damit bewirkt
    und du musst bei ShowPlayerDialog aus string dann entsprechend mstring machen.
    Wenn ich mich nicht irre hast du } zu wenig und bei if(IsPlayerConnected(x) fehlt eine klammer zu was jedoch mein Fehler war

  • Einmal editiert, zuletzt von Dr. Frauenarzt () aus folgendem Grund: Code Bearbeitet

  • Hä? Die Erkärung ist auch komisch.


    Es per befehl also /Confighouse zeigt er mir alles an die Kategorie die ich anklicke sollte dann alles anzeigt werden per msgbox wer alles eingemietet ist??



    @[DT]midomen



    Habe es so drinne jz