Szakmai fórum a gyalogot-scripting
Ismerje meg, hogyan lehet egy sima akadály
Szia, SW. a felhasználók a portál Úgy döntöttem, hogy mutassa meg, hogyan kell ezt csinálni simán akadályokat. Bár a fórum volt 100.500 órák, de mostanáig a felhasználók ilyen kérdést. Tehát mit kell tennie:- Fej agy.
- Hands.
Top divat minden globális változó egészül ki:
új
kapun. gateopen # 91; MAX_PLAYERS char # 93 ;;
A változtatható kapu tárolja a tárgy maga.
Változó gateopen fogja használni, hogy elkerüljék az árvíz a csapat.
Továbbá az állami OnGameModeInit () adja hozzá a következő:
kapu = CreateDynamicObject (modell koordinátáit a zárt kapuk (X. Y. Z), a forgási koordinátákat.);
például:
968 - a modell akadályt.
1544.684692, -1630,881592, 13,004568 - koordinátáit a zárt kapuk (XYZ)
0.0000, 90,0000, 90,0000 - koordináta forgatást.
Következő vyberaem szeretnénk megnyitni a kaput? Parancs vagy gomb.
CMD. gateopen (playerid. params # 91; # 93;)
ha return true (IsPlayerConnected (playerid)!);
if (gateopen
if (! .. IsPlayerInRangeOfPoint (playerid sugara a hely koordinátái (X. Y. Z), ahol meg tudja nyitni a kaput)) visszatér SendClientMessage (playerid - 1. "* Ön túl messze!".);
gateopen
MoveDynamicObject (kapu nyitott kapu koordináták XYZ koordináták forgási 0,12 ...);
SetTimerEx ( "@_GateClose" 7000. false "d" playerid ...);
vissza 1;
>
SetTimerEx ( "@_ GateClose", 7000. hamis, "d", playerid); - időzítő idővel, ami után a kapu bezáródik.
gateopen - Ez biztosítja, hogy a csapat nem az árvíz.
A nyilvános OnPlayerKeyStateChange (playerid, newkeys, oldkeys) helyezze:
if (newkeys / * Kulcs * /)
ha (IsPlayerInRangeOfPoint (playerid 15,0 1544,684692 -... 1630,881592 13,004568).)
if (gateopen
gateopen
MoveDynamicObject (kapu nyitott kapu koordináták XYZ 0,12 0,0000 0,0000 90,0000 .....);
SetTimerEx ( "@_GateClose" 7000. false "d" playerid ...);
>
>
>
És így most a legvégén divat hozzá Nyilvános bezárja a kaput.
@ _GateClose (playerid);
@ _GateClose (playerid)
gateopen
MoveDynamicObject (. Kapu zárva koordinátáit XYZ koordinátáit a cél forgási 0,12 ..);
vissza 1;
>