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
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
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