12.04.2013, 17:27
These command doesnt work , The /buyhouse doesnt buy for u the house u near that and even theres no message sent to u , I got also a enter , exit commands only by Type " C " If thats important to say :
Код:
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; }