Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
rtorry

How To Install Client

Recommended Posts

I just bought a VIP membership but I can't even get the client to install. When I download the file it comes as a jar file. Once extracted it just give me 4 folders,. Im completely lost and videos I look at show something completely different going on. Please help

Share this post


Link to post
Share on other sites

@rtorry

On 6/8/2017 at 6:41 PM, YoHoJo said:

Hi there, welcome to TRiBot.

The TRiBot.jar file should be opened with Java.


Sometimes your computer doesn't know what program to open .jar files with, or opens them with the wrong program.

A simple way to solve this is use this tool called JarFixer, which sets your .jar file extensions to open with Java properly.
Here's a link to JarFixer, run it, and then try double clicking your TRiBot.jar file.
https://johann.loefflmann.net/en/software/jarfix/index.html

Share this post


Link to post
Share on other sites
3 hours ago, rtorry said:

I just bought a VIP membership but I can't even get the client to install. When I download the file it comes as a jar file. Once extracted it just give me 4 folders,. Im completely lost and videos I look at show something completely different going on. Please help

Im having the same issue. Its trying to open with java, but even then, still doesn't open and continue the download. any tips?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rexiee
      help me choose safest way too bot
    • By rskiller2010
      i just purchase a vip extend, and i login with a works proxy,but always get issues.
       

    • By twizzletwanger
      Hi!
      I have multiple proxies that I like to jump to and from. Can I do this without having to close the app and re-open to select a new proxy?
      Thanks!
    • By IceKontroI
      Overview
      A while back I had to create an implementation of a Server and Client communications system for a personal script of mine. My implementation was shit. Here's a much better one. It's still a bit unrefined so if you have an improvement, post it and I'll consider it for revision. The implementation for a lot of the class events is abstract, meaning the user determines what he wants to do when those events fire. Both Server and Client feature a heartbeat system, where after a certain time interval, the Client will send some info to the Server to let it know it's still alive. Likewise every time interval the Server does the same, but for each Client Connection it has saved. Servers and Clients both always have threads open which wait for Objects to be read. When an Object is read, an event will be fired as mentioned below. If the Object read is a Request (covered later on), then it will be displayed through a separate designated event. Implementations of the following events are not mandatory. If you don't want to handle certain events, simply create a constructor for the Server/Client, but leave the blocks for the unused event blank.
      Server events
      public abstract void onConnectionGain(Connection connection); Fired whenever a Client successfully connects to the Server, providing you the Connection that was just established. public abstract void onConnectionLoss(Connection connection, Exception e); Fired whenever a Connection is dropped, except when the Server closes a Connection manually when its shutdown() method is called. The Exception describes the circumstances that lead to the Connection being dropped. public abstract void onWrite(Serializable object); Fired whenever an Object is written to every Connection in the Server's list of current Connections. public abstract void onWrite(Serializable object, Connection connection); Same as above, but fires once for each Connection in the Server's Connection list at the time of writing the Object. public abstract void onRead(Object object, Connection connection); Fires whenever an Object is received on the Server's end from a Client Connection. Does not fire when a Request is received, the following event handles those cases. public abstract void onRequest(Request request, Connection connection); Fires whenever a Request is received on the Server's end from a Client. This class should handle implementation of how exactly you want to handle Requests. Requests will be covered in detail later on in the post. public abstract void onShutdown(); Fires at the end of Server#shutdown(). Client events
      public abstract void onConnectionGain(); Fired when the Client successfully established a Connection to the Server. public abstract void onConnectionLoss(Exception e); Fired when the Client's Connection to the Server drops. The Exception describes the circumstances that lead to the Connection being dropped. public abstract void onRead(Object object); Fires when the Client receives an Object from the Server. This again does not fire when a Request is received, that is handled by the event below. public abstract void onRequest(Request request); Fires when a Request is received on the Client's end, from the Server. public abstract void onShutdown(); Fires at the end of Client#shutdown(). Functionality
      The primary function of a Server/Client implementation like this is to facilitate communication between the Client and Server. Communication can happen across multiple scripts and even multiple computers. They must all be on the same network, however. Reading more than one Object at a time is unsupported (would corrupt underlying streams), and the same for writing. You can, however, read and write at the same time. To set this up, the user must specify which port the Server will be set up on, and then create Clients that attempt to connect to that port. You can do this through the constructors like so:
      Note  the implementations of each event in the example above do not need to contain any actual code, they just need to have their headers. Clients will automatically attempt to re-connect to the Server with their designated port number. If the Server connection is lost while a Client is still online, it will fire a onConnectionLoss(...) event and wait 1 second before reconnecting. If a Client connection drops while the Server is still online, the Server will simply fire onConnectionLoss(...) and do nothing special.
      When a Connection is dropped, either Server or Client, you won't know about it until you try to read/write to it. This is why both Server and Client implement a "heartbeat" system. Every time interval (0.5 seconds) the Server sends a null Object to each Client, and each Client does the same for its Server. This simply ensures a minimum read/write frequency between the Server and Client so that dropped connections can be handled properly. On read/write from a disconnected Connection, an error will be thrown, which will properly remove the Connection from the Server's list and fire onConnectionLoss(...).
      Writing
      Communication between Server and Client is two-way, meaning the Server can send Objects and Requests to any of its Connections and the Client can do the same to its designated Server. A Server can have as many Connections as your heap space allows, however a Client can only have 1 Server Connection. Reads happen automatically via their own threads, however writes must be handled directly by the user. Anything you want to write must be Serializable, otherwise you'll get an Exception. Here's how the write methods work:
      Server
      public void write(Serializable object) Simply writes the given Serializable to every Connection in the Server's current Connection list. Fires onWrite(Serializable object); public void write(Serializable object, Connection connection) Writes the Serializable to only the specified Connection. Fires onWrite(Serializable object, Connection connection); Client
      public void write(Serializable object) Writes the given object Fires onWrite(Serializable object); When writing Requests, if the Request is unfulfilled (see section below), it will appear in the recipient's onRequest(...) event.
      Requests
      Finally I'll get to Requests, which is one of the main things I built this system to handle. A Request is a specialized Object, sent to a recipient, with the expectation for it to be returned, but with some modification. A Client may want to send a Request containing a Point with coordinates (-1, -1), expecting it to be returned with different coordinates. Here's an example of what that might look like:
      Simply extend Request<T> where T is the type of Object you want to be able to modify and implement Serializable so that the Request can actually be sent. When you initialize the Request<Point>, it will contain a Point (or otherwise specified type) variable called "target" which will be null until the Request is fulfilled. To fulfill the Request, simply call Request#fulfill(Object ... args) with the proper argument parameters (in this case 2 ints). The Request will automatically process the parameters in the way specified by your abstract implementation of Request#execute(Object ... args), and update the "target" from null to whatever the result actually is. If Request#execute(...) throws an Exception at any point, the Request will simply be processed as unfulfilled and ignored, even if it is written back to the sender. Here's what Request fulfillment looks like:
      To send Requests, simply call the Client or Server's fulfill(...) method. It will write the specified Request to the target(s), wait for it to be returned as fulfilled, and then return it. If it doesn't receive the Request within a designated time frame, it'll throw a RequestTimeoutException. Requests use System.nanoTime() as an identifier to ensure the originally sent Request is returned at the end of the method call. This is a failsafe to ensure you don't accidentally return a different Request to the one that was originally sent out.
      Classes
      That's it. Here are the classes:
       
    • By rilumz
      so I have the bot training outside of relleka and every time it leaves the area to re-aggro the crabs it doesn't walk back up and start training again. kind of annoying seeing as i paid for the VIP and the optimus combat bot. would appreciate any help regarding this malfunction
       
    • By zoxind
      I've written my first, I would say for now basic script for combat training. 
      One of the main reasons why I chose to use Tribot is because of abc2. But while reading the post on the tutorial on how to implement it in your own code (
      ) I didn't really understand the method(the way) on how to implement it in code. 
      Could anyone please send me a personal message with an explanation on how to implement it correctly, or write a reply here.
      It would be very nice, if you would include an actual code example of it, that would help me to understand it better.
      Thank you in advance.
    • By Iwish Ucould
      Hello, I am trying to purchase credits for VIP yet it says that my paypal isnt verified? I verified the email a little while ago and I keep getting the same error message.
    • By grammatoncleric
      Super basic script, I am very very very new to Java, so please be nice... No this script is not finished, but at minimum it should at least gather trout/salmon and bank it, but i cant find the script or it hasnt loaded in tribot.
       
      A picture of my  hierarchy: ImgurLink
      package scripts.LowLevelCooker; import org.tribot.api.DynamicClicking; import org.tribot.api.General; import org.tribot.api.Timing; import org.tribot.api.types.generic.Condition; import org.tribot.api2007.*; import org.tribot.api2007.types.RSObject; import org.tribot.api2007.types.RSTile; import org.tribot.script.Script; import org.tribot.script.ScriptManifest; import org.tribot.script.interfaces.MessageListening07; // import org.tribot.script.interfaces.Painting; import java.awt.*; @ScriptManifest(authors = ("noobalicious"), name = "Low Level Gatherer", category = "Money Making", description = ("gathers trout & salmon")) public class LowLevelCooker extends Script implements MessageListening07 { final String[] AXE_NAMES = { "Bronze axe", "Iron axe", "Black axe", "Steel axe", "Mithril axe", "Adamant axe", "Rune axe", "Dragon axe"}; private final RSTile gatherTile = new RSTile(3100, 3425); private final RSTile bankTile = new RSTile(3094, 3491); private final int MINING_ANIMATION = 625; private RSObject[] depositBox; private final int DEPOSITBOX_ID = 6943; @Override public void run() { while (true) { sleep(100); if (atFood()) { if (Inventory.isFull()) { walkToBank(); } else { gatherFood(); } } else if (atBank()) { if (Inventory.isFull()) { bank(); } else { walkToFood(); } } else { if (Inventory.isFull()) { walkToBank(); } else { walkToFood(); } } } } private boolean walkToBank() { return PathFinding.aStarWalk(bankTile); } private boolean atBank() { return Player.getPosition().distanceTo(bankTile) < 5; } private boolean bank() { depositBox = Objects.findNearest(20, DEPOSITBOX_ID); if (!Banking.isDepositBoxOpen()) { if (depositBox.length > 0) { if (!DynamicClicking.clickRSObject(depositBox[0], "Deposit")) return false; } } else { if (Banking.depositAllExcept(AXE_NAMES) < 1) return false; } return Timing.waitCondition(new Condition() { @Override public boolean active() { return !Inventory.isFull(); } }, General.random(3000, 4000)); } private boolean walkToFood() { return PathFinding.aStarWalk(gatherTile); } private boolean atFood() { return Player.getPosition().distanceTo(gatherTile) < 10; } private void gatherFood() { final RSObject foodID[] = Objects.findNearest(5, 335, 333, 331, 329); RSObject foodToGather = foodID[0]; if (foodToGather.isOnScreen()) { if (DynamicClicking.clickRSObject(foodToGather, "Take")) { Timing.waitCondition(new Condition() { @Override public boolean active() { General.sleep(20, 30); return true; } }, General.random(75, 100)); } } } @Override public void duelRequestReceived(String s, String s1) { } @Override public void personalMessageReceived(String s, String s1) { } @Override public void serverMessageReceived(String s) { } @Override public void playerMessageReceived(String s, String s1) { } @Override public void tradeRequestReceived(String s) { } @Override public void clanMessageReceived(String s, String s1) { } }  
    • By MilkyWay
      iv never been able to get looking glass working since I joined, but I recently had a bit success and got it to hook on to osbuddy,
      but when I click start scripts nothing happens for me.
  • Our picks

    • This release will:

      Fix LG for both OSBuddy and RuneLite


      Fix issue where the resizable client isn't able to be made smaller (Thanks @JoeDezzy1)


      Fix detection of the logout game tab when resizable mode and side panels are enabled (Thanks @JoeDezzy1)


      Add initial support for Sentry to allow us to identify and easily debug exceptions happening with all TRiBot users


      Add methods to determine if the bank is actually loaded, and not just the overarching interface (Thanks @wastedbro)



      Upcoming updates:

      Improved CLI support


      Full Sentry support


      Much more
      • 51 replies
    • This release will:

      Fix NPE in Camera API (Thanks @wastedbro)


      Update deposit box interface ids (Thanks @Encoded)


      Add various bank methods (Thanks @wastedbro)


      Banking#getWithdrawXQuantity


      Banking#getDefaultWithdrawQuantity


      Banking#arePlaceholdersOn




      Fix resizeable minimap bug (Thanks @wastedbro)


      Remove Java 8 requirement


      Please note: TRiBot is not yet fully compatible with Java 10+




      Fix the break handler issues by ensuring the break handler thread never gets paused


      Fix broken settings hooks



      Upcoming updates:

      Improved CLI support


      Much more



      Note: If you are using LG, please restart both the RS client and TRiBot
      • 68 replies
    • This release will:

      Add support for using custom F key bindings to switch between game tabs (Thanks @erickho123)


      Fix tab opening for "Skills" and "Kourend Tasks" (Thanks @erickho123)



      Note: If you are using LG, please restart both the RS client and TRiBot
      • 34 replies
    • This release will:

      Fix an issue where breaks would stop firing


      Fix Combat#getWildernessLevel, use dynamic search for text and cache ID for later calls


      Fix an NPE in the Combat API


      Fix Mouse#leaveGame bug where the mouse wouldn't actually leave the game screen
      • 21 replies
    • This release will:

      Add LG support for Runelite


      Fix NPCChat issues


      Fix a bug where the camera angle setter would just hold down a key for 5 seconds (the timeout)


      Slightly adjust the rotation via keys to be more accurate


      Add the ability for asynchronous camera movement via keys


      Make Camera rotation via mouse more fluid, with more antiban, and work much better in resizable mode


      Add a "Camera#setCamera" method, allowing the rotation and angle to be set in parallel


      Increase the likelihood of using the mouse for camera movements


      Add support for adjusting the camera to positionable entities (Positionable#adjustCameraTo)



      Upcoming updates:

      Improved CLI support


      Much more



      Note: If you are using LG, please restart both the RS client and TRiBot
      • 59 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×