
for(new h = 0; h < sizeof(HouseInfo); h++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
{
if(strcmp(playername, HouseInfo[h][hOwner], true) == 0)
{
new Level = HouseInfo[h][hLevel];
if(HouseInfo[h][hLock] == 1 && strcmp(HouseInfo[h][hOwner],PlayerName(playerid), true ) != 0) return SendClientMessage(playerid, COLOR_WHITE, "[HOUSE]: This house has been locked by the owner.");
Pause(playerid);
SetPlayerPos(playerid, HousesCoords[Level][0], HousesCoords[Level][1], HousesCoords[Level][2]);
SetPlayerInterior(playerid, HousesLevels[Level][0]); SetPlayerVirtualWorld(playerid, HouseInfo[h][hWorld]);
HouseEntered[playerid] = h;
}
else
{
GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
}
}
}
stock Float:GetDistanceToHouseOutside(playerid,houseid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
x2 = HouseInfo[houseid][PickupOutsidePosX];
y2 = HouseInfo[houseid][PickupOutsidePosY];
z2 = HouseInfo[houseid][PickupOutsidePosZ];
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2) + floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
stock Float:GetDistanceToHouseInside(playerid,houseid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
x2 = HouseInfo[houseid][PickupInsidePosX];
y2 = HouseInfo[houseid][PickupInsidePosY];
z2 = HouseInfo[houseid][PickupInsidePosZ];
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2) + floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
stock IsNearHouseOutside(playerid)
{
new Float:Distance;
for(new house; house < MAX_HOUSES; house++)
{
Distance = GetDistanceToHouseOutside(playerid,house);
if(Distance < 5.0)
{
return house;
}
}
return -1;
}
stock IsNearHouseInside(playerid)
{
new Float:Distance;
for(new house; house < MAX_HOUSES; house++)
{
Distance = GetDistanceToHouseInside(playerid,house);
if(Distance < 5.0 && GetPlayerVirtualWorld(playerid) == HouseInfo[house][VirtualWorld])
{
return house;
}
}
return -1;
}
|
You can't use IsPlayerInRangeOfPoint here, though I couldn't. Here's a nice stock which you can use. I don't know who made it originally, but I got it from Jakku.
pawn Код:
|
: error 017: undefined symbol "houseid"
: error 017: undefined symbol "houseid"
: error 017: undefined symbol "GetDistanceToHouseOutside"|
C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33011) : error 029: invalid expression, assumed zero
C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33011) : warning 221: label name "Float" shadows tag name C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33011) : error 017: undefined symbol "GetDistanceToHouseOutside" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33016) : error 017: undefined symbol "houseid" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33017) : error 017: undefined symbol "houseid" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(3301 : error 017: undefined symbol "houseid"C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33019) : warning 213: tag mismatch C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33022) : warning 225: unreachable code C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33022) : error 029: invalid expression, assumed zero C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33022) : warning 221: label name "Float" shadows tag name C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33022) : error 017: undefined symbol "GetDistanceToHouseInside" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33027) : error 017: undefined symbol "houseid" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(3302 : error 017: undefined symbol "houseid"C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33029) : error 017: undefined symbol "houseid" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33030) : warning 213: tag mismatch C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33033) : warning 225: unreachable code C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33033) : error 029: invalid expression, assumed zero C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33033) : error 017: undefined symbol "IsNearHouseOutside" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33036) : error 017: undefined symbol "MAX_HOUSES" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(3303 : error 017: undefined symbol "GetDistanceToHouseOutside"C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33047) : warning 225: unreachable code C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33047) : error 029: invalid expression, assumed zero C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33047) : error 017: undefined symbol "IsNearHouseInside" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33050) : error 017: undefined symbol "MAX_HOUSES" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33052) : error 017: undefined symbol "GetDistanceToHouseInside" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33053) : error 017: undefined symbol "VirtualWorld" C:\Users\hidden\Desktop\Files\sumthin\DGRP\gamemod es\dgrp.pwn(33011) : warning 203: symbol is never used: "Float" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 19 Errors. |
|
You can't use IsPlayerInRangeOfPoint here, though I couldn't. Here's a nice stock which you can use. I don't know who made it originally, but I got it from Jakku.
pawn Код:
|
floatsub(y2, y1)
// is exactly the same as
y2 - y1