Advertisement
CromartieTX

[FS SAMP] Secure Area (Ver. 2.0 EN)

Feb 27th, 2019
754
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.50 KB | None | 0 0
  1. /* CREDITS          : 02/26/2019
  2. Developer           : CROMARTIE
  3. VIDEO YouT***       : https://www.YouT***.com/watch?v=7KKqpFGGo0Q
  4. CONTACT DISCORD TAG : Cromartie#4133
  5. Version             : 2.0 EN
  6. */
  7.  
  8. #include <a_samp>
  9. #include <sscanf2>
  10. #include <zcmd>
  11. #include <YSI\y_hooks>
  12.  
  13. new IDPLAYER;
  14. new CMDPlayer;
  15. new Float:GzRADIAU;
  16. new Float:GzX, Float:GzY, Float:GzZ;
  17.  
  18. new CreatZONE;
  19. new CreatZONall;
  20. new COLORGz;
  21.  
  22. new GzTIMERxALL;
  23. new GzTIMERy;
  24.  
  25. #define ConstGz GzRADIAU
  26. new HPgzDEFINE, TIMEgzDEFINE;
  27. #define HPgz HPgzDEFINE
  28. #define TIMEgz TIMEgzDEFINE
  29.  
  30. hook OnFilterScriptInit()
  31. {
  32.     HPgz = 5;
  33.     TIMEgz = 2000;
  34.     return 1;
  35. }
  36.  
  37. CMD:zonedefine(playerid, params[])
  38. {
  39.     if(sscanf(params, "ii", HPgz, TIMEgz)) return SendClientMessage(playerid, -1, "{FF0000}[USAGE:]{33CC33} /zonedefine [LIFE going to lose] [Speed that will LOSE] {FF0000}[EX:]{FFFF00} 3 500");
  40.     new str[130]; format(str,sizeof(str),"[INFO:]{33CC33} Life is Speed DEFINED for {00FCFC}LIFE: {FFFF00}%i{00FCFC}, SPEED: {FFFF00}%i", HPgz, TIMEgz); SendClientMessage(playerid,0xFF0000FF,str);
  41.     return 1;
  42. }
  43.  
  44. new bool:ZoneK[MAX_PLAYERS];
  45. CMD:zone(playerid, params[])
  46. {
  47.     if(ZoneK[playerid] == false)
  48.     {
  49.         if(sscanf(params, "ufN(0xFF000066)", IDPLAYER, GzRADIAU,COLORGz)) return SendClientMessage(playerid, -1, "{FF0000}[USAGE:]{33CC33} /zone [Player ID] [Radiau] [OPTIONAL: (COLOR)] {FF0000}[EX:]{FFFF00} 199 10 {FF0000}[EX:]{FFFF00} 199 10 0x33CC3366");
  50.         GzTIMERy = SetTimer("GangZONE", TIMEgz, true);
  51.         GetPlayerPos(CMDPlayer, GzX, GzY, GzZ);
  52.         CreatZONE = GangZoneCreate(GzX+ConstGz, GzY+ConstGz, GzX-ConstGz, GzY-ConstGz);
  53.         GangZoneShowForAll(CreatZONE,COLORGz);
  54.         SendClientMessage(IDPLAYER, -1, "{FF0000}[WARNING!] DO NOT LEAVE THE AREA!");
  55.         SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} SAFE AREA HAS BEEN CREATED");
  56.         ZoneK[CMDPlayer] = true;
  57.     }
  58.     else
  59.     {
  60.         ZoneK[CMDPlayer] = false;
  61.         KillTimer(GzTIMERy);
  62.         GangZoneDestroy(CreatZONE);
  63.         SendClientMessage(playerid, -1, "{FF0000}[INFO:]{FFFF00} The SAFE AREA was {FF0000}DELETED!");
  64.     }
  65.     return 1;
  66. }
  67.  
  68. new bool:ZoneALLx[MAX_PLAYERS];
  69. CMD:zoneall(playerid, params[])
  70. {
  71.     if(ZoneALLx[playerid] == false)
  72.     {
  73.         for (new i = 0; i <MAX_PLAYERS; i++)
  74.         {
  75.             if(sscanf(params, "fN(0xFF000066)", GzRADIAU ,COLORGz)) return SendClientMessage(playerid, -1, "{FF0000}[USAGE:]{33CC33} /zoneall [Radiau] [OPCIONAL: (COLOR)] {FF0000}[EX:]{FFFF00}/zoneall 10 {FF0000}[EX:]{FFFF00}/zoneall 10 0x33CC3366");
  76.             GetPlayerPos(CMDPlayer, GzX, GzY, GzZ);
  77.             SendClientMessage(i, -1, "{FF0000}[WARNING!] DO NOT LEAVE THE AREA!");
  78.             SendClientMessage(i,-1,"{FF0000}[INFO:]{33CC33} SAFE AREA HAS BEEN CREATED");
  79.             ZoneALLx[CMDPlayer] = true;
  80.         }
  81.         GzTIMERxALL = SetTimer("GangZONall", TIMEgz, true);
  82.         CreatZONall = GangZoneCreate(GzX+ConstGz, GzY+ConstGz, GzX-ConstGz, GzY-ConstGz);
  83.         GangZoneShowForAll(CreatZONall,COLORGz);
  84.     }
  85.     else
  86.     {
  87.         GangZoneDestroy(CreatZONall);
  88.         SendClientMessage(playerid, -1, "{FF0000}[INFO:]{FFFF00} The SAFE AREA was {FF0000}DELETED!");
  89.         ZoneALLx[CMDPlayer] = false;
  90.         KillTimer(GzTIMERxALL);
  91.     }
  92.     return 1;
  93. }
  94.  
  95. new CreatREDOR[4];
  96. CMD:redor(playerid, params[])
  97. {
  98.     if(ZoneALLx[playerid] == false)
  99.     {
  100.         new COR, Float:VEZES;
  101.         if(sscanf(params, "fF(8)N(0xFF000066)", GzRADIAU,VEZES,COR))
  102.         {
  103.             SendClientMessage(playerid, -1, "{FF0000}[USAGE:]{33CC33} /redor [Radiau INSIDE] [OPTIONAL:(Radiau OUT)(COLOR)]");
  104.             SendClientMessage(playerid, -1, "{FF0000}[EX:]/redor{FFFF00} 10{FF0000}[EX:]{FFFF00}/redor 10 20 0x33CC3366");
  105.             return 1;
  106.         }
  107.         GetPlayerPos(playerid, GzX, GzY, GzZ);
  108.         CreatREDOR[0] = GangZoneCreate(GzX+GzRADIAU, GzY+GzRADIAU*VEZES, GzX+GzRADIAU*VEZES, GzY-GzRADIAU);
  109.         CreatREDOR[1] = GangZoneCreate(GzX-GzRADIAU, GzY-GzRADIAU*VEZES, GzX-GzRADIAU*VEZES, GzY+GzRADIAU);
  110.         CreatREDOR[2] = GangZoneCreate(GzX-GzRADIAU*VEZES, GzY+GzRADIAU, GzX+GzRADIAU, GzY+GzRADIAU*VEZES);
  111.         CreatREDOR[3] = GangZoneCreate(GzX-GzRADIAU, GzY-GzRADIAU, GzX+GzRADIAU*VEZES, GzY-GzRADIAU*VEZES);
  112.         for (new i = 0; i < 4; i++){
  113.         GangZoneShowForAll(CreatREDOR[i],COR);}
  114.         for (new i = 0; i <MAX_PLAYERS; i++){
  115.         SendClientMessage(i, -1, "{FF0000}[WARNING!] DO NOT LEAVE THE AREA!");
  116.         SendClientMessage(i,-1,"{FF0000}[INFO:]{33CC33} SAFE AREA HAS BEEN CREATED");}
  117.         GzTIMERxALL = SetTimer("GangZONall", TIMEgz, true);
  118.         ZoneALLx[playerid] = true;
  119.     }
  120.     else
  121.     {
  122.         ZoneALLx[playerid] = false;
  123.         KillTimer(GzTIMERxALL);
  124.         for (new i = 0; i < 4; i++){
  125.         GangZoneDestroy(CreatREDOR[i]);}
  126.         SendClientMessage(playerid, -1, "{FF0000}[INFO:]{FFFF00} The SAFE AREA was {FF0000}DELETED!");
  127.     }
  128.     return 1;
  129. }
  130.  
  131. CMD:zoneflash(playerid, params[])
  132. {
  133.     GangZoneFlashForAll(CreatZONE,0xFFFFFF00);
  134.     SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} Flash GANGZONE was ON");
  135.     return 1;
  136. }
  137.  
  138. CMD:zoneflashall(playerid, params[])
  139. {
  140.     GangZoneFlashForAll(CreatZONall,0xFFFFFF00);
  141.     SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} Flash GANGZONE was ON");
  142.     return 1;
  143. }
  144.  
  145. new bool:GzZONE[MAX_PLAYERS];
  146. CMD:zoneoff(playerid, params[])
  147. {
  148.     if(GzZONE[playerid] == false)
  149.     {
  150.         SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} SECURE Zone {E60000}OFF");
  151.         GangZoneHideForAll(CreatZONE);
  152.         GzZONE[CMDPlayer] = true;
  153.     }
  154.     else
  155.     {
  156.         SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} SECURE Zone {21DD00}ON");
  157.         GangZoneShowForAll(CreatZONE,COLORGz);
  158.         GzZONE[CMDPlayer] = false;
  159.     }
  160.     return 1;
  161. }
  162.  
  163. new bool:GzZONEall[MAX_PLAYERS];
  164. CMD:zoneoffall(playerid, params[])
  165. {
  166.     if(GzZONEall[playerid] == false)
  167.     {
  168.         SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} Zona SEGURA {E60000}OFF");
  169.         GangZoneHideForAll(CreatZONall);
  170.         GzZONEall[CMDPlayer] = true;
  171.     }
  172.     else
  173.     {
  174.         SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} Zona SEGURA {21DD00}ON");
  175.         GangZoneShowForAll(CreatZONall,COLORGz);
  176.         GzZONEall[CMDPlayer] = false;
  177.     }
  178.     return 1;
  179. }
  180.  
  181. forward GangZONE();
  182. public GangZONE()
  183. {
  184.     new Float:HP;
  185.     if(GzZONE[CMDPlayer] == false)
  186.     {
  187.         if(IsPlayerInRangeOfPoint(IDPLAYER, GzRADIAU, GzX, GzY, GzZ))
  188.         {
  189.             //SendClientMessage(IDPLAYER, -1, "STAY INSIDE THE AREA!");
  190.         }
  191.         else
  192.         {
  193.             GetPlayerHealth(IDPLAYER, HP);
  194.             SetPlayerHealth(IDPLAYER, HP-HPgz);
  195.         }
  196.     }
  197.     return 1;
  198. }
  199.  
  200. forward GangZONall();
  201. public GangZONall()
  202. {
  203.     new Float:HP;
  204.     for (new i = 0; i <MAX_PLAYERS; i++)
  205.     {
  206.         if(GzZONEall[CMDPlayer] == false)
  207.         {
  208.             if(IsPlayerInRangeOfPoint(i, GzRADIAU, GzX, GzY, GzZ))
  209.             {
  210.                 //SendClientMessage(i, -1, "STAY INSIDE THE AREA!");
  211.             }
  212.             else
  213.             {
  214.                 GetPlayerHealth(i, HP);
  215.                 SetPlayerHealth(i, HP-HPgz);
  216.             }
  217.         }
  218.     }
  219.     return 1;
  220. }
  221.  
  222. CMD:zonedelete(playerid, params[])
  223. {
  224.     GangZoneDestroy(CreatZONE);
  225.     KillTimer(GzTIMERy);
  226.     SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} SAFE Zone was DELETED!");
  227.     return 1;
  228. }
  229.  
  230. CMD:zonedeleteall(playerid, params[])
  231. {
  232.     GangZoneDestroy(CreatZONall);
  233.     KillTimer(GzTIMERxALL);
  234.     SendClientMessage(playerid,-1,"{FF0000}[INFO:]{33CC33} SAFE Zone was DELETED!");
  235.     return 1;
  236. }
  237.  
  238. new bool:GzZONwar[MAX_PLAYERS];
  239. CMD:zonewarning(playerid, params[])
  240. {
  241.     if(GzZONwar[playerid] == false)
  242.     {
  243.         SendClientMessage(playerid,-1,"ZONA WARNING {FF0000}OFF");
  244.         SetTimer("GzWARNING1",2000,true);
  245.         GzZONwar[CMDPlayer] = true;
  246.     }
  247.     else
  248.     {
  249.         SendClientMessage(playerid,-1,"ZONA WARNING {21DD00}ON");
  250.         GzZONwar[CMDPlayer] = false;
  251.     }
  252.     return 1;
  253. }
  254.  
  255. forward GzWARNING1();
  256. public GzWARNING1()
  257. {
  258.     if(GzZONwar[0] == false)
  259.     {
  260.         for(new i; i < MAX_PLAYERS; i++)
  261.         {
  262.             GameTextForPlayer(i,"WARNING!",1000,4);
  263.             GetPlayerPos(i,GzX,GzY,GzZ);
  264.             PlayerPlaySound(i,1056,GzX,GzY,GzZ);
  265.         }
  266.     }
  267. }
  268.  
  269. new strGzA[1818];
  270. new NamGzA;
  271.  
  272.     CMD:cmdzone(playerid)
  273.     {
  274.         strcat(strGzA, " {FF0000}COMMANDS: {FFFFFF}[OBS:]{FFFF00} {00FCFC}SAFE AREA{FFFFFF} {FF0000}={FFFF00} If the PLAYER is IN, it does not lose life, IF IT IS OUT, it loses LIFE\n");
  275.         strcat(strGzA, " {FFFFFF}[OBS:]{00BFFF}[ID] {FF0000}={FFFFFF} GANGZONE, is {00FCFC}SAFE AREA{FFFFFF} for a PLAYER    {FF0000}// {FF4500}[ALL] {FF0000}={FFFFFF} GANGZONE, is {00FCFC}SAFE AREA{FFFFFF} for ALL PLAYERS\n");
  276.         strcat(strGzA, " {FF0000}_________________________________________________________________________________________________________________________________________\n");
  277.         strcat(strGzA, " {33CC33}/zone {FF0000}={00FCFC} Create a SAFE AREA, IT'S A GANGZONE FOR A PLAYER {00BFFF}[ID]\n");
  278.         strcat(strGzA, " {33CC33}/zoneall {FF0000}={00FCFC} Create a SAFE AREA, it's a GANGZONE for all PLAYERS {FF4500}[ALL]\n");
  279.         strcat(strGzA, " {33CC33}/redor {FF0000}={00FCFC} Create a SAFE AREA {FFFF00}[INVERTED]{00FCFC}, 'Clean center, off red' {FF4500}[ALL]\n");
  280.         strcat(strGzA, " {33CC33}/zoneflash {FF0000}={00FCFC} THE GANGZONE OF SAFE AREA FLASHING {00BFFF}[ID]\n");
  281.         strcat(strGzA, " {33CC33}/zoneflashall {FF0000}={00FCFC} THE GANGZONE OF SAFE AREA FLASHING {FF4500}[ALL]\n");
  282.         strcat(strGzA, " {33CC33}/zoneoff {FF0000}={00FCFC} {33CC33}[ACTIVE/ {FF0000}DISABLED]{00FCFC} GANGZONE is the SAFE AREA {00BFFF}[ID]\n");
  283.         strcat(strGzA, " {33CC33}/zoneoffall {FF0000}={00FCFC} {33CC33}[ACTIVE/ {FF0000}DISABLED]{00FCFC} GANGZONE is the SAFE AREA {FF4500}[ALL]\n");
  284.         strcat(strGzA, " {33CC33}/zonedelete {FF0000}={00FCFC} DELETE or GANGZONE SAFE PLAYER AREA {00BFFF}[ID]\n");
  285.         strcat(strGzA, " {33CC33}/zonedeleteall {FF0000}={00FCFC} DELETE GANGZONE OF SAFE PLAYERs AREA {FF4500}[ALL]\n");
  286.         strcat(strGzA, " {33CC33}/zonewarning {FF0000}={00FCFC} WARNING MESSAGE on ALL PLAYERS SCREENS {FF4500}[ALL]\n");
  287.         strcat(strGzA, " {33CC33}/zonedefine {FF0000}={FFFF00} DEFINE{00FCFC} The {FFFF00}LIFE{00FCFC} that the PLAYER is going to LOSE, is the {FFFF00}VELOCITY{00FCFC} going to lose\n");
  288.         strcat(strGzA, " {1E90FF}___________________________________________________________________________________________________________________________________________");
  289.         ShowPlayerDialog(playerid, NamGzA, DIALOG_STYLE_MSGBOX, "{1E90FF} __________________________________________________ {FF0000}[ CMD GangZONE, SAFE AREA ] {1E90FF}_________________________________________________________", strGzA, "OK", "");
  290.         return 1;
  291.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement