Beiträge von Jeffry

    RTM gibt es im Grunde nicht mehr, es soll ja immer weiterentwickelt werden


    Yup, wobei die 10240, dadurch dass sie eben "auf Punkt" an die Hersteller ausgeliefert wurde, im eigentlichen Sinn einer RTM entspricht, auch wenn es Microsoft nicht so nennt oder nennen will.


    Es müsste ja eigentlich auch Windows 9 heißen *hust* :D



    Wen's interessiert, das Video zur Herstellung des neuen Hintergrunds finde ich klasse:

    Spoiler anzeigen
    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Für die Labels:
    new string[55];
    format(string,55,"Dieses Haus steht zum Verkauf\n\nPreis: %d $",Haus[hausid][Preis]);
    Haus[hausid][Label] = Create3DTextLabel(string,0x33AA33FF,X,Y,Z,100.0,0,1);
    Oder was sonst eben dort stehen soll, je nach dem.


    Für die Icons (=Pickup?):
    Das hast du schon drin. Wenn der Filterscript korrekt geladen wird sollte es das anzeigen. Füge gegebenenfalls vor
    return true; in LoadHaus diesen print ein: printf("Haus %d geladen.", hausid); Dann weißt du, ob es korrekt aufgerufen worden ist.

    Auser du hast die Developer-Version die ich aber nicht empfehle


    Auf Grund von?
    Der 10240'er Build läuft bei mir stabil, SA-MP Server läuft auch (sogar schon seit 10074), und ich habe damit auch sonst keine Probleme. Da das wohl der RTM Version entspricht, dürfte es zu der in 4 Tagen kommenden Version kaum Unterschiede geben, da Microsoft momentan nur noch Patches ausgibt.

    Dann so:
    public LoadHouseRentFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new lResult[128], rows, fields, string[256];
    switch(sqlresultid)
    {
    case _SQL_HOUSEMIETER_LOAD:
    {
    cache_get_data(rows, fields);
    new lCount;
    format(string, sizeof(string), "~w~");
    while(lCount < rows)
    {
    cache_get_field_content(lCount, "SPALTE MIT DEM NAMEN", lResult);
    format(string, sizeof(string), "%s%s~n~", string,lResult);
    lCount++;
    }
    for(new i = lCount; i < HausInfo[extraid][haus_slots] ; i++)
    {
    format(string, sizeof(string), "%sNiemand~n~", string);
    }
    TextDrawSetString(HausLabelTD[7], string);
    }
    }
    return 1;
    }


    Und als extraid musst du die HausID mitgeben.


    Zwecks dem Text:
    Du musst das Textdraw der Box vor dem Textdraw des Textes erstellen.

    Du hast es doch hier schon stehen, im ersten Post:
    public OnFilterScriptInit()
    {
    for(new i;i!=MAX_HAUSER;i++) LoadHaus(i);
    return true;
    }
    public OnFilterScriptExit()
    {
    for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
    return true;
    }


    Wenn du die 3DLabels auch beim Laden erstellen willst, dann musst du das bei "LoadHaus" nach dem CreatePickup machen.


    Und ändere
    return 0;
    zu:
    return 1;
    in OnFilterScriptInit.

    Natürlich, davon bin ich ausgegangen, dass ein Datensatz zu dem Spieler existiert, wenn du UPDATE verwendest, sonst macht das wenig Sinn ;)


    Ich deinem Post erkenne ich keine Problembeschreibung. Ist das Thema damit erledigt?

    Untereinander oder nebeneinander?
    Vielleicht wäre es gut, wenn du mal ein Bild postest, wie es aussehen soll.

    Der Fehler wird hieran liegen:
    BizzInfo[local-99][bTill] += payout/3;
    ExtortionBiz(local-99, payout);
    BizzInfo[local-99][bProducts]--;
    Da du es oben auskommentiert hast, welches Local der User hat, denke ich er hat keines. Entferne diese Zeilen gegebenenfalls.

    Prinzipiell kannst du dort auch anstatt der 28 eine X-beliebige Zahl eintragen, da die eh nie verwendet wird. Im Code steht die 28 ja hart drin (ändert sich ja nicht).
    Ich hab halt 28 drin stehen, damit es wenigstens etwas Sinn gibt. Du kannst aber auch 1337 im Array anstelle der 28 eintragen und es geht trotzdem :D

    Du kannst mit der Funktion, soweit ich weiß, nur alle an oder aus machen.
    Mir würde spontan nur einfallen, sowas über https://wiki.sa-mp.com/wiki/UpdateVehicleDamageStatus zu realisieren. Sprich du machst die entsprechenden Lichter kaputt, dann sind die die nicht kaputt sind an.


    Das musst du mal ausprobieren, ob das so klappt. In dem Link ist auch der Hinweis dabei, wie du mit den Bits umgehst. Da musst du wahrscheinlich erst mal ein paar Tests machen, damit du siehst wie es funktioniert.

    public LoadHouseRentFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new lResult[128], rows, fields, string[256];
    switch(sqlresultid)
    {
    case _SQL_HOUSEMIETER_LOAD:
    {
    cache_get_data(rows, fields);
    new lCount;
    format(string, sizeof(string), "~w~");
    while(lCount < rows)
    {
    cache_get_field_content(lCount, "SPALTE MIT DEM NAMEN", lResult);
    format(string, sizeof(string), "%s%s~n~", string,lResult);
    lCount++;
    }
    for(new i = lCount; i < 10; i++)
    {
    format(string, sizeof(string), "%sNiemand~n~", string);
    }
    TextDrawSetString(HausLabelTD[7], string);
    }
    }
    return 1;
    }


    Versuche es so.