Advertisement
Red_Jheyson

Warp System 1.1 [$]_Red_[MF]

Oct 12th, 2016
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.14 KB | None | 0 0
  1. /*
  2. Não adianta mudar os creditos não foi você que fez!
  3.  
  4. Warp System Versão 1.1
  5.  
  6. Não use espaços na warp
  7.  
  8. Obs: para usar /setwarp precisa estar logado na RCON
  9.  
  10. */
  11. #include a_samp //  By SA-MP Team
  12. #include zcmd // by Zeex
  13. #include sscanf2 // by
  14. #include bini // By ipsBruno
  15.  
  16. #define save "warps.ini" // local do arquivo onde as warps são salvas
  17. #define WARPPREFIX "{FFFF00}[WARP]:{00FF00} " // Prefix das mensagens do sistema
  18. /////////////////////////////////////////////////////////////////////////////////
  19.  
  20. static string[256]; // não reclame de ter tantas celulas! lembrece do ~/warps
  21. /////////////////////////////////////////////////////////////////////////////////
  22. public OnFilterScriptInit()
  23. {
  24.     if(!fexist(save)) // verifica se o arquivo onde se salva as warps existe
  25.     {
  26.         print("\n--------------------------------------");
  27.         INI_Create(save); // se não existe ele vai criar o arquivo
  28.         INI_WriteString(save, "WARPLISTALL", "Warps: ");
  29.         INI_Save(); // salva o arquivo criado
  30.         printf("[WARP]: %s / Criado",save); // se ele for criado vai aparecer isto no log
  31.         print("\n--------------------------------------");
  32.     }
  33.  
  34.     print("\n--------------------------------------");
  35.     print(" Warp System By [$]_Red_[MF] Loaded");
  36.     print("     Server 167.114.42.20:7762"); // meu server :D
  37.     print("--------------------------------------\n");
  38.     return 1;
  39. }
  40. /////////////////////////////////////////////////////////////////////////////////
  41. public OnFilterScriptExit()
  42. {
  43.     INI_Exit();// salvar arquivos não salvos OBS: acho que e isso ne!
  44.     return 1;
  45. }
  46. /////////////////////////////////////////////////////////////////////////////////
  47. CMD:setwarp(playerid, params[])
  48. {
  49.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Há malandro você não tem permisão para usar este comando!");
  50.     if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Por favor saia do veiculo!");
  51.     new warp[50];  // não pode ser static
  52.     if(sscanf(params, "s[50]", warp)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Use: /SetWarp <WarpName>");
  53.     INI_Open(save);
  54.     INI_WriteInt(save, warp, 1);
  55.    
  56.     // atualiza a lista de warps
  57.     format(string, sizeof string, "%s, %s", INI_ReadString(save, "WARPLISTALL"), warp);
  58.     INI_WriteString(save, "WARPLISTALL", string);
  59.    
  60.    
  61.     // seta as cordenas
  62.     static Float:x, Float:y, Float:z, ST[50];
  63.     GetPlayerPos(playerid, x, y, z);
  64.  
  65.     format(ST, sizeof ST, "%s_WARPPOS_X", warp);
  66.     INI_WriteFloat(save, ST, x);
  67.  
  68.     format(ST, sizeof ST, "%s_WARPPOS_Y", warp);
  69.     INI_WriteFloat(save, ST, y);
  70.  
  71.     format(ST, sizeof ST, "%s_WARPPOS_Z", warp);
  72.     INI_WriteFloat(save, ST, z);
  73.  
  74.     format(ST, sizeof ST, "%s_INTERIOR_W", warp);
  75.     INI_WriteFloat(save, ST, GetPlayerInterior(playerid));
  76.  
  77.     format(ST, sizeof ST, "%s_WORLD_W", warp);
  78.     INI_WriteFloat(save, ST, GetPlayerVirtualWorld(playerid));
  79.  
  80.     INI_Save();// salva o arquivo
  81.  
  82.     format(string, sizeof string, ""#WARPPREFIX"Warp {FF0000}%s {00FF00}criada use {FFFFFF}/warp %s {00FF00} para ir ate ela!", warp, warp);
  83.     SendClientMessage(playerid, -1, string);//avisa que a warp foi feita
  84.     return 1;
  85. }
  86. /////////////////////////////////////////////////////////////////////////////////
  87. CMD:warp(playerid, params[])
  88. {
  89.     new warp[50]; // não pode ser static
  90.     if(sscanf(params, "s[50]", warp)) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Use: /Warp <WarpName>");
  91.     if(INI_ReadInt(save, warp) == 0) return SendClientMessage(playerid, -1, ""#WARPPREFIX"Essa warp não existe {FFFFFF}use: /warps {00FF00}para ver a lista de warps");
  92.  
  93.     static Float:x, Float:y, Float:z, ST[50], Interior, World;
  94.    
  95.     // geta as cordenasdas
  96.     format(ST, sizeof ST, "%s_WARPPOS_X", warp);
  97.     x = INI_ReadFloat(save, ST);
  98.  
  99.     format(ST, sizeof ST, "%s_WARPPOS_Y", warp);
  100.     y = INI_ReadFloat(save, ST);
  101.    
  102.     format(ST, sizeof ST, "%s_WARPPOS_Z", warp);
  103.     z = INI_ReadFloat(save, ST);
  104.    
  105.     format(ST, sizeof ST, "%s_INTERIOR_W", warp);
  106.     Interior = INI_ReadInt(save, ST);
  107.  
  108.     format(ST, sizeof ST, "%s_WORLD_W", warp);
  109.     World = INI_ReadInt(save, ST);
  110.  
  111.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)// se o player estiver em um carro o carro e teleportado
  112.     {
  113.     SetVehiclePos(GetPlayerVehicleID(playerid),x ,y, z+3);
  114.     SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), World);
  115.     SetPlayerInterior(playerid, Interior);
  116.     SetCameraBehindPlayer(playerid);
  117.     }
  118.     else // se não tiver so ela vai ser teleportada
  119.     {
  120.     SetPlayerPos(playerid,x, y, z+1);
  121.     SetPlayerInterior(playerid, Interior);
  122.     SetCameraBehindPlayer(playerid);
  123.     }
  124.    
  125.     format(string, sizeof string, ""#WARPPREFIX"Teleportado para warp {FF0000}%s{FFFFFF}!", warp);
  126.     SendClientMessage(playerid, -1, string);
  127.     return 1;
  128. }
  129. /////////////////////////////////////////////////////////////////////////////////
  130. CMD:warps(playerid, params[])
  131. {
  132.     SendClientMessage(playerid, -1, "{00FF00}===============================================================================");
  133.     format(string, sizeof string, "%s", INI_ReadString(save, "WARPLISTALL"));
  134.     SendClientMessage(playerid, -1, string);
  135.     SendClientMessage(playerid, -1, "{00FF00}===============================================================================");
  136.     return 1;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement