Houses not loading at their position..
#1

The icons, text etc. "spawn" at X: 0 Y: 0 Z: 0
Some chatlogs that might help..

Код:
[12:24:58] Incoming connection: 127.0.0.1:55795
[12:24:59] [join] Kyance has joined the server (0:127.0.0.1)
[12:25:00] >> SQLite: Kyance has successfully logged in
[12:25:34] >> House_CreateEntrance: successfully created houses entrance ( id 1 )
[12:25:34] DEBUG: Kyance has created a house ( ID: 1 )
[12:25:34] >> HouseFile_Save: successfully saved a house ( id 1 )
[12:25:40] >> House_CreateEntrance: successfully created houses entrance ( id 2 )
[12:25:40] DEBUG: Kyance has created a house ( ID: 2 )
[12:25:40] >> HouseFile_Save: successfully saved a house ( id 2 )
Console input: gmx
[12:25:56] >> SQLite: Kyance's stats have been saved successfully
[12:25:56] >> SQLite: no cameras detected in `CAMERAS` table, skipping
[12:25:56] >> HouseFile_Update: couldn't update a house ( id 1 )
[12:25:56] >> HouseFile_Update: couldn't update a house ( id 2 )
[12:25:56] >> SQLite: Updated all created houses..
Code:
pawn Код:
CMD:createhouse(playerid, params[])
{
    new HPrice, MaxLevel, HouseID;
    new Float:x, Float:y, Float:z, Msg[128];
   
    GetPlayerPos(playerid, x, y, z);
   
    if(PlayerInfo[playerid][AdminLevel] >= 4)
    {
        if(!IsPlayerInAnyVehicle(playerid))
        {
            if (sscanf(params, "ii", HPrice, MaxLevel)) SendClientMessage(playerid, 0xFF0000AA, "Usage: /createhouse <price> <maxlevel (1-10)>");
            else
            {
                if ((MaxLevel >= 1) && (MaxLevel <= 10))
                {
                    for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
                    {
                        if (AHouseData[HouseID][PickupID] == 0)
                        {
                            break;
                        }
                    }

                    if (HouseID < MAX_HOUSES)
                    {
                        AHouseData[HouseID][HouseX] = x;
                        AHouseData[HouseID][HouseY] = y;
                        AHouseData[HouseID][HouseZ] = z;
                        AHouseData[HouseID][HouseLevel] = 1;
                        AHouseData[HouseID][HouseMaxLevel] = MaxLevel;
                        AHouseData[HouseID][HousePrice] = HPrice;
                        AHouseData[HouseID][Owned] = 0;

                        House_CreateEntrance(HouseID);

                        format(Msg, 128, "{00FF00}You've succesfully created House ( ID: %d, Level: 1/%d )", HouseID, MaxLevel);
                        SendClientMessage(playerid, 0xFFFFFFFF, Msg);
                        printf("DEBUG: %s has created a house ( ID: %d )", GetName(playerid), HouseID);
                       
                        HouseFile_Save(HouseID);
                    }
                    else SendClientMessage(playerid, 0xFF0000FF, "The maximum amount of houses has been reached");
                }
                else SendClientMessage(playerid, 0xFF0000FF, "You have to use a max-level from 1 to 10");
            }
        }
        else SendClientMessage(playerid, 0xFF0000FF, "You can't be inside a vehicle to create a house");
    }
    else SendClientMessage(playerid, -1, "{FFFFFF}* {00C0FF}You're not a high enough level to use this command!");
    return 1;
}
pawn Код:
House_CreateEntrance(HouseID)
{
    new Msg[128], DBResult:Result, vid, Query[420], Float:x, Float:y, Float:z;
   
    format(Query, sizeof(Query), "INSERT INTO `HOUSES` (`ID`, `HOUSENAME`, `HOUSEX`, `HOUSEY`, `HOUSEZ`, `HOUSELEVEL`, `HOUSEMAXLEVEL`, `HOUSEPRICE`, `OWNED`, `OWNER`, `INSURANCE`, `VEHICLEMODEL`, `FUEL`, `COLOR1`, `COLOR2`) VALUES ('%d', '%s', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d')",
    HouseID, AHouseData[HouseID][HouseName], AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ], AHouseData[HouseID][HouseLevel], AHouseData[HouseID][HouseMaxLevel], AHouseData[HouseID][HousePrice], AHouseData[HouseID][Owned], AHouseData[HouseID][Owner], AHouseData[HouseID][Insurance], AVehicleData[vid][Model], AVehicleData[vid][Fuel], AVehicleData[vid][Color1], AVehicleData[vid][Color2]); //15
    Result = db_query(AGCnR, Query);
   
    if(Result) printf(">> House_CreateEntrance: successfully created houses entrance ( id %d )", HouseID);
    else printf(">> House_CreateEntrance: couldn't create houses entrance ( id %d )", HouseID);
   
    for (new CarSlot; CarSlot < 10; CarSlot++)
    {
        if (AHouseData[HouseID][VehicleIDs][CarSlot] != 0)
        {
            vid = AHouseData[HouseID][VehicleIDs][CarSlot];

            format(Query, sizeof(Query), "UPDATE `HOUSES` SET `VEHICLEMODEL` = '%d', `FUEL` = '%d', `COLOR1` = '%d', `COLOR2` = '%d' WHERE `ID` = '%d'",
            AVehicleData[vid][Model], AVehicleData[vid][Fuel], AVehicleData[vid][Color1], AVehicleData[vid][Color2], AHouseData[HouseID][ID]);
            db_query(AGCnR, Query);
        }
    }

    x = AHouseData[HouseID][HouseX];
    y = AHouseData[HouseID][HouseY];
    z = AHouseData[HouseID][HouseZ];

    if (AHouseData[HouseID][Owned])
    {
        AHouseData[HouseID][PickupID] = CreateDynamicPickup(1272, 1, x, y, z, 0);
        format(Msg, 128, TXT_PickupHouseOwned, AHouseData[HouseID][HouseName], AHouseData[HouseID][Owner], AHouseData[HouseID][HouseLevel]);
        AHouseData[HouseID][DoorText] = CreateDynamic3DTextLabel(Msg, 0x008080FF, x, y, z + 1.0, 50.0);
        AHouseData[HouseID][MapIconID] = CreateDynamicMapIcon(x, y, z, 32, 0, 0, 0, -1, 150.0);
    }
    else
    {
        AHouseData[HouseID][PickupID] = CreateDynamicPickup(1273, 1, x, y, z, 0);
        format(Msg, 128, TXT_PickupHouseForSale, AHouseData[HouseID][HousePrice], AHouseData[HouseID][HouseMaxLevel]);
        AHouseData[HouseID][DoorText] = CreateDynamic3DTextLabel(Msg, 0x008080FF, x, y, z + 1.0, 50.0);
        AHouseData[HouseID][MapIconID] = CreateDynamicMapIcon(x, y, z, 31, 0, 0, 0, -1, 150.0);
    }
}
pawn Код:
HouseFile_Save(HouseID)
{
    new Query[550], DBResult:result, vid, Float:x, Float:y, Float:z;
   
    format(Query, sizeof(Query), "INSERT INTO `HOUSES` (`ID`, `HOUSENAME`, `HOUSEX`, `HOUSEY`, `HOUSEZ`, `HOUSELEVEL`, `HOUSEMAXLEVEL`, `HOUSEPRICE`, `OWNED`, `OWNER`, `INSURANCE`, `VEHICLEMODEL`, `FUEL`, `COLOR1`, `COLOR2`) VALUES ('%d', '%s', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%s', '%d', '%d', '%d', '%d', '%d')",
    HouseID, AHouseData[HouseID][HouseName], AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ], AHouseData[HouseID][HouseLevel], AHouseData[HouseID][HouseMaxLevel], AHouseData[HouseID][HousePrice], AHouseData[HouseID][Owned], AHouseData[HouseID][Owner], AHouseData[HouseID][Insurance], AVehicleData[vid][Model], AVehicleData[vid][Fuel], AVehicleData[vid][Color1], AVehicleData[vid][Color2]);

    result = db_query(AGCnR, Query);
    if(result) printf(">> HouseFile_Save: successfully saved a house ( id %d )", HouseID);
    else printf(">> HouseFile_Save: couldn't save a house ( id %d )", HouseID);
   
    for (new CarSlot; CarSlot < 10; CarSlot++)
    {
        if (AHouseData[HouseID][VehicleIDs][CarSlot] != 0)
        {
            vid = AHouseData[HouseID][VehicleIDs][CarSlot];

            format(Query, sizeof(Query), "UPDATE `HOUSES` SET `VEHICLEMODEL` = '%d', `FUEL` = '%d', `COLOR1` = '%d', `COLOR2` = '%d' WHERE `ID` = '%d'",
            AVehicleData[vid][Model], AVehicleData[vid][Fuel], AVehicleData[vid][Color1], AVehicleData[vid][Color2], AHouseData[HouseID][ID]);
            db_query(AGCnR, Query);
        }
    }
   
    x = AHouseData[HouseID][HouseX];
    y = AHouseData[HouseID][HouseY];
    z = AHouseData[HouseID][HouseZ];
    HouseID = AHouseData[HouseID][ID];

    printf("DEBUG: %0.1f %0.1f %0.1f, %d", x, y, z, AHouseData[HouseID][ID]);

    return 1;
}
pawn Код:
HouseFile_Update(HouseID)
{
    new Query[550], DBResult:result, vid, Float:x, Float:y, Float:z;

    format(Query, sizeof(Query), "UPDATE `HOUSES` SET `HOUSENAME` = '%s', `HOUSEX` = '%f', `HOUSEY` = '%f', `HOUSEZ` = '%f', `HOUSELEVEL` = '%d', `HOUSEMAXLEVEL` = '%d', `HOUSEPRICE` = '%d', `OWNED` = '%d', `OWNER` = '%s', `INSURANCE` = '%d', `VEHICLEMODEL` = '%d', `FUEL` = '%d', `COLOR1` = '%d', `COLOR2` = '%d' WHERE `ID` = '%d')",
    AHouseData[HouseID][HouseName], AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ], AHouseData[HouseID][HouseLevel], AHouseData[HouseID][HouseMaxLevel], AHouseData[HouseID][HousePrice], AHouseData[HouseID][Owned], AHouseData[HouseID][Owner], AHouseData[HouseID][Insurance], AVehicleData[vid][Model], AVehicleData[vid][Fuel], AVehicleData[vid][Color1], AVehicleData[vid][Color2], AHouseData[HouseID][ID]);

    result = db_query(AGCnR, Query);
    if(result) printf(">> HouseFile_Update: successfully updated a house ( id %d )", HouseID);
    else printf(">> HouseFile_Update: couldn't update a house ( id %d )", HouseID);

    for (new CarSlot; CarSlot < 10; CarSlot++)
    {
        if (AHouseData[HouseID][VehicleIDs][CarSlot] != 0)
        {
            vid = AHouseData[HouseID][VehicleIDs][CarSlot];

            format(Query, sizeof(Query), "UPDATE `HOUSES` SET `VEHICLEMODEL` = '%d', `FUEL` = '%d', `COLOR1` = '%d', `COLOR2` = '%d' WHERE `ID` = '%d'",
            AVehicleData[vid][Model], AVehicleData[vid][Fuel], AVehicleData[vid][Color1], AVehicleData[vid][Color2], AHouseData[HouseID][ID]);
            db_query(AGCnR, Query);
        }
    }

    x = AHouseData[HouseID][HouseX];
    y = AHouseData[HouseID][HouseY];
    z = AHouseData[HouseID][HouseZ];
   
    printf("DEBUG: %0.1f %0.1f %0.1f, %d", x, y, z, AHouseData[HouseID][ID]);

    return 1;
}
pawn Код:
//OnGameModeInit
Housing_LoadAll();

//OnGameModeExit
        new Query[60];
    for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++)
    {
        format(Query, sizeof(Query), "SELECT * FROM `HOUSES` WHERE `ID` = '%d'", HouseID);
        Result = db_query(AGCnR, Query);
        if(db_num_rows(Result))
        {
            //HouseFile_Save(HouseID);
            HouseFile_Update(HouseID);
        }
    }
xd
Reply
#2

bump
Reply
#3

use %1f instead of %f while saving and while loading
Reply
#4

Quote:
Originally Posted by BroZeus
Посмотреть сообщение
use %1f instead of %f while saving and while loading
Eh, doesn't work, thanks though d;

Actually, /enter doesn't work either.
If i use /createhouse and then /enter, it says that I'm not next to a house. e_e
If i debug the /createhouse stuff, the X Y Z positions look fine..
Reply
#5

REMOVED.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)