Advertisement
AiRaLoKa

Pickup Hunt System

Dec 13th, 2013
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.80 KB | None | 0 0
  1. // Pickup Hunt by AiRaLoKa
  2. // Credits
  3. // - AiRaLoKa                   : For making this whole filterscript
  4. // - Zeex                       : For zcmd
  5. // - Y_Less                     : For y_ini
  6. // - Davee (owner of nextgenstunting.net)   : For the idea
  7.  
  8. #define FILTERSCRIPT
  9.  
  10. #include <a_samp>
  11. #include <zcmd>
  12. #include <YSI\y_ini>
  13.  
  14. #define PATH "/Users/%s.ini"
  15. #define ROSU 0x00CC00FF
  16.  
  17. #if defined FILTERSCRIPT
  18.  
  19. public OnFilterScriptInit()
  20. {
  21.     print("\n--------------------------------------");
  22.     print(" Pickup Hunt by AiRaLoKa");
  23.     print("--------------------------------------\n");
  24.     SetTimer("PickUpHunt", 1500, true);
  25.     return 1;
  26. }
  27.  
  28. public OnFilterScriptExit()
  29. {
  30.     return 1;
  31. }
  32.  
  33. #else
  34. main(){}
  35. #endif
  36.  
  37. enum pInfo
  38. {
  39.     pPickuphunt
  40. }
  41.  
  42. new PlayerInfo[MAX_PLAYERS][pInfo];
  43. new bool:PUHIsStarted = false, PUHTimerTicker = 0, PUHSpawned, PUHCommand;
  44. new TestPUH;
  45. //////////////////////// PICKUP HUNT POSITION INFO
  46. new pickuphuntpos[][]=
  47. {
  48.     "Verdant Bluffs","Verona Beach","Los Santos Airport","East Beach","Las Colinas","Flint County",
  49.     "Angel Pine","Leaffy Hollow","Back O Beyond","Fallen Tree","Red County","Blueberry Acress",
  50.     "Montgomery","Montgomery Inserction","Randolph Industrial Estates","Rockshore West","Queens",
  51.     "Doherty","El Castilo Del Diablo","Tierra Robada","Tierra Robada","Tierra Robada","Downtown",
  52.     "City Hall","Ocean Flats","Avispa Country Club","Palisades","Battery Point"
  53. };
  54. //////////////////////// PICKUP HUNT POSITION
  55. new Float:pickuphunt[][]=
  56. {
  57.     {1196.8407, -2344.1743, 15.1022},//VERDANT BLUFFS
  58.     {835.8299, -2061.5854, 12.6303},//VERONA BEACH
  59.     {1682.2606, -2286.2442, -1.7188},//LOS SANTOS AIRPORT
  60.     {2660.7590, -1433.2063, 30.9913},//EAST BEACH
  61.     {2553.1987, -1126.8297, 63.5787},//LAS COLINAS
  62.     {-26.4870, -2508.4851, 36.6555},//FLINT COUNTY
  63.     {-2100.7266, -2239.4922, 29.9488},//ANGEL PINE
  64.     {-1110.9795, -1637.1415, 75.9780},//LEAFFY HOLLOW
  65.     {-602.0828, -1853.4364, 22.9738},//BACK O BEYOND
  66.     {-490.2611, -522.5457, 24.8097},//FALLEN TREE
  67.     {-49.9205, -370.6295, 4.7845},//RED COUNTY
  68.     {-208.9162, -1.8698, 3.1094},//BLUEBERRY ACRESS
  69.     {1302.0482, 169.7543, 19.8932},//MONTGOMERY
  70.     {1589.3712, 313.0976, 23.4200},//MONTGOMERY INSERCTION
  71.     {1665.1302, 719.9824, 10.8203},//RANDOLPH INDUSTRIAL ESTATES
  72.     {2404.9160, 648.6808, 10.5726},//ROCKSHORE WEST
  73.     {-2505.9390, 356.2068,35.1172},//QUEENS
  74.     {-1835.3127,-88.9142,15.1094},//DOHERTY
  75.     {-167.3171,2363.7449,53.2441},//EL CASTILO DEL DIABLO
  76.     {-637.4780,2588.3975,89.9215},//TIERRA ROBADA 1
  77.     {-1300.2871,2509.9211,87.0096},//TIERRA ROBADA 2
  78.     {-2090.6196,2313.4001,25.9141},//TIERRA ROBADA 3
  79.     {-1584.5339,812.0679,6.8203},//DOWNTOWN
  80.     {-2706.1826,376.1722,4.9685},//CITY HALL
  81.     {-2679.4722,-5.4511,6.1328},//OCEAN FLATS
  82.     {-2752.6086,-252.1124,7.1875},//AVISPA COUNTRY CLUB
  83.     {-2753.2566,1257.4037,11.4213},//PALISADES
  84.     {-2681.7788,1283.1487,56.4844}//BATTERY POINT
  85. };
  86.  
  87. forward LoadUser_PlayerData(playerid,name[],value[]);
  88. public LoadUser_PlayerData(playerid,name[],value[])
  89. {
  90.     INI_Int("Pickuphunt",PlayerInfo[playerid][pPickuphunt]);
  91.     return 1;
  92. }
  93. //////////////////////////// COMMAND TO VIEW THE CLUE OF THE PICKUP'S POSITION
  94. CMD:pickuphunt(playerid,params[])
  95. {
  96.     if(PUHIsStarted == true)
  97.     {
  98.         new string[50],str[256];
  99.         format(string,sizeof string,"%s",pickuphuntpos[PUHCommand]);
  100.         format(str,sizeof str,"[PICKUPHUNT]: Pickup has been spawned near:{FFCC00} %s",string);
  101.         SendClientMessage(playerid,ROSU,str);
  102.         SendClientMessage(playerid,ROSU,"[PICKUPHUNT]: Find it and get {FFCC00}5 {00CC00}score and ${FFCC00}50000{00CC00}!");
  103.     } else return SendClientMessage(playerid,0xFF0000FF,"[PICKUPHUNT]: Pickuphunt isn't spawned yet!");
  104.     return 1;
  105. }
  106. CMD:gopickuphunt(playerid, params[])
  107. {
  108.     if(PUHIsStarted == true)
  109.     {
  110.         SetPlayerPos(playerid,pickuphunt[TestPUH][0]+1,pickuphunt[TestPUH][1]+1,pickuphunt[TestPUH][2]);
  111.     } else return SendClientMessage(playerid,0xFF0000FF,"[PICKUPHUNT]: Pickuphunt isn't spawned yet!");
  112.     return 1;
  113. }
  114.  
  115. public OnPlayerConnect(playerid)
  116. {
  117.     INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
  118.     return 1;
  119. }
  120.  
  121. public OnPlayerDisconnect(playerid, reason)
  122. {
  123.     new INI:File = INI_Open(UserPath(playerid));
  124.     INI_SetTag(File,"PlayerData");
  125.     INI_WriteInt(File,"Pickuphunt",PlayerInfo[playerid][pPickuphunt]);
  126.     INI_Close(File);
  127.     return 1;
  128. }
  129.  
  130. forward PickUpHunt();
  131. public PickUpHunt()
  132. {
  133.  
  134.     if(PUHIsStarted == false)
  135.     {
  136.         new Random = random(sizeof(pickuphunt));
  137.         new string[256];
  138.         PUHTimerTicker ++;
  139.         switch (PUHTimerTicker)
  140.         {
  141.             case 25:
  142.             {
  143.                 PUHSpawned = CreatePickup(1239,2,pickuphunt[Random][0],pickuphunt[Random][1],pickuphunt[Random][2]);
  144.                 PUHCommand = Random;
  145.                 format(string,sizeof string,"[PICKUPHUNT]: Pickup has been spawned near:{FFCC00} %s",pickuphuntpos[Random]);
  146.                 SendClientMessageToAll(ROSU,string);
  147.                 SendClientMessageToAll(ROSU,"[PICKUPHUNT]: Find it and get {FFCC00}5 {00CC00}score and ${FFCC00}50000{00CC00}!");
  148.                 TestPUH = Random;
  149.                 PUHIsStarted = true;
  150.                 PUHTimerTicker = 0;
  151.             }
  152.         }
  153.     }
  154.     return 1;
  155. }
  156. public OnPlayerPickUpPickup(playerid, pickupid)
  157. {
  158.     if(pickupid == PUHSpawned)
  159.     {
  160.         new pName[MAX_PLAYER_NAME],string[512];
  161.         GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  162.         format(string,sizeof(string),"[PICKUPHUNT]: %s (%d) has found the pickup and get {FFCC00}5 {00CC00}score and ${FFCC00}50000{00CC00}",pName,playerid);
  163.         SendClientMessageToAll(ROSU,string);
  164.         GivePlayerMoney(playerid,50000);
  165.         PlayerInfo[playerid][pPickuphunt]=PlayerInfo[playerid][pPickuphunt]+1;
  166.         SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);
  167.         DestroyPickup(PUHSpawned);
  168.         PUHIsStarted = false;
  169.     }
  170.     return 1;
  171. }
  172.  
  173. stock UserPath(playerid)
  174. {
  175.     new string[128],playername[MAX_PLAYER_NAME];
  176.     GetPlayerName(playerid,playername,sizeof(playername));
  177.     format(string,sizeof(string),PATH,playername);
  178.     return string;
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement