Advertisement
Guest User

fishing RO v1.1

a guest
Apr 24th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.91 KB | None | 0 0
  1. -   script  FishingFunctions    -1,{
  2. function Fishing; function Calculate;
  3. function Show; function Level;
  4. function Bait; function CalculateExp;
  5.  
  6. OnFishing:
  7.     Level ( cur_Level );
  8.     Bait ( @baitselect );
  9.     Fishing( @fishingMap, cur_Level, @level_Modifier, $@fishing_Exp, @amount, @level_Mode );
  10.     end;
  11.    
  12. OnShowin:
  13.     Show( cur_Level, @level_Modifier, $@fishing_Exp );
  14.     end;
  15.  
  16. OnInit:
  17. setarray $@FishingLevel[0], 50, 125, 175, 220, 300, 450, 525, 600;
  18. setarray $@Drop[0], 7227, 7228, 7229;
  19. setarray $@defaultDrop[0], 910, 911, 912, 501, 502, 503, 504, 505, 608;
  20. setarray $@baitID[0], 915, 908, 903, 632;
  21. $@fishing_Exp = 1; // 1 = x1 rates.
  22. end;
  23. function    Level   {
  24.     if(getarg(0) >= 600) {
  25.         if(!@level_Mode ) @level_Mode = 1;
  26.         //dispbottom "Ваш навык рыбной ловли уже максимальный. Вы будете получать только Ваш улов, и базовую экспу (если вы не 175)";
  27.     }
  28.     return;
  29. }
  30. function    Bait    {
  31.     @new_item = 0;
  32.    
  33.     if(@baitselect == 903) {
  34.         dispbottom "Отлично, ты используешь крутую наживку!";
  35.         @level_Modifier += 1;
  36.     }
  37.     if(countitem(5317)) {
  38.         dispbottom "У тебя крутая шапка рыбака!";
  39.         @level_Modifier += 1;  
  40.     }
  41.     if(@baitselect == 632) {
  42.         dispbottom "Отлично, ты используешь крутую наживку!";
  43.         @level_Modifier += 2;
  44.         @new_item = 1;
  45.     }
  46.     return @level_Modifier;
  47. }
  48. function Fishing {
  49.     if( !getarg(0) ) end; //cheat?:D
  50.     if( getarg(0) == 1) { //izlude fishing guild
  51.        
  52.         if( !getarg(3) ) $@fishing_Exp = 1; //default x1
  53.         if( !getarg(2) ) @level_Modifier = $@fishing_Exp; //default
  54.        
  55.         @loop = getarg(4);
  56.         while(@loop) {
  57.             Level ( cur_Level );
  58.             if(!countitem(@baitselect)) {
  59.                 dispbottom "нет наживки";
  60.                 @loop = 0;
  61.                 end;
  62.             }
  63.             message strcharinfo(0), "Осталось наживки : "+ @loop;
  64.             progressbar "green", rand(6,9);
  65.             switch(rand(1,8)) {            
  66.                 case 1: // ничего
  67.                     @loop -= 1;
  68.                     dispbottom "Сорвалось...";
  69.                     delitem @baitselect, 1;
  70.                     emotion e_sob;
  71.                     break;
  72.                 case 2: // простая добыча
  73.                     @loop -= 1;
  74.                     @get_item = $@defaultDrop[rand(7)];
  75.                     delitem @baitselect, 1;
  76.                     @defaultExp = 1;
  77.                     dispbottom "Что-то есть! Сейчас глянем!";
  78.                     getitem @get_item, 1;
  79.                     Calculate ( @defaultExp, getarg(2), getarg(3), getarg(5) );
  80.                     break;
  81.                 case 3:
  82.                     @loop -= 1;
  83.                     dispbottom "Сапог? САПОГ! Рваный сапог... Но увы, он утонул...";
  84.                     emotion e_heh;
  85.                     delitem @baitselect, 1;
  86.                     break;
  87.                 case 4:
  88.                     @loop -= 1;
  89.                     dispbottom "О, мешочек с золотом!!";
  90.                     zeny += rand(1000);
  91.                     @defaultExp = 1;
  92.                     Calculate ( @defaultExp, getarg(2), getarg(3), getarg(5) );
  93.                     delitem @baitselect, 1;
  94.                     break;
  95.                 case 5:
  96.                     @loop -= 1;
  97.                     @get_item = $@Drop[rand(2)];
  98.                     delitem @baitselect, 1;
  99.                     @defaultExp = 2;
  100.                     dispbottom "оО! Большой куш..., мне это нравится!";
  101.                     getitem @get_item, 1;
  102.                     Calculate ( @defaultExp, getarg(2), getarg(3), getarg(5) );
  103.                     break;
  104.                 case 6:
  105.                     @loop -= 1;
  106.                     dispbottom "Опять сорвалось, ну что за!";
  107.                     emotion e_omg;
  108.                     delitem @baitselect, 1;
  109.                     break;
  110.                 case 7:
  111.                     @loop -= 1;
  112.                     dispbottom "На этот раз сапог от меня не убежит!!";
  113.                     emotion e_ag;
  114.                     @get_item = 2405;
  115.                     delitem @baitselect, 1;
  116.                     @defaultExp = 1;
  117.                     getitem @get_item, 1;
  118.                     Calculate ( @defaultExp, getarg(2), getarg(3), getarg(5) );
  119.                     break;
  120.                 case 8:
  121.                     @loop -= 1;
  122.                     dispbottom "Оооочень большой улов!!";
  123.                     emotion e_ag;
  124.                     if(@new_item) @get_item = 678;
  125.                     if(!@new_item) @get_item = $@Drop[rand(2)];
  126.                     delitem @baitselect, 1;
  127.                     @defaultExp = 3;
  128.                     getitem @get_item, 3;
  129.                     Calculate ( @defaultExp, getarg(2), getarg(3), getarg(5) );
  130.                     break;             
  131.                 default:
  132.                     dispbottom "Я даже наживку насадить немогу!";
  133.                     break;
  134.             }
  135.            
  136.             if(@error) {
  137.                 dispbottom "ошибка. обратитесь к администрации.";
  138.             }
  139.            
  140.         }
  141.         message strcharinfo(0), "наживка закончилась";
  142.         end;
  143.     }
  144.  
  145. }
  146.  
  147. function    Calculate   {
  148.     if(!getarg(0)) return @error = 1;
  149.     if(!getarg(1)) return @error = 1;
  150.     if(!getarg(2)) return @error = 1;
  151.     if(BaseLevel != 175 && JobLevel != 70) CalculateExp ( BaseLevel, JobLevel, @level_Modifier );
  152.     if(getarg(3) > 0) return;
  153.     @levelMod += getarg(0) * ( getarg(1) + getarg(2) );
  154.     @myLevel = cur_Level + @levelMod;
  155.     if(@myLevel > 600) @levelMod = 1;
  156.     cur_Level += @levelMod;
  157.     dispbottom "[Рыбная Ловля] + "+@levelMod+". Всего ("+cur_Level+" / "+$@FishingLevel[7]+").";
  158.     return;
  159. }
  160.  
  161. function    CalculateExp    {
  162.     if(getarg(0) > 10 && getarg(0) < 50) @bExp += rand(30,50) * (getarg(2) + getarg(1));
  163.     if(getarg(0) > 49 && getarg(0) < 100) @bExp += rand(150,200) * (getarg(2) + getarg(1) * getarg(0));
  164.     if(getarg(0) > 99 && getarg(0) <= 175) @bExp += rand(1500,2000) * (getarg(2) + getarg(1) * getarg(0) + 5000);
  165.     getexp @bExp, 0;
  166.     return;
  167. }
  168. function    Show    {
  169.     mes "[Рыбная Ловля] Всего ("+cur_Level+" / "+$@FishingLevel[7]+").";
  170.     if(cur_Level > 0 && cur_Level < 200) {
  171.         @color$ = "^FF0000";
  172.         @message$ = "[" + @color$ + "||||^000000|||||||||||||||||||||||||||||]";
  173.     }
  174.     if(cur_Level > 199 && cur_Level < 400) {
  175.         @color$ = "^00FF00";
  176.         @message$ = "[" + @color$ + "||||||||||||||||||^000000|||||||||||||||]";
  177.     }
  178.     if(cur_Level > 399 && cur_Level <= 599) {
  179.         @color$ = "^0000FF";
  180.         @message$ = "[" + @color$ + "|||||||||||||||||||||||||^000000||||||||]";
  181.     }
  182.     if(cur_Level == 600) {
  183.         @color$ = "^66DD99";
  184.         @message$ = "[" + @color$ + "|||||||||||||||||||||||||||||||||^000000]";
  185.     }
  186.     mes @message$;
  187.     mes "Рейты : х^FF0000"+$@fishing_Exp+"^000000";
  188.     mes "Ваши улучшения : +^FF0000"+@level_Modifier+"^000000";
  189.     mes " ";
  190.     mes ":::[Другие улучшения]:::";
  191.     mes "^0000FF" + getitemname(5317) +"^000000 + x1";
  192.     close;
  193. }
  194. }
  195. izlude,134,75,6 script  Мастер Рыболов 560,{
  196.     switch(select("Рыбная Ловля:Покажите мне мои достижения!")){
  197.         case 1:
  198.             mes "Выберите наживку";
  199.             set .@menu$, "";
  200.             for(set .@i,0; .@i < 4; set .@i, .@i +1){
  201.                 if($@baitID[.@i] != 0) {
  202.                     set .@menu$, .@menu$ + "> ^0000FF "+getitemname($@baitID[.@i])+" ^000000 x"+countitem($@baitID[.@i])+"";
  203.                     set .@menu$, .@menu$ + ":";
  204.                 }
  205.             }      
  206.             set @bait,select(.@menu$)-1;
  207.             if(!countitem($@baitID[@bait])) {
  208.                 dispbottom "нет наживки";
  209.                 end;
  210.             }
  211.             @baitselect = $@baitID[@bait];
  212.             @amount = countitem($@baitID[@bait]);
  213.             @fishingMap = 1;
  214.             close2;
  215.             doevent "FishingFunctions::OnFishing";
  216.             end;
  217.         case 2:
  218.             doevent "FishingFunctions::OnShowin";
  219.             end;
  220.     }
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement