2024-12-28, 09:50 AM
tengo un problema con mi sistema de casas por ejemplo compro la casa ID 0 y la ID 1 bueno entro a la ID 1 y cuando salGO de la ID 1 salgo en la ID 0 no se si es porque mi servidor TDM
CMD:entrar(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2]))
{
if(INFO_PROPERTY[i][p_CLOSED] == 0)
{
¡¡¡¡si(INFO_PROPERTY[i][p_BOUGHT] == 1 && !strcmp(PlayerName(playerid), INFO_PROPERTY[i][p_OWNER]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2], 0.0, INFO_PROPERTY[i][p_INTERIOR], i+10);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = i;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
otra cosa
{
ShowPlayerMessage(jugador, "~y~No eres el dueño de esta propiedad", 3);
}
}
otra cosa
{
ShowPlayerMessage(jugador, "~r~Cerrado", 3);
}
regreso 1;
}
}
regreso 1;
}
CMD:salir(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2], 0.0, 0, 0);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = -1;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
}
regreso 1;
}
CMD:crearcasa(jugador, params[])
{
nuevo tipo, precio, str[250];
if(sscanf(params, "dd", type, price)) volver SendClientMessage(playerid, -1, "Syntax: /crearcasa [tipo de casa] [price]");
¿si (tipo < 1 || tipo > 5) devolver SendClientMessage(playerid, -1, "Las casas est?n entre 1 y 5 espacios.");
para (nuevo cid = 0; cid < MAX_PROPERTY; cid++)
{
¡si (!INFO_PROPERTY[cid][p_TIPO])
{
GetPlayerPos(playerid, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2])
INFO_PROPERTY[cid][p_TYPE] = tipo;
INFO_PROPERTY[cid][p_BOUGHT] = 0;
INFO_PROPERTY[cid][p_CERRADO] = 0;
switch(tipo)
{
caso 1:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 446.7660;
INFO_PROPERTY[cid][p_POS_INT][1] = 507.1065;
INFO_PROPERTY[cid][p_POS_INT][2] = 1001.4206;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 12;
}
caso 2:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2495.9719;
INFO_PROPERTY[cid][p_POS_INT][1] = -1693.5554;
INFO_PROPERTY[cid][p_POS_INT][2] = 1014.8061;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 3;
}
caso 3:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2455.6968;
INFO_PROPERTY[cid][p_POS_INT][1] = -1698.3298;
INFO_PROPERTY[cid][p_POS_INT][2] = 1013.5068;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 2;
}
caso 4:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2524.9165;
INFO_PROPERTY[cid][p_POS_INT][1] = -1679.4109;
INFO_PROPERTY[cid][p_POS_INT][2] = 1015.4873;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 1;
}
caso 5:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2807.5103;
INFO_PROPERTY[cid][p_POS_INT][1] = -1174.0422;
INFO_PROPERTY[cid][p_POS_INT][2] = 1025.5898;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 8;
}
}
formato(str,sizeof(str),"{00A8FF}EN VENTA\n {FFFFFF}Precio:{00A8FF}%d\n {FFFFFF}ID casa:{00A8FF}%d\n {FFFFFF}Usa{00A8FF}/comprarcasa", precio, cid);
INFO_PROPERTY[cid][p_LABEL] = Create3DTextLabel(str, -1, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 10.0, 0, 0);
CreateDynamicMapIcon(INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 31, -1, 0, 0);
ActualizarCasa(cid);
cid = MAX_PROPERTY;
}
}
regreso 1;
}
no se que hacer porfa ayuda
CMD:entrar(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2]))
{
if(INFO_PROPERTY[i][p_CLOSED] == 0)
{
¡¡¡¡si(INFO_PROPERTY[i][p_BOUGHT] == 1 && !strcmp(PlayerName(playerid), INFO_PROPERTY[i][p_OWNER]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2], 0.0, INFO_PROPERTY[i][p_INTERIOR], i+10);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = i;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
otra cosa
{
ShowPlayerMessage(jugador, "~y~No eres el dueño de esta propiedad", 3);
}
}
otra cosa
{
ShowPlayerMessage(jugador, "~r~Cerrado", 3);
}
regreso 1;
}
}
regreso 1;
}
CMD:salir(jugador, params[])
{
para (new i = 0; i < MAX_PROPERTY; i++) //- Sistema de casas
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, INFO_PROPERTY[i][p_POS_INT][0], INFO_PROPERTY[i][p_POS_INT][1], INFO_PROPERTY[i][p_POS_INT][2]))
{
SetPlayerPosEx(playerid, INFO_PROPERTY[i][p_POS_EXT][0], INFO_PROPERTY[i][p_POS_EXT][1], INFO_PROPERTY[i][p_POS_EXT][2], 0.0, 0, 0);
TEMPORAL_PLAYER[playerid][t_AT_HOME] = -1;
SetCameraBehindPlayer(jugador);
TogglePlayerControlable(reproductor, falso);
GameTextForPlayer(jugador, "~g~Cargando~n~ ~w~~h~~h~Objetos", 3000, 1);
TEMPORAL_PLAYER[playerid][t_TIMER][2] = SetTimerEx("RemoverObjectos", 3000, false, "i", playerid);
regreso 1;
}
}
regreso 1;
}
CMD:crearcasa(jugador, params[])
{
nuevo tipo, precio, str[250];
if(sscanf(params, "dd", type, price)) volver SendClientMessage(playerid, -1, "Syntax: /crearcasa [tipo de casa] [price]");
¿si (tipo < 1 || tipo > 5) devolver SendClientMessage(playerid, -1, "Las casas est?n entre 1 y 5 espacios.");
para (nuevo cid = 0; cid < MAX_PROPERTY; cid++)
{
¡si (!INFO_PROPERTY[cid][p_TIPO])
{
GetPlayerPos(playerid, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2])
INFO_PROPERTY[cid][p_TYPE] = tipo;
INFO_PROPERTY[cid][p_BOUGHT] = 0;
INFO_PROPERTY[cid][p_CERRADO] = 0;
switch(tipo)
{
caso 1:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 446.7660;
INFO_PROPERTY[cid][p_POS_INT][1] = 507.1065;
INFO_PROPERTY[cid][p_POS_INT][2] = 1001.4206;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 12;
}
caso 2:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2495.9719;
INFO_PROPERTY[cid][p_POS_INT][1] = -1693.5554;
INFO_PROPERTY[cid][p_POS_INT][2] = 1014.8061;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 3;
}
caso 3:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2455.6968;
INFO_PROPERTY[cid][p_POS_INT][1] = -1698.3298;
INFO_PROPERTY[cid][p_POS_INT][2] = 1013.5068;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 2;
}
caso 4:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2524.9165;
INFO_PROPERTY[cid][p_POS_INT][1] = -1679.4109;
INFO_PROPERTY[cid][p_POS_INT][2] = 1015.4873;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 1;
}
caso 5:
{
INFO_PROPERTY[cid][p_POS_INT][0] = 2807.5103;
INFO_PROPERTY[cid][p_POS_INT][1] = -1174.0422;
INFO_PROPERTY[cid][p_POS_INT][2] = 1025.5898;
INFO_PROPERTY[cid][p_PRICE] = precio;
INFO_PROPERTY[cid][p_INTERIOR] = 8;
}
}
formato(str,sizeof(str),"{00A8FF}EN VENTA\n {FFFFFF}Precio:{00A8FF}%d\n {FFFFFF}ID casa:{00A8FF}%d\n {FFFFFF}Usa{00A8FF}/comprarcasa", precio, cid);
INFO_PROPERTY[cid][p_LABEL] = Create3DTextLabel(str, -1, INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 10.0, 0, 0);
CreateDynamicMapIcon(INFO_PROPERTY[cid][p_POS_EXT][0], INFO_PROPERTY[cid][p_POS_EXT][1], INFO_PROPERTY[cid][p_POS_EXT][2], 31, -1, 0, 0);
ActualizarCasa(cid);
cid = MAX_PROPERTY;
}
}
regreso 1;
}
no se que hacer porfa ayuda