Jump to content
TheD

[TUT] News System

Recommended Posts

Hello,

Have you tried any of my scripts with the news system? DChickens & DClay are both using it. It loads text from a .txt document, and shows them to you. And you - can update this at any point!

Place this somewhere in your script:

public ArrayList<String> getNews()	
{		
	ArrayList<String> toReturn = new ArrayList<String>();		
	try 
  	{		    
  		URL url = new URL("mywebsite.com/document.txt");		    
  		BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));		    
  		String str;		    
		while ((str = in.readLine()) != null) 
  		{		    	
  			toReturn.add(str);		    
  		}		    
  			in.close();		
  	} 
  		catch (MalformedURLException e) 
  		{			
  			System.out.println("Your firewall blocked the news loader.");		
  		} 
  		catch (IOException e) 
  		{			
  			System.out.println("Unable to connect to the news loader.");		
  		}	return toReturn;	
}

please make sure you change mywebsite.com/document.txt to the location where your news file is.

This code will return the contents of the targeted document.txt in the form of an ArrayList.

 

than add this on top of your script, together with your other variables

private ArrayList<String> latestNews = new ArrayList<String>();
private long startNewsTime = System.currentTimeMillis();

Now we are going to save the text we just downloaded from the internet - in a new arraylist. To do so, we place the following in your Run() before the script loop.

latestNews = getNews();

 

After that we put this somewhere above your onPaint function:

int newsToShow = 0;

private void getnewsdata()	
{		
	int newsTimer = (int) (System.currentTimeMillis() - startNewsTime) / 1000;		
	if(newsTimer > 8)		
	{			
		startNewsTime = System.currentTimeMillis();			
		if(newsToShow == (latestNews.size() -1)) 
			newsToShow = 0;			
		else if(newsToShow < (latestNews.size())) 
			newsToShow++;					
  	}
}

now inside your onPaint function, add the following to actually display your news :)

getnewsdata();
if(newsToShow < (latestNews.size())) 
g.drawString("NEWS: "+ latestNews.get(newsToShow), 40,40);

Happy scripting & Happy botting

Feel free to ask me any questions, I will answer them as soon as I have the time to do so.

  • Like 1

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

  • Our picks

    • This update will:

      Fix GE inventory item positioning bug


      Fix broken object hooks
        • Like
      • 21 replies
    • This release will:

      Fix some ClosedChannelException bug


      Fix bug in RSObject#getAllTiles


      Add game tab support for "Kourend Favour"
        • Like
      • 15 replies
    • This release will:

      Fix Settings UI placement bug


      Fix game object location bug


      Fix small layout bug making the client shift up and down


      Fix client crashing bug where loading the client with a small display area will cause the client to crash


      Fix annoying Linux bug relating to painting events and peers


      Fix settings saving bug where settings are saved to disk more often than they should


      Fix RSInterface#isBeingDrawn bug affecting a limited amount of people


      Drop Java 1.7 bytecode version for 1.8


      Important: Since the downloadable RS client uses Java 7, it will no longer be compatible with Looking Glass. To make up for this, we will add support for using other clients such as RuneLite (at a later date).


      This change was necessary to allow us to use Java 8 syntax. It also paves the way for Java 9/10/11 support.
        • Like
      • 40 replies
    • This update will:

      Fix the RSMenuNode bug which also fixes the bug with bank opening


      Fix the incorrect object positions bug


      Fix and re-enable the LG Objects API Accelerator


      Fix the RSObject#getAllTiles bug
        • Like
      • 22 replies
    • Try our development release by checking "Development Release" on the TRiBot Loader. Note that these new features are currently in beta.

      This release features:

      Re-sizable mode support for both LG and the regular client


      Slightly improved login bot


      Removed final access modifiers from API classes


      Added RSServer hook wrapper to get the client's cached list of server/world info


      [NEW] Bug fix for intelligent banking


      [NEW] Improvement to the stability of LG over time


      [NEW] Vastly improved the reliability and speed of Screen#getColorAt on both LG and the regular client


      [NEW] Fix LG login problems


      [NEW] Fixed re-sizable mode container bug


      [NEW] Fixed re-sizable mode mouse bug


      [NEW] Use of public constants in the Banking API


      [NEW] Use of other various constants such as Projection#NULL_PT and Screen#EMPTY_COLOR



      More features to come very soon!

      Please test it and let us know here if there are any new bugs introduced in this release.
        • Thanks
        • Like
      • 12 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×