Beiträge von Dachdecker

    hab ein update stock hinbekommen :D




    Indem du beim Auffüllen noch das Label updatest..
    wiki.sa-mp.com/wiki/Update3DTextLabelText


    danke für den Tipp



    Problem:



    Wenn ich ein Autohaus erstellen will, dann erstellt er das autohaus 4 mal.. wo ist hier der Fehler?



    ocmd:aherstellen(playerid, params[])
    {
    new erstellteAutohauser, aBesitz[MAX_PLAYER_NAME], aInteil[MAX_PLAYER_NAME], aName[40], gGekauftJaNein;
    if(sscanf(params, "sssd",aBesitz, aInteil, aName,gGekauftJaNein)) return SendClientMessage(playerid, Weiss, "/aherstellen [Besitzer][Inteilhaber][AutohausName[Siehe Vorgaben]][0 = Zukaufen 1= Verkauft]");
    for(new i = 0; i<Max_Autohauser; i++)
    {
    new Float:aa_x, Float:aa_y, Float:aa_z;
    GetPlayerPos(playerid, aa_x, aa_y, aa_z);
    AutohausInfo[i][ah_ID] = i;
    AutohausInfo[i][aa_Name] = aName;
    AutohausInfo[i][aa_Besitzer] = aBesitz;
    AutohausInfo[i][aa_Inteilhaber] = aInteil;
    AutohausInfo[i][Pos_x] = aa_x;
    AutohausInfo[i][Pos_y] = aa_y;
    AutohausInfo[i][Pos_z] = aa_z;
    AutohausInfo[i][GekauftJaNein] = gGekauftJaNein;



    new path[64];
    format(path, sizeof(path), "/Autohauser/%d.ini", i);
    if(!fexist(path)) continue;
    dini_Create(path);
    dini_IntSet(path, "aa_ID", i);
    dini_Set(path, "aaName", aName);
    dini_Set(path, "Besitzer", aBesitz);
    dini_Set(path, "Inteilhaber", aInteil);
    dini_IntSet(path, "Kasse", 0);
    dini_FloatSet(path, "aa_x", aa_x);
    dini_FloatSet(path, "aa_y", aa_y);
    dini_FloatSet(path, "aa_z", aa_z);
    dini_IntSet(path, "GekauftJaNein", gGekauftJaNein);
    SpeichereAutohauser();
    new string[200];
    format(string, sizeof(string), "%s\nBesitzer: %s\nInteilhaber: %s\nKasse: %d$", AutohausInfo[i][aa_Name], AutohausInfo[i][aa_Besitzer], AutohausInfo[i][aa_Inteilhaber],AutohausInfo[i][aa_Kasse]);
    print(string);
    Label[i] = Create3DTextLabel(string, Weiss, AutohausInfo[i][Pos_x], AutohausInfo[i][Pos_y], AutohausInfo[i][Pos_z]+0.5,5,0,0);
    erstellteAutohauser++;
    }
    return 1;
    }

    Positionen / Daten von 1 und 2 sind irgendwie identisch?

    eig sollte das net so sein



    AutohausInfo[i][ah_ID] = CreatePickup

    hab ich geändert



    Kann man das so machen oder gibt es eine bessere methode?



    forward MotorradShopKasse();
    public MotorradShopKasse()
    {
    for(new i = 0; i<Max_Businesses; i++)
    {
    new string[40];
    format(string, sizeof(string), "Motorrad-Shop");
    if(!strcmp(AutohausInfo[i][aa_Name], string, true, 13))
    {
    AutohausInfo[i][aa_Kasse] += 100;
    SpeichereAutohauser();
    AutohauserLaden();
    printf("Kasse BusinessID: %d aufgefüllt um 100$", AutohausInfo[i][ah_ID]);
    }
    }
    return 1;
    }

    Es ist immer besser sich etwas auszudenken. Sich dann daran zusetzen und es versuchen umzusetzen. treten probleme aus machst du hier ein Thema und wir helfen dir ..

    Laden des Autohauses:



    stock AutohauserLaden()
    {
    new erstellteAutohauser, path[64];

    for(new i = 0; i<Max_Businesses; i++)
    {
    format(path, sizeof(path),"/Businesses/%d.ini",i);
    if(!fexist(path)) continue;



    AutohausInfo[i][ah_ID] = dini_Int(path, "aa_ID");
    strmid(AutohausInfo[i][aa_Name], dini_Get(path, "aaName"), false, strlen(dini_Get(path, "aaName")), 40);
    strmid(AutohausInfo[i][aa_Besitzer], dini_Get(path, "aBesitzer"), false, strlen(dini_Get(path, "aBesitzer")), MAX_PLAYER_NAME);
    strmid(AutohausInfo[i][aa_Inteilhaber], dini_Get(path, "aInteilhaber"), false, strlen(dini_Get(path, "aInteilhaber")), MAX_PLAYER_NAME);
    AutohausInfo[i][Pos_x] = floatstr(dini_Get(path, "aa_x"));
    AutohausInfo[i][Pos_y] = floatstr(dini_Get(path, "aa_y"));
    AutohausInfo[i][Pos_z] = floatstr(dini_Get(path, "aa_z"));
    printf("AutohausID %d geladen. Inhaber: %s, Inteilhaber: %s, Pos_x; %f, Pos_y; %f, Pos_z; %f", i,AutohausInfo[i][aa_Besitzer], AutohausInfo[i][aa_Inteilhaber],AutohausInfo[i][Pos_x],AutohausInfo[i][Pos_y],AutohausInfo[i][Pos_z]);



    AutohausInfo[i][ah_ID] = CreatePickup(1272, 1, AutohausInfo[i][Pos_x], AutohausInfo[i][Pos_y], AutohausInfo[i][Pos_z] ,0);



    erstellteAutohauser++;
    if(erstellteAutohauser == Max_Businesses) return print("Es können keine weiteren Businesses geladen werden.");
    }
    return 1;
    }


    Speichern des Autohauses:



    forward SpeichereAutohauser();
    public SpeichereAutohauser()
    {
    new path[64];

    for(new i = 0; i<Max_Businesses; i++)
    {
    format(path, sizeof(path), "/Businesses/%d.ini", i);

    dini_IntSet(path, "aa_ID", AutohausInfo[i][ah_ID]);
    dini_Set(path, "aaName", AutohausInfo[i][aa_Name]);
    dini_Set(path, "Besitzer", AutohausInfo[i][aa_Besitzer]);
    dini_Set(path, "Inteilhaber", AutohausInfo[i][aa_Inteilhaber]);
    }
    return 1;
    }

    hallo ihr lieben,



    ich hab ein autohaus system und das problem ist, dass das Create3DTextLabel nicht erstellt wird... das Pickup jedoch schon..



    for(new i = 0; i<Max_Businesses; i++)
    {
    new string[200];
    format(string, sizeof(string), "%s\nBesitzer: %s\nInteilhaber: %s", AutohausInfo[i][aa_Name], AutohausInfo[i][aa_Besitzer], AutohausInfo[i][aa_Inteilhaber]);
    print(string);
    Create3DTextLabel(string, Weiss, AutohausInfo[i][Pos_x], AutohausInfo[i][Pos_y], AutohausInfo[i][Pos_z]+0.5,5,0,0);
    }


    Was ist das problem? Jedes andere Label wird erstellt.. nur dieses nicht..

    Du hast das Dollar-Zeichen hinten hin gemacht. Das ist von der Schreibweise her nicht richtig.Daher auch der Punkt an der falschen Stelle.


    Wenn du es zwingend so haben willst, dann so:
    new str[16], money = GetPlayerMoney(playerid);format(str, sizeof(str), "%d$", money);if(money >= 0){ for(new i = strlen(str)-4; i > 0; i-=3) strins(str, ".", i);}else{ for(new i = strlen(str)-4; i > 1; i-=3) strins(str, ".", i);}PlayerTextDrawSetString(playerid, pMoneyText[playerid], str);

    vielen Dank :) hat geklappt