Leaderboard
Popular Content
Showing content with the highest reputation on 02/17/17 in all areas
-
Sike it's his birthday, according to snapchat Credits to @Sysm for editing the cake You'll always be TWC13 points
-
8 points
-
Before buying, please ensure you check-out with the correct script. Swapping scripts is not possible. View in store $4.99 for lifetime access Features: All spawns - Supports every multi-crab spawn point both along the south coast of Zeah and Crab Claw Isle All combat styles - Supports Ranged, Magic and Melee combat training. The script will not bank runes of any type Saving GUI - Intuitive, re-sizeable and fully tool tipped GUI (Graphical User Interface) allowing you to tailor the script session to your needs, with configuration saving / loading Human replication - Designed with human simulation in mind - multiple options to replicate human behaviour available in the GUI Setup customiser - Inventory customiser allows you to visually see your trip setup CLI support - The script can be started from the command line All potions - Supports all relevant potion types (including divine potions!), multiple potion types simultaneously and varying potion ratios Healing in a range - Dual slider allows you to specify a range within which to consume food. Exact eat percentages are calculated using a Gaussian distributed generator at run time Healing to full at the bank - When banking, the script will eat up to full hit points to extend trip times Safe breaking - Working alongside the OSBot break manager, the script will walk to safe place approximately two minutes before a break starts to ensure a successful log out Anti-crash - Smart crash detection supports multiple anti-crash modes (chosen in the GUI): Hop worlds if crashed - the script will walk to a safe place and hop worlds until it finds a free one, at which point it will resume training Force attack if crashed - the script will fight back and manually fight pre-spawned sand crabs until the crasher leaves Stop if crashed - the script will walk to a safe place and stop Ammo and Clue looting - Clue scroll and Ammo looting system based on a Gaussian-randomised timing scheme All ammo - Supports all OSRS ammo types and qualities Spec activation - Special attack support for the current weapon to maximise your exp per hour Auto-retaliate toggling - The script will toggle auto-retaliate on if you forget Move mouse outside screen - Option to move the mouse outside the screen while idle, simulating an AFK player switching tabs Refresh delay - Option to add a Gaussian-randomised delay before refreshing the chosen session location, simulating an AFK player's reaction delay Visual Paint and Logger - Optional movable self-generating Paint and Timeout Scrolling Logger show all the information you would need to know about the script and your progress Progress bars - Automatically generated exp progress bars track the combat skills that you are using Web walking - Utilises the OSBot Web alongside a custom local path network to navigate the area. This means the script can be started from anywhere! Safe banking - Custom banking system ensures the script will safely stop if you run out of any configured items Safe stopping - Safely and automatically stops when out of supplies, ammo or runes Dropping - Drops useless/accidentally looted items to prevent inventory and bank clutter All food - Supports pretty much every OSRS food known to man. Seriously - there's too many to list! ... and many more - if you haven't already, trial it! Things to consider before trying/buying: Mirror mode - currently there appear to be some inconsistencies with behaviour between Mirror mode and Stealth Injection meaning the script can behave or stop unexpectedly while running on Mirror. I would urge users to use the script with Stealth Injection to ensure a flawless experience! Since Stealth Injection is widely considered equally 'safe' to mirror mode and comes with a host of other benefits such as lower resource usage, this hopefully shouldn't be a problem. Using breaks - the script supports breaks and will walk to a safe place ready to log out approximately two minutes before a configured break starts. However, upon logging back in, your spot may no longer be open. If you configure the crash mode to be either 'Hop if crashed' (default) or 'Stop if crashed', this will not prove to be a problem. However if using 'Force attack if crashed', the script will attempt to take back the spot by crashing the occupying player and manually attacking spawned sand crabs. Be aware that players have a tendency to report anti-social behaviour such as this! Avoiding bans - while I have done my utmost to make the script move and behave naturally, bans do occasionally happen, albeit rarely. To minimise your chances of receiving a ban, I would strongly suggest reviewing this thread written by the lead content developer of OSBot. If you take on board the advice given in that thread and run sensible botting periods with generous breaks, you should be fine. That being said, please keep in mind that botting is against the Oldschool Runescape game rules, thus your account will never be completely safe and you use this software at your own risk. Setting the script up - I have done my best to make the GUI (Graphical User Interface) as intuitive as possible by making all options as self explanatory as I could, however if you are not sure as to what a particular setting does, you can hover over it for more information. If that doesn't help, just ask on this thread! Web-walking - alongside a network of paths, the script moves around with the OSBot web-walking system, using it when in unknown territory. While it has proven very reliable, there are naturally some areas for which the web-walker may struggle. As a result, prior to starting the script, I would highly recommend manually navigating your player close to the sand crabs bank, however in practice, anywhere on Zeah should be fine. Script trials: I believe that trying a script before buying is paramount. After trying the script, hopefully you will be convinced to get a copy for yourself, but if not you will have gained some precious combat experience! If you're interested in a trial, please follow the instructions on my trials thread which can be found here. Gallery: Start up GUI (Graphical User Interface): Paint (optional, movable and self-generating): User screenshots: Recent Testimonials: Starting from CLI: This script can be started from the command line interface. There is a single parameter, which can take two (and only two) values: 'gui' or 'nogui'. 'gui' will start the script and show the gui, 'nogui' will skip the GUI setup and start the script using your save file as the configuration. To start from CLI with 'nogui', the script requires a valid GUI save file to be present - if you haven't already, start the script manually and configure the GUI to suit your needs. Then hit 'Save configuration' and in future starting from CLI will use these configured settings. The script ID is 886. Example CLI startup: java -jar "osbot 2.4.137.jar" -login apaec:password -bot apaec@example.com:password:1234 -debug 5005 -script 886:nogui5 points
-
Someone asked me for the source, here you go: import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.Item; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.ui.EquipmentSlot; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; import java.awt.*; import java.util.Arrays; import java.util.Comparator; import java.util.Optional; import java.util.function.Predicate; import java.util.stream.Collectors; /** * Created by Alek on 6/26/2016. */ @ScriptManifest(name = "Macro Killer", author = "Alek", version = 1.4, info = "Macro Killer", logo = "") public class MacroKiller extends Script { private boolean isUsingRanged = false; private Area combatArea; private String state = "State: Idle"; private Font titleFont = new Font("Sans-Serif", Font.BOLD, 10); private String ammoType; private int ammoRemaining = 0; private boolean isAvasEquipped = false; private int collectAmmo = 0; private Predicate<NPC> suitableNPC = n -> getMap().canReach(n) && n.getHealthPercent() > 0 && n.hasAction("Attack") && combatArea.contains(n) && !n.isUnderAttack() && getMap().realDistance(n) < 7; private Predicate<GroundItem> suitableArrowStack = g -> g.getName().contains(ammoType) && getMap().realDistance(g) < 4; @Override public void onPaint(Graphics2D g) { g.setFont(titleFont); g.setColor(Color.WHITE); g.drawRect(mouse.getPosition().x - 3, mouse.getPosition().y - 3, 6, 6); g.drawString("Macro Killer v1.5 - Written by Alek", 10, 250); g.drawString(state, 10, 265); if (isUsingRanged) g.drawString("Remaining " + ammoType + "s: " + ammoRemaining, 10, 280); } @Override public void onStart() { if (getEquipment().getItemInSlot(EquipmentSlot.WEAPON.slot).getName().contains("bow")) { Item ammo = getEquipment().getItemInSlot(EquipmentSlot.ARROWS.slot); if (ammo != null && ammo.getAmount() > 1) { ammoType = ammo.getName().toLowerCase().split(" ")[1]; isUsingRanged = true; } if (isUsingRanged) { Item item = getEquipment().getItemInSlot(EquipmentSlot.CAPE.slot); isAvasEquipped = item != null && (item.getName().contains("Ava's")); } } combatArea = myPlayer().getArea(6); } @Override public int onLoop() { if (getSkills().getDynamic(Skill.HITPOINTS) < (getSkills().getStatic(Skill.HITPOINTS) / 2)) { state = "State: Looking for food to eat"; Optional<Item> foodItem = Arrays.stream(getInventory().getItems()).filter(i -> i != null && (i.hasAction("Eat") || i.hasAction("Drink"))).findFirst(); if (foodItem.isPresent()) { state = "State: Eating food " + foodItem.get().getName(); foodItem.get().interact("Eat", "Drink"); } else { state = "State: No food remaining, logging out"; stop(true); } } else if (!getCombat().isFighting() || myPlayer().getInteracting() == null) { if (isUsingRanged) { state = "State: Checking equipment for " + ammoType + "s"; Item arrows = getEquipment().getItemInSlot(EquipmentSlot.ARROWS.slot); if (arrows == null || arrows.getAmount() < 10) { state = "State: Not enough arrows, logging out"; stop(true); return 0; } ammoRemaining = arrows.getAmount(); state = "State: Scanning ground for " + ammoType + "s"; java.util.List<GroundItem> arrowItems = groundItems.getAll().stream().filter(suitableArrowStack).collect(Collectors.toList()); arrowItems.sort(Comparator.comparingInt(GroundItem::getAmount).thenComparingInt(GroundItem::getAmount).reversed()); if (!isAvasEquipped && !arrowItems.isEmpty()) { if (arrowItems.get(0).getAmount() > 1 || ((collectAmmo = ~collectAmmo & 1) == 1)) { state = "State: Looting " + arrowItems.get(0).getName() + "(s) with a stack size of " + arrowItems.get(0).getAmount(); if (arrowItems.get(0).interact("Take")) { ConditionalSleep pickup = new ConditionalSleep(4000, 500) { @Override public boolean condition() throws InterruptedException { return !arrowItems.get(0).exists(); } }; if (pickup.sleep()) { if (arrowItems.get(0).getName().equals(getEquipment().getItemInSlot(EquipmentSlot.ARROWS.slot).getName())) getInventory().interact("Wield", arrowItems.get(0).getId()); } } } } } state = "State: Searching for monsters to kill"; java.util.List<NPC> npcs = getNpcs().getAll().stream().filter(suitableNPC).collect(Collectors.toList()); if (!npcs.isEmpty()) { npcs.sort(Comparator.<NPC>comparingInt(a -> getMap().realDistance(a)).thenComparingInt(b -> getMap().realDistance(b))); if (npcs.get(0).interact("Attack")) { state = "State: Attacking " + npcs.get(0).getName(); new ConditionalSleep(3000, 500) { @Override public boolean condition() throws InterruptedException { return !npcs.get(0).exists() || npcs.get(0).isUnderAttack(); } }.sleep(); } } } return 500; } }5 points
-
Thanks bro, (its actually feb 17, but still the 16th here) gang gang That one day everyone will realize that twc lives matter to! at least I got a thread Good looking cake4 points
-
Want a gif of changing pics like mine? Post below and I will make you one for free3 points
-
I also got this problem since yesterday. the reason is you are probably checking woodcutting xp, during the tutorial island/quests. Many big goldfarmers use this as antiban. but now they detect it and implement the straight ban in game by the update yesterday. the solution for me is to checking prayer xp, and pray that they dont ban you3 points
-
♔CzarScripts #1 Bots ♔ Proven the #1 selling, most users, most replies Script Series on the market. Big THANK YOU to all our wonderful users and supporters over the 8 years, we couldn't have done it without you. Czar Bots have always been the Best and the most Feature-rich bots available with the most total sales in OSBot history. Come and find out why everyone is choosing Czar Bots today. ♔ LATEST BOTS ♔ If you want a trial - just post the script name and it will be activated after I hit 'like' on your post Requirements: hit 'like' on this thread2 points
-
And this sweet drop while testing the script for update v254.0... 52 HOUR RESULT! Hotkey List // F1 = set cannon tile // F2 = hide paint // F3 = Set afk tile // F4 = reset afk tile // F6 = Set safespot tile // F7 = activate tile selector // F8 = Reset tile selector // F9 and F10 used by the client, EDIT: will re-assign as they are no longer used by client // F11 = Set breaks tile // F12 = Reset breaks tile User Interface Banking Tab Demo (handles everything with banking) You can copy inventory (to avoid adding individual items...), you can insert item names which have Auto-Fill (for you lazy folk!) and you can choose whether to block an item and avoid depositing it in bank, ideal for runes and ammo. Looting Tab Demo (From looting to alchemy, noted/stackable items too) You can choose whether to alch an item after looting it simply by enabling a checkbox, with a visual representation. All items are saved upon exiting the bot, for your convenience! Tasking Demo (Not to be confused with sequence mode, this is an individual task for leveling) You can set stop conditions, for example to stop the bot after looting a visage, you can have a leveling streak by changing attack styles and training all combat stats, you can have windows alert bubbles when an event occurs and an expansive layout for misc. options! Prayer Flick Demo (Just example, I made it faster after recording this GIF) There are two settings: Safe mode and efficient mode, this is safe mode: Fight Bounds Demo Allows you to setup the fight bounds easily! Simplified NPC chooser Either choose nearby (local) NPCs or enter an NPC name to find the nearest fight location! Simple interface, just click! Level Task Switch Demo (Switching to attack combat style after getting 5 defence) You can choose how often to keep levels together! e.g. switch styles every 3 levels Cannon Demo (Cannon is still experimental, beta mode!) Choose to kill npcs with a cannon, recharges at a random revolution after around 20-24 hits to make sure the cannon never goes empty too! Results Caged Ogres: How does this bot know where to find NPCs? This bot will find far-away npcs by simply typing the NPC name. All NPCs in the game, including their spawn points have been documented, the bot knows where they are. You can type 'Hill giant' while your account is in Lumbridge, and the bot will find it's way to the edgeville dungeon Hill giants area! Here is a visual representation of the spawn system in action (this is just a visual tool, map mode is not added due to it requiring too much CPU) Fight Area Example (How the bot searches for the npc 'Wolf') Walking System The script has 2 main walking options which have distinctive effects on the script. The walking system is basically a map with points and connections linking each point. It tells the script where to go, and decides the routes to take when walking to fightzones. Walking system 1 This uses a custom walking API written by myself and is constantly being updated as new fightzones are added. Pros: - Updates are instant, no waiting times - More fightzones are supported Cons: - Sometimes if an object is altered, the changes are not instant - Restarting the script too many times requires loading this webwalker each time which adds unnecessary memory (there is no way to make it only load at client startup since I don't control the client) Walking system 2 This is the default OSBot webwalking API - it is relatively new and very stable since the developers have built it, but is currently lacking certain fightzones (e.g. stronghold) and other high level requirement zones. It is perfect for normal walking (no object interactions or stairs, entrances etc) and never fails. Pros: - Stable, works perfect for normal walking - All scripters are giving code to improve the client webwalker - More efficient when restarting the script since it is loaded upon client start Cons: - No stronghold support yet - Some new/rare fightzones not supported yet - If there is a game-breaking update or an unsupported fightzone, it may take some time to add/repair (less than 24 hours usually) So which system should I choose? Whichever one suits your chosen fightzone best! There really shouldn't be any problems - the sole purpose of these options are for backup and emergency purposes, if the script ever messes up there is always the next option to select. Note: If the script ever fails, there will be immediate updates to fix the walking systems! Script Queue/Bot Manager: Script ID is 758, and the parameters will be the profile name that you saved in the fighter setup! Bug Report templates: New feature request - What is the new feature - Basic description of what the script should do - Basic actions for the script: 'Use item on item' etc. For when the script gets stuck on a tile (or continuous loop): - Which exact tile does the script get stuck on? (exact tile, not 'near the draynor village') - Plugin or normal script? - Did you try all 3 walking options? Script has a logic bug (e.g. dies while safespotting) or (cannon mode doesn't pickup arrows) - What is the bug - How did you make the bug happen - (optional) recommendation for the bug, e.g. 'make the script walk back' or something - Tried client restart? - Normal script or a plugin? - Which exact setup options are enabled? Afk mode, cannon mode, etc etc.2 points
-
Ability to set custom Magic and Ranged armour sets ✓ No limits on Kills per trip ✓ Using a mix of user inputs and built-in logic, the script will determine if you have enough supplies for another kill without banking. Options to decide how much food you’re like to take into the next fight as a minimum. Customisable Stop Conditions Stop after 'x' kills Stop after 'x' profit Stop after 'x' runtime Stop after 'x' consecutive deaths Efficient Zulrah Fight Executor ✓ Knows what have, is and will happen Longrange mode, gain defence XP passively with no time loss ✓ Multiple Travel Routines Zul-Andra teleport scrolls VIA Clan Wars ✓ Zul-Andra Teleports VIA PoH ✓ Charter Travel ✓ Caterby charter [via Camelot teleports] Fairy Rings ✓ Ability to select staff to use or not use one at all for fairy rings ✓ Summer Pie Support (72+ Agility recommended) ✓ Fairy ring via Slayer Ring ✓ Fairy ring via House Teleport ✓ Ornate pool support ✓ Jewellery box Support ✓ Mounted Glory Support ✓ Construction Cape Support ✓ Ability to select Magic Only ✓ Changes Rotations and Phases for the best possible fight experience. No need to quest for Ava’s or Level range. Swaps prayers & equipment efficiently ✓ Option to use quick switch mode, removes mouse travel time for even faster switching Prayer Flicking on Jad Phases ✓ Supports Raids Prayers ✓ 55 Prayer ✓ 74 Prayer ✓ 77 Prayer ✓ Options to Dynamically pray against Snakelings when Zulrah is not focused on player. ✓ Calculates: Total loot value ✓ Total cost of supplies used ✓ Profit after costs ✓ Ability to sell all your loot when you run out of supplies ✓ Ability to top up your supplies if you run out with auto-exchange ✓ Death-walking ✓ Safe death boss Rechargeable item support Trident of Seas ✓ Trident of Swamp ✓ Blowpipe ✓ Dynamically detects darts used (Must start with darts inside the blowpipe for it to work!) Serpentine Helm ✓ Ring of suffering ✓ Barrows Repairing ✓ Using Lumbridge teleports or the Home teleport, the script will withdraw coins, travel to Bob and repair your armour then continue to run. Potion Decanting ✓ Efficiently decants all types of potions allowing FruityZulrah to run for longer. Inventory Organising ✓ Organises your inventory to minimise mouse movement, increasing time spent elsewhere. Combo eating Karambwams ✓ Will combo eat karambwams to help prevent death from Zulrah and Snakelings stacks Supports blowpipe special attack ✓ Uses the Blowpipe special attack to help replenish HP Multiple stat boosts supported Prayer ✓ Super Restore ✓ Magic ✓ Ranging ✓ Bastion ✓ Stamina ✓ Anti-venom+ ✓ Imbued Heart ✓ Supports Lunars ‘Cure Me’ spell to cure Venom ✓ Requires: 1 2 2 Ability to use rune pouch Level 71 Magic Lunars Quest Ideal for Ironman accounts with no access to anti-venom+ Supports Lunars Vengeance spell ✓ Requires: 2 4 10 Perfectly times vengeance casts to Magic Phase ranged attacks for best results. Ability to use rune pouch Level 94 Magic World hopping support ✓ Options to hop world between x and x minutes. will randomly select a time every hop. Ability to skip rotations by Hopping worlds Ability to decide on your own custom world list or just to hop to any P2P world Grand Exchange Add-on ✓ Add-on script for free Save/load buy/sell presets Ability to dump all zulrah loot in 2 clicks Command Line Support ✓ Start the script on multiple accounts with a single click Script ID - 903 Command: -script "903:profile=Test hours_limit=10 kills_limit=5 deaths_limit=5 profit_limit=1m" profile = saved profile name, if you've been using CLI to run the script, this will need to be updated to suit. hours_limit = Complete after 'x' run hours. kills_limit = Complete after 'x' zulrah kills deaths_limit = Complete after 'x' deaths. profit_limit = Complete after 'x' accumulated profit Pro-active calculations ✓ Calculates next mouse position for next action whilst first action is being performed Asynchronous actions ✓ Can perform multiple tasks at once saving time Banks Pet drops ✓ Loot table ✓ http://fruityscripts.com/zulrah/loot/ Displays total loot as well as a live feed of drops Hiscores ✓ http://fruityscripts.com/zulrah/hiscores/ Compare and compete against other users Dynamic Signatures ✓ Show off your gains with FruityZulrah url: http://fruityscripts.com/zulrah/signature/signature.php?username={USERNAME} Replace {USERNAME} with your username http://fruityscripts.com/zulrah/signature/signature.php Notifications Get Notifications for: Valuable drops ✓ Deaths ✓ On Exit ✓ Timely Data dumps (GP, GP/HR, Kills, Kills/HR, Deaths, Runtime) ✓ Types of Notifications Email ✓ Discord ~ Desktop ✓ ✓ Implemented into the script ~ Work in progress View a collection of Screenshots posted by FruityZulrah users showing their progress with the script. Watch a collection of FruityZulrah videos below If you have a video you'd like to be added to the Playlist, send me a pm with a link. Videos must of course include the FruityZulrah script. If you wish to purchase FruityZulrah VIA PayPal, please follow the store link below: If you'd like to purchase FruityZulrah using OSRS GP, SEND ME A PM and i can give you my current $$:GP Rates! Discord Community: https://discord.gg/WzXRk2bWTV Trial bot has been implemented (100 post count required if you're not VIP/Sponsor!) @fruityscripts on Discord2 points
-
2 points
-
85 range / mage 42 defence 60-72 prayer range / mage void quests required to access Zulrah will accept 2 day bans(Depending on who you are) you must be the OO Paying in paypal for 98% of you. Certain people I will pay with 07 / possibly btc Throw me the prices.2 points
-
2 points
-
2 points
-
2 points
-
https://osbot.org/forum/profile/2288-scotty/ go there and left click my background image and drag it a little2 points
-
2 points
-
2 points
-
2 points
-
2 points
-
2 points
-
yeah people need to crack down on nsfw avatars/sigs, i have no idea why some are permitted. some are pretty revolting and should be kept off-site, like cut down the amount of anime for a start.2 points
-
Agreed. On a more serious not, you fully deserve the warning point. You either stop acting like a child or carry on and get suspended for a period of time. Your choice.2 points
-
I'll give you guys a tip: ConditionalSleeps are evil2 points
-
If your farm is even remotely successful buying 30 accounts that you register and the person does tut hand done will not affect your profit at all. That's if your gold farm is successful though so i'm not sure if your farm is or not. Max they'd cost is 350k? so 350k * 30 = 10.5m It depends on your farm, if it even makes 10.5m to begin with2 points
-
Nope, cutting trees itself is also a common botting pattern used by F2P chinese farms. Maybe first make them member, walk them all around runescape, get 500 total level, 100 combat, start a clan chat, make some friends and then do 7 qp to make sure they aren't getting banned because of a common farming pattern.2 points
-
2 points
-
2 points
-
2 points
-
2 points
-
No one cares what you think, if you're not going to bid on the account or buy it dont post.2 points
-
2 points
-
2 points
-
2 points
-
2 points
-
Guys if the script becomes unresponsive keep the console log open, it could be an unknown npc/unknown tile error for an unsupported fight configuration, let me know and I will immediately do an update for it. Just make sure the console log is open. Here's the new update: New Update (v179) - Update for prayer-flick timing - Added 'eat for loot' and 'eat for loot each time', one eats when inventory is full, other eats one food per loot item. Both options have a description so you don't get confused - Started off global highscores system, or 'dynamic signatures' system, will be off beta very soon. The main things are: profit gained, npcs killed, experience gained for now. More to come later - Noted items and low resource mode visual fix for setup window (Noted items do work, just the images/item names aren't visually correct) - Another update for slayer tasks, will most likely add 'slayer task mode' as a separate option or perhaps a plugin/module. update will be live within 24 hours. Last update was v178, details for that update are in the last page. As for sand crabs, using default options and the script crashes other's crabs? Hmm I will test ASAP.2 points
-
2 points
-
1 point
-
1 point
-
Yeah for prayer flicking it can be buggy while doing 2-3 actions at once, I am working on another update for it though - because coding the prayer flick timers for the new update I realized that if the script attempts to drink prayer potions and spec, the script doesn't know what to do first. I am coding a queue system for tasks though so the most important one is handled first and subsequent tasks are all handled consecutively instead of concurrently. As for iron ores, I think it's just the noted iron ores, regardless I will add an update ASAP after some stronghold testing. As for cannon, same applies here, the script doesn't know what to do first (loot, fill cannon etc), I will add an update for the new queue task system very soon. The cannon shouldn't break in the first place though, I will test again and make sure the script repairs cannon as soon as the repair option appears or something. Latest version should be v179 from yesterday. Some new features coming soon1 point
-
i wonder if you can embrace the fact, that hipocrisy is the grease of the world1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point