Haus system Hilfe!

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 leute,


    Ich habe ein Problem, und zwar wenn ich ein Haus erstelle /chouse [Preis] [Interior Typ] z.B /chouse 150000 8
    Funktioniert das aber wenn ich Server restarte wird es auf Interior Typ 1 gesetzt. Ich habe schon viele Sachen versucht und die gingen nicht.
    Ich hoffe ihr könnt mir weiter helfen!



    Meine Code's:


    Interiors Typ's:

    enum int_enum
    {
    Float:intpx,
    Float:intpy,
    Float:intpz,
    interiorid
    }


    new Interiors[][int_enum] = {
    {421.598 ,2536.306 ,10.155, 10},
    {2495.98 ,-1692.73 ,1014.86, 3},
    {222.972 ,1288.315 ,1082.29, 1},
    {2233.74 ,-1113.18 ,1051.12, 5},
    {2365.22 ,-1134.58 ,1051.04, 8},
    {2283.0 ,-1139.20 ,1051.35, 11},
    {2195.99 ,-1204.30 ,1049.57, 6},
    {2269.88 ,-1210.55 ,1048.19,10},
    {2308.79 ,-1211.58 ,1049.0 , 6},
    {2217.14 ,-1076.29 ,10850.8, 1},
    {2237.47 ,-1025.66 ,1049.45, 2},
    {2317.91 ,-1025.84 ,1050.77, 9},
    {260.996 ,1284.085 ,1080.35, 4},
    {140.144 ,1367.368 ,1084.66, 5},
    {83.1541 ,1323.397 ,1048.66, 9},
    {-262.25 ,1476.809 ,1085.1 , 4},
    {2333.10 ,-1076.10 ,1049.33, 6},
    {318.706 ,1116.928 ,1084.28, 5}
    };


    /chouse befehl:



    if(!strcmp(cmd, "/chouse", true))
    {
    if(Spieler[playerid][Admin] >= 3)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAU, "/chouse [Preis] [Interior Typ ( /interiors )]");
    new housepreis = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAU, "/chouse [Preis] [Interior Typ ( /interiors )]");
    new inttype = strval(tmp);
    if(inttype < 1 || inttype > sizeof(Interiors)) return SendClientMessage(playerid, COLOR_GRAU, "Ungültige Interior Typ ID! /interiors");
    inttype -= 1;
    new str[128];
    new housestring[256];
    new i = GetHouseID(); if(i == -1) return SendClientMessage(playerid, COLOR_GRAU, "Es kann kein weiters Haus mehr erstellt werden! ( Max Haus erhöhen )");
    format(str, sizeof str, "/Houses/%d.ini", i);
    dini_Create(str);
    HouseInfo[i][hEntrancex] = GetX(playerid);
    HouseInfo[i][hEntrancey] = GetY(playerid);
    HouseInfo[i][hEntrancez] = GetZ(playerid);
    HouseInfo[i][hExitx] = Interiors[inttype][intpx];
    HouseInfo[i][hExity] = Interiors[inttype][intpy];
    HouseInfo[i][hExitz] = Interiors[inttype][intpz];
    HouseInfo[i][hInt] = Interiors[inttype][interiorid];
    HouseInfo[i][hPrice] = housepreis;
    HouseInfo[i][hLock] = 0;
    HouseInfo[i][hOwned] = 0;
    HouseInfo[i][hRent] = 0;
    HouseInfo[i][hRentabil] = 0;
    HouseInfo[i][hKasse] = 0;
    HouseInfo[i][hSpielzeit] = 20;
    HouseInfo[i][hWorld] = inttype;
    HouseInfo[i][hLeben] = 0;
    format(HouseInfo[i][hOwner], MAX_PLAYER_NAME, "Niemand");
    format(housestring, sizeof housestring, "Dieses Haus steht zum Verkauf\n\nPreis: $%d\nSpielzeit: %d\nTippe: /buyhouse",HouseInfo[i][hPrice], HouseInfo[i][hSpielzeit]);
    HouseInfo[i][hLabel] = CreateDynamic3DTextLabel(housestring, COLOR_HOUSELABEL, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15,0,1);
    HouseInfo[i][hPick] = CreateDynamicPickup(1273, 1, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
    SendClientMessage(playerid, COLOR_BLAU22, "HausSystem: Haus erfolgreich erstellt!");
    SaveHouse(i);
    return 1;
    }
    return 1;
    }




    Haus Load/Save:

    stock LoadHouse(i)
    {
    new str[158];
    new hausstring[256];
    format(str, sizeof str, "/Houses/%d.ini", i);
    if(fexist(str))
    {
    INI_Open(str);
    HouseInfo[i][hEntrancex] = INI_ReadFloat("Entrancex");
    HouseInfo[i][hEntrancey] = INI_ReadFloat("Entrancey");
    HouseInfo[i][hEntrancez] = INI_ReadFloat("Entrancez");
    HouseInfo[i][hExitx] = Interiors[HouseInfo[i][hInt]][intpx];
    HouseInfo[i][hExity] = Interiors[HouseInfo[i][hInt]][intpy];
    HouseInfo[i][hExitz] = Interiors[HouseInfo[i][hInt]][intpz];
    INI_ReadString(HouseInfo[i][hOwner], "Besitzer", MAX_PLAYER_NAME);
    HouseInfo[i][hPrice] = INI_ReadInt("Preis");
    HouseInfo[i][hInt] = Interiors[HouseInfo[i][hInt]][interiorid];
    HouseInfo[i][hLock] = INI_ReadInt("Lock");
    HouseInfo[i][hOwned] = INI_ReadInt("Besitz");
    HouseInfo[i][hRent] = INI_ReadInt("Miete");
    HouseInfo[i][hRentabil] = INI_ReadInt("Mietbar");
    HouseInfo[i][hKasse] = INI_ReadInt("Kasse");
    HouseInfo[i][hSpielzeit] = INI_ReadInt("Spielzeit");
    HouseInfo[i][hWorld] = INI_ReadInt("World");
    HouseInfo[i][hLeben] = INI_ReadInt("Leben");
    INI_Close();
    if(HouseInfo[i][hOwned] == 0)
    {
    format(hausstring, sizeof(hausstring), "Dieses Haus steht zum Verkauf\n\nPreis: $%d\nSpielzeit: %d\nTippe: /buyhouse",HouseInfo[i][hPrice], HouseInfo[i][hSpielzeit]);
    HouseInfo[i][hLabel] = CreateDynamic3DTextLabel(hausstring, COLOR_HOUSELABEL, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15,0,1);
    HouseInfo[i][hPick] = CreateDynamicPickup(1273, 23, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
    return 1;
    }
    if(HouseInfo[i][hOwned] == 1)
    {
    if(HouseInfo[i][hRentabil] == 0)
    {
    format(hausstring, sizeof(hausstring), "Dieses Haus gehört: %s", HouseInfo[i][hOwner]);
    HouseInfo[i][hLabel] = CreateDynamic3DTextLabel(hausstring, COLOR_HOUSELABEL, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15,0,1);
    HouseInfo[i][hPick] = CreateDynamicPickup(1239, 23, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
    return 1;
    }
    else
    {
    format(hausstring, sizeof(hausstring), "Dieses Haus vermietet Zimmer.\n\nBesitzer: %s\nMiet-Preis: $%d\nTippe: /renthouse", HouseInfo[i][hOwner], HouseInfo[i][hRent]);
    HouseInfo[i][hLabel] = CreateDynamic3DTextLabel(hausstring, COLOR_HOUSELABEL, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15,0,1);
    HouseInfo[i][hPick] = CreateDynamicPickup(1239, 23, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]);
    return 1;
    }
    }
    }
    return 1;
    }


    stock SaveHouses()
    {
    new str[128];
    for(new i = 0; i<SCRIPT_MAXHOUSES; i++)
    {
    format(str, sizeof str, "/Houses/%d.ini", i);
    if(fexist(str))
    {
    INI_Open(str);
    INI_WriteFloat("Entrancex", HouseInfo[i][hEntrancex]);
    INI_WriteFloat("Entrancey", HouseInfo[i][hEntrancey]);
    INI_WriteFloat("Entrancez", HouseInfo[i][hEntrancez]);
    INI_WriteString("Besitzer", HouseInfo[i][hOwner]);
    INI_WriteInt("Preis", HouseInfo[i][hPrice]);
    INI_WriteInt("Lock", HouseInfo[i][hLock]);
    INI_WriteInt("Besitz", HouseInfo[i][hOwned]);
    INI_WriteInt("Miete", HouseInfo[i][hRent]);
    INI_WriteInt("Mietbar", HouseInfo[i][hRentabil]);
    INI_WriteInt("Kasse", HouseInfo[i][hKasse]);
    INI_WriteInt("Spielzeit", HouseInfo[i][hSpielzeit]);
    INI_WriteInt("World", HouseInfo[i][hWorld]);
    INI_WriteInt("Leben", HouseInfo[i][hLeben]);
    INI_Save();
    INI_Close();
    }
    }
    return 1;
    }


    stock SaveHouse(i)
    {
    new str[60];
    format(str, sizeof str, "/Houses/%d.ini", i);
    if(fexist(str))
    {
    INI_Open(str);
    INI_WriteFloat("Entrancex", HouseInfo[i][hEntrancex]);
    INI_WriteFloat("Entrancey", HouseInfo[i][hEntrancey]);
    INI_WriteFloat("Entrancez", HouseInfo[i][hEntrancez]);
    INI_WriteString("Besitzer", HouseInfo[i][hOwner]);
    INI_WriteInt("Preis", HouseInfo[i][hPrice]);
    INI_WriteInt("Lock", HouseInfo[i][hLock]);
    INI_WriteInt("Besitz", HouseInfo[i][hOwned]);
    INI_WriteInt("Miete", HouseInfo[i][hRent]);
    INI_WriteInt("Mietbar", HouseInfo[i][hRentabil]);
    INI_WriteInt("Kasse", HouseInfo[i][hKasse]);
    INI_WriteInt("Spielzeit", HouseInfo[i][hSpielzeit]);
    INI_WriteInt("World", HouseInfo[i][hWorld]);
    INI_WriteInt("Leben", HouseInfo[i][hLeben]);
    INI_Save();
    INI_Close();
    }
    return 1;
    }


    Hoffe ihr könnt mir helfen!


    Wär auch nett durch TeamViewer/TS³


    Mfg.