String Problem

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


    Ich habe mehrere Hotels und somit auch mehrere Hotelzimmer. der besitzer des Hotels kann sein Hotel ganz einfach über dialogen verwalten.
    Nun soll es auch eine Allgemeine Info für das Hotel geben wo drinne steht:
    Hotel:
    Kasse:
    Mietpreis:
    Belegte Zimmer:


    Hotelzimmer:
    //hier alle hotelzimmer aufgelistet (je nach hotel verschiedend)


    da alles zusammen ziemlich groß ist und jedes Hotel eine andere Anzahl von Hotelzimmern habe, habe ich es mal so so gelöst:


    if(dialogid == Dialog_Hotel) // Hotel dialog
    {
    if(response)
    {
    if(listitem == 0) // 0 == Hotel info
    {
    for(new i = 0; i < sizeof Hotels; i++) // geht alle Hotels durch
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,Hotels[i][hpx],Hotels[i][hpy],Hotels[i][hpz])) //überprüft, an welchem hotel er steht
    {
    new str[1700];
    new sBug[1500];
    sBug[0] = '\0';
    for(new j = 0; j < sizeof pHotelzimmer; j++) // geht alle hotelzimmer durch
    {
    if(!strcmp(pHotelzimmer[j][HName2],Hotels[i][HName],true)) //überprüft welches Hotelzimmer zum Hotel gehört
    {
    new str2[300], Bizdatei[100];
    format(Bizdatei,sizeof(Bizdatei),"/Hotelzimmer/%s %s",Hotels[i][HName],pHotelzimmer[j][ZName]);
    if(!strcmp(dini_Get(Bizdatei,"Mietername"),"Keiner",true)) // falls keiner das Zimmer Mietet
    {
    format(str2,sizeof(str2),"%s Mieter: Keiner",pHotelzimmer[j][ZName]);
    }
    else // falls einer das Zimmer Mietet
    {
    format(str2,sizeof(str2),"%s Mieter: %s Lastlogin: %d.%d %d:%d",pHotelzimmer[j][ZName],dini_Get(Bizdatei,"Mietername"), pHotelzimmer[i][Mieterlogday], pHotelzimmer[i][Mieterlogmonth], pHotelzimmer[i][Mieterloghour], pHotelzimmer[i][Mieterlogminute]);
    }
    format(sBug,sizeof(sBug),"%s%s\n",sBug,str2); // hier werden alle strings der hotelzimmer zusammengepackt
    }
    }
    format(str,sizeof(str),"Hotel: %s\nKasse: $%d\nBelegte Zimmer: %d / %d\nMietpreis: $%d\n\nHotelzimmer:\n%s",Hotels[i][HName],Hotels[i][Kasse],Hotels[i][Mieter],Hotels[i][Zimmer],Hotels[i][Mietpreis],sBug);
    ShowPlayerDialog(playerid,Dialog_Hotel_Info,DIALOG_STYLE_MSGBOX,"Hotel - Info",str,"Verwaltung","");
    }
    }
    }
    }
    }


    Das Problem ist nun, das mir, wenn ich die Strings verkleinere nur die Hälfte vom Text im Dialog angezeigt wird bzw. wenn ich die Strings vergrößere erst gar kein Dialog kommt und anschließende Commands funktionieren auch nicht.


    Wäre sehr nett wenn mir jemand bei diesem Problem helfen könnte.


    Mfg
    Simon


    //edit: klappt alles

    Einmal editiert, zuletzt von Simon ()