Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/11/23 in Posts

  1. prontera, 150, 165, 0 script Fishing Hole 10065,{ Fish: if(!isequipped(.rod) || countitem(.lure) == 0) { dispbottom("[Fishing] You need a Rod and Lure."); end; } specialeffect(EF_BUBBLE, "Fishing Hole"); soundeffect("fishingrod.wav", 0); dispbottom("[Fishing] Casting..."); .@fishing_cast_time = .default_fishing_cast_time; for(.@i = 0; .@i < getarraysize(.fishing_items); .@i += 2) if (isequipped(.fishing_items[.@i])) .@fishing_cast_time += .fishing_items[.@i + 1]; progressbar("ffffff", .@fishing_cast_time); delitem(.lure, 1); .@pull = rand(1, 100); .@catch = 0; .@chance = 0; for(.@i = 0; .@i < 3; .@i++) { .@chance += .chances[.@i]; if(.@pull <= .@chance) { switch(.@i) { case 0: .@catch = .rare_catches[rand(getarraysize(.rare_catches))]; mapannounce(strcharinfo(3), strcharinfo(0) + " has caught a " + getitemname(.@catch) + "!", bc_map, "0x33CC00"); break; case 1: .@catch = .blueback; mapannounce(strcharinfo(3), strcharinfo(0) + " has caught a Blue Fish!", bc_map, "0xff77ff"); break; case 2: .@catch = .normal_catches[rand(getarraysize(.normal_catches))]; break; } break; } } if(.@catch == 0) { dispbottom("[Fishing] Nothing was caught..."); specialeffect2(EF_TEMP_FAIL); if(.auto_fail == 1) goto Fish; end; } getitem(.@catch, 1); specialeffect2(EF_TEMP_OK); if(.auto == 1) goto Fish; end; OnInit: // Fishing rod .rod = 2764; // Fishing Lure .lure = 2775; // Auto-Fish .auto = 1; // Auto-Fish on Fail .auto_fail = 1; // Default Cast Time .default_fishing_cast_time = 15; // Chances for catch rareties: <rare>, <blueback>, <normal> // All chances together can't exceed 100. // If all chances sum up to 100, fishing doesn't fail. setarray(.chances[0], 1, 5, 50); // Fishing Items setarray(.fishing_items, 2550, -2, 2443, -2, 2764, -3, 2775, -1); // Blueback .blueback = 6096; // Catches setarray(.normal_catches[0], 579, 908, 909, 963, 956, 6049, 918, 960, 910, 938, 624); // Rare Catches setarray(.rare_catches[0], 644, 603, 617); }
    2 points
  2. - script PARTY_DROP FAKE_NPC,{ OnInit: setarray(.items[0], 505, 1, 10, 502, 1, 20, 501, 1, 30); .min_online_partysize = 4; end; OnNPCKillEvent: .@pid = getcharid(1); if(.@pid == 0) end; getpartymember(.@pid, 1); getpartymember(.@pid, 2); for ( .@i = 0; .@i < $@partymembercount; .@i++ ) if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) .@online_partymembers++; if($@partymembercount < .min_online_partysize || .@online_partymembers < .min_online_partysize) { dispbottom("Partybonus deactivated. To get the bonus there need to be atleast " + .min_online_partysize + " partymembers online."); end; } addrid(2, 0, .@pid); for(.@x = 0; .@x < getarraysize(.items_array); .@x += 3) if(rand(1,100) <= .items[.@x + 2]) getitem(.items[.@x], .items[.@x + 1]); }
    2 points
  3. RO DPS Meter Always thought the game needed some way to quantify combat efficiency, so I built a dps meter. (tested on the latest revision) Do you think this could be useful on the server you are currently playing? Give me your thoughts!!
    1 point
  4. prontera, 150, 165, 0 script Fishing Hole 10065,{ Fish: if(!isequipped(.rod) || countitem(.lure) == 0) { dispbottom("[Fishing] You need a Rod and Lure."); end; } specialeffect(EF_BUBBLE, "Fishing Hole"); soundeffect("fishingrod.wav", 0); dispbottom("[Fishing] Casting..."); delitem(.lure, 1); .@fishing_cast_time = .default_fishing_cast_time; for(.@i = 0; .@i < getarraysize(.fishing_items); .@i += 2) if (isequipped(.fishing_items[.@i])) .@fishing_cast_time += .fishing_items[.@i + 1]; progressbar("ffffff", .@fishing_cast_time); .@rand = rand(1, 100); if(.@rand > 56) { dispbottom("[Fishing] Nothing was caught..."); specialeffect2(EF_TEMP_FAIL); if(.auto_fail == 1) goto Fish; end; } if(.@rand == 1) { .@catch = .rare_catches[rand(getarraysize(.rare_catches))]; mapannounce(strcharinfo(3), strcharinfo(0) + " has caught a " + getitemname(.@catch) + "!", bc_map, "0x33CC00"); } else if(.@rand > 1 && .@rand <= 6) { .@catch = .blueback; mapannounce(strcharinfo(3), strcharinfo(0) + " has caught a Blue Fish!", bc_map, "0xff77ff"); } else if(.@rand > 6) .@catch = .normal_catches[rand(getarraysize(.normal_catches))]; getitem(.@catch, 1); specialeffect2(EF_TEMP_OK); if(.auto == 1) goto Fish; end; OnInit: // Fishing rod .rod = 2764; // Fishing Lure .lure = 2775; // Auto-Fish .auto = 1; // Auto-Fish on Fail .auto_fail = 1; // Default Cast Time .default_fishing_cast_time = 15; // Fishing Items setarray(.fishing_items, 2550, -2, 2443, -2, 2764, -3, 2775, -1); // Blueback .blueback = 6096; // Catches setarray(.normal_catches[0], 579, 908, 909, 963, 956, 6049, 918, 960, 910, 938, 624); // Rare Catches setarray(.rare_catches[0], 644, 603, 617); } In this script version, on each fish, a .lure item will be removed from the inventory. You can either change the lure item 2775 to a misc or etc. item via the item db, or you can leave it as equip, which will reduce the cast time as intended and use something else as lure.
    1 point
  5. like this ? prontera,155,181,5 script Sample 757,{ getinventorylist; while( .@i < @inventorylist_count ){ if( getiteminfo( @inventorylist_id[.@i],2 ) == 3 ){ .@item_id[.@found] = @inventorylist_id[.@i]; .@found++; .@menu$ = .@menu$ + getitemname( @inventorylist_id[.@i] ) +":"; } .@i++; } if( .@found ){ .@i = select( .@menu$ ) - 1; mes "You selected "+getitemname( .@item_id[.@i] ); }else{ mes "No items."; } close; }
    1 point
×
×
  • Create New...