16.07.2010, 16:51
Try this:
EDIT: Wait a minute, did you replace the first code with the second? Does it work that way? Which code do you want fixed?
Код:
for(new i = 0; i < sizeof(HouseInfo); i++) { if(IsPlayerInRangeOfPoint(playerid,4.0,HouseInfo[i][SpawnX],HouseInfo[i][SpawnY],HouseInfo[i][SpawnZ])) { if(HouseInfo[i][Locked] == 1) return GameTextForPlayer(playerid,"~r~Locked",500,1); SetPlayerPos(playerid,Int[HouseInfo[i][Interior]][PosX],Int[HouseInfo[i][Interior]][PosY],Int[HouseInfo[i][Interior]][PosZ]); SetPlayerInterior(playerid,Int[HouseInfo[i][Interior]][Interior]); SetPlayerVirtualWorld(playerid,HouseInfo[i][World]); HouseEntered[playerid] = i; printf("%s entered house id: %d",pname,HouseEntered[playerid]); } if(IsPlayerInRangeOfPoint(playerid,5.0,Int[HouseInfo[HouseEntered[playerid]][Interior]][PosX],Int[HouseInfo[HouseEntered[playerid]][Interior]][PosY],Int[HouseInfo[HouseEntered[playerid]][Interior]][PosZ])) { SetPlayerPos(playerid,HouseInfo[HouseEntered[playerid]][SpawnX],HouseInfo[HouseEntered[playerid]][SpawnY],HouseInfo[HouseEntered[playerid]][SpawnZ]); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); printf("%s exited house id: %d",pname,HouseEntered[playerid]); HouseEntered[playerid] = 9999; } }
Код:
dcmd_aenter(playerid, params[]) { #pragma unused params if(PlayerAccount[playerid][Admin] > 0) { for(new i = 0; i < sizeof(HouseInfo); i++) { if(IsPlayerInRangeOfPoint(playerid,4.0,HouseInfo[i][SpawnX],HouseInfo[i][SpawnY],HouseInfo[i][SpawnZ])) { SetPlayerPos(playerid,Int[HouseInfo[i][Interior]][PosX],Int[HouseInfo[i][Interior]][PosY],Int[HouseInfo[i][Interior]][PosZ]); SetPlayerInterior(playerid,Int[HouseInfo[i][Interior]][Interior]); SetPlayerVirtualWorld(playerid,HouseInfo[i][World]); HouseEntered[playerid] = i; printf("%s entered house id: %d",pname,HouseEntered[playerid]); } } } return 1; }
EDIT: Wait a minute, did you replace the first code with the second? Does it work that way? Which code do you want fixed?