Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Buy OSRS Gold

Sell OSRS Gold
Sign in to follow this  
Straxer

Ask for confirmation when exiting client

Recommended Posts

The "X button" too close the client is way to close to the "Re-run Script button". Please add a confirmation("Are you sure you want to exit?" question) if you are trying to close the client to avoid missclicks. Or move the "Re-run Script" button.

 

EDIT: Sorry for putting it in the "Approved" section. Can a mod pelase move the thread?

Edited by Straxer

Share this post


Link to post
Share on other sites
1 hour ago, Straxer said:

The "X button" too close the client is way to close to the "Re-run Script button". Please add a confirmation("Are you sure you want to exit?" question) if you are trying to close the client to avoid missclicks. Or move the "Re-run Script" button.

 

EDIT: Sorry for putting it in the "Approved" section. Can a mod pelase move the thread?

I think they should fix LG first , but i like your idea :)

Share this post


Link to post
Share on other sites
Just now, Rohm said:

I think they should fix LG first , but i like your idea :)

Absolutly!  And Game#getItemSelectionState needs a fix ASAP. Though it shoudn't take long to implement a confirmation popup.

 

4 minutes ago, swagg said:

No support, would be more annoying than what it'd do good. Imagine people having many clients wanting to exit them and having to double confirm every exit on a dialog window, just learn to not misclick

