SZIASZTOK!
Amit ma rátok szabadítok az valami olyasmi amit talán sokan nem ismertek.
Engem mindig foglalkoztatott a kérdés hogy hogyan lehet gomb nyomásra ki-be menni házakból vagy akár kapukat kinyitni.
LÉNYEG tehát a következõ:
Az elsõ dolog amire szükségünk lesz hogy a következõ kódot az #include(-ok) alá tesszük...
 
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
                    EZ nem szorul magyarázatra szerintem  :D 
nem tudom, alapból benne van-e a callback de amennyiben nincs, ezt írjátok ahova jól esik bár én azt javaslom hogy a végére :P 
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
 
Következõ Lépés... (CSAK OLYAN GOMBOT HASZNÁLHATSZ AMI A JÁTÉKBAN BENNE VAN (pl: KEY_WALK     vagy     KEY_ENTER     vagy    KEY_LOOK_BEHIND      stb....))                [Én a KEY_WALK gombot használom]
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if (PRESSED(KEY_WALK))
        {
                     if(IsPlayerInRangeOfPoint(playerid, 2.0, -2455.6279,-135.7820,26.1304))
            {
                       SetPlayerPos(playerid, -2444.1000976563,-221.3000030517,25.39999961853);
      }
        }
}
return 1;
}
 
Most pedig lebontva magyarázok ^^
1) 
if (PRESSED(KEY_WALK))
     melyik gomb lenyomására történjen amit írtunk(jelen esetben a teleportálás)
2) 
if(IsPlayerInRangeOfPoint(playerid, 2.0, -2455.6279,-135.7820,26.1304)) 
       if(IsPlayerInRangeOfPoint(playerid, sugár amin belül mûködni fog a \"command\", x, y, z))
3) 
SetPlayerPos(playerid, -2444.1000976563,-221.3000030517,25.39999961853);
     [ha jó helyen vagy]  SetPlayerPos(playerid, x, y, z); ez változtatja majd a helyzeted
4) 
return 1;
 visszatérés 1-el, igaz állítással
Én eddig csak egy szerveren láttam ilyet ugyhogy remélem helyettesít 1-2 commandot  nálatok is, kicsit egyszerûbbé téve dolgokat:thumbsup:   
ha valamit elcsesztem csak szoljatok bátran és kijavítom ha kérdés van írjatok üzenetet
			
			
			
				public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_WALK)
{
    if(IsPlayerInRangeOfPoint(playerid, sugár, x, y, z)
    {
            SetPlayerPos(playerid, x, y, z);
    }
}
{
    if(IsPlayerInRangeOfPoint(playerid, sugár, x, y, z))                            EZ ITT MÁR AZ ÚJ
    {
        SetPlayerPos(playerid, x, y, z);
    }
}
if(PRESSED(KEY_WALK))               MÁS GOMBRA
{
    if(IsPlayerInRangeOfPoint(playerid, sugár, x, y, z))
    {
        SetPlayerPos(playerid, x, y, z);
    }
}
    return 1;
}
 
Ebben le van írva hogy hogyan lehet többet betenni, illetve más gombra hatást tenni.
Az hogy neked nem mûködik valószínûleg valamiféle elírás következménye. Ezeket a most leírtakat bátran használd sablonként. :)
még valami nagyon fontos dolog. ez mindenképpen legyen a filterscript/gamemode #include-jai alatt
 
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))