Sziasztok a segítségeteket kérem abban, hogy miért van az, hogy csak én tudok bemenni az interiorba másik player haverom meg nem. Nem értem onplayerupdate alól átírtam mert az ugye többször meghívja a dolgokat és laggot okozhat ezért így oldottam meg:
forward Interiors(playerid);
SetTimer(\"Interiors\", 500, 1);
//============================Interior enter/exit=============================//
public Interiors(playerid)
{
if (IsPlayerInRangeOfPoint(playerid,1,363.4137,-74.5788,1001.5078)) //kilépés a burgershotból
{
SetPlayerPos(playerid,1199.5190,-920.8154,43.1076);
SetPlayerInterior(playerid,0);
}
if (IsPlayerInRangeOfPoint(playerid,1.5,1199.2041,-918.1465,43.1235)) //belépés a burgershotba
{
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,364.2682,-73.8755,1001.5078);
SetPlayerFacingAngle(playerid, 356.5904);
SetPlayerInterior(playerid,10);
}
}
if (IsPlayerInRangeOfPoint(playerid,1.5,2304.6904,-16.2520,26.7422)) //kilépés a bankbból
{
SetPlayerPos(playerid,1423.4293,-1623.6616,13.5469);
SetPlayerInterior(playerid,0);
}
if (IsPlayerInRangeOfPoint(playerid,1.5,1419.1999511719,-1623.8000488281,12.5)) //belépés a bankba
{
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,2306.7278,-15.8792,26.7496);
SetPlayerFacingAngle(playerid, 273.2465);
SetPlayerInterior(playerid,0);
}
}
return 1;
}
Nem tudok rájönni, hogy mi lehet a baj, bele állok engem gond nélkül bedob de másokat nem. :)
Nem a legjobb megoldás, mivel gyors timer van benne és minden játékosnál ellenõriz minden helyet, nem kritikus.
Pedró megoldása azért rossz, mert minden egyen játékosnak külön idõzítõje van.
Igaz, hogy mûködik, de egyszerûen felesleges és feleslegesen lassít.
forward Interiors();
SetTimer(\"Interiors\", 500, 1);
//============================Interior enter/exit=============================//
public Interiors()
{
for(new i;i<MAX_PLAYERS;i++) if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if (IsPlayerInRangeOfPoint(playerid,1,363.4137,-74.5788,1001.5078)) //kilépés a burgershotból
{
SetPlayerPos(playerid,1199.5190,-920.8154,43.1076);
SetPlayerInterior(playerid,0);
}
if (IsPlayerInRangeOfPoint(playerid,1.5,1199.2041,-918.1465,43.1235)) //belépés a burgershotba
{
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,364.2682,-73.8755,1001.5078);
SetPlayerFacingAngle(playerid, 356.5904);
SetPlayerInterior(playerid,10);
}
}
if (IsPlayerInRangeOfPoint(playerid,1.5,2304.6904,-16.2520,26.7422)) //kilépés a bankbból
{
SetPlayerPos(playerid,1423.4293,-1623.6616,13.5469);
SetPlayerInterior(playerid,0);
}
if (IsPlayerInRangeOfPoint(playerid,1.5,1419.1999511719,-1623.8000488281,12.5)) //belépés a bankba
{
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,2306.7278,-15.8792,26.7496);
SetPlayerFacingAngle(playerid, 273.2465);
SetPlayerInterior(playerid,0);
}
}
}
return 1;
}