10.09.2012, 19:12
Hello every one, and Big Thank's who going to help me !
Anyways, I have 2 bugs.
First:
When I use the Command /buyhouse Nothing happen.
Here is the CMD:
Second:
When I create a house IG, there is a bug that create some random and a lot of house on X:0, Y:0, Z:0, And if you go near that place it make you lag as F**K and Crash you after, then you can't login to play instead if you TP'ed.
Well, I delete all the houses from the .cfg, and it still creating.
I think the Second bug make the /buyhouse laggy.
Well thank's for who will help.
Anyways, I have 2 bugs.
First:
When I use the Command /buyhouse Nothing happen.
Here is the CMD:
PHP код:
CMD:buyhouse(playerid, params[])
{
new string[128];
new playername[MAX_PLAYER_NAME];
new sendername[MAX_PLAYER_NAME];
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]) )
{
if( HouseInfo[h][hOwned] == 0 )
{
if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
{
format(string, sizeof(string), " You must be Level %d to purchase this!", HouseInfo[h][hLevel]);
SendClientMessageEx(playerid, COLOR_GRAD5, string);
return 1;
}
if(PlayerInfo[playerid][pPhousekey] == INVALID_HOUSE_ID)
{
if(GetPlayerCash(playerid) > HouseInfo[h][hValue])
{
PlayerInfo[playerid][pPhousekey] = h;
HouseInfo[h][hOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
GivePlayerCash(playerid,-HouseInfo[h][hValue]);
SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
if(HouseInfo[h][hCustomInterior] == 1)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Objects loading...", 4000, 5);
SetPVarInt(playerid, "LoadingObjects", 1);
SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
}
SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
GameTextForPlayer(playerid, "~w~Welcome Home~n~You can exit at any time by moving to this door and typing /exit.", 5000, 3);
PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
SendClientMessageEx(playerid, COLOR_WHITE, "Congratulations on your new purchase!");
SendClientMessageEx(playerid, COLOR_WHITE, "Type /help to review the property help section!");
SaveHouses();
OnPlayerStatsUpdate(playerid);
PlayerInfo[playerid][pLocal] = h+6000;
PlayerInfo[playerid][pVW] = h+6000;
SetPlayerVirtualWorld(playerid, h+6000);
DestroyDynamicPickup(HouseInfo[h][hPickupID]);
HouseInfo[h][hPickupID] = CreateDynamicPickup(1273, 23, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]);
format(string, sizeof(string), "This house is owned by\n %s\nLevel: %d\nID: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h);
UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_GREEN, string);
new ip[32];
GetPlayerIp(playerid,ip,sizeof(ip));
format(string,sizeof(string),"%s (IP: %s) has bought house ID %d for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hValue]);
Log("logs/house.log", string);
return 1;
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, " You don't have the cash for that!");
return 1;
}
}
else if(PlayerInfo[playerid][pPhousekey2] == INVALID_HOUSE_ID)
{
if(GetPlayerCash(playerid) > HouseInfo[h][hValue])
{
PlayerInfo[playerid][pPhousekey2] = h;
HouseInfo[h][hOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
GivePlayerCash(playerid,-HouseInfo[h][hValue]);
SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
if(HouseInfo[h][hCustomInterior] == 1)
{
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "Objects loading...", 4000, 5);
SetPVarInt(playerid, "LoadingObjects", 1);
SetTimerEx("SafeLoadObjects", 4000, 0, "d", playerid);
}
SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
GameTextForPlayer(playerid, "~w~Welcome Home~n~You can exit at any time by moving to this door and typing /exit.", 5000, 3);
PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
SendClientMessageEx(playerid, COLOR_WHITE, "Congratulations on your new purchase!");
SendClientMessageEx(playerid, COLOR_WHITE, "Type /help to review the property help section!");
SaveHouses();
OnPlayerStatsUpdate(playerid);
PlayerInfo[playerid][pLocal] = h+6000;
PlayerInfo[playerid][pVW] = h+6000;
SetPlayerVirtualWorld(playerid, h+6000);
DestroyDynamicPickup(HouseInfo[h][hPickupID]);
HouseInfo[h][hPickupID] = CreateDynamicPickup(1273, 23, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]);
format(string, sizeof(string), "This house is owned by\n %s\nLevel: %d\nID: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h);
UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_GREEN, string);
new ip[32];
GetPlayerIp(playerid,ip,sizeof(ip));
format(string,sizeof(string),"%s (IP: %s) has bought house ID %d for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hValue]);
Log("logs/house.log", string);
return 1;
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, " You don't have the cash for that!");
return 1;
}
}
}
else
{
SendClientMessageEx( playerid, COLOR_WHITE, "This house is owned." );
}
}
}
return 1;
}
When I create a house IG, there is a bug that create some random and a lot of house on X:0, Y:0, Z:0, And if you go near that place it make you lag as F**K and Crash you after, then you can't login to play instead if you TP'ed.
Well, I delete all the houses from the .cfg, and it still creating.
I think the Second bug make the /buyhouse laggy.
Well thank's for who will help.