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: Predator - 2010. Február 25. - 14:20:30

Cím: Teleport csak X helyen!
Írta: Predator - 2010. Február 25. - 14:20:30
Sziasztok! Szeretnék egy TUT-ot kérni ami leirná hogy lehet teleportot készíteni amit csak egy bizonyos helyen és annak nagyon-nagyin közelében lehesen használni.
Üdv: Pred
Ui: sietem az irásal bocs ha van helyesírási hiba, v rossz helyre nyitotam.
Cím: Teleport csak X helyen!
Írta: ZeRo - 2010. Február 25. - 15:26:24
if( IsPlayerInRangeOfPoint( playerid, range, x, y, z ) ) {

 
Ha \"nagyon - nagyon\" közelébe is akarod, akkor a range argumentumot állítsd mondjuk 1.0 - ra, vagy 2.0 ra.
ZeRo
Cím: Teleport csak X helyen!
Írta: jana4 - 2010. Február 25. - 15:42:43
Ahogyan ZeRo is leírta, IsPlayerRangeOfPoint -al [ami alapból van] vagy PlayerToPoint -al lehet, amely lassabban müködik, mint az elozoleg leírt függvény. meg még sokmásféleképpen.

egy konkrét példa, amit zero írt:

 

public OnPlayerCommandText(playerid, cmdtext[])
{
      if(!strcmp(\"/dombteto\", cmdtext, true))
      {
               if(IsPlayerInRangeOfPoint(playerid, 2.5, 1238.44, 2456.54, 1994.96))
               {
                                SendClientMessage(playerid, 0x00000, \"Hú vazzeg! Közel vagy a domb tetohöz!\");
               }
               else
               {
                                SendClientMessage(playerid, 0x00000, \"Még nem vagy közel a dombtetohöz!\");
               }
               return 1;
       }
       return 0;
}
Cím: Teleport csak X helyen!
Írta: kurta999 - 2010. Február 25. - 16:26:20
Ez a IsPlayerRangeOfPoint ez ugyanaz mint a PlayerToPoint ?
Cím: Teleport csak X helyen!
Írta: dnsdj - 2010. Február 25. - 16:51:21
Idézetet írta: kurta999 date=1267111580\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"783\" data-ipsquote-contentclass=\"forums_Topic
Ez a IsPlayerRangeOfPoint ez ugyanaz mint a PlayerToPoint ?
 
Igen csak.. annyi hogy itt belehet állítani hogy mekkora legyen a hely és az emberközötti radius. szóval lehet állitani atávot h mennyire lehet max távol az adott pontol!
Cím: Teleport csak X helyen!
Írta: Predator - 2010. Február 26. - 16:26:37
Evvel márcsak egy gond van.
A teleportálást nem hajtja végre. :(
Ja és Kocsival akarom és majd beilesztem közé a :
if(!IsPlayerInAnyVehicle(playerid))  -t
Cím: Teleport csak X helyen!
Írta: kurta999 - 2010. Február 26. - 16:38:07
Idézetet írta: Predator date=1267197997\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"783\" data-ipsquote-contentclass=\"forums_Topic
Evvel márcsak egy gond van.
A teleportálást nem hajtja végre. :(
Ja és Kocsival akarom és majd beilesztem közé a :
if(!IsPlayerInAnyVehicle(playerid))  -t

 

Igen, csak a ! jel nem kell oda mer akkor az ellenkezoje
így kell:
if(IsPlayerInAnyVehicle(playerid))
Cím: Teleport csak X helyen!
Írta: Predator - 2010. Február 26. - 17:18:16
Oké kössz és a teleport végrehajtásához mi kell?
Cím: Teleport csak X helyen!
Írta: Gamestar - 2010. Február 28. - 16:48:11
http://samp-forum.extra.hu/index.php?topic=3566.0 !
Kell egy változó.
 
new myTeleport;

 
Létrehozzuk a teleportot
 
myTeleport = Teleport_Create(\"Teleport neve\",\"/teleport parancsa\",x,y,z,angle); // De van több opció is (pl csak gyalog teleportál stb)

 

public OnPlayerCallingTeleport(playerid,teleportid)
{
    if(teleportid == myTeleport)
    {
        if(!IsPlayerInRangeOfPoint(playerid,float(5), x, y, z ))
        {
            SendClientMessage(playerid,0xFF0000AA,\"Nem vagy elég közel!\");
            return 0;
        }
    }
    return 1;
}