28.07.2015, 20:18
Okay. I've noticed this bug on my server. Whenever I'm inside any interior and type /exit, it will TP me way out into the country. How would I go about fixing this?
CMD:exit(playerid, params[]) { for(new i=0; i < MAX_DOORS; i++) { if(!IsPlayerInRangeOfPoint(playerid, 2.0, DoorInfo[i][dInteriorX], DoorInfo[i][dInteriorY], DoorInfo[i][dInteriorZ]) && DoorInfo[i][dInteriorInt] == GetPlayerInterior(playerid) && DoorInfo[i][dInteriorVir] == GetPlayerVirtualWorld(playerid)) continue; SetPlayerInterior(playerid, DoorInfo[i][dExteriorInt]); SetPlayerVirtualWorld(playerid, DoorInfo[i][dExteriorVir]); SetPlayerPos(playerid, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]); SetPlayerFacingAngle(playerid, DoorInfo[i][dExteriorAngle]); SetCameraBehindPlayer(playerid); } for(new i = 0; i < MAX_HOUSES; i++) { if(InHouse[playerid][i] == 1) { SetPlayerPos(playerid, HouseInfo[i][hX], HouseInfo[i][hY], HouseInfo[i][hZ]); SetPlayerInterior(playerid, 0); InHouse[playerid][i] = 0; } } for(new i = 0; i < MAX_BIZZES; i++) { if(InBiz[playerid][i] == 1) { SetPlayerPos(playerid, BizInfo[i][bX], BizInfo[i][bY], BizInfo[i][bZ]); SetPlayerInterior(playerid, 0); InBiz[playerid][i] = 0; } } { if(IsPlayerInRangeOfPoint(playerid, 2.2, -1856.7942,43.2261,1055.1687)) // AIRPORT { SetPlayerPos(playerid, 1642.1957, -2334.4849, 13.5469); SetPlayerFacingAngle(playerid, 0.0); SetPlayerInterior(playerid, 0); ClearScreen(playerid); SendClientMessage(playerid, COLOR_ORANGE2, "__________{ffa500}SPAWN{ffa500}__________"); SendClientMessage(playerid, -1, "You have been given {ffa500}$"SPAWN_MONEY"{FFFFFF} to start off. If you need any help regarding the script"); SendClientMessage(playerid, -1, "you can use {ffa500}/help{FFFFFF} or {ffa500}/n{FFFFFF}. Since this is a new server, you have also recieved"); SendClientMessage(playerid, -1, "{ffa500}$"SPAWN_BONUS"{FFFFFF} bonus cash in your bank. Thank you for playing "SERVER_NAME"."); } } { if(IsPlayerInRangeOfPoint(playerid, 5.0, 772.2415,-4.7547,1000.7287)) // GANTON GYM { SetPlayerPos(playerid, 2229.7529,-1721.4796,13.5634); SetPlayerInterior(playerid, 0); } } { if(IsPlayerInRangeOfPoint(playerid, 5.0, 408.4801,-1620.2821,1507.8569)) // STAGE 25 { SetPlayerPos(playerid, 648.9583,-1353.9291,13.5472); SetPlayerInterior(playerid, 0); } } { if(IsPlayerInRangeOfPoint(playerid, 5.0, 2305.7944,-16.3430,26.7496)) // BANK { SetPlayerPos(playerid, 1457.0853,-1009.9203,26.8438); SetPlayerInterior(playerid, 0); } } { if(IsPlayerInRangeOfPoint(playerid, 5.0, 390.0780,173.9001,1008.3828)) // City Hall { SetPlayerPos(playerid, 1481.0234,-1772.1077,18.7958); SetPlayerInterior(playerid, 0); } } { if(IsPlayerInRangeOfPoint(playerid, 5.0, 207.8441,-110.9630,1005.1328)) // City Hall { SetPlayerPos(playerid, 2244.3423,-1665.5542,15.4766); SetPlayerInterior(playerid, 0); } } { if(IsPlayerInRangeOfPoint(playerid, 5.0, -2029.8304,-119.1431,1035.1719)) // DMV { SetPlayerPos(playerid, 2045.5867,-1907.9515,13.5469); SetPlayerInterior(playerid, 0); } } return 1; }
for(new i=0; i < MAX_DOORS; i++) { if(!IsPlayerInRangeOfPoint(playerid, 2.0, DoorInfo[i][dInteriorX], DoorInfo[i][dInteriorY], DoorInfo[i][dInteriorZ]) && DoorInfo[i][dInteriorInt] == GetPlayerInterior(playerid) && DoorInfo[i][dInteriorVir] == GetPlayerVirtualWorld(playerid)) continue; SetPlayerInterior(playerid, DoorInfo[i][dExteriorInt]); SetPlayerVirtualWorld(playerid, DoorInfo[i][dExteriorVir]); SetPlayerPos(playerid, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]); printf("ExteriorX: %f, ExteriorY: %f, ExteriorZ: %f", DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]) SetPlayerFacingAngle(playerid, DoorInfo[i][dExteriorAngle]); SetCameraBehindPlayer(playerid); }
Try this:
Код:
for(new i=0; i < MAX_DOORS; i++) { if(!IsPlayerInRangeOfPoint(playerid, 2.0, DoorInfo[i][dInteriorX], DoorInfo[i][dInteriorY], DoorInfo[i][dInteriorZ]) && DoorInfo[i][dInteriorInt] == GetPlayerInterior(playerid) && DoorInfo[i][dInteriorVir] == GetPlayerVirtualWorld(playerid)) continue; SetPlayerInterior(playerid, DoorInfo[i][dExteriorInt]); SetPlayerVirtualWorld(playerid, DoorInfo[i][dExteriorVir]); SetPlayerPos(playerid, DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]); printf("ExteriorX: %f, ExteriorY: %f, ExteriorZ: %f", DoorInfo[i][dExteriorX], DoorInfo[i][dExteriorY], DoorInfo[i][dExteriorZ]) SetPlayerFacingAngle(playerid, DoorInfo[i][dExteriorAngle]); SetCameraBehindPlayer(playerid); } |