Advertisement
Red_Jheyson

Warp System 1.2 [$]_Red_[MF]

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