Ranchend1998

Creating Teleports

Mar 15th, 2013
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.60 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define File_Teleports "Teleports.ini"
  4.  
  5. public OnPlayerCommandText(playerid,cmdtext[])
  6. {
  7.     new String[150];
  8.     new Param;
  9.     Param = strfind(cmdtext," ") + 1;
  10.     if(Param)
  11.     {
  12.         cmdtext[Param - 1] = EOS;
  13.     }
  14.     if(!cmdtext[Param])
  15.     {
  16.         Param = 0;
  17.     }
  18.     if(!strcmp(cmdtext,"/Createteleport",true))
  19.     {
  20.         if(!IsPlayerAdmin(playerid))
  21.         {
  22.             SendClientMessage(playerid,-1,"This command is only for rcon administrator.");
  23.             return 1;
  24.         }
  25.         if(!Param)
  26.         {
  27.             SendClientMessage(playerid,-1,"Type /Createteleport [Command].");
  28.             return 1;
  29.         }
  30.         if(!fexist(File_Teleports))
  31.         {
  32.             new File:File;
  33.             File = fopen(File_Teleports,io_write);
  34.             fclose(File);
  35.         }
  36.         new Float:X;
  37.         new Float:Y;
  38.         new Float:Z;
  39.         new Float:A;
  40.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  41.         {
  42.             GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
  43.             GetVehicleZAngle(GetPlayerVehicleID(playerid),A);
  44.         }
  45.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  46.         {
  47.             GetPlayerPos(playerid,X,Y,Z);
  48.             GetPlayerFacingAngle(playerid,A);
  49.         }
  50.         new File:File;
  51.         File = fopen(File_Teleports,io_append);
  52.         new Interior;
  53.         Interior = GetPlayerInterior(playerid);
  54.         new VirtualWorld;
  55.         VirtualWorld = GetPlayerVirtualWorld(playerid);
  56.         format(String,150,"CreateTeleport(cmdtext,\"%s\",playerid,%f,%f,%f,%f,%d,%d);\n\r",cmdtext[Param],X,Y,Z,A,Interior,VirtualWorld);
  57.         fwrite(File,String);
  58.         fclose(File);
  59.         SendClientMessage(playerid,-1,"Teleport has been created.");
  60.         return 1;
  61.     }
  62.     return 1;
  63. }
  64.  
  65. stock CreateTeleport(Command[],Teleport[],PlayerId,Float:X,Float:Y,Float:Z,Float:A,Interior,VirtualWorld)
  66. {
  67.     if(!strcmp(Command,Teleport,true))
  68.     {
  69.         new VehicleId = GetPlayerVehicleID(PlayerId);
  70.         if(GetPlayerState(PlayerId) == PLAYER_STATE_DRIVER)
  71.         {
  72.             SetVehiclePos(VehicleId,X,Y,Z);
  73.             SetVehicleZAngle(VehicleId,A);
  74.             if(GetPlayerInterior(PlayerId) != Interior)
  75.             {
  76.                 LinkVehicleToInterior(VehicleId,Interior);
  77.                 SetPlayerInterior(PlayerId,Interior);
  78.                 PutPlayerInVehicle(PlayerId,VehicleId,0);
  79.             }
  80.             if(GetPlayerVirtualWorld(PlayerId) != VirtualWorld)
  81.             {
  82.                 SetVehicleVirtualWorld(VehicleId,VirtualWorld);
  83.                 SetPlayerVirtualWorld(PlayerId,VirtualWorld);
  84.                 PutPlayerInVehicle(PlayerId,VehicleId,0);
  85.             }
  86.         }
  87.         if(GetPlayerState(PlayerId) != PLAYER_STATE_DRIVER)
  88.         {
  89.             SetPlayerPos(PlayerId,X,Y,Z);
  90.             SetPlayerFacingAngle(PlayerId,A);
  91.             SetPlayerInterior(PlayerId,Interior);
  92.             SetPlayerVirtualWorld(PlayerId,VirtualWorld);
  93.         }
  94.         return 1;
  95.     }
  96.     return 1;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment