Advertisement
GArtem

Key Teleport Systems

Sep 26th, 2013
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.58 KB | None | 0 0
  1. // Key Teleport Systems (KTS)
  2. // Created by _[Bupyc]_ for pawno.ru
  3. #if defined _KTS_included
  4. #endinput
  5. #endif
  6.  
  7. #define _KTS_included
  8. #pragma library KTS
  9.  
  10. forward KTS_OnPlayerKeyStateChange(playerid,newkeys,oldkeys);
  11.  
  12. static number=0;
  13.  
  14. #define kts_Key 1024 // клавиша (по умолч ALT)
  15. #define kts_RADIUS 2.0 // рекомендую не менять
  16.  
  17. enum KTS_Tele
  18. {
  19.     Float:kts_X,
  20.     Float:kts_Y,
  21.     Float:kts_Z,
  22.     Float:kts_A,
  23.     kts_Int,
  24.     kts_Virt,
  25.     Float:kts_ToX,
  26.     Float:kts_ToY,
  27.     Float:kts_ToZ,
  28.     Float:kts_ToA,
  29.     kts_ToInt,
  30.     kts_ToVirt,
  31. };
  32. new Teleport[1000][KTS_Tele];
  33.  
  34.  
  35. public KTS_OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
  36. {
  37.     if(newkeys == kts_Key)
  38.     {
  39.         for(new num=0;num<number+1;num++)
  40.         {
  41.             if(IsPlayerInRangeOfPoint(playerid,kts_RADIUS,Teleport[num][kts_X],Teleport[num][kts_Y],Teleport[num][kts_Z]) && GetPlayerVirtualWorld(playerid) == Teleport[num][kts_Virt])
  42.             {
  43.                 KTS_PlayerTeleport(playerid,Teleport[num][kts_ToX],Teleport[num][kts_ToY],Teleport[num][kts_ToZ],Teleport[num][kts_ToA],Teleport[num][kts_ToInt],Teleport[num][kts_ToVirt]);
  44.                 break;
  45.             }
  46.             else if(IsPlayerInRangeOfPoint(playerid,kts_RADIUS,Teleport[num][kts_ToX],Teleport[num][kts_ToY],Teleport[num][kts_ToZ]) && GetPlayerVirtualWorld(playerid) == Teleport[num][kts_ToVirt])
  47.             {
  48.                 KTS_PlayerTeleport(playerid,Teleport[num][kts_X],Teleport[num][kts_Y],Teleport[num][kts_Z],Teleport[num][kts_A],Teleport[num][kts_Int],Teleport[num][kts_Virt]);
  49.                 break;
  50.             }
  51.         }
  52.     }
  53.     return;
  54. }
  55.  
  56. stock KTS_PlayerTeleport(playerid,Float:X,Float:Y,Float:Z,Float:A,Int,Virt)
  57. {
  58.     SetPlayerPos(playerid,X,Y,Z); SetPlayerFacingAngle(playerid,A);
  59.     SetPlayerInterior(playerid,Int); SetPlayerVirtualWorld(playerid,Virt);
  60.     return 1;
  61. }
  62.  
  63. stock AddTeleport(Float:X,Float:Y,Float:Z,Float:A,Int,Virt,Float:ToX,Float:ToY,Float:ToZ,Float:ToA,ToInt,ToVirt)
  64. {
  65.     number++;
  66.     CreatePickup(1318,1,X,Y,Z,Virt); CreatePickup(1318,1,ToX,ToY,ToZ,ToVirt);
  67.     Teleport[number][kts_X] = X; Teleport[number][kts_Y] = Y; Teleport[number][kts_Z] = Z; Teleport[number][kts_A] = A;
  68.     Teleport[number][kts_Int] = Int; Teleport[number][kts_Virt] = Virt;
  69.     Teleport[number][kts_ToX] = ToX; Teleport[number][kts_ToY] = ToY; Teleport[number][kts_ToZ] = ToZ; Teleport[number][kts_ToA] = ToA;
  70.     Teleport[number][kts_ToInt] = ToInt; Teleport[number][kts_ToVirt] = ToVirt;
  71.     return 1;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement