Problema con sistema de casa - Printable Version + open.mp forum (https://forum.open.mp) -- Forum: Other languages (https://forum.open.mp/forumdisplay.php?fid=23) --- Forum: Spanish/Espa?ol (https://forum.open.mp/forumdisplay.php?fid=24) ---- Forum: Programaci?n (https://forum.open.mp/forumdisplay.php?fid=51) ---- Thread: Problema con sistema de casa (/showthread.php?tid=3012) |
Problema con sistema de casa - Nikolay_Staggs - 2024-12-28 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 RE: Problema con sistema de casa - NoLife - 2024-12-28 Hi Nikolay, I understand that your issue is when a player enters house ID 1 and then exits, they end up in a different house. Simple solution: Track the house ID the player enters and verify it when they exit to ensure they return to the correct location. See a simple example below and i hope it helps you. PHP Code: CMD:enter(playerid) RE: Problema con sistema de casa - Nikolay_Staggs - 2024-12-28 muchas gracias si me jalo jaja |