GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: justrics - 2012. november 26. - 21:05:18

Cím: Újabb interior gond!
Írta: justrics - 2012. november 26. - 21:05:18
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. :)
Cím: Újabb interior gond!
Írta: Pedró - 2012. november 26. - 21:12:57
SetTimer(\"Interiors\", 500, 1);
helyett:
for(new x; x < MAX_PLAYERS; x++) SetTimerEx(\"Interiors\", 500, 1, \"i\", x);
Cím: Újabb interior gond!
Írta: Iceaac - 2012. november 26. - 21:25:44
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;
}
Cím: Újabb interior gond!
Írta: justrics - 2012. november 26. - 22:08:09
Köszönöm szépen!
[mod]Úgy látom sikerült megoldani a problémádat,ezért zárok.Ha esetleg megszeretnéd újra nyittatni,akkor írj egy PÜ-t.
kadaradam
[/mod]