22.05.2014, 09:18
The icons, text etc. "spawn" at X: 0 Y: 0 Z: 0
Some chatlogs that might help..
Code:
xd
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..
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);
}
}