PDA

Просмотр полной версии : [Вопрос] Вход в дом



Skyline
04.12.2016, 03:00
Доброго времени суток, подскажите пожалуйста, как сделать вход в дом на ALT? MySQL R41.

Координаты входа в инт.
Float:henter_pos_x,
Float:henter_pos_y,
Float:henter_pos_z,

Координаты выхода с инт.
Float:hexit_pos_x,
Float:hexit_pos_y,
Float:hexit_pos_z,

ID интерьера.
hInt

middlematt
04.12.2016, 04:43
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED(KEY_WALK))
{
for (new i; i < TOTALHOUSES; i++)
{
if (HouseInfo[i][pLocked])
return 1;

if (IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[i][henter_pos_x], HouseInfo[i][henter_pos_y], HouseInfo[i][henter_pos_z]))
{
SetPlayerPos
(playerid, HouseInfo[i][hexit_pos_x], HouseInfo[i][hexit_pos_y], HouseInfo[i][hexit_pos_z]);

SetPlayerVirtualWorld(playerid, i + 50);
SetPlayerInterior(playerid, HouseInfo[i][hInt]);
}
else if (IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[i][hexit_pos_y], HouseInfo[i][hexit_pos_z]))
{
SetPlayerPos
(playerid, HouseInfo[i][hexit_pos_x], HouseInfo[i][henter_pos_x], HouseInfo[i][henter_pos_y], HouseInfo[i][henter_pos_z]);

SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
}
}
}
return 1;
}

Skyline
04.12.2016, 14:03
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED(KEY_WALK))
{
for (new i; i < TOTALHOUSES; i++)
{
if (HouseInfo[i][pLocked])
return 1;

if (IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[i][henter_pos_x], HouseInfo[i][henter_pos_y], HouseInfo[i][henter_pos_z]))
{
SetPlayerPos
(playerid, HouseInfo[i][hexit_pos_x], HouseInfo[i][hexit_pos_y], HouseInfo[i][hexit_pos_z]);

SetPlayerVirtualWorld(playerid, i + 50);
SetPlayerInterior(playerid, HouseInfo[i][hInt]);
}
else if (IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[i][hexit_pos_y], HouseInfo[i][hexit_pos_z]))
{
SetPlayerPos
(playerid, HouseInfo[i][hexit_pos_x], HouseInfo[i][henter_pos_x], HouseInfo[i][henter_pos_y], HouseInfo[i][henter_pos_z]);

SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
}
}
}
return 1;
}
Благодарю.