new Gate; // Mód tetejérepublic OnGameModeInit(){ Gate = CreateObject(...); // Object létrehozása return 1;}public OnPlayerConnect ( playerid ) return SetTimerEx ( \"OpenGate\", 1000, true , \"d\", playerid );
forward OpenGate();public OpenGate(){ if(PlayerToPoint(13, playerid, X, Y, Z)) // Ez az a pozíció ahol, ha a játékos van kinyilallik a kapu { MoveObject(Gate, X,Y,Z, 3); // Nyitva } else { MoveObject(Gate, X,Y,Z, 3); // Zárva }}
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){ new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } return 0;}
SetTimerEx
Minek ciklus? Terheled fele feleslegesen.. Újra lekérdezed h ott van e és ez végigfut minden playeren.. SetTimerEx
Minek ciklus? Terheled fele feleslegesen.. Újra lekérdezed h ott van e és ez végigfut minden playeren.. SetTimerEx Hirtelen az jutott eszembe,de sok Timer is terhel. [/quote]Khm SetTimer helyett, és am sokkal jobban terhel az, amit mondtál, ez csak egy egy másodperces nem ismétlodo idozíto..
#include <a_samp>new Gate; // Mód tetejéreforward OpenGate();public OnGameModeInit(){ SetTimerEx(\"OpenGate\", 1000, true , \"b\"); Gate = CreateObject(...); // Object létrehozása return 1;}public OpenGate(){ if(PlayerToPoint(13, playerid, X, Y, Z)) // Ez az a pozíció ahol, ha a játékos van kinyilallik a kapu { MoveObject(Gate, X,Y,Z, 3); // Nyitva } else { MoveObject(Gate, X,Y,Z, 3); // Zárva }}stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){ new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } return 0;}
#include <a_samp>new Gate; // Mód tetejéreforward OpenGate();public OnGameModeInit(){ SetTimerEx(\"OpenGate\", 1000, true , \"b\"); Gate = CreateObject(...); // Object létrehozása return 1;}public OpenGate(){ if(PlayerToPoint(13, playerid, X, Y, Z)) // Ez az a pozíció ahol, ha a játékos van kinyilallik a kapu { MoveObject(Gate, X,Y,Z, 3); // Nyitva } else { MoveObject(Gate, X,Y,Z, 3); // Zárva }}stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){ new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } return 0;} Csabesz a playerid felesleges ha azt akarja hogyminden játékosra igaz legyen.És a SetTimerEx-be nem vok biztos h jól írtam mert még nem használtam.
#include <a_samp>new Gate; // Mód tetejéreforward OpenGate();public OnGameModeInit(){ SetTimerEx(\"OpenGate\", 1000, true , \"b\"); Gate = CreateObject(...); // Object létrehozása return 1;}public OpenGate(){ if(PlayerToPoint(13, playerid, X, Y, Z)) // Ez az a pozíció ahol, ha a játékos van kinyilallik a kapu { MoveObject(Gate, X,Y,Z, 3); // Nyitva } else { MoveObject(Gate, X,Y,Z, 3); // Zárva }}stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){ new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { return 1; } return 0;} Csabesz a playerid felesleges ha azt akarja hogyminden játékosra igaz legyen.És a SetTimerEx-be nem vok biztos h jól írtam mert még nem használtam. Az nem is jó, inkább így:OnPlayerConnect alá:SetTimerEx(\"OpenGate\", 1000, true , \"d\", playerid); [/quote]Bocs siettem,és mondtam hogy még ilyennem nem dolgoztam,de most már fogok xD