I guess it could be a toggle setting.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By nidus
      I thought it would be nice in case you wanted to quickly load a specific set of accounts to click through later in 'Script Queue' so the drop-down account selector doesn't get so messy...
      I quickly painted an image of what I mean below:
       
      See what I mean?  Load a specific set of accounts via preset...
      If this is a duplicate suggestion:  link to original thread, please...
    • By schenkelenkel
      Getting this error, client won't start.

    • By Rileyz
      TRiBot is looking to improve a lot of its customer relationship management, customer on boarding process, customer experience, design elements, community engagement and pretty much everything else you can imagine when it comes to marketing.
      Our goal: To ensure that the marketing done TRULY reflects the experience and does not shine an inaccurate light on what TRiBot is lacking in.
      So I ask, what do you love about TRiBot and what do you hate about TRiBot? What does O S Bot, Rune M8, PowR Bot and Dre amBot do better? (yes I purposely didn't spell it right 😂).
      Love, 
      RileyZ
    • By TheIronPride
      Hey everyone i been using looking glass for a few months now, and just today i no longer see it as an option, i only see "new Client" and "New Client (advanced)" where there is normally a "new Client (looking Glass)" option, any suggestions?
    • 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:
       
    • Guest
      By Guest
      The TriBot client should watch for it being moved to either world 385 or 386 then hop back to its previous world/a random world
      Reason: the "bot worlds"(385 & 386) are monitored by jmods.
      Example: A bot is doing its business, chopping trees, killing green dragons and fishing then it sees that its world changes, to avoid suspicion it waits a short while then hops back to its old world, or a random world as real players often forget which world they're on.
    • By Fluffee
      How to Run Most Applications Through a Proxy on both Windows and Linux
      Windows Instructions
      Note: Chrome and Firefox portable do not work with WideCap.
      1. Download WideCap from here (http://widecap.ru/en/download/)
      2. Run through the installer, and launch WideCap, you should see this screen.

      3.Go ahead and click on Settings (First option under the Widecap section on the left hand side). Then uncheck the box that says Run with system startup.

      4. Now go ahead and click on New proxy (First option under the proxies section on the left hand side).
      5.You should see this screen, in the top field enter the IP address and port (IP:Port format). Confirm that the protocol is set to SOCKS v5 (which is the default), and tick the box for Authentication if necessary. If using an authenticated proxy, enter your username in the login field, and obviously your password in the password field. Then hit the Create New button, next to Chain, and type in a name for your Proxy, then Hit OK

      6. Now that you're back to the main screen, click on the Proxy List section (Second option under the proxies section on the left hand side). Right click on your newly added proxy, and click check selected, to make sure you entered all the information correctly. If the status field rolls over to OK, you're good to go, and can move on to the next step

      7. Find WideCap in your System tray, right click, and uncheck the box that says Enable Widecap.

      8. Click on View Programs (Second option under the Programs section on the left hand side). Then drag and drop the icon for the application you want to proxify (run behind a proxy) into WideCap. WideCap supports the proxifying of both .exe and .jar files!

      9. Right Click on your newly added program, and click on Modify Application, you should see a similar screen depending on what you added. Then click on Create New... (to create a new rule)

      10. In the Chain tab, select the Proxy Chain you created earlier, then under the Main tab, give your new rule a name and hit OK. Then Hit OK again on the modify Application screen.

      11. Hit Apply and OK in the main window of WideCap, and then find it in your System Tray again, but this time click the box to Enable Widecap
      12.Open your Proxified application, and check to see if the proxy worked! If your IP is changed, congrats, you've got WideCap working!
      Linux Instructions (Based off of a Debian Installation)
      1. Open a new terminal and run this command
      sudo apt-get update && sudo apt-get install -y proxychains 2. Now that proxychains is installed, we're going to go ahead and create a user specific configuration file. To do this, we'll make a directory, then copy the standard proxychains configuration file to it and change the ownership of the configuration file to your user. Run the command below as your user.
      mkdir ~/.proxychains/ && cp /etc/proxychains.conf ~/.proxychains/proxychains.conf && sudo chown ${USER:=$(/usr/bin/id -run)} $HOME/.proxychains/proxychains.conf && sudo chgrp ${USER:=$(/usr/bin/id -run)} $HOME/.proxychains/proxychains.confroxychains.conf 3. Once the command is finished, open the proxychains config file in your favorite Linux text editor, for ease of use, I'm going to use nano. To install nano run this command
      sudo apt-get install -y nano To edit the proxychains config file, with nano, run this command
      nano ~/.proxychains/proxychains.conf 4. Now, what you'll want to do is scroll all the way down to the bottom, and you should see something like this

      That last line that says
      socks4    127.0.0.1    9050
      That's the line we'll be editing. Firstly, we'll go ahead and erase everything on that line, don't worry we'll put it back. The format for the configuration file is
      Proxy Type(lowercase) (tab) IP address (tab) Port (tab) Username (tab) Password
      Therefore if your proxy was a Socks5 proxy, with an IP of 192.168.1.1, a port of 1080, a username of Fluffee and a password of TRiBot, your final line would look like this:
      socks5    192.168.1.1    1080    Fluffee    TRiBot
      So, go ahead and modify your last line to fit your own proxy and then hit Control+X to exit, and then hit Y to save (instructions are based off of using nano to edit the file).
      5. Proxychains is now setup, but how do you use it? Go ahead and VNC into your Server and open a terminal, or open a Terminal inside your Desktop Environment (if using Linux installed on a PC). From there run the command proxychains followed by the application you would like to run, or the path to the application. For example, try running, if you have Firefox installed:
      proxychains firefox Then navigate to an IP checking website, and see if your proxy worked!
      That concludes the tutorial on how to use a proxy with Oldschool or any browser, on both Linux and Windows. If you have any questions feel free to post in the comments!
    • By blessthefall
      Hello,
      Would it be possible to remove the tournament/beta worlds (world that give you 99 everything) from eligible worlds for scripts that implement world hopping/switching capabilities? 
      This causes the scripts to stop working when switching to these worlds. 
      Thank you!
    • Guest
      By Guest
      Im new to tribot and runscape. I was told theres go money to be made selling gold off the game. For this I need proxies..I have that or can easily get them..my problem is connecting Tor with tribot, no clue how to get them to connect to each other. Is it needed for me to run multiple accounts or are the proxies good enough? Either way I would like to know how to do so
  • Our picks

    • Hi everyone,

      I'd like to thank everyone for their patience in this transition period. Since last week, we've worked out the remaining bugs with this integration.

      Some users have still been having issues with connecting their forums account to their Auth0 account. To resolve this, we've imported all forums accounts into Auth0.

      Unfortunately, the accounts which were imported today were using an unsupported password hashing algorithm. Hence, random passwords were set during the import.

      What does this mean for me?

      If you've previously linked your forums account to your Auth0 account, you don't have to do anything. Nothing changes for you.


      If you haven't logged in via our new login yet,

      Try logging in with your forums email address and the last password you used


      If you are unable to login, please use the "Forgot password" tool on the login page:
      Follow the instructions to reset your password
       
      • 1 reply
    • Hello everyone,

      Last week we tried to roll out Auth0 Login, but we lost that battle. Now it's time to win the war!

      Important changes

      When logging into the client, you'll now have to enter your Auth0 account credentials instead of your forums credentials

      Note: 2FA is still handled through your forums account (for the time being)



      Changes for existing users

      You'll have to link your Auth0 account to your forums account here: https://tribot.org/forums/settings/login/?service=11


      Auth0 accounts have been created for most existing users. Please use your forums email address and password to login.



      Important notes

      Make sure to verify your email address upon creating a new Auth0 account


      When we mention your Auth0 account, we mean your account used for auth.tribot.org as displayed below
      • 71 replies
    • To better support the upcoming changes (TRiBot X, new repository), we're switching our login handler to Auth0. Instead of logging in with the standard form, you'll now be required to login through our Auth0 application.

      All existing accounts which have been used within approximately the past year have been imported into Auth0 using the same email and password combination which has been stored on the forums.

      What does this mean for users?

      Your account credentials are now even more securely stored


      You'll be able to login via Facebook, Google, and others in the future


      Is there anything users have to do differently now?

      Existing users: You'll have to login with the standard login, open your Account Settings, then link your Auth0 account


      New users: You'll be redirected to our Auth0 app (auth.tribot.org) where you'll be able to create an account


      Why was this change made?

      The new apps we are creating (such as the new repository) aren't able to use the forums to handle user logins


      To centralize all user accounts in one area


      To ensure that the client login doesn't go down when the forums are having problems


      To speed up our development


      Other considerations

      There's no documentation or official support for using Invision Community combined with Auth0, so there are still a few kinks we're working out


      We're in the works of creating an account management panel specifically for Auth0 accounts (ETA August)


      It's not possible to change email addresses for the time being (this will be resolved this August)


      Changing passwords is a weird process for the time being. To change your password, you'll have to use the "Don't remember your password" tool on the Auth0 login page
      • 11 replies
    • Over the past month, we've been working hard on TRiBot's new repository - a much needed update. This change has been deemed necessary for TRiBot X, and will allow us to really speed up development of all aspects of TRiBot.

      Today we are going to share what we've been working on!


      Now you must be wondering what kind of features the new repository will have.... well, you'll have to be patient for a little while longer. We're still figuring out various technical aspects so we can't provide answers to all possible questions. We're also focusing on development rather than writing about it so that everyone can get access to our latest developments at lightning speed. I will however answer a few users' questions.

      We're planning on a release of this early to mid August, giving users some goodies before TRiBot X's release.

      Thank you all for being patient. I hope everyone is excited as much as I am!
      • 17 replies
    • Over the past few months, I’ve been working diligently on a new project - TRiBot X. Everything has been written from the ground up, with all of the best practices of software engineering. Every aspect of TRiBot has been re-imagined to support three main goals: flexibility, useability, and reliability.
      • 50 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...