27.08.2014, 23:42
Hola gente bueno tengo una duda como saco el pickup de la casita verde cuando alguien compra la casa?
CMD:comprarcasa(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(Info[playerid][pLevel] < HouseInfo[h][hLevel]) { format(string, sizeof(string), "Necesitas ser nivel %d para comprar esta casa.", HouseInfo[h][hLevel]); SendClientMessageEx(playerid, COLOR_WHITE, string); return 1; } if(Info[playerid][pPhousekey] == INVALID_HOUSE_ID) { if(Info[playerid][pMz] < HouseInfo[h][hValue]) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes suficientes Mz para comprar esta casa."); { Info[playerid][pPhousekey] = h; HouseInfo[h][hOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255); Info[playerid][pMz] -= HouseInfo[h][hValue]; SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]); LoadObjects(playerid); SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]); GameTextForPlayer(playerid, "~w~Bienvenido~n~Puedes salir en cualquier momento, usando /salir en este mismo lugar.", 5000, 3); Info[playerid][pInt] = HouseInfo[h][hHInteriorWorld]; SendClientMessageEx(playerid, COLOR_WHITE, "Escribe {FFFF00}/ayuda casa {ffffff}para ver los comandos disponibles!"); SaveHouses(); OnPlayerUpdate(playerid); Info[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), "{FFFFFF}Casa\nDueсo: {FFFC00}%s\n\nUsa /entrar para ingresar",HouseInfo[h][hOwner]); UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_WHITE, 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 if(Info[playerid][pPhousekey2] == INVALID_HOUSE_ID) { if(Info[playerid][pMz] < HouseInfo[h][hValue]) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes suficientes Mz para comprar esta casa."); { Info[playerid][pPhousekey2] = h; HouseInfo[h][hOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255); Info[playerid][pMz] -= HouseInfo[h][hValue]; SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]); LoadObjects(playerid); SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]); GameTextForPlayer(playerid, "~w~Bienvenido~n~Puedes salir en cualquier momento, usando /salir en este mismo lugar.", 5000, 3); Info[playerid][pInt] = HouseInfo[h][hHInteriorWorld]; SendClientMessageEx(playerid, COLOR_WHITE, "Felicitaciones por tu nueva compra!"); SendClientMessageEx(playerid, COLOR_WHITE, "Escribe /ayuda casa para ver los comandos disponibles!"); SaveHouses(); OnPlayerUpdate(playerid); Info[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), "{FFFFFF}Casa\nPropietario: {FFFC00}%s\n{FFFFFF}Nivel: {FFFC00}%d\n{FFFFFF}ID: {FFFC00}%d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h); UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_GREEN2, 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, "Esta casa ya tiene dueсo." ); } } } return 1; }
Dejo el comando con el que se compra la casa:
Код:
CMD:comprarcasa(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(Info[playerid][pLevel] < HouseInfo[h][hLevel]) { format(string, sizeof(string), "Necesitas ser nivel %d para comprar esta casa.", HouseInfo[h][hLevel]); SendClientMessageEx(playerid, COLOR_WHITE, string); return 1; } if(Info[playerid][pPhousekey] == INVALID_HOUSE_ID) { if(Info[playerid][pMz] < HouseInfo[h][hValue]) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes suficientes Mz para comprar esta casa."); { Info[playerid][pPhousekey] = h; HouseInfo[h][hOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255); Info[playerid][pMz] -= HouseInfo[h][hValue]; SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]); LoadObjects(playerid); SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]); GameTextForPlayer(playerid, "~w~Bienvenido~n~Puedes salir en cualquier momento, usando /salir en este mismo lugar.", 5000, 3); Info[playerid][pInt] = HouseInfo[h][hHInteriorWorld]; SendClientMessageEx(playerid, COLOR_WHITE, "Escribe {FFFF00}/ayuda casa {ffffff}para ver los comandos disponibles!"); SaveHouses(); OnPlayerUpdate(playerid); Info[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), "{FFFFFF}Casa\nDueсo: {FFFC00}%s\n\nUsa /entrar para ingresar",HouseInfo[h][hOwner]); UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_WHITE, 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 if(Info[playerid][pPhousekey2] == INVALID_HOUSE_ID) { if(Info[playerid][pMz] < HouseInfo[h][hValue]) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes suficientes Mz para comprar esta casa."); { Info[playerid][pPhousekey2] = h; HouseInfo[h][hOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255); Info[playerid][pMz] -= HouseInfo[h][hValue]; SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]); LoadObjects(playerid); SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]); GameTextForPlayer(playerid, "~w~Bienvenido~n~Puedes salir en cualquier momento, usando /salir en este mismo lugar.", 5000, 3); Info[playerid][pInt] = HouseInfo[h][hHInteriorWorld]; SendClientMessageEx(playerid, COLOR_WHITE, "Felicitaciones por tu nueva compra!"); SendClientMessageEx(playerid, COLOR_WHITE, "Escribe /ayuda casa para ver los comandos disponibles!"); SaveHouses(); OnPlayerUpdate(playerid); Info[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), "{FFFFFF}Casa\nPropietario: {FFFC00}%s\n{FFFFFF}Nivel: {FFFC00}%d\n{FFFFFF}ID: {FFFC00}%d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h); UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_GREEN2, 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, "Esta casa ya tiene dueсo." ); } } } return 1; } |
CMD:comprarcasa(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(Info[playerid][pLevel] < HouseInfo[h][hLevel]) { format(string, sizeof(string), "Necesitas ser nivel %d para comprar esta casa.", HouseInfo[h][hLevel]); SendClientMessageEx(playerid, COLOR_WHITE, string); return 1; } if(Info[playerid][pPhousekey] == INVALID_HOUSE_ID) { if(Info[playerid][pMz] < HouseInfo[h][hValue]) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes suficientes Mz para comprar esta casa."); { Info[playerid][pPhousekey] = h; HouseInfo[h][hOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255); Info[playerid][pMz] -= HouseInfo[h][hValue]; SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]); LoadObjects(playerid); SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]); GameTextForPlayer(playerid, "~w~Bienvenido~n~Puedes salir en cualquier momento, usando /salir en este mismo lugar.", 5000, 3); Info[playerid][pInt] = HouseInfo[h][hHInteriorWorld]; SendClientMessageEx(playerid, COLOR_WHITE, "Escribe {FFFF00}/ayuda casa {ffffff}para ver los comandos disponibles!"); SaveHouses(); OnPlayerUpdate(playerid); Info[playerid][pVW] = h+6000; SetPlayerVirtualWorld(playerid, h+6000); DestroyDynamicPickup(HouseInfo[h][hPickupID]); 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 if(Info[playerid][pPhousekey2] == INVALID_HOUSE_ID) { if(Info[playerid][pMz] < HouseInfo[h][hValue]) return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes suficientes Mz para comprar esta casa."); { Info[playerid][pPhousekey2] = h; HouseInfo[h][hOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255); Info[playerid][pMz] -= HouseInfo[h][hValue]; SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]); LoadObjects(playerid); SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]); GameTextForPlayer(playerid, "~w~Bienvenido~n~Puedes salir en cualquier momento, usando /salir en este mismo lugar.", 5000, 3); Info[playerid][pInt] = HouseInfo[h][hHInteriorWorld]; SendClientMessageEx(playerid, COLOR_WHITE, "Felicitaciones por tu nueva compra!"); SendClientMessageEx(playerid, COLOR_WHITE, "Escribe /ayuda casa para ver los comandos disponibles!"); SaveHouses(); OnPlayerUpdate(playerid); Info[playerid][pVW] = h+6000; SetPlayerVirtualWorld(playerid, h+6000); DestroyDynamicPickup(HouseInfo[h][hPickupID]); 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, "Esta casa ya tiene dueсo." ); } } } return 1; }