Como sacar los pickup de las casas
#1

Hola gente bueno tengo una duda como saco el pickup de la casita verde cuando alguien compra la casa?
Reply
#2

Tendrбs que ir a la parte del cуdigo donde un user compra una casa y poner 'DestroyPickup(id)' y cuando carga una casa comprada no lo crees.

Si muestras esa parte del code podrнamos ayudarte mejor.
Reply
#3

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;
}
Reply
#4

Quote:
Originally Posted by Jeree10
Посмотреть сообщение
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;
}
Ponlo asн:

Код:
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;
}
Reply
#5

Edito: Solucionado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)