December 15, 201510 yr 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
December 15, 201510 yr 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.
December 15, 201510 yr Author 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?
December 15, 201510 yr 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
December 16, 201510 yr Author 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.
December 16, 201510 yr Graphics2D g = (Graphics2D) graphics; No need to cast here, since the parameter already uses Graphics2D.
December 16, 201510 yr Author 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?
December 16, 201510 yr 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.
December 16, 201510 yr Author 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); } }
December 16, 201510 yr @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.
December 16, 201510 yr 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, 201510 yr by baseball_260
Create an account or sign in to comment