mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
2b6ff7db02
closes #177 closes #136 (hp restoring works, couldn't find the anim tho) closes #178 (should fix all the issues, let me know for sure) Also removed the object does not exist message ingame for non admins and got rid of the isBotting code when clicking objects
583 lines
12 KiB
Java
583 lines
12 KiB
Java
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
|
|
// Jad home page: http://www.kpdus.com/jad.html
|
|
// Decompiler options: packimports(3)
|
|
|
|
import javax.swing.*;
|
|
import java.applet.Applet;
|
|
import java.awt.*;
|
|
import java.awt.event.FocusEvent;
|
|
import java.awt.event.FocusListener;
|
|
import java.awt.event.KeyEvent;
|
|
import java.awt.event.KeyListener;
|
|
import java.awt.event.MouseEvent;
|
|
import java.awt.event.MouseListener;
|
|
import java.awt.event.MouseMotionListener;
|
|
import java.awt.event.WindowEvent;
|
|
import java.awt.event.WindowListener;
|
|
|
|
@SuppressWarnings("serial")
|
|
public class RSApplet extends Applet implements Runnable, MouseListener, MouseMotionListener, KeyListener, FocusListener, WindowListener {
|
|
|
|
public static boolean ctrlDown = false;
|
|
public static boolean shiftDown = false;
|
|
private int mouseWheelX = 0;
|
|
private int mouseWheelY = 0;
|
|
public static boolean removeShiftDropOnMenuOpen;
|
|
|
|
final void createClientFrame(int i, int j) {
|
|
myWidth = j;
|
|
myHeight = i;
|
|
gameFrame = new RSFrame(this, myWidth, myHeight);
|
|
graphics = getGameComponent().getGraphics();
|
|
fullGameScreen = new RSImageProducer(myWidth, myHeight, getGameComponent());
|
|
startRunnable(this, 1);
|
|
}
|
|
|
|
final void initClientFrame(int i, int j) {
|
|
myWidth = j;
|
|
myHeight = i;
|
|
graphics = getGameComponent().getGraphics();
|
|
fullGameScreen = new RSImageProducer(myWidth, myHeight, getGameComponent());
|
|
startRunnable(this, 1);
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
getGameComponent().addMouseListener(this);
|
|
getGameComponent().addMouseMotionListener(this);
|
|
getGameComponent().addKeyListener(this);
|
|
getGameComponent().addFocusListener(this);
|
|
if (gameFrame != null) {
|
|
gameFrame.addWindowListener(this);
|
|
}
|
|
drawLoadingText(0, "Loading...");
|
|
startUp();
|
|
int i = 0;
|
|
int j = 256;
|
|
int k = 1;
|
|
int i1 = 0;
|
|
int j1 = 0;
|
|
for (int k1 = 0; k1 < 10; k1++) {
|
|
aLongArray7[k1] = System.currentTimeMillis();
|
|
}
|
|
|
|
System.currentTimeMillis();
|
|
while (anInt4 >= 0) {
|
|
if (anInt4 > 0) {
|
|
anInt4--;
|
|
if (anInt4 == 0) {
|
|
exit();
|
|
return;
|
|
}
|
|
}
|
|
int i2 = j;
|
|
int j2 = k;
|
|
j = 300;
|
|
k = 1;
|
|
long l1 = System.currentTimeMillis();
|
|
if (aLongArray7[i] == 0L) {
|
|
j = i2;
|
|
k = j2;
|
|
} else if (l1 > aLongArray7[i]) {
|
|
j = (int) (2560 * delayTime / (l1 - aLongArray7[i]));
|
|
}
|
|
if (j < 25) {
|
|
j = 25;
|
|
}
|
|
if (j > 256) {
|
|
j = 256;
|
|
k = (int) (delayTime - (l1 - aLongArray7[i]) / 10L);
|
|
}
|
|
if (k > delayTime) {
|
|
k = delayTime;
|
|
}
|
|
aLongArray7[i] = l1;
|
|
i = (i + 1) % 10;
|
|
if (k > 1) {
|
|
for (int k2 = 0; k2 < 10; k2++) {
|
|
if (aLongArray7[k2] != 0L) {
|
|
aLongArray7[k2] += k;
|
|
}
|
|
}
|
|
|
|
}
|
|
if (k < minDelay) {
|
|
k = minDelay;
|
|
}
|
|
try {
|
|
Thread.sleep(k);
|
|
} catch (InterruptedException _ex) {
|
|
j1++;
|
|
}
|
|
for (; i1 < 256; i1 += j) {
|
|
clickMode3 = clickMode1;
|
|
saveClickX = clickX;
|
|
saveClickY = clickY;
|
|
aLong29 = clickTime;
|
|
clickMode1 = 0;
|
|
processGameLoop();
|
|
readIndex = writeIndex;
|
|
}
|
|
|
|
i1 &= 0xff;
|
|
if (delayTime > 0) {
|
|
fps = 1000 * j / (delayTime * 256);
|
|
}
|
|
processDrawing();
|
|
if (shouldDebug) {
|
|
System.out.println("ntime:" + l1);
|
|
for (int l2 = 0; l2 < 10; l2++) {
|
|
int i3 = (i - l2 - 1 + 20) % 10;
|
|
System.out.println("otim" + i3 + ":" + aLongArray7[i3]);
|
|
}
|
|
|
|
System.out.println("fps:" + fps + " ratio:" + j + " count:" + i1);
|
|
System.out.println("del:" + k + " deltime:" + delayTime + " mindel:" + minDelay);
|
|
System.out.println("intex:" + j1 + " opos:" + i);
|
|
shouldDebug = false;
|
|
j1 = 0;
|
|
}
|
|
}
|
|
if (anInt4 == -1) {
|
|
exit();
|
|
}
|
|
}
|
|
|
|
private void exit() {
|
|
anInt4 = -2;
|
|
cleanUpForQuit();
|
|
if (gameFrame != null) {
|
|
try {
|
|
Thread.sleep(1000L);
|
|
} catch (Exception _ex) {
|
|
}
|
|
try {
|
|
System.exit(0);
|
|
} catch (Throwable _ex) {
|
|
}
|
|
}
|
|
}
|
|
|
|
final void method4(int i) {
|
|
delayTime = 1000 / i;
|
|
}
|
|
|
|
@Override
|
|
public final void start() {
|
|
if (anInt4 >= 0) {
|
|
anInt4 = 0;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public final void stop() {
|
|
if (anInt4 >= 0) {
|
|
anInt4 = 4000 / delayTime;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public final void destroy() {
|
|
anInt4 = -1;
|
|
try {
|
|
Thread.sleep(5000L);
|
|
} catch (Exception _ex) {
|
|
}
|
|
if (anInt4 == -1) {
|
|
exit();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public final void update(Graphics g) {
|
|
if (graphics == null) {
|
|
graphics = g;
|
|
}
|
|
shouldClearScreen = true;
|
|
raiseWelcomeScreen();
|
|
}
|
|
|
|
@Override
|
|
public final void paint(Graphics g) {
|
|
if (graphics == null) {
|
|
graphics = g;
|
|
}
|
|
shouldClearScreen = true;
|
|
raiseWelcomeScreen();
|
|
}
|
|
|
|
public boolean mouseWheelDown;
|
|
|
|
@Override
|
|
public final void mousePressed(MouseEvent mouseevent) {
|
|
int i = mouseevent.getX();
|
|
int j = mouseevent.getY();
|
|
if (gameFrame != null) {
|
|
i -= 4;
|
|
j -= 22;
|
|
}
|
|
idleTime = 0;
|
|
clickX = i;
|
|
clickY = j;
|
|
clickTime = System.currentTimeMillis();
|
|
if (mouseevent.getButton() == 2) {
|
|
mouseWheelDown = true;
|
|
mouseWheelX = mouseevent.getX();
|
|
mouseWheelY = mouseevent.getY();
|
|
return;
|
|
}
|
|
|
|
if (mouseevent.isMetaDown()) {
|
|
clickMode1 = 2;
|
|
clickMode2 = 2;
|
|
} else {
|
|
clickMode1 = 1;
|
|
clickMode2 = 1;
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public final void mouseReleased(MouseEvent mouseevent) {
|
|
idleTime = 0;
|
|
clickMode2 = 0;
|
|
mouseWheelDown = false;
|
|
}
|
|
|
|
@Override
|
|
public final void mouseClicked(MouseEvent mouseevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void mouseEntered(MouseEvent mouseevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void mouseExited(MouseEvent mouseevent) {
|
|
idleTime = 0;
|
|
mouseX = -1;
|
|
mouseY = -1;
|
|
}
|
|
|
|
public final void mouseDragged(MouseEvent e) {
|
|
int x = e.getX();
|
|
int y = e.getY();
|
|
if(gameFrame != null) {
|
|
Insets insets = gameFrame.getInsets();
|
|
x -= insets.left;//4
|
|
y -= insets.top;//22
|
|
}
|
|
if (mouseWheelDown) {
|
|
y = mouseWheelX - e.getX();
|
|
int k = mouseWheelY - e.getY();
|
|
mouseWheelDragged(y, -k);
|
|
mouseWheelX = e.getX();
|
|
mouseWheelY = e.getY();
|
|
return;
|
|
}
|
|
idleTime = 0;
|
|
mouseX = x;
|
|
mouseY = y;
|
|
}
|
|
void mouseWheelDragged(int param1, int param2) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void mouseMoved(MouseEvent mouseevent) {
|
|
int i = mouseevent.getX();
|
|
int j = mouseevent.getY();
|
|
if (gameFrame != null) {
|
|
i -= 4;
|
|
j -= 22;
|
|
}
|
|
idleTime = 0;
|
|
mouseX = i;
|
|
mouseY = j;
|
|
}
|
|
|
|
@Override
|
|
public void keyPressed(KeyEvent keyevent) {
|
|
idleTime = 0;
|
|
int i = keyevent.getKeyCode();
|
|
int j = keyevent.getKeyChar();
|
|
switch (keyevent.getKeyCode())
|
|
{
|
|
case KeyEvent.VK_SHIFT:
|
|
shiftDown = true;
|
|
break;
|
|
case KeyEvent.VK_CONTROL:
|
|
ctrlDown = true;
|
|
break;
|
|
}
|
|
if (j < 30) {
|
|
j = 0;
|
|
}
|
|
if (i == 37) {
|
|
j = 1;
|
|
}
|
|
if (i == 39) {
|
|
j = 2;
|
|
}
|
|
if (i == 38) {
|
|
j = 3;
|
|
}
|
|
if (i == 40) {
|
|
j = 4;
|
|
}
|
|
if (i == 17) {
|
|
j = 5;
|
|
}
|
|
if (i == 8) {
|
|
j = 8;
|
|
}
|
|
if (i == 127) {
|
|
j = 8;
|
|
}
|
|
if (i == 9) {
|
|
j = 9;
|
|
}
|
|
if (i == 10) {
|
|
j = 10;
|
|
}
|
|
if (i >= 112 && i <= 123) {
|
|
j = 1008 + i - 112;
|
|
}
|
|
if (i == 36) {
|
|
j = 1000;
|
|
}
|
|
if (i == 35) {
|
|
j = 1001;
|
|
}
|
|
if (i == 33) {
|
|
j = 1002;
|
|
}
|
|
if (i == 34) {
|
|
j = 1003;
|
|
}
|
|
if (j > 0 && j < 128) {
|
|
keyArray[j] = 1;
|
|
}
|
|
if (j > 4) {
|
|
charQueue[writeIndex] = j;
|
|
writeIndex = writeIndex + 1 & 0x7f;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public final void keyReleased(KeyEvent keyevent) {
|
|
idleTime = 0;
|
|
int i = keyevent.getKeyCode();
|
|
char c = keyevent.getKeyChar();
|
|
switch (keyevent.getKeyCode())
|
|
{
|
|
case KeyEvent.VK_SHIFT:
|
|
shiftDown = false;
|
|
break;
|
|
case KeyEvent.VK_CONTROL:
|
|
ctrlDown = false;
|
|
break;
|
|
}
|
|
if (c < '\036') {
|
|
c = '\0';
|
|
}
|
|
if (i == 37) {
|
|
c = '\001';
|
|
}
|
|
if (i == 39) {
|
|
c = '\002';
|
|
}
|
|
if (i == 38) {
|
|
c = '\003';
|
|
}
|
|
if (i == 40) {
|
|
c = '\004';
|
|
}
|
|
if (i == 17) {
|
|
c = '\005';
|
|
}
|
|
if (i == 8) {
|
|
c = '\b';
|
|
}
|
|
if (i == 127) {
|
|
c = '\b';
|
|
}
|
|
if (i == 9) {
|
|
c = '\t';
|
|
}
|
|
if (i == 10) {
|
|
c = '\n';
|
|
}
|
|
if (c > 0 && c < '\200') {
|
|
keyArray[c] = 0;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public final void keyTyped(KeyEvent keyevent) {
|
|
}
|
|
|
|
final int readChar(int dummy) {
|
|
while (dummy >= 0) {
|
|
for (int j = 1; j > 0; j++) {
|
|
;
|
|
}
|
|
}
|
|
int k = -1;
|
|
if (writeIndex != readIndex) {
|
|
k = charQueue[readIndex];
|
|
readIndex = readIndex + 1 & 0x7f;
|
|
}
|
|
return k;
|
|
}
|
|
|
|
@Override
|
|
public final void focusGained(FocusEvent focusevent) {
|
|
awtFocus = true;
|
|
shouldClearScreen = true;
|
|
raiseWelcomeScreen();
|
|
}
|
|
|
|
@Override
|
|
public final void focusLost(FocusEvent focusevent) {
|
|
awtFocus = false;
|
|
for (int i = 0; i < 128; i++) {
|
|
keyArray[i] = 0;
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public final void windowActivated(WindowEvent windowevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void windowClosed(WindowEvent windowevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void windowClosing(WindowEvent windowevent) {
|
|
destroy();
|
|
}
|
|
|
|
@Override
|
|
public final void windowDeactivated(WindowEvent windowevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void windowDeiconified(WindowEvent windowevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void windowIconified(WindowEvent windowevent) {
|
|
}
|
|
|
|
@Override
|
|
public final void windowOpened(WindowEvent windowevent) {
|
|
}
|
|
|
|
void startUp() {
|
|
}
|
|
|
|
void processGameLoop() {
|
|
}
|
|
|
|
void cleanUpForQuit() {
|
|
}
|
|
|
|
void processDrawing() {
|
|
}
|
|
|
|
void raiseWelcomeScreen() {
|
|
}
|
|
|
|
Component getGameComponent() {
|
|
if (gameFrame != null) {
|
|
return gameFrame;
|
|
} else {
|
|
return this;
|
|
}
|
|
}
|
|
|
|
public void startRunnable(Runnable runnable, int priority) {
|
|
Thread thread = new Thread(runnable);
|
|
thread.start();
|
|
thread.setPriority(priority);
|
|
}
|
|
|
|
void drawLoadingText(int i, String s) {
|
|
while (graphics == null) {
|
|
graphics = getGameComponent().getGraphics();
|
|
try {
|
|
getGameComponent().repaint();
|
|
} catch (Exception _ex) {
|
|
}
|
|
try {
|
|
Thread.sleep(1000L);
|
|
} catch (Exception _ex) {
|
|
}
|
|
}
|
|
Font font = new Font("Helvetica", 1, 13);
|
|
FontMetrics fontmetrics = getGameComponent().getFontMetrics(font);
|
|
Font font1 = new Font("Helvetica", 0, 13);
|
|
getGameComponent().getFontMetrics(font1);
|
|
if (shouldClearScreen) {
|
|
graphics.setColor(Color.black);
|
|
graphics.fillRect(0, 0, myWidth, myHeight);
|
|
shouldClearScreen = false;
|
|
}
|
|
Color color = new Color(140, 17, 17);
|
|
int j = myHeight / 2 - 18;
|
|
graphics.setColor(color);
|
|
graphics.drawRect(myWidth / 2 - 152, j, 304, 34);
|
|
graphics.fillRect(myWidth / 2 - 150, j + 2, i * 3, 30);
|
|
graphics.setColor(Color.black);
|
|
graphics.fillRect(myWidth / 2 - 150 + i * 3, j + 2, 300 - i * 3, 30);
|
|
graphics.setFont(font);
|
|
graphics.setColor(Color.white);
|
|
graphics.drawString(s, (myWidth - fontmetrics.stringWidth(s)) / 2, j + 22);
|
|
}
|
|
|
|
RSApplet() {
|
|
delayTime = 20;
|
|
minDelay = 1;
|
|
aLongArray7 = new long[10];
|
|
shouldDebug = false;
|
|
shouldClearScreen = true;
|
|
awtFocus = true;
|
|
keyArray = new int[128];
|
|
charQueue = new int[128];
|
|
}
|
|
|
|
private int anInt4;
|
|
private int delayTime;
|
|
int minDelay;
|
|
private final long[] aLongArray7;
|
|
int fps;
|
|
boolean shouldDebug;
|
|
int myWidth;
|
|
int myHeight;
|
|
Graphics graphics;
|
|
RSImageProducer fullGameScreen;
|
|
RSFrame gameFrame;
|
|
private boolean shouldClearScreen;
|
|
boolean awtFocus;
|
|
int idleTime;
|
|
int clickMode2;
|
|
public int mouseX;
|
|
public int mouseY;
|
|
private int clickMode1;
|
|
private int clickX;
|
|
private int clickY;
|
|
private long clickTime;
|
|
int clickMode3;
|
|
int saveClickX;
|
|
int saveClickY;
|
|
long aLong29;
|
|
final int[] keyArray;
|
|
private final int[] charQueue;
|
|
private int readIndex;
|
|
private int writeIndex;
|
|
public static int anInt34;
|
|
}
|