View difference between Paste ID: AktqPebX and 1gpNVyTe
SHOW: | | - or go back to the newest paste.
1
import javax.swing.*;
2
import java.awt.*;
3
import java.util.*;
4
5
import org.rsbot.event.listeners.PaintListener;
6
import org.rsbot.script.*;
7
8
9
@ScriptManifest(authors = {"Paint"}, category = "Combat", name = "Paint", version = 0.1, description = "<html><body><b>paint</b></body></html>")
10
public class paint extends Script implements PaintListener {
11
12
    int trainStat;
13
    int style = 0;
14
    int startStatLvl;
15
    int startXp;
16
    int startExp;
17
18
    String status = "Starting up";
19
20
    long startTime = System.currentTimeMillis();
21
22
    public boolean onStart(Map<String, String> args){
23
        trainStat = Integer.parseInt(JOptionPane.showInputDialog("Enter the stat to show in paint. Enter 0 for attack,1 for defence, 2 for strength, 3 for hitpoints, 4 for ranged, 6 for magic", 4));
24
25
        startStatLvl = skills.getCurrentSkillLevel(trainStat);
26
        startXp = skills.getCurrentSkillExp(trainStat);
27
        startExp = skills.getCurrentSkillExp(trainStat);
28
        return true;
29
    }
30
31
    public void onFinish(){
32
    }
33
34
    public void onRepaint(Graphics g){
35
        if (isLoggedIn()) {
36
            long millis = System.currentTimeMillis() - startTime;
37
            long hours = millis / (1000 * 60 * 60);
38
            millis -= hours * (1000 * 60 * 60);
39
            long minutes = millis / (1000 * 60);
40
            millis -= minutes * (1000 * 60);
41
            long seconds = millis / 1000;
42
            int LevelChange = skills.getCurrentSkillLevel(trainStat)
43
                    - startStatLvl;
44
            int XPChange = skills.getCurrentSkillExp(trainStat) - startXp;
45
            float xpPerSec = 0;
46
            if ((minutes > 0 || hours > 0 || seconds > 0) && XPChange > 0) {
47
                xpPerSec = ((float) XPChange)
48
                        / (float) (seconds + (minutes * 60) + (hours * 60 * 60));
49
            }
50
            float xpPerMin = xpPerSec * 60;
51
            float xpPerHour = xpPerMin * 60;
52
            float timeTillLvl = 9999;
53
            float secsTillLvl = (int) timeTillLvl;
54
            float minsTillLvl = (int) timeTillLvl;
55
            float hoursTillLvl = (int) timeTillLvl;
56
            if (xpPerSec > 0) {
57
                secsTillLvl = skills.getXPToNextLevel(trainStat) / xpPerSec;
58
            }
59
            if (xpPerMin > 0) {
60
                minsTillLvl = skills.getXPToNextLevel(trainStat) / xpPerMin;
61
            }
62
            if (xpPerHour > 0) {
63
                hoursTillLvl = skills.getXPToNextLevel(trainStat) / xpPerHour;
64
            }
65
            secsTillLvl -= (int) minsTillLvl * 60;
66
            minsTillLvl -= (int) hoursTillLvl * 60;
67
68
            if (minsTillLvl < 0) {
69
                minsTillLvl = 0;
70
            }
71
            //g.setColor(BG);
72
            //g.fill3DRect(330, 20, 184, 75, true);
73
            g.setColor(new Color(200,255,255,255));
74
            g.drawString("paint", 334, 38);
75
            g.drawString("Status: " + status + " Runtime: " + hours + ":" + minutes + ":" + seconds, 334, 48);
76
            g.drawString("Levels gained: " + LevelChange, 334, 58);
77
            g.drawString(skills.statsArray[trainStat] + " Experience gained: " + (skills.getCurrentSkillExp(trainStat) - startXp), 334, 68);
78
            g.drawString(skills.statsArray[trainStat] + " Exp/Hr: " + (int) xpPerHour, 334, 78);
79
        }
80
    }
81
82
83
    public int loop() {
84
		return startExp;
85
    }
86
}