Scriptation Posted December 15, 2015 Share Posted December 15, 2015 hey guys, my paint keeps disapearing once it has started or done something in a method? at the top of the method I have.. status = "Banking"; and once it starts doing that, on the screen the world banking changes colour and disappears for a short time? worst thing is when I have my run time it also disappears Quote Link to comment Share on other sites More sharing options...
Lemons Posted December 15, 2015 Share Posted December 15, 2015 Can you show the relevant code, such as the onPaint method? If you don't want the code public you can PM one of us scripters. Quote Link to comment Share on other sites More sharing options...
Scriptation Posted December 15, 2015 Author Share Posted December 15, 2015 Can you show the relevant code, such as the onPaint method? If you don't want the code public you can PM one of us scripters. public void onPaint(Graphics2D graphics) { timeRan = System.currentTimeMillis() - this.timeBegan; Graphics2D g = (Graphics2D) graphics; g.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF)); g.setColor(new Color(255, 255, 255)); g.setFont(new Font("Arial", 0, 13)); g.drawString(status, 200, 200); g.drawString("Time running: " + ft(timeRan), 553, 225); g.drawString("Tanned: " + made, 553, 245); an example of a method.. public void walkbank() throws InterruptedException{ status = "Walking Bank"; localWalker.walk(3276, 3176); sleep(3000); localWalker.walk(3271, 3168); } it just greys out the status and removes the run time and amount made? Quote Link to comment Share on other sites More sharing options...
Kenn Posted December 15, 2015 Share Posted December 15, 2015 public void onPaint(Graphics2D graphics) { timeRan = System.currentTimeMillis() - this.timeBegan; Graphics2D g = (Graphics2D) graphics; g.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF)); g.setColor(new Color(255, 255, 255)); g.setFont(new Font("Arial", 0, 13)); g.drawString(status, 200, 200); g.drawString("Time running: " + ft(timeRan), 553, 225); g.drawString("Tanned: " + made, 553, 245); an example of a method.. public void walkbank() throws InterruptedException{ status = "Walking Bank"; localWalker.walk(3276, 3176); sleep(3000); localWalker.walk(3271, 3168); } it just greys out the status and removes the run time and amount made? I'm not entierly sure but sleep(3000); should be changed into sleep(random(3000); Or atleast i think it should be Quote Link to comment Share on other sites More sharing options...
Scriptation Posted December 16, 2015 Author Share Posted December 16, 2015 I'm not entierly sure but sleep(3000); should be changed into sleep(random(3000); Or atleast i think it should be chaning that wouldnt work as using random picks a random number between the two numbers you give, as you only give 3000, it wouldnt work. Quote Link to comment Share on other sites More sharing options...
KEVzilla Posted December 16, 2015 Share Posted December 16, 2015 Graphics2D g = (Graphics2D) graphics; No need to cast here, since the parameter already uses Graphics2D. Quote Link to comment Share on other sites More sharing options...
Scriptation Posted December 16, 2015 Author Share Posted December 16, 2015 Graphics2D g = (Graphics2D) graphics; No need to cast here, since the parameter already uses Graphics2D. anyway to fix my problem tho? trying to make a new script now and itsn ot showing any of the paint whatso ever.. nothing in the main loop either, just a return statement? Quote Link to comment Share on other sites More sharing options...
KEVzilla Posted December 16, 2015 Share Posted December 16, 2015 anyway to fix my problem tho? trying to make a new script now and itsn ot showing any of the paint whatso ever.. nothing in the main loop either, just a return statement? Post your whole script here or PM me it. Quote Link to comment Share on other sites More sharing options...
Scriptation Posted December 16, 2015 Author Share Posted December 16, 2015 Post your whole script here or PM me it. its literally this... import java.awt.*; import java.text.DecimalFormat; import java.util.concurrent.TimeUnit; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(name = "KaramjaFisher", author = "Scriptation", version = 1.0, info = "Fishes & Banks", logo = "") public class Main extends Script{ public String status; private long timeBegan; private long timeRan; @Override public void onStart() { timeBegan = System.currentTimeMillis(); log("Starting!"); } @Override public void onExit() { log("Ending"); } @Override public int onLoop() throws InterruptedException { return 100; } private String ft(long duration) { String res = ""; long days = TimeUnit.MILLISECONDS.toDays(duration); long hours = TimeUnit.MILLISECONDS.toHours(duration) - TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS.toDays(duration)); long minutes = TimeUnit.MILLISECONDS.toMinutes(duration) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS .toHours(duration)); long seconds = TimeUnit.MILLISECONDS.toSeconds(duration) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS .toMinutes(duration)); if (days == 0) { res = (hours + ":" + minutes + ":" + seconds); } else { res = (days + ":" + hours + ":" + minutes + ":" + seconds); } return res; } @Override public void onPaint(Graphics2D g) { timeRan = System.currentTimeMillis() - this.timeBegan; Graphics2D gr = g; g.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF)); g.setColor(new Color(255, 255, 255)); g.setFont(new Font("Arial", 0, 13)); g.drawString(status, 200, 200); g.drawString("Time running: " + ft(timeRan), 553, 225); } } Quote Link to comment Share on other sites More sharing options...
FrostBug Posted December 16, 2015 Share Posted December 16, 2015 @Override public void onPaint(Graphics2D g) { timeRan = System.currentTimeMillis() - this.timeBegan; Graphics2D gr = g; g.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF)); g.setColor(new Color(255, 255, 255)); g.setFont(new Font("Arial", 0, 13)); g.drawString(status, 200, 200); g.drawString("Time running: " + ft(timeRan), 553, 225); } } Looks fine.. Tho in this particular case, 'status' is never initialized, so its probably throwing nullpointers unless drawString has some internal checks. If you did initialize it, show us the code you use to change around the status value.. Maybe there's an issue there somewhere. 1 Quote Link to comment Share on other sites More sharing options...
baseball_260 Posted December 16, 2015 Share Posted December 16, 2015 (edited) chaning that wouldnt work as using random picks a random number between the two numbers you give, as you only give 3000, it wouldnt work. Hey, sorry i can't help with your paint issue but i may be able to help with the random. there are two variations of random. The first being random(int x, int y) and the second random(int x) the second returns a random number between 0 and x (exlusive) hope this helps Edited December 16, 2015 by baseball_260 Quote Link to comment Share on other sites More sharing options...