Advertisement
spenzo

Fishing system by Fre$hKidd

Aug 31st, 2011
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.08 KB | None | 0 0
  1. //Fishing System Made By Fre$hKidd
  2. //PLEASE DO NOT STEAL THIS FILTERSCRIPT OR EDIT THE CREDITS OR EVEN EDITING IT AND SAYING IT'S YOURS!!!
  3.  
  4. #include <a_samp>
  5. #include "../include/gl_common.inc"
  6. new RodObject;
  7. new FishMarketIcon;
  8. new FRod[MAX_PLAYERS];
  9. new Fishing[MAX_PLAYERS];
  10. new Bait[MAX_PLAYERS];
  11. new FLine[MAX_PLAYERS];
  12. forward VaildFishPlace(playerid);
  13. forward FishTimer(playerid);
  14. forward AnimFixer(playerid);
  15. forward LeavePosition(playerid);
  16. #if defined FILTERSCRIPT
  17.  
  18.  
  19. public OnFilterScriptInit()
  20. {
  21.     print("\n--------------------------------------");
  22.     print(" FISHING SYSTEM Loaded.....");
  23.     print(" Made By Fre$hKidd                      ");
  24.     print("--------------------------------------\n");
  25.     return 1;
  26. }
  27.  
  28. public OnFilterScriptExit()
  29. {
  30.     return 1;
  31. }
  32.  
  33. #else
  34.  
  35. main()
  36. {
  37.     print("\n----------------------------------");
  38.     print("FISHING SYSTEM unLoaded");
  39.     print("----------------------------------\n");
  40. }
  41.  
  42. #endif
  43.  
  44. public OnGameModeInit()
  45. {
  46.     Create3DTextLabel("FishMarket",0xFFFFDD,434.2810,-1894.9282,3.4078+0.75,20.0,0,1);
  47.     FishMarketIcon = CreatePickup(1318, 2, 387.8272,-1870.7032,7.8359, -1);
  48.     return 1;
  49. }
  50.  
  51. public OnPlayerCommandText(playerid, cmdtext[])
  52. {
  53.     if (strcmp("/fishhelp", cmdtext, true, 10) == 0)
  54.     {
  55.         SendClientMessage(playerid,0xFFFFFFFF, "Fishing {88AA18}Commands:");
  56.         SendClientMessage(playerid,0xDCDCDCFF, "General: /fishmarket , /stopfish , /fish");
  57.         SendClientMessage(playerid,0xDCDCDCFF, "FishRod: /takerod , /hiderod");
  58.         SendClientMessage(playerid,0xDCDCDCFF, "FishMarket: /buyrod , /buybait , /buyline");
  59.         return 1;
  60.     }
  61.     if (strcmp("/takerod", cmdtext, true, 10) == 0)
  62.     {
  63.         if(FRod[playerid] == 1)
  64.         {
  65.             FRod[playerid] = 2;
  66.             RodObject = SetPlayerAttachedObject(playerid, 0,18632,6,0.079376,0.037070,0.007706,181.482910,0.000000,0.000000,1.000000,1.000000,1.000000);
  67.         }
  68.         else
  69.         {
  70.         SendClientMessage(playerid,0xCD0000FF, "You don't have any Fishing Rod !");
  71.         }
  72.         return 1;
  73.     }
  74.     if (strcmp("/hiderod", cmdtext, true, 10) == 0)
  75.     {
  76.         if(FRod[playerid] == 2 || FRod[playerid] == 1 || Fishing[playerid] == 0)
  77.         {
  78.             FRod[playerid] = 1;
  79.             RemovePlayerAttachedObject(playerid,0);
  80.             RemovePlayerAttachedObject(playerid,RodObject);
  81.         }
  82.         else
  83.         {
  84.         SendClientMessage(playerid,0xCD0000FF, "You don't have any Fishing Rod, or mabye you are fishing !");
  85.         }
  86.         return 1;
  87.     }
  88.     if (strcmp("/stopfish", cmdtext, true, 10) == 0)
  89.     {
  90.         if(Fishing[playerid] == 1)
  91.         {
  92.             Fishing[playerid] = 0;
  93.             TogglePlayerControllable(playerid, 1);
  94.             ApplyAnimation(playerid, "CARRY", "crry_prtial", 2.0, 0, 0, 0, 0, 0);
  95.             SendClientMessage(playerid,0xDCDCDCFF,"Fishing has been Stopped");
  96.             GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~r~Fishing Stopped", 3000, 3);
  97.         }
  98.         else
  99.         {
  100.         SendClientMessage(playerid,0xCD0000FF, "You are not even fishing !");
  101.         }
  102.         return 1;
  103.     }
  104.     if (strcmp("/fishmarket", cmdtext, true, 10) == 0)
  105.     {
  106.         if(IsPlayerInRangeOfPoint(playerid, 2, 387.8272,-1870.7032,7.8359))
  107.         {
  108.             SendClientMessage(playerid,0xFFFFFFFF, "Available {88AA88}Commands:");
  109.             SendClientMessage(playerid,0xDCDCDCFF, "Fishing Rod 400$ - /buyrod");
  110.             SendClientMessage(playerid,0xDCDCDCFF, "Mixed Baits 250$ - /buybait");
  111.             SendClientMessage(playerid,0xDCDCDCFF, "Fishing Line 100$ - /buyline");
  112.         }
  113.         else
  114.         {
  115.         SendClientMessage(playerid,0xCD0000FF, "You are not around Fish Market !");
  116.         }
  117.         return 1;
  118.     }
  119.     if (strcmp("/buyrod", cmdtext, true, 10) == 0)
  120.     {
  121.         if(IsPlayerInRangeOfPoint(playerid, 2, 387.8272,-1870.7032,7.8359) && GetPlayerMoney(playerid) >= 400)
  122.         {
  123.             if(FRod[playerid] == 0)
  124.             {
  125.             FRod[playerid] = 1;
  126.             SendClientMessage(playerid,0xFFFFFFFF, "Fishing Rod {88AA88}Bought!");
  127.             SendClientMessage(playerid,0xFFFFFFFF, "/TakeRod to Take it out!");
  128.             GivePlayerMoney(playerid,-400);
  129.             }
  130.             else
  131.             {
  132.             SendClientMessage(playerid,0xCD0000FF, "You already got Fishing Rod, you may /takerod !");
  133.             SendClientMessage(playerid,0xCD0000FF, "Or mabye you don't have enough cash to buy it !");
  134.             }
  135.             return 1;
  136.         }
  137.         return SendClientMessage(playerid,0xCD0000FF, "You are not around Fish Market !");
  138.     }
  139.     if (strcmp("/buybait", cmdtext, true, 10) == 0)
  140.     {
  141.         if(IsPlayerInRangeOfPoint(playerid, 2, 387.8272,-1870.7032,7.8359) && GetPlayerMoney(playerid) >= 250)
  142.         {
  143.             if(Bait[playerid] == 0)
  144.             {
  145.             Bait[playerid] = 1;
  146.             SendClientMessage(playerid,0xFFFFFFFF, " Mixed Baits {88AA88}Bought!");
  147.             GivePlayerMoney(playerid,-250);
  148.             }
  149.             else
  150.             {
  151.             SendClientMessage(playerid,0xCD0000FF, "You already got Mixed Baits left!");
  152.             SendClientMessage(playerid,0xCD0000FF, "Or mabye you don't have enough cash to buy it!");
  153.             }
  154.             return 1;
  155.         }
  156.         return SendClientMessage(playerid,0xCD0000FF, "You are not around Fish Market !");
  157.     }
  158.     if (strcmp("/buyline", cmdtext, true, 10) == 0)
  159.     {
  160.         if(IsPlayerInRangeOfPoint(playerid, 2, 387.8272,-1870.7032,7.8359) && GetPlayerMoney(playerid) >= 400)
  161.         {
  162.             if(FLine[playerid] == 0)
  163.             {
  164.             FLine[playerid] = 10;
  165.             SendClientMessage(playerid,0xFFFFFFFF, "Fishing Line {88AA88}Bought!");
  166.             GivePlayerMoney(playerid,-400);
  167.             }
  168.             else
  169.             {
  170.             SendClientMessage(playerid,0xCD0000FF, "You already got Fishing Lines !");
  171.             }
  172.             return 1;
  173.         }
  174.         return SendClientMessage(playerid,0xCD0000FF, "You are not around Fish Market !");
  175.     }
  176.     if (strcmp("/fish", cmdtext, true, 10) == 0)
  177.     {
  178.         if(VaildFishPlace(playerid) && !IsPlayerInAnyVehicle(playerid))
  179.         {
  180.             if(Bait[playerid] > 0)
  181.             {
  182.                 if(FLine[playerid] > 0)
  183.                 {
  184.                     if(FRod[playerid] == 2)
  185.                     {
  186.                         if(Fishing[playerid] == 0)
  187.                         {
  188.                         TogglePlayerControllable(playerid, 0);
  189.                         ApplyAnimation(playerid,"SWORD","sword_block",50.0,0,1,0,1,1);
  190.                         Fishing[playerid] = 1;
  191.                         SetTimerEx("FishTimer", 50000, false, "i", playerid);
  192.                         SetTimerEx("LeavePosition", 40000, false, "i", playerid);
  193.                         SetTimerEx("AnimFixer", 1000, false, "i", playerid);
  194.                         SendClientMessage(playerid,0xFFFFFFFF, "You have threw the bait in the sea, wait for results...");
  195.                         GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~w~reels in the sea, waiting for ~g~results....", 49000, 3);
  196.                         }
  197.                         else
  198.                         {
  199.                         SendClientMessage(playerid,0xCD0000FF, "You already Fishing !");
  200.                         }
  201.                         return 1;
  202.                     }
  203.                     return SendClientMessage(playerid,0xCD0000FF, "You do not have any Fishing Rod on your hands !");
  204.                 }
  205.                 return SendClientMessage(playerid,0xCD0000FF, "You do not have any Fishing Lines left !");
  206.             }
  207.             return SendClientMessage(playerid,0xCD0000FF, "You do not have any Baits left !");
  208.         }
  209.         return SendClientMessage(playerid,0xCD0000FF, "You are not around a vaild Fishing Place !");
  210.     }
  211.     return 0;
  212. }
  213.  
  214. public OnPlayerPickUpPickup(playerid, pickupid)
  215. {
  216.     if(pickupid == FishMarketIcon)
  217.     {
  218.         SendClientMessage(playerid, 0xFFFFFFFF, "Fish Market !");
  219.         SendClientMessage(playerid, 0xFFFFFFFF, "Type {88AA88}/fishmarket {88AA88} for help.");
  220.     }
  221.     return 1;
  222. }
  223.  
  224. public VaildFishPlace(playerid)
  225. {
  226.     if(IsPlayerConnected(playerid))
  227.     {
  228.         if(IsPlayerInRangeOfPoint(playerid, 4,403.8266,-2088.7598,7.8359) || IsPlayerInRangeOfPoint(playerid, 4,398.7553,-2088.7490,7.8359))
  229.         {
  230.             return 1;
  231.         }
  232.         else if(IsPlayerInRangeOfPoint(playerid, 4,396.2197,-2088.6692,7.8359) || IsPlayerInRangeOfPoint(playerid, 4,391.1094,-2088.7976,7.8359))
  233.         {
  234.             return 1;
  235.         }
  236.         else if(IsPlayerInRangeOfPoint(playerid, 4,383.4157,-2088.7849,7.8359) || IsPlayerInRangeOfPoint(playerid, 4,374.9598,-2088.7979,7.8359))
  237.         {
  238.             return 1;
  239.         }
  240.         else if(IsPlayerInRangeOfPoint(playerid, 4,369.8107,-2088.7927,7.8359) || IsPlayerInRangeOfPoint(playerid, 4,367.3637,-2088.7925,7.8359))
  241.         {
  242.             return 1;
  243.         }
  244.         else if(IsPlayerInRangeOfPoint(playerid, 4,362.2244,-2088.7981,7.8359) || IsPlayerInRangeOfPoint(playerid, 4,354.5382,-2088.7979,7.8359))
  245.         {
  246.             return 1;
  247.         }
  248.     }
  249.     return 0;
  250. }
  251.  
  252. public FishTimer(playerid)
  253. {
  254.     if(VaildFishPlace(playerid))
  255.     {
  256.         if(Fishing[playerid] == 1)
  257.         {
  258.             new fish = random(5);
  259.             new fishname[100];
  260.             new string[256];
  261.             if(fish == 1) { fishname = "Salamon"; }
  262.             else if(fish == 2) { fishname = "Tuna"; }
  263.             else if(fish == 3) { fishname = "Little Shark"; }
  264.             else if(fish == 4) { fishname = "China Rare"; }
  265.             else if(fish == 5) { fishname = "Complanton"; }
  266.             else { fishname = "{F222FF}Nothing, {FFFFFF}Line Snapped out !"; }
  267.             format(string, sizeof(string), "You have caughted {88AA88}%s", fishname);
  268.             SendClientMessage(playerid,0xFFFFFFFF, string);
  269.             if(fish == 1) { fishname = "150$"; }
  270.             else if(fish == 2) { fishname = "200$"; }
  271.             else if(fish == 3) { fishname = "300$"; }
  272.             else if(fish == 4) { fishname = "500$"; }
  273.             else if(fish == 5) { fishname = "400$"; }
  274.             else { fishname = "{F222FF}Nothing, {FFFFFF}You better go buy new fishing line !"; }
  275.             format(string, sizeof(string), "You have earned {88AA88}%s {FFFFFF}", fishname);
  276.             SendClientMessage(playerid,0xFFFFFFFF, string);
  277.             if(fish == 1) { GivePlayerMoney(playerid,150); }
  278.             else if(fish == 2) { GivePlayerMoney(playerid,200); }
  279.             else if(fish == 3) { GivePlayerMoney(playerid,300); }
  280.             else if(fish == 4) { GivePlayerMoney(playerid,500); }
  281.             else if(fish == 5) { GivePlayerMoney(playerid,400); }
  282.             else { FLine[playerid] = 0; }
  283.             Fishing[playerid] = 0;
  284.             TogglePlayerControllable(playerid, 1);
  285.             ApplyAnimation(playerid, "CARRY", "crry_prtial", 2.0, 0, 0, 0, 0, 0);
  286.         }
  287.     }
  288. }
  289.  
  290. public AnimFixer(playerid)
  291. {
  292.     if(VaildFishPlace(playerid))
  293.     {
  294.         if(Fishing[playerid] == 1)
  295.         {
  296.         SetCameraBehindPlayer(playerid);
  297.         ApplyAnimation(playerid,"SWORD","sword_block",50.0,0,1,0,1,1);
  298.         }
  299.     }
  300. }
  301. public LeavePosition(playerid)
  302. {
  303.     if(!VaildFishPlace(playerid))
  304.     {
  305.         if(Fishing[playerid] == 1)
  306.         {
  307.         Fishing[playerid] = 0;
  308.         SetCameraBehindPlayer(playerid);
  309.         ApplyAnimation(playerid, "CARRY", "crry_prtial", 2.0, 0, 0, 0, 0, 0);
  310.         }
  311.     }
  312. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement