Compare commits
77 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a92aea8a1 | |||
| 0e484985ad | |||
| e293bde96f | |||
| d155a57380 | |||
| a2d24978a4 | |||
| af7ae6185e | |||
| e679891a2d | |||
| 48d3f64795 | |||
| 83b2c119b3 | |||
| d4179ca6b7 | |||
| 6fecac4b55 | |||
| 566d04744c | |||
| 4f6afe496c | |||
| fc0782104b | |||
| 9e285b96c5 | |||
| 94026b854f | |||
| 0105314d04 | |||
| 58796561a3 | |||
| 55ca851d07 | |||
| 88a9562e03 | |||
| 491a7db451 | |||
| 5d6827d82b | |||
| 0721314a6d | |||
| e6ff7550f5 | |||
| a26d5cf7eb | |||
| 572c80b32e | |||
| fad41f9947 | |||
| 9c5ea6ec1d | |||
| 81e6344dd8 | |||
| 67efff663e | |||
| 64f9654377 | |||
| 2da0029a41 | |||
| 9d5d1c57ac | |||
| 5db6da334d | |||
| eab153ee3f | |||
| b2212d357e | |||
| a5df216be9 | |||
| 1a2a7e2b9b | |||
| 42727bde11 | |||
| f59e396359 | |||
| c42dc29f73 | |||
| 628d8b98da | |||
| 209dae48a6 | |||
| fa7418929e | |||
| d7a70fdfdc | |||
| ec77731ff5 | |||
| 64d4990c99 | |||
| 0754b24aa7 | |||
| 32947bbd15 | |||
| d5490bd39d | |||
| aab9cfe951 | |||
| 15d6b9f35a | |||
| ccf628f0b1 | |||
| da8471673f | |||
| 62b26c5585 | |||
| e517be1bfb | |||
| afdf369104 | |||
| 8e750096cd | |||
| 7f79dff665 | |||
| 6e69dea45a | |||
| e46b7142c3 | |||
| aa6dbba8e2 | |||
| 66a554aeeb | |||
| 8cf8a4db2c | |||
| 1ad531d244 | |||
| f56402845b | |||
| 9fd4b470c8 | |||
| 5dea59f903 | |||
| 7514826803 | |||
| 81cd126a33 | |||
| 54a3e5cdec | |||
| 63055f9181 | |||
| 9a3cf5867a | |||
| c5c4471a4f | |||
| 500441d551 | |||
| 803346323b | |||
| e1a8d85408 |
@@ -1,4 +1,4 @@
|
|||||||
# This workflow will build a Java project with Maven
|
# This workflow will build a Java project with Maven
|
||||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
name: Java CI with Maven
|
name: Java CI with Maven
|
||||||
@@ -11,14 +11,28 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Set up JDK 1.8
|
- name: Set up JDK 1.8
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v2
|
||||||
with:
|
with:
|
||||||
java-version: 1.8
|
distribution: 'zulu'
|
||||||
|
java-version: '8'
|
||||||
|
cache: 'maven'
|
||||||
- name: Build with Maven
|
- name: Build with Maven
|
||||||
run: mvn -B clean install
|
id: build
|
||||||
|
run: |
|
||||||
|
mvn -B clean package
|
||||||
|
mkdir -p ~/artifacts
|
||||||
|
cp "2006Scape Client/target/client-1.0-jar-with-dependencies.jar" ~/artifacts/Client.jar
|
||||||
|
cp "2006Scape Server/target/server-1.0-jar-with-dependencies.jar" ~/artifacts/Server.jar
|
||||||
|
cp "2006Scape Server/ServerConfig.Sample.json" ~/artifacts/ServerConfig.json
|
||||||
|
cp SinglePlayer.bat ~/artifacts/
|
||||||
|
cp -r "2006Scape Server/plugins" ~/artifacts/
|
||||||
|
cp -r "2006Scape Server/data" ~/artifacts/
|
||||||
|
- name: Publish build to GH Actions
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
path: ~/artifacts/*
|
||||||
|
name: 2006Scape-SinglePlayer
|
||||||
|
|||||||
@@ -2,37 +2,90 @@ import java.math.BigInteger;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* ClientSettings
|
* ClientSettings
|
||||||
|
*
|
||||||
* @author Andrew (I'm A Boss on Rune-Server and Mr Extremez on Mopar & Runelocus)
|
* @author Andrew (I'm A Boss on Rune-Server and Mr Extremez on Mopar & Runelocus)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class ClientSettings {
|
public class ClientSettings {
|
||||||
|
/**
|
||||||
public static String SNOW_MONTH = ".12";
|
* @QoL
|
||||||
/**
|
* Enables Server-Wide Snow In The Designated Month
|
||||||
* The Servers Name
|
*/
|
||||||
*/
|
public static String SNOW_MONTH = ".12";
|
||||||
public final static String SERVER_NAME = "2006Scape";
|
/**
|
||||||
/**
|
* The Servers Name
|
||||||
* The Servers Website
|
*/
|
||||||
*/
|
public final static String SERVER_NAME = "2006Scape";
|
||||||
public final static String SERVER_WEBSITE = "www.2006Scape.org";
|
/**
|
||||||
/**
|
* The Servers Website
|
||||||
* The Servers Ip
|
*/
|
||||||
*
|
public final static String SERVER_WEBSITE = "https://2006Scape.org/";
|
||||||
* You don't have to change this, the client will automatically connect to the server
|
/**
|
||||||
* on localhost (Assuming you're running Client and LocalGame respectively)
|
* The Servers Ip
|
||||||
*
|
* You don't have to change this, the client will automatically connect to the server
|
||||||
*/
|
* on localhost (Assuming you're running Client and LocalGame respectively)
|
||||||
public static String SERVER_IP = "www.2006Scape.org";
|
*/
|
||||||
/**
|
public static String SERVER_IP = "server.2006scape.org";
|
||||||
* The Npc Bits for the Server
|
/**
|
||||||
*/
|
* The Servers World
|
||||||
public final static int NPC_BITS = 12;
|
* This Determines The Port The Server Will Connect On
|
||||||
/**
|
* World 1 Will Connect On Port 43594
|
||||||
* The Servers Uid
|
* World 2 Will Connect On Port 43598
|
||||||
*/
|
*/
|
||||||
public final static int UID = 314268572;
|
public static int SERVER_WORLD = 1;
|
||||||
|
|
||||||
public static final BigInteger RSA_MODULUS = new BigInteger("91553247461173033466542043374346300088148707506479543786501537350363031301992107112953015516557748875487935404852620239974482067336878286174236183516364787082711186740254168914127361643305190640280157664988536979163450791820893999053469529344247707567448479470137716627440246788713008490213212272520901741443");
|
/**
|
||||||
public static final BigInteger RSA_EXPONENT = new BigInteger("65537");
|
* @QoL
|
||||||
|
* If false, the client will run the on demand fetcher based on SERVER_WORLD. If true it will
|
||||||
|
* only connect to the server on world 1/Port 43594.
|
||||||
|
*/
|
||||||
|
public static boolean SINGLE_ONDEMAND = true;
|
||||||
|
|
||||||
|
public static boolean SHOW_NAVBAR = true;
|
||||||
|
public static final String NAV_MAINMENU_LINK = SERVER_WEBSITE;
|
||||||
|
public static final String NAV_WORLDMAP_LINK = SERVER_WEBSITE + "img/worldmap.jpg";
|
||||||
|
public static final String NAV_MANUAL_LINK = SERVER_WEBSITE;
|
||||||
|
public static final String NAV_RULES_LINK = SERVER_WEBSITE + "kbase/rules.php";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @QoL
|
||||||
|
* Enables A Custom Tab With Various QoL Changes
|
||||||
|
*/
|
||||||
|
public static boolean CUSTOM_SETTINGS_TAB = false;
|
||||||
|
/**
|
||||||
|
* @QoL
|
||||||
|
* Enables Bilinear Minimap Filtering Which Smooths Out Lines And Sprites On The Minimap
|
||||||
|
*/
|
||||||
|
public static boolean BILINEAR_MINIMAP_FILTERING = false;
|
||||||
|
/**
|
||||||
|
* @QoL
|
||||||
|
* fixes overlapping lines drawn on transparent objects by post-incrementing the offset
|
||||||
|
* note: there's 2 other instances that haven't been updated in Texture.java (misnamed) because rarely used like this
|
||||||
|
*/
|
||||||
|
public static boolean FIX_TRANSPARENCY_OVERFLOW = false;
|
||||||
|
/**
|
||||||
|
* @QoL
|
||||||
|
* render the game to 512px instead of 511px (black line on right side)
|
||||||
|
*/
|
||||||
|
public static boolean FULL_512PX_VIEWPORT = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @QoL
|
||||||
|
* Enables/Disables FileServer CRC Checking For Cache Updates
|
||||||
|
* FileServer Must Be Running Before Starting The Client If This Is True
|
||||||
|
*/
|
||||||
|
public static boolean CHECK_CRC = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Npc Bits for the Server
|
||||||
|
*/
|
||||||
|
public final static int NPC_BITS = 12;
|
||||||
|
/**
|
||||||
|
* The Servers Uid
|
||||||
|
*/
|
||||||
|
public final static int UID = 314268572;
|
||||||
|
|
||||||
|
public static final BigInteger RSA_MODULUS = new BigInteger("91553247461173033466542043374346300088148707506479543786501537350363031301992107112953015516557748875487935404852620239974482067336878286174236183516364787082711186740254168914127361643305190640280157664988536979163450791820893999053469529344247707567448479470137716627440246788713008490213212272520901741443");
|
||||||
|
public static final BigInteger RSA_EXPONENT = new BigInteger("65537");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ public class DrawingArea extends NodeSub {
|
|||||||
topY = 0;
|
topY = 0;
|
||||||
bottomX = width;
|
bottomX = width;
|
||||||
bottomY = height;
|
bottomY = height;
|
||||||
centerX = bottomX - 1;
|
if (ClientSettings.FULL_512PX_VIEWPORT) {
|
||||||
|
centerX = bottomX;
|
||||||
|
} else {
|
||||||
|
centerX = bottomX - 1;
|
||||||
|
}
|
||||||
centerY = bottomX / 2;
|
centerY = bottomX / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,7 +41,11 @@ public class DrawingArea extends NodeSub {
|
|||||||
topY = l;
|
topY = l;
|
||||||
bottomX = k;
|
bottomX = k;
|
||||||
bottomY = i;
|
bottomY = i;
|
||||||
centerX = bottomX - 1;
|
if (ClientSettings.FULL_512PX_VIEWPORT) {
|
||||||
|
centerX = bottomX;
|
||||||
|
} else {
|
||||||
|
centerX = bottomX - 1;
|
||||||
|
}
|
||||||
centerY = bottomX / 2;
|
centerY = bottomX / 2;
|
||||||
anInt1387 = bottomY / 2;
|
anInt1387 = bottomY / 2;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import java.text.DecimalFormat;
|
|||||||
import java.text.DecimalFormatSymbols;
|
import java.text.DecimalFormatSymbols;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.zip.CRC32;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NOTICE: IF YOU CHANGE ANYTHING IN GAME.JAVA, PLEASE COPY-PASTE THE WHOLE CLASS OVER TO LOCALGAME.JAVA
|
* NOTICE: IF YOU CHANGE ANYTHING IN GAME.JAVA, PLEASE COPY-PASTE THE WHOLE CLASS OVER TO LOCALGAME.JAVA
|
||||||
@@ -1807,7 +1808,7 @@ public class Game extends RSApplet {
|
|||||||
invBack.method361(0, 0);
|
invBack.method361(0, 0);
|
||||||
if (invOverlayInterfaceID == -1) {
|
if (invOverlayInterfaceID == -1) {
|
||||||
if (tabInterfaceIDs[tabID] != -1) {
|
if (tabInterfaceIDs[tabID] != -1) {
|
||||||
if (tabID == 7) {
|
if (tabID == 7 && ClientSettings.CUSTOM_SETTINGS_TAB) {
|
||||||
try {
|
try {
|
||||||
int centerX = 95;
|
int centerX = 95;
|
||||||
int currentY = 10;
|
int currentY = 10;
|
||||||
@@ -1829,10 +1830,13 @@ public class Game extends RSApplet {
|
|||||||
aTextDrawingArea_1271.textCenterShadow(Color.WHITE.hashCode(), centerX, WorldController.drawDistance + " tiles", currentY + textBottom, true);
|
aTextDrawingArea_1271.textCenterShadow(Color.WHITE.hashCode(), centerX, WorldController.drawDistance + " tiles", currentY + textBottom, true);
|
||||||
|
|
||||||
drawButton(customSettingShowExperiencePerHour, centerX - 73, currentY += 40, 146);
|
drawButton(customSettingShowExperiencePerHour, centerX - 73, currentY += 40, 146);
|
||||||
aTextDrawingArea_1271.textCenterShadow(customSettingShowExperiencePerHour ? Color.YELLOW.hashCode() : Color.YELLOW.hashCode(), centerX, "show exp info", currentY + textMiddle, true);
|
aTextDrawingArea_1271.textCenterShadow(Color.YELLOW.hashCode(), centerX, "show exp info", currentY + textMiddle, true);
|
||||||
|
|
||||||
drawButton(showInfo, centerX - 73, currentY += 40, 146);
|
drawButton(showInfo, centerX - 73, currentY += 40, 146);
|
||||||
aTextDrawingArea_1271.textCenterShadow(showInfo ? Color.YELLOW.hashCode() : Color.YELLOW.hashCode(), centerX, "show debug info", currentY + textMiddle, true);
|
aTextDrawingArea_1271.textCenterShadow(Color.YELLOW.hashCode(), centerX, "show debug info", currentY + textMiddle, true);
|
||||||
|
|
||||||
|
drawButton(customSettingVisualFixes, centerX - 73, currentY += 40, 146);
|
||||||
|
aTextDrawingArea_1271.textCenterShadow(Color.YELLOW.hashCode(), centerX, "visual fixes", currentY + textMiddle, true);
|
||||||
} catch (Exception e) { }
|
} catch (Exception e) { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3429,11 +3433,12 @@ public class Game extends RSApplet {
|
|||||||
}
|
}
|
||||||
} catch (Exception _ex) {
|
} catch (Exception _ex) {
|
||||||
}
|
}
|
||||||
if (abyte0 != null) {
|
if(abyte0 != null && ClientSettings.CHECK_CRC) {
|
||||||
// aCRC32_930.reset();
|
aCRC32_930.reset();
|
||||||
// aCRC32_930.update(abyte0);
|
aCRC32_930.update(abyte0);
|
||||||
// int i1 = (int)aCRC32_930.getValue();
|
int i1 = (int)aCRC32_930.getValue();
|
||||||
// if(i1 != j)
|
if(i1 != j)
|
||||||
|
abyte0 = null;
|
||||||
}
|
}
|
||||||
if (abyte0 != null) {
|
if (abyte0 != null) {
|
||||||
StreamLoader streamLoader = new StreamLoader(abyte0);
|
StreamLoader streamLoader = new StreamLoader(abyte0);
|
||||||
@@ -3480,12 +3485,20 @@ public class Game extends RSApplet {
|
|||||||
} catch (Exception _ex) {
|
} catch (Exception _ex) {
|
||||||
decompressors[0] = null;
|
decompressors[0] = null;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* if(abyte0 != null) { aCRC32_930.reset();
|
if(abyte0 != null && ClientSettings.CHECK_CRC)
|
||||||
* aCRC32_930.update(abyte0); int i3 =
|
{
|
||||||
* (int)aCRC32_930.getValue(); if(i3 != j) { abyte0 = null;
|
aCRC32_930.reset();
|
||||||
* j1++; s2 = "Checksum error: " + i3; } }
|
aCRC32_930.update(abyte0);
|
||||||
*/
|
int i3 = (int)aCRC32_930.getValue();
|
||||||
|
if(i3 != j)
|
||||||
|
{
|
||||||
|
abyte0 = null;
|
||||||
|
j1++;
|
||||||
|
s2 = "Checksum error: " + i3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} catch (IOException ioexception) {
|
} catch (IOException ioexception) {
|
||||||
if (s2.equals("Unknown error")) {
|
if (s2.equals("Unknown error")) {
|
||||||
s2 = "Connection error";
|
s2 = "Connection error";
|
||||||
@@ -4662,7 +4675,10 @@ public class Game extends RSApplet {
|
|||||||
mouseDetection.running = false;
|
mouseDetection.running = false;
|
||||||
}
|
}
|
||||||
mouseDetection = null;
|
mouseDetection = null;
|
||||||
onDemandFetcher.disable();
|
if (onDemandFetcher != null) {
|
||||||
|
// prevent an exception if the client hasn't connected but tries to close the client, so it will actually close
|
||||||
|
onDemandFetcher.disable();
|
||||||
|
}
|
||||||
onDemandFetcher = null;
|
onDemandFetcher = null;
|
||||||
aStream_834 = null;
|
aStream_834 = null;
|
||||||
stream = null;
|
stream = null;
|
||||||
@@ -4803,9 +4819,6 @@ public class Game extends RSApplet {
|
|||||||
Component getGameComponent() {
|
Component getGameComponent() {
|
||||||
if (Signlink.mainapp != null) {
|
if (Signlink.mainapp != null) {
|
||||||
return Signlink.mainapp;
|
return Signlink.mainapp;
|
||||||
}
|
|
||||||
if (super.gameFrame != null) {
|
|
||||||
return super.gameFrame;
|
|
||||||
} else {
|
} else {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -5021,12 +5034,12 @@ public class Game extends RSApplet {
|
|||||||
if (inputString.equals("::gfxtgl") || inputString.equals("::tglgfx") || inputString.equals("::togglerender") || inputString.equals("::togglegfx")) {
|
if (inputString.equals("::gfxtgl") || inputString.equals("::tglgfx") || inputString.equals("::togglerender") || inputString.equals("::togglegfx")) {
|
||||||
graphicsEnabled = !graphicsEnabled;
|
graphicsEnabled = !graphicsEnabled;
|
||||||
}
|
}
|
||||||
if (myPrivilege >= 0) {
|
if (myPrivilege >= 2) {
|
||||||
if(inputString.equals("::noclip"))
|
if (inputString.equals("::noclip"))
|
||||||
for(int k1 = 0; k1 < 4; k1++)
|
for (int k1 = 0; k1 < 4; k1++)
|
||||||
for(int i2 = 1; i2 < 103; i2++)
|
for (int i2 = 1; i2 < 103; i2++)
|
||||||
for(int k2 = 1; k2 < 103; k2++)
|
for (int k2 = 1; k2 < 103; k2++)
|
||||||
aClass11Array1230[k1].anIntArrayArray294[i2][k2] = 0;
|
aClass11Array1230[k1].anIntArrayArray294[i2][k2] = 0;
|
||||||
if (inputString.equals("::clientdrop")) {
|
if (inputString.equals("::clientdrop")) {
|
||||||
dropClient();
|
dropClient();
|
||||||
}
|
}
|
||||||
@@ -5060,6 +5073,7 @@ public class Game extends RSApplet {
|
|||||||
onDemandFetcher.method563((byte) 1, 2, j1);
|
onDemandFetcher.method563((byte) 1, 2, j1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (inputString.startsWith("::dd")) {
|
if (inputString.startsWith("::dd")) {
|
||||||
String[] args = inputString.split(" ");
|
String[] args = inputString.split(" ");
|
||||||
int distance = 25;
|
int distance = 25;
|
||||||
@@ -5078,7 +5092,6 @@ public class Game extends RSApplet {
|
|||||||
if (inputString.equals("::dataon")) {
|
if (inputString.equals("::dataon")) {
|
||||||
showInfo = !showInfo;
|
showInfo = !showInfo;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (inputString.startsWith("::")) {
|
if (inputString.startsWith("::")) {
|
||||||
stream.createFrame(103);
|
stream.createFrame(103);
|
||||||
stream.writeWordBigEndian(inputString.length() - 1);
|
stream.writeWordBigEndian(inputString.length() - 1);
|
||||||
@@ -5597,12 +5610,13 @@ public class Game extends RSApplet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int customTabAction = 0;
|
int customTabAction = 0;
|
||||||
boolean customSettingVisiblePlayerNames = true;
|
static boolean customSettingVisiblePlayerNames = false;
|
||||||
int customSettingMinItemValue = 1000;
|
static int customSettingMinItemValue = Integer.MAX_VALUE;
|
||||||
boolean customSettingShowExperiencePerHour = false;
|
boolean customSettingShowExperiencePerHour = false;
|
||||||
long customSettingShowExperiencePerHourStartExp = 0;
|
long customSettingShowExperiencePerHourStartExp = 0;
|
||||||
long customSettingShowExperiencePerHourStart = System.currentTimeMillis();
|
long customSettingShowExperiencePerHourStart = System.currentTimeMillis();
|
||||||
int customSettingShowExperiencePerHourStartLevels = 0;
|
int customSettingShowExperiencePerHourStartLevels = 0;
|
||||||
|
boolean customSettingVisualFixes = true;
|
||||||
|
|
||||||
public void processTabClick() {
|
public void processTabClick() {
|
||||||
if (super.clickMode3 == 1) {
|
if (super.clickMode3 == 1) {
|
||||||
@@ -5641,7 +5655,7 @@ public class Game extends RSApplet {
|
|||||||
tabID = 6;
|
tabID = 6;
|
||||||
tabAreaAltered = true;
|
tabAreaAltered = true;
|
||||||
}
|
}
|
||||||
if (super.saveClickX >= 540 && super.saveClickX <= 574 && super.saveClickY >= 466 && super.saveClickY < 502 && tabInterfaceIDs[7] != -1) {
|
if (super.saveClickX >= 540 && super.saveClickX <= 574 && super.saveClickY >= 466 && super.saveClickY < 502 && tabInterfaceIDs[7] != -1 && ClientSettings.CUSTOM_SETTINGS_TAB) {
|
||||||
/* Unused tab bottom left */
|
/* Unused tab bottom left */
|
||||||
needDrawTabArea = true;
|
needDrawTabArea = true;
|
||||||
tabID = 7;
|
tabID = 7;
|
||||||
@@ -5680,7 +5694,7 @@ public class Game extends RSApplet {
|
|||||||
if (invOverlayInterfaceID == -1) {
|
if (invOverlayInterfaceID == -1) {
|
||||||
if (tabInterfaceIDs[tabID] != -1) {
|
if (tabInterfaceIDs[tabID] != -1) {
|
||||||
// Handle our custom tab
|
// Handle our custom tab
|
||||||
if (tabID == 7 && super.saveClickX >= 575 && super.saveClickX <= 720 && super.saveClickY >= 210 && super.saveClickY <= 465) {
|
if (tabID == 7 && ClientSettings.CUSTOM_SETTINGS_TAB && super.saveClickX >= 575 && super.saveClickX <= 720 && super.saveClickY >= 210 && super.saveClickY <= 465) {
|
||||||
int startY = 217 + 3;
|
int startY = 217 + 3;
|
||||||
if (super.saveClickY >= startY && super.saveClickY <= (startY + 30)) {
|
if (super.saveClickY >= startY && super.saveClickY <= (startY + 30)) {
|
||||||
customSettingVisiblePlayerNames = !customSettingVisiblePlayerNames;
|
customSettingVisiblePlayerNames = !customSettingVisiblePlayerNames;
|
||||||
@@ -5714,6 +5728,13 @@ public class Game extends RSApplet {
|
|||||||
if (super.saveClickY >= startY && super.saveClickY <= (startY + 30)) {
|
if (super.saveClickY >= startY && super.saveClickY <= (startY + 30)) {
|
||||||
showInfo= !showInfo;
|
showInfo= !showInfo;
|
||||||
}
|
}
|
||||||
|
startY += 40;
|
||||||
|
if (super.saveClickY >= startY && super.saveClickY <= (startY + 30)) {
|
||||||
|
customSettingVisualFixes = !customSettingVisualFixes;
|
||||||
|
ClientSettings.BILINEAR_MINIMAP_FILTERING = !ClientSettings.BILINEAR_MINIMAP_FILTERING;
|
||||||
|
ClientSettings.FIX_TRANSPARENCY_OVERFLOW = !ClientSettings.FIX_TRANSPARENCY_OVERFLOW;
|
||||||
|
ClientSettings.FULL_512PX_VIEWPORT = !ClientSettings.FULL_512PX_VIEWPORT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5927,7 +5948,7 @@ public class Game extends RSApplet {
|
|||||||
loginMessage2 = "Connecting to server...";
|
loginMessage2 = "Connecting to server...";
|
||||||
drawLoginScreen(true);
|
drawLoginScreen(true);
|
||||||
}
|
}
|
||||||
socketStream = new RSSocket(this, openSocket(43594 + portOff));
|
socketStream = new RSSocket(this, openSocket((ClientSettings.SERVER_WORLD == 1) ? 43594 : 43596 + ClientSettings.SERVER_WORLD + portOff));
|
||||||
long l = TextClass.longForName(s);
|
long l = TextClass.longForName(s);
|
||||||
int i = (int) (l >> 16 & 31L);
|
int i = (int) (l >> 16 & 31L);
|
||||||
stream.currentOffset = 0;
|
stream.currentOffset = 0;
|
||||||
@@ -7961,7 +7982,7 @@ public class Game extends RSApplet {
|
|||||||
backBase2.method361(0, 0);
|
backBase2.method361(0, 0);
|
||||||
if (invOverlayInterfaceID == -1) {
|
if (invOverlayInterfaceID == -1) {
|
||||||
if (tabInterfaceIDs[tabID] != -1) {
|
if (tabInterfaceIDs[tabID] != -1) {
|
||||||
if (tabID == 7) {
|
if (tabID == 7 && ClientSettings.CUSTOM_SETTINGS_TAB) {
|
||||||
redStone1_3.method361(42, 0);
|
redStone1_3.method361(42, 0);
|
||||||
}
|
}
|
||||||
if (tabID == 8) {
|
if (tabID == 8) {
|
||||||
@@ -7983,7 +8004,7 @@ public class Game extends RSApplet {
|
|||||||
redStone1_4.method361(229, 0);
|
redStone1_4.method361(229, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (tabInterfaceIDs[7] != -1 && (anInt1054 != 7 || loopCycle % 20 < 10)) {
|
if (tabInterfaceIDs[7] != -1 && (anInt1054 != 7 || loopCycle % 20 < 10) && ClientSettings.CUSTOM_SETTINGS_TAB) {
|
||||||
sideIcons[10].method361(47, 2);
|
sideIcons[10].method361(47, 2);
|
||||||
}
|
}
|
||||||
if (tabInterfaceIDs[8] != -1 && (anInt1054 != 8 || loopCycle % 20 < 10)) {
|
if (tabInterfaceIDs[8] != -1 && (anInt1054 != 8 || loopCycle % 20 < 10)) {
|
||||||
@@ -12046,8 +12067,9 @@ public class Game extends RSApplet {
|
|||||||
bigX = new int[4000];
|
bigX = new int[4000];
|
||||||
bigY = new int[4000];
|
bigY = new int[4000];
|
||||||
anInt1289 = -1;
|
anInt1289 = -1;
|
||||||
|
aCRC32_930 = new CRC32();
|
||||||
}
|
}
|
||||||
|
public CRC32 aCRC32_930;
|
||||||
public static String server;
|
public static String server;
|
||||||
public int ignoreCount;
|
public int ignoreCount;
|
||||||
public long aLong824;
|
public long aLong824;
|
||||||
|
|||||||
@@ -8,16 +8,38 @@ public final class Main {
|
|||||||
DEAR DEVELOPER!
|
DEAR DEVELOPER!
|
||||||
|
|
||||||
If you want to run the client locally, the easiest way to do that is run the class "Client.java" instead!
|
If you want to run the client locally, the easiest way to do that is run the class "Client.java" instead!
|
||||||
|
|
||||||
If you REALLY want to use this class, add program arguments "-s localhost".
|
If you REALLY want to use this class, add program arguments "-s localhost".
|
||||||
But seriously, Client.java is just a copy-paste of this class and does it locally. Use that instead!
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
try {
|
try {
|
||||||
// Process server/ip address to connect to
|
// Process client arguments to connect to
|
||||||
for (int i = 0; i < args.length; i++) {
|
for (int i = 0; i < args.length; i++) {
|
||||||
|
switch(args[i]) {
|
||||||
|
case "-dev" :
|
||||||
|
case "-local":
|
||||||
|
case "-offline":
|
||||||
|
ClientSettings.SERVER_IP = "localhost";
|
||||||
|
ClientSettings.CHECK_CRC = false;
|
||||||
|
break;
|
||||||
|
case "-no-crc":
|
||||||
|
case "-no-cache-crc":
|
||||||
|
ClientSettings.CHECK_CRC = false;
|
||||||
|
break;
|
||||||
|
case "-qol":
|
||||||
|
case "-fixes":
|
||||||
|
ClientSettings.CUSTOM_SETTINGS_TAB = true;
|
||||||
|
ClientSettings.BILINEAR_MINIMAP_FILTERING = true;
|
||||||
|
ClientSettings.FIX_TRANSPARENCY_OVERFLOW = true;
|
||||||
|
ClientSettings.FULL_512PX_VIEWPORT = true;
|
||||||
|
Game.customSettingVisiblePlayerNames = true;
|
||||||
|
Game.customSettingMinItemValue = 1000;
|
||||||
|
break;
|
||||||
|
case "-no-nav":
|
||||||
|
case"-disable-nav":
|
||||||
|
ClientSettings.SHOW_NAVBAR = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (args[i].startsWith("-") && (i + 1) < args.length && !args[i + 1].startsWith("-")) {
|
if (args[i].startsWith("-") && (i + 1) < args.length && !args[i + 1].startsWith("-")) {
|
||||||
switch(args[i]) {
|
switch(args[i]) {
|
||||||
case "-s":
|
case "-s":
|
||||||
@@ -45,6 +67,10 @@ public final class Main {
|
|||||||
case "-password":
|
case "-password":
|
||||||
game.myPassword = args[++i];
|
game.myPassword = args[++i];
|
||||||
break;
|
break;
|
||||||
|
case "-w":
|
||||||
|
case "-world":
|
||||||
|
ClientSettings.SERVER_WORLD = Integer.parseInt(args[++i]);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ public final class OnDemandFetcher extends OnDemandFetcherParent implements Runn
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
openSocketTime = l;
|
openSocketTime = l;
|
||||||
socket = clientInstance.openSocket(43596 + Game.portOff);
|
socket = clientInstance.openSocket((ClientSettings.SINGLE_ONDEMAND || ClientSettings.SERVER_WORLD == 1) ? 43594 : 43596 + ClientSettings.SERVER_WORLD + Game.portOff);
|
||||||
inputStream = socket.getInputStream();
|
inputStream = socket.getInputStream();
|
||||||
outputStream = socket.getOutputStream();
|
outputStream = socket.getOutputStream();
|
||||||
outputStream.write(15);
|
outputStream.write(15);
|
||||||
|
|||||||
@@ -5,17 +5,10 @@
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.applet.Applet;
|
import java.applet.Applet;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.FocusEvent;
|
import java.awt.event.*;
|
||||||
import java.awt.event.FocusListener;
|
import java.awt.font.TextAttribute;
|
||||||
import java.awt.event.KeyEvent;
|
import java.net.URI;
|
||||||
import java.awt.event.KeyListener;
|
import java.util.Map;
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import java.awt.event.MouseListener;
|
|
||||||
import java.awt.event.MouseWheelEvent;
|
|
||||||
import java.awt.event.MouseWheelListener;
|
|
||||||
import java.awt.event.MouseMotionListener;
|
|
||||||
import java.awt.event.WindowEvent;
|
|
||||||
import java.awt.event.WindowListener;
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public class RSApplet extends Applet implements Runnable, MouseListener, MouseWheelListener, MouseMotionListener, KeyListener, FocusListener, WindowListener {
|
public class RSApplet extends Applet implements Runnable, MouseListener, MouseWheelListener, MouseMotionListener, KeyListener, FocusListener, WindowListener {
|
||||||
@@ -29,10 +22,209 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseWh
|
|||||||
final void createClientFrame(int i, int j) {
|
final void createClientFrame(int i, int j) {
|
||||||
myWidth = j;
|
myWidth = j;
|
||||||
myHeight = i;
|
myHeight = i;
|
||||||
gameFrame = new RSFrame(this, myWidth, myHeight);
|
this.setPreferredSize(new Dimension(this.myWidth, this.myHeight));
|
||||||
|
|
||||||
|
gameFrame = new RSFrame(this);
|
||||||
graphics = getGameComponent().getGraphics();
|
graphics = getGameComponent().getGraphics();
|
||||||
fullGameScreen = new RSImageProducer(myWidth, myHeight, getGameComponent());
|
fullGameScreen = new RSImageProducer(myWidth, myHeight, getGameComponent());
|
||||||
|
|
||||||
|
if (ClientSettings.SHOW_NAVBAR) {
|
||||||
|
try {
|
||||||
|
java.awt.Font arial = new java.awt.Font("Arial", java.awt.Font.PLAIN, 11);
|
||||||
|
Map attributes = arial.getAttributes();
|
||||||
|
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
|
||||||
|
|
||||||
|
JLayeredPane layers = new JLayeredPane();
|
||||||
|
layers.setPreferredSize(new Dimension(765, 25));
|
||||||
|
|
||||||
|
ImageIcon backgroundImg = new ImageIcon(this.getClass().getResource("navbar.gif"));
|
||||||
|
ImageIcon menuImg = new ImageIcon(this.getClass().getResource("navbar_mainmenu.gif"));
|
||||||
|
ImageIcon companyImg = new ImageIcon(this.getClass().getResource("navbar_jagex.gif"));
|
||||||
|
ImageIcon worldmapImg = new ImageIcon(this.getClass().getResource("navbar_worldmap.gif"));
|
||||||
|
ImageIcon manualImg = new ImageIcon(this.getClass().getResource("navbar_manual.gif"));
|
||||||
|
ImageIcon rulesImg = new ImageIcon(this.getClass().getResource("navbar_rules.gif"));
|
||||||
|
|
||||||
|
// set up containers
|
||||||
|
JLabel background = new JLabel(backgroundImg);
|
||||||
|
background.setBounds(0, 0, backgroundImg.getIconWidth(), backgroundImg.getIconHeight());
|
||||||
|
|
||||||
|
JLabel company = new JLabel(companyImg);
|
||||||
|
company.setBounds(5, 0, companyImg.getIconWidth(), companyImg.getIconHeight());
|
||||||
|
|
||||||
|
JLabel mainMenu = new JLabel(menuImg);
|
||||||
|
mainMenu.setBounds(126, 0, menuImg.getIconWidth(), menuImg.getIconHeight());
|
||||||
|
mainMenu.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
try {
|
||||||
|
Desktop.getDesktop().browse(URI.create(ClientSettings.NAV_MAINMENU_LINK));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
JLabel mainMenuText = new JLabel();
|
||||||
|
mainMenuText.setForeground(Color.WHITE);
|
||||||
|
mainMenuText.setFont(arial.deriveFont(attributes));
|
||||||
|
mainMenuText.setBounds(126 + menuImg.getIconWidth() + 4, 0, 75, 25);
|
||||||
|
mainMenuText.setText("Main Menu");
|
||||||
|
mainMenuText.addMouseListener(mainMenu.getMouseListeners()[0]);
|
||||||
|
mainMenuText.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
mainMenuText.setForeground(Color.LIGHT_GRAY);
|
||||||
|
mainMenuText.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
mainMenuText.setForeground(Color.WHITE);
|
||||||
|
mainMenuText.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
JLabel worldSelect = new JLabel(menuImg);
|
||||||
|
worldSelect.setBounds(250, 0, menuImg.getIconWidth(), menuImg.getIconHeight());
|
||||||
|
worldSelect.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
// TODO: world select popup? redirect to launcher?
|
||||||
|
}
|
||||||
|
});
|
||||||
|
JLabel worldSelectText = new JLabel();
|
||||||
|
worldSelectText.setForeground(Color.WHITE);
|
||||||
|
worldSelectText.setFont(arial.deriveFont(attributes));
|
||||||
|
worldSelectText.setBounds(250 + menuImg.getIconWidth() + 4, 0, 75, 25);
|
||||||
|
worldSelectText.setText("World Select");
|
||||||
|
worldSelectText.addMouseListener(worldSelect.getMouseListeners()[0]);
|
||||||
|
worldSelectText.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
worldSelectText.setForeground(Color.LIGHT_GRAY);
|
||||||
|
worldSelectText.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
worldSelectText.setForeground(Color.WHITE);
|
||||||
|
worldSelectText.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
JLabel worldmap = new JLabel(worldmapImg);
|
||||||
|
worldmap.setBounds(387, 0, worldmapImg.getIconWidth(), worldmapImg.getIconHeight());
|
||||||
|
worldmap.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
try {
|
||||||
|
Desktop.getDesktop().browse(URI.create(ClientSettings.NAV_WORLDMAP_LINK));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
JLabel worldmapText = new JLabel();
|
||||||
|
worldmapText.setForeground(Color.WHITE);
|
||||||
|
worldmapText.setFont(arial.deriveFont(attributes));
|
||||||
|
worldmapText.setBounds(387 + worldmapImg.getIconWidth() + 4, 0, 75, 25);
|
||||||
|
worldmapText.setText("World Map");
|
||||||
|
worldmapText.addMouseListener(worldmap.getMouseListeners()[0]);
|
||||||
|
worldmapText.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
worldmapText.setForeground(Color.LIGHT_GRAY);
|
||||||
|
worldmapText.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
worldmapText.setForeground(Color.WHITE);
|
||||||
|
worldmapText.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
JLabel manual = new JLabel(manualImg);
|
||||||
|
manual.setBounds(520, 0, manualImg.getIconWidth(), manualImg.getIconHeight());
|
||||||
|
manual.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
try {
|
||||||
|
Desktop.getDesktop().browse(URI.create(ClientSettings.NAV_MANUAL_LINK));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
JLabel manualText = new JLabel();
|
||||||
|
manualText.setForeground(Color.WHITE);
|
||||||
|
manualText.setFont(arial.deriveFont(attributes));
|
||||||
|
manualText.setBounds(520 + manualImg.getIconWidth() + 4, 0, 50, 25);
|
||||||
|
manualText.setText("Manual");
|
||||||
|
manualText.addMouseListener(manual.getMouseListeners()[0]);
|
||||||
|
manualText.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
manualText.setForeground(Color.LIGHT_GRAY);
|
||||||
|
manualText.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
manualText.setForeground(Color.WHITE);
|
||||||
|
manualText.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
JLabel rules = new JLabel(rulesImg);
|
||||||
|
rules.setBounds(636, 0, rulesImg.getIconWidth(), rulesImg.getIconHeight());
|
||||||
|
rules.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
try {
|
||||||
|
Desktop.getDesktop().browse(URI.create(ClientSettings.NAV_RULES_LINK));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
JLabel rulesText = new JLabel();
|
||||||
|
rulesText.setForeground(Color.WHITE);
|
||||||
|
rulesText.setFont(arial.deriveFont(attributes));
|
||||||
|
rulesText.setBounds(636 + rulesImg.getIconWidth() + 4, 0, 100, 25);
|
||||||
|
rulesText.setText("Rules & Security");
|
||||||
|
rulesText.addMouseListener(rules.getMouseListeners()[0]);
|
||||||
|
rulesText.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
rulesText.setForeground(Color.LIGHT_GRAY);
|
||||||
|
rulesText.setCursor(new Cursor(Cursor.HAND_CURSOR));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
rulesText.setForeground(Color.WHITE);
|
||||||
|
rulesText.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// layer images
|
||||||
|
layers.add(background, 0);
|
||||||
|
layers.add(company, 0);
|
||||||
|
layers.add(mainMenu, 0);
|
||||||
|
layers.add(mainMenuText, 0);
|
||||||
|
layers.add(worldSelect, 0);
|
||||||
|
layers.add(worldSelectText, 0);
|
||||||
|
layers.add(worldmap, 0);
|
||||||
|
layers.add(worldmapText, 0);
|
||||||
|
layers.add(manual, 0);
|
||||||
|
layers.add(manualText, 0);
|
||||||
|
layers.add(rules, 0);
|
||||||
|
layers.add(rulesText, 0);
|
||||||
|
gameFrame.add(layers, BorderLayout.NORTH);
|
||||||
|
gameFrame.pack();
|
||||||
|
gameFrame.setLocationRelativeTo(null); // re-center based on the new size
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
startRunnable(this, 1);
|
startRunnable(this, 1);
|
||||||
|
this.requestFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
final void initClientFrame(int i, int j) {
|
final void initClientFrame(int i, int j) {
|
||||||
@@ -183,7 +375,7 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseWh
|
|||||||
public final void destroy() {
|
public final void destroy() {
|
||||||
anInt4 = -1;
|
anInt4 = -1;
|
||||||
try {
|
try {
|
||||||
Thread.sleep(5000L);
|
Thread.sleep(1000L);
|
||||||
} catch (Exception _ex) {
|
} catch (Exception _ex) {
|
||||||
}
|
}
|
||||||
if (anInt4 == -1) {
|
if (anInt4 == -1) {
|
||||||
@@ -215,10 +407,6 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseWh
|
|||||||
public final void mousePressed(MouseEvent mouseevent) {
|
public final void mousePressed(MouseEvent mouseevent) {
|
||||||
int i = mouseevent.getX();
|
int i = mouseevent.getX();
|
||||||
int j = mouseevent.getY();
|
int j = mouseevent.getY();
|
||||||
if (gameFrame != null) {
|
|
||||||
i -= 4;
|
|
||||||
j -= 22;
|
|
||||||
}
|
|
||||||
idleTime = 0;
|
idleTime = 0;
|
||||||
clickX = i;
|
clickX = i;
|
||||||
clickY = j;
|
clickY = j;
|
||||||
@@ -265,11 +453,6 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseWh
|
|||||||
public final void mouseDragged(MouseEvent e) {
|
public final void mouseDragged(MouseEvent e) {
|
||||||
int x = e.getX();
|
int x = e.getX();
|
||||||
int y = e.getY();
|
int y = e.getY();
|
||||||
if(gameFrame != null) {
|
|
||||||
Insets insets = gameFrame.getInsets();
|
|
||||||
x -= insets.left;//4
|
|
||||||
y -= insets.top;//22
|
|
||||||
}
|
|
||||||
if (mouseWheelDown) {
|
if (mouseWheelDown) {
|
||||||
y = mouseWheelX - e.getX();
|
y = mouseWheelX - e.getX();
|
||||||
int k = mouseWheelY - e.getY();
|
int k = mouseWheelY - e.getY();
|
||||||
@@ -290,10 +473,6 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseWh
|
|||||||
public void mouseMoved(MouseEvent mouseevent) {
|
public void mouseMoved(MouseEvent mouseevent) {
|
||||||
int i = mouseevent.getX();
|
int i = mouseevent.getX();
|
||||||
int j = mouseevent.getY();
|
int j = mouseevent.getY();
|
||||||
if (gameFrame != null) {
|
|
||||||
i -= 4;
|
|
||||||
j -= 22;
|
|
||||||
}
|
|
||||||
idleTime = 0;
|
idleTime = 0;
|
||||||
mouseX = i;
|
mouseX = i;
|
||||||
mouseY = j;
|
mouseY = j;
|
||||||
@@ -498,11 +677,7 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseWh
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component getGameComponent() {
|
Component getGameComponent() {
|
||||||
if (gameFrame != null) {
|
return this;
|
||||||
return gameFrame;
|
|
||||||
} else {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startRunnable(Runnable runnable, int priority) {
|
public void startRunnable(Runnable runnable, int priority) {
|
||||||
|
|||||||
@@ -4,36 +4,25 @@
|
|||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
final class RSFrame extends Frame {
|
final class RSFrame extends Frame {
|
||||||
|
|
||||||
public RSFrame(RSApplet RSApplet_, int i, int j) {
|
public RSFrame(RSApplet applet) {
|
||||||
rsApplet = RSApplet_;
|
rsApplet = applet;
|
||||||
setTitle(ClientSettings.SERVER_NAME);
|
|
||||||
setResizable(false);
|
|
||||||
setMinimumSize(new Dimension(i + 8, j + 28));
|
|
||||||
setVisible(true);
|
|
||||||
toFront();
|
|
||||||
setSize(i + 8, j + 28);
|
|
||||||
setLocationRelativeTo(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
setTitle(ClientSettings.SERVER_NAME + " World: " + ClientSettings.SERVER_WORLD);
|
||||||
public Graphics getGraphics() {
|
this.setResizable(false);
|
||||||
Graphics g = super.getGraphics();
|
this.setBackground(Color.BLACK);
|
||||||
g.translate(4, 24);
|
|
||||||
return g;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
this.setLayout(new BorderLayout());
|
||||||
public void update(Graphics g) {
|
this.add(applet, BorderLayout.CENTER);
|
||||||
rsApplet.update(g);
|
this.pack();
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
this.setLocationRelativeTo(null);
|
||||||
public void paint(Graphics g) {
|
this.setVisible(true);
|
||||||
rsApplet.paint(g);
|
this.toFront();
|
||||||
|
this.transferFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
private final RSApplet rsApplet;
|
private final RSApplet rsApplet;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,18 @@
|
|||||||
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import javax.sound.sampled.AudioInputStream;
|
|
||||||
import javax.sound.sampled.AudioSystem;
|
|
||||||
import javax.sound.sampled.Clip;
|
|
||||||
import javax.sound.sampled.DataLine;
|
|
||||||
import javax.sound.sampled.FloatControl;
|
|
||||||
|
|
||||||
import sun.audio.AudioPlayer; //Note! If you see a compile error here, make sure you set your JDK to Java 8!
|
import javax.sound.sampled.*;
|
||||||
|
|
||||||
public class SoundPlayer implements Runnable {
|
public class SoundPlayer implements Runnable {
|
||||||
|
|
||||||
private AudioInputStream stream;
|
private AudioInputStream stream;
|
||||||
private DataLine.Info info;
|
private DataLine.Info info;
|
||||||
private Clip sound;
|
private SourceDataLine sound;
|
||||||
|
|
||||||
private InputStream soundStream;
|
private InputStream soundStream;
|
||||||
private Thread player;
|
private Thread player;
|
||||||
private int delay;
|
private int delay;
|
||||||
private int soundLevel;
|
private int soundLevel;
|
||||||
private InputStream arg0;
|
|
||||||
public static int volume;
|
public static int volume;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -42,22 +37,37 @@ public class SoundPlayer implements Runnable {
|
|||||||
*/
|
*/
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
AudioPlayer.player.start(arg0);
|
|
||||||
stream = AudioSystem.getAudioInputStream(soundStream);
|
stream = AudioSystem.getAudioInputStream(soundStream);
|
||||||
info = new DataLine.Info(Clip.class, stream.getFormat());
|
|
||||||
sound = (Clip) AudioSystem.getLine(info);
|
AudioFormat format = stream.getFormat();
|
||||||
sound.open(stream);
|
info = new DataLine.Info(SourceDataLine.class, format);
|
||||||
|
sound = (SourceDataLine) AudioSystem.getLine(info);
|
||||||
|
sound.open(format);
|
||||||
|
|
||||||
FloatControl volume = (FloatControl) sound.getControl(FloatControl.Type.MASTER_GAIN);
|
FloatControl volume = (FloatControl) sound.getControl(FloatControl.Type.MASTER_GAIN);
|
||||||
volume.setValue(getDecibels(soundLevel - getVolume()));
|
volume.setValue(getDecibels(soundLevel - getVolume()));
|
||||||
if (delay > 0) {
|
if (delay > 0) {
|
||||||
Thread.sleep(delay);
|
Thread.sleep(delay);
|
||||||
}
|
}
|
||||||
sound.start();
|
sound.start();
|
||||||
while (sound.isActive()) {
|
|
||||||
Thread.sleep(250);
|
int nBytesRead = 0;
|
||||||
|
int EXTERNAL_BUFFER_SIZE = 524288;
|
||||||
|
byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];
|
||||||
|
try {
|
||||||
|
while (nBytesRead != -1) {
|
||||||
|
nBytesRead = stream.read(abData, 0, abData.length);
|
||||||
|
if (nBytesRead >= 0) {
|
||||||
|
sound.write(abData, 0, nBytesRead);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
sound.drain();
|
||||||
|
sound.close();
|
||||||
}
|
}
|
||||||
Thread.sleep(10000);
|
|
||||||
sound.close();
|
|
||||||
stream.close();
|
stream.close();
|
||||||
player.interrupt();
|
player.interrupt();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -366,7 +366,30 @@ public final class Sprite extends DrawingArea {
|
|||||||
int k4 = j3 + i3 * i4;
|
int k4 = j3 + i3 * i4;
|
||||||
int l4 = k3 - l2 * i4;
|
int l4 = k3 - l2 * i4;
|
||||||
for (k1 = -ai[j1]; k1 < 0; k1++) {
|
for (k1 = -ai[j1]; k1 < 0; k1++) {
|
||||||
DrawingArea.pixels[j4++] = pixels[(k4 >> 16) + (l4 >> 16) * width];
|
if (ClientSettings.BILINEAR_MINIMAP_FILTERING) {
|
||||||
|
int x1 = k4 >> 16;
|
||||||
|
int y1 = l4 >> 16;
|
||||||
|
int x2 = x1 + 1;
|
||||||
|
int y2 = y1 + 1;
|
||||||
|
int sampleColor1 = pixels[x1 + y1 * width];
|
||||||
|
int sampleColor2 = pixels[x2 + y1 * width];
|
||||||
|
int sampleColor3 = pixels[x1 + y2 * width];
|
||||||
|
int sampleColor4 = pixels[x2 + y2 * width];
|
||||||
|
int x1Distance = (k4 >> 8) - (x1 << 8);
|
||||||
|
int y1Distance = (l4 >> 8) - (y1 << 8);
|
||||||
|
int x2Distance = (x2 << 8) - (k4 >> 8);
|
||||||
|
int y2Distance = (y2 << 8) - (l4 >> 8);
|
||||||
|
int sampleAlpha1 = x2Distance * y2Distance;
|
||||||
|
int sampleAlpha2 = x1Distance * y2Distance;
|
||||||
|
int sampleAlpha3 = x2Distance * y1Distance;
|
||||||
|
int sampleAlpha4 = x1Distance * y1Distance;
|
||||||
|
int red = (sampleColor1 >> 16 & 0xff) * sampleAlpha1 + (sampleColor2 >> 16 & 0xff) * sampleAlpha2 + (sampleColor3 >> 16 & 0xff) * sampleAlpha3 + (sampleColor4 >> 16 & 0xff) * sampleAlpha4 & 0xff0000;
|
||||||
|
int green = (sampleColor1 >> 8 & 0xff) * sampleAlpha1 + (sampleColor2 >> 8 & 0xff) * sampleAlpha2 + (sampleColor3 >> 8 & 0xff) * sampleAlpha3 + (sampleColor4 >> 8 & 0xff) * sampleAlpha4 >> 8 & 0xff00;
|
||||||
|
int blue = (sampleColor1 & 0xff) * sampleAlpha1 + (sampleColor2 & 0xff) * sampleAlpha2 + (sampleColor3 & 0xff) * sampleAlpha3 + (sampleColor4 & 0xff) * sampleAlpha4 >> 16;
|
||||||
|
DrawingArea.pixels[j4++] = red | green | blue;
|
||||||
|
} else {
|
||||||
|
DrawingArea.pixels[j4++] = pixels[(k4 >> 16) + (l4 >> 16) * width];
|
||||||
|
}
|
||||||
k4 += i3;
|
k4 += i3;
|
||||||
l4 -= l2;
|
l4 -= l2;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -730,22 +730,47 @@ final class Texture extends DrawingArea {
|
|||||||
} else {
|
} else {
|
||||||
int j2 = anInt1465;
|
int j2 = anInt1465;
|
||||||
int l2 = 256 - anInt1465;
|
int l2 = 256 - anInt1465;
|
||||||
while (--k >= 0) {
|
if (ClientSettings.FIX_TRANSPARENCY_OVERFLOW) {
|
||||||
j = anIntArray1482[j1 >> 8];
|
while (--k >= 0) {
|
||||||
j1 += l1;
|
j = anIntArray1482[j1 >> 8];
|
||||||
j = ((j & 0xff00ff) * l2 >> 8 & 0xff00ff) + ((j & 0xff00) * l2 >> 8 & 0xff00);
|
j1 += l1;
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
j = ((j & 0xff00ff) * l2 >> 8 & 0xff00ff) + ((j & 0xff00) * l2 >> 8 & 0xff00);
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
ai[i] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
i++;
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
ai[i] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
}
|
i++;
|
||||||
k = i1 - l & 3;
|
ai[i] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
if (k > 0) {
|
i++;
|
||||||
j = anIntArray1482[j1 >> 8];
|
ai[i] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
j = ((j & 0xff00ff) * l2 >> 8 & 0xff00ff) + ((j & 0xff00) * l2 >> 8 & 0xff00);
|
i++;
|
||||||
do {
|
}
|
||||||
|
k = i1 - l & 3;
|
||||||
|
if (k > 0) {
|
||||||
|
j = anIntArray1482[j1 >> 8];
|
||||||
|
j = ((j & 0xff00ff) * l2 >> 8 & 0xff00ff) + ((j & 0xff00) * l2 >> 8 & 0xff00);
|
||||||
|
do {
|
||||||
|
ai[i] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
|
i++;
|
||||||
|
} while (--k > 0);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
while (--k >= 0) {
|
||||||
|
j = anIntArray1482[j1 >> 8];
|
||||||
|
j1 += l1;
|
||||||
|
j = ((j & 0xff00ff) * l2 >> 8 & 0xff00ff) + ((j & 0xff00) * l2 >> 8 & 0xff00);
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
} while (--k > 0);
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
|
}
|
||||||
|
k = i1 - l & 3;
|
||||||
|
if (k > 0) {
|
||||||
|
j = anIntArray1482[j1 >> 8];
|
||||||
|
j = ((j & 0xff00ff) * l2 >> 8 & 0xff00ff) + ((j & 0xff00) * l2 >> 8 & 0xff00);
|
||||||
|
do {
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j2 >> 8 & 0xff00);
|
||||||
|
} while (--k > 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -777,12 +802,22 @@ final class Texture extends DrawingArea {
|
|||||||
}
|
}
|
||||||
int k2 = anInt1465;
|
int k2 = anInt1465;
|
||||||
int i3 = 256 - anInt1465;
|
int i3 = 256 - anInt1465;
|
||||||
do {
|
if (ClientSettings.FIX_TRANSPARENCY_OVERFLOW) {
|
||||||
j = anIntArray1482[j1 >> 8];
|
do {
|
||||||
j1 += i2;
|
j = anIntArray1482[j1 >> 8];
|
||||||
j = ((j & 0xff00ff) * i3 >> 8 & 0xff00ff) + ((j & 0xff00) * i3 >> 8 & 0xff00);
|
j1 += i2;
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * k2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * k2 >> 8 & 0xff00);
|
j = ((j & 0xff00ff) * i3 >> 8 & 0xff00ff) + ((j & 0xff00) * i3 >> 8 & 0xff00);
|
||||||
} while (--k > 0);
|
ai[i] = j + ((ai[i] & 0xff00ff) * k2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * k2 >> 8 & 0xff00);
|
||||||
|
i++;
|
||||||
|
} while (--k > 0);
|
||||||
|
} else {
|
||||||
|
do {
|
||||||
|
j = anIntArray1482[j1 >> 8];
|
||||||
|
j1 += i2;
|
||||||
|
j = ((j & 0xff00ff) * i3 >> 8 & 0xff00ff) + ((j & 0xff00) * i3 >> 8 & 0xff00);
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * k2 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * k2 >> 8 & 0xff00);
|
||||||
|
} while (--k > 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void method376(int i, int j, int k, int l, int i1, int j1, int k1) {
|
public static void method376(int i, int j, int k, int l, int i1, int j1, int k1) {
|
||||||
@@ -1125,16 +1160,32 @@ final class Texture extends DrawingArea {
|
|||||||
int j1 = anInt1465;
|
int j1 = anInt1465;
|
||||||
int k1 = 256 - anInt1465;
|
int k1 = 256 - anInt1465;
|
||||||
j = ((j & 0xff00ff) * k1 >> 8 & 0xff00ff) + ((j & 0xff00) * k1 >> 8 & 0xff00);
|
j = ((j & 0xff00ff) * k1 >> 8 & 0xff00ff) + ((j & 0xff00) * k1 >> 8 & 0xff00);
|
||||||
while (--k >= 0) {
|
if (ClientSettings.FIX_TRANSPARENCY_OVERFLOW) {
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
while (--k >= 0) {
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
ai[i] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
i++;
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
ai[i] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
i++;
|
||||||
|
ai[i] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
i++;
|
||||||
|
ai[i] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
for (k = i1 - l & 3; --k >= 0;) {
|
||||||
|
ai[i] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
while (--k >= 0) {
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
}
|
||||||
|
for (k = i1 - l & 3; --k >= 0;) {
|
||||||
|
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for (k = i1 - l & 3; --k >= 0;) {
|
|
||||||
ai[i++] = j + ((ai[i] & 0xff00ff) * j1 >> 8 & 0xff00ff) + ((ai[i] & 0xff00) * j1 >> 8 & 0xff00);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void method378(int i, int j, int k, int l, int i1, int j1, int k1, int l1, int i2, int j2, int k2, int l2, int i3, int j3, int k3, int l3, int i4, int j4, int k4) {
|
public static void method378(int i, int j, int k, int l, int i1, int j1, int k1, int l1, int i2, int j2, int k2, int l2, int i3, int j3, int k3, int l3, int i4, int j4, int k4) {
|
||||||
|
|||||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 978 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
@@ -1,9 +1,16 @@
|
|||||||
{
|
{
|
||||||
"server_name": "2006Scape",
|
"server_name": "2006Scape",
|
||||||
|
"server_test_version": 2.3,
|
||||||
|
"gui_enabled": false,
|
||||||
"website_link": "https://2006Scape.org",
|
"website_link": "https://2006Scape.org",
|
||||||
"server_debug": false,
|
"server_debug": false,
|
||||||
"file_server": true,
|
"file_server": true,
|
||||||
|
"http_port": 8080,
|
||||||
|
"jaggrab_port": 43595,
|
||||||
"world_id": 1,
|
"world_id": 1,
|
||||||
|
"xp_rate": 1.0,
|
||||||
|
"variable_xp_rate": false,
|
||||||
|
"variable_xp_rates": [1, 2, 5, 10],
|
||||||
"members_only": false,
|
"members_only": false,
|
||||||
"tutorial_island_enabled": false,
|
"tutorial_island_enabled": false,
|
||||||
"party_room_enabled": true,
|
"party_room_enabled": true,
|
||||||
@@ -15,6 +22,6 @@
|
|||||||
"save_timer": 120,
|
"save_timer": 120,
|
||||||
"timeout": 60,
|
"timeout": 60,
|
||||||
"item_requirements": true,
|
"item_requirements": true,
|
||||||
"xp_rate": 1.0,
|
"max_players": 200,
|
||||||
"max_players": 200
|
"website_integration": false
|
||||||
}
|
}
|
||||||
@@ -570,7 +570,7 @@
|
|||||||
"id": 94
|
"id": 94
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 70,
|
"hitpoints": 69,
|
||||||
"name": "Wolf",
|
"name": "Wolf",
|
||||||
"combat": 64,
|
"combat": 64,
|
||||||
"id": 95
|
"id": 95
|
||||||
@@ -846,7 +846,7 @@
|
|||||||
"id": 140
|
"id": 140
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 67,
|
"hitpoints": 74,
|
||||||
"name": "Big Wolf",
|
"name": "Big Wolf",
|
||||||
"combat": 73,
|
"combat": 73,
|
||||||
"id": 141
|
"id": 141
|
||||||
@@ -991,7 +991,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Gnome shop keeper",
|
"name": "Gnome Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 165
|
"id": 165
|
||||||
},
|
},
|
||||||
@@ -3121,31 +3121,31 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 520
|
"id": 520
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Assistant",
|
"name": "Shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 521
|
"id": 521
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 522
|
"id": 522
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Assistant",
|
"name": "Shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 523
|
"id": 523
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 524
|
"id": 524
|
||||||
},
|
},
|
||||||
@@ -3157,61 +3157,61 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 526
|
"id": 526
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Assistant",
|
"name": "Shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 527
|
"id": 527
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 528
|
"id": 528
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Assistant",
|
"name": "Shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 529
|
"id": 529
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 530
|
"id": 530
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Assistant",
|
"name": "Shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 531
|
"id": 531
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Keeper",
|
"name": "Shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 532
|
"id": 532
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Shop Assistant",
|
"name": "Shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 533
|
"id": 533
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Fairy Shop Keeper",
|
"name": "Fairy shop keeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 534
|
"id": 534
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Fairy Shop assistant",
|
"name": "Fairy shop assistant",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 535
|
"id": 535
|
||||||
},
|
},
|
||||||
@@ -3253,7 +3253,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Louie legs",
|
"name": "Louie Legs",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 542
|
"id": 542
|
||||||
},
|
},
|
||||||
@@ -3325,7 +3325,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Fancy dress shop owner",
|
"name": "Fancy-dress shop owner",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 554
|
"id": 554
|
||||||
},
|
},
|
||||||
@@ -10207,7 +10207,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 0,
|
"hitpoints": 0,
|
||||||
"name": "Ghost Shopkeeper",
|
"name": "Ghost shopkeeper",
|
||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 1699
|
"id": 1699
|
||||||
},
|
},
|
||||||
@@ -16217,6 +16217,12 @@
|
|||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 3109
|
"id": 3109
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"hitpoints": 0,
|
||||||
|
"name": "Mike",
|
||||||
|
"combat": 0,
|
||||||
|
"id": 3166
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"hitpoints": 250,
|
"hitpoints": 250,
|
||||||
"name": "Chaos Elemental",
|
"name": "Chaos Elemental",
|
||||||
@@ -16583,6 +16589,7 @@
|
|||||||
"combat": 140,
|
"combat": 140,
|
||||||
"id": 3068
|
"id": 3068
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"hitpoints": 7,
|
"hitpoints": 7,
|
||||||
"name": "Drunken Man",
|
"name": "Drunken Man",
|
||||||
@@ -16643,4 +16650,4 @@
|
|||||||
"combat": 0,
|
"combat": 0,
|
||||||
"id": 3790
|
"id": 3790
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 12 KiB |
@@ -1 +0,0 @@
|
|||||||
{"token":""}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on bread for 14 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on empty pot for 0 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on bucket for 0 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on bronze pickaxe for 0 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on shrimps for 3 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on small fishing net for 3 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on tinderbox for 0 coins
|
|
||||||
[2014/02/01] 13:44 andrewadsfa1 cast High Alchemy on bronze hatchet for 9 coins
|
|
||||||
[2014/02/01] 13:46 andrewadsfa1 cast High Alchemy on nature rune for 74 coins
|
|
||||||
[2014/02/01] 13:46 andrewadsfa1 cast High Alchemy on nature rune for 74 coins
|
|
||||||
[2014/02/01] 13:46 andrewadsfa1 cast High Alchemy on nature rune for 74 coins
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
[2019/10/26] 21:23 michael2 clicked item bones
|
|
||||||
[2019/10/26] 21:25 michael2 clicked item bones
|
|
||||||
[2019/10/26] 21:26 michael2 clicked item bones
|
|
||||||
[2019/10/26] 21:28 michael2 clicked item bones
|
|
||||||
[2019/10/26] 21:30 michael2 clicked item bones
|
|
||||||
[2019/10/26] 21:30 michael2 clicked item bones
|
|
||||||
[2019/10/26] 21:30 michael2 clicked item bones
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/10/28] 15:43 michael8 clicked item herb
|
|
||||||
[2019/10/28] 15:43 michael8 clicked item bones
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
[2014/01/12] 10:51 andrew used command: ipban andrew
|
|
||||||
[2014/01/12] 10:59 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:00 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:01 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:07 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:07 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:08 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:09 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:09 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:10 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:11 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:11 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:12 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:12 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:12 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:12 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 11:13 andrew used command: ipbot andrew10
|
|
||||||
[2014/01/12] 12:27 andrew used command: ipban andrew11
|
|
||||||
[2014/01/12] 13:52 andrew used command: ipban andrew25
|
|
||||||
[2014/01/12] 13:53 andrew used command: ipban andrew25
|
|
||||||
[2014/01/12] 13:54 andrew used command: ipban andrew25 hi
|
|
||||||
[2014/01/12] 13:55 andrew used command: ipban andrew25
|
|
||||||
[2014/01/12] 13:56 andrew used command: ipban andrew25 botting
|
|
||||||
[2014/01/12] 13:57 andrew used command: ipban andrew25
|
|
||||||
[2014/01/12] 13:57 andrew used command: ipban andrew25 botting bitch
|
|
||||||
[2014/01/12] 13:58 andrew used command: ipban andrew25 botting
|
|
||||||
[2014/01/12] 16:07 andrew used command: ipban andrew22 fucker
|
|
||||||
[2014/01/12] 16:09 andrew used command: ipban andrew22 botting
|
|
||||||
[2014/01/12] 16:10 andrew used command: ipban andrew22
|
|
||||||
[2014/01/12] 16:10 andrew used command: ipban andrew22 botting
|
|
||||||
[2014/01/12] 16:11 andrew used command: ipbanned andrew22 BOTTING
|
|
||||||
[2014/01/12] 16:24 andrew used command: ipmute andrew22 fuckoff
|
|
||||||
[2014/01/12] 16:26 andrew used command: ipmute andrew22 hi
|
|
||||||
[2014/01/12] 16:28 andrew used command: ipban andrew22
|
|
||||||
[2014/01/12] 16:28 andrew used command: ipban andrew22 fuckoff
|
|
||||||
[2014/01/12] 16:32 andrew used command: ipban andrew22 fucker
|
|
||||||
[2014/01/12] 16:35 andrew used command: ipmute andrew22
|
|
||||||
[2014/01/12] 16:35 andrew used command: ipmute andrew22 spam
|
|
||||||
[2014/01/12] 16:37 andrew used command: ipmute andrew22
|
|
||||||
[2014/01/12] 16:37 andrew used command: ipmute andrew22 fucker
|
|
||||||
[2014/01/12] 16:37 andrew used command: unipmute andrew22
|
|
||||||
[2014/01/12] 16:39 andrew used command: unipmute andrew22
|
|
||||||
[2014/01/12] 16:39 andrew used command: ipmute andrew 22 botting
|
|
||||||
[2014/01/12] 16:39 andrew used command: ipmute andrew 22 botting
|
|
||||||
[2014/01/12] 16:39 andrew used command: ipmute andrew 22 botting
|
|
||||||
[2014/01/12] 16:42 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:42 andrew used command: ipmute andrew 22 hi..
|
|
||||||
[2014/01/12] 16:44 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:44 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:45 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:45 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:48 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:49 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:56 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:57 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:57 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 16:59 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 17:00 andrew used command: ipmute andrew 22 hi
|
|
||||||
[2014/01/12] 17:01 andrew used command: ipmute adsfasdf adsfasdf asdf
|
|
||||||
[2014/01/13] 19:31 andrew used command: ipmute andrew 30 hi
|
|
||||||
[2014/01/13] 19:33 andrew used command: ipmute andrew 35 hi
|
|
||||||
[2014/01/13] 19:37 andrew used command: ipmute andrew_35 hi
|
|
||||||
[2014/01/13] 19:42 andrew used command: ipmute_andrew 35_botting
|
|
||||||
[2014/01/13] 19:42 andrew used command: ipban_andrew 35_botting
|
|
||||||
[2014/01/13] 19:47 andrew used command: ipmute
|
|
||||||
[2014/01/13] 19:48 andrew used command: ipmute
|
|
||||||
[2014/01/14] 18:39 andrew used command: mute andrew45 cuz
|
|
||||||
[2014/01/14] 18:39 andrew used command: mute-andrew45-cuz
|
|
||||||
[2014/01/14] 18:39 andrew used command: mute-Andrew45-cuz
|
|
||||||
[2014/01/14] 18:40 andrew used command: mute-Andrew45-jj
|
|
||||||
[2014/01/14] 18:40 andrew used command: ipmute-andrew45-cuz
|
|
||||||
[2014/01/14] 18:40 andrew used command: unipmute-andrew-cuz
|
|
||||||
[2014/01/14] 18:40 andrew used command: unipmute andrew
|
|
||||||
[2014/01/14] 18:44 andrew used command: mute-andrew45-cuz
|
|
||||||
[2014/01/14] 18:44 andrew used command: mute
|
|
||||||
[2014/01/14] 18:44 andrew used command: mute-andrew45-da
|
|
||||||
[2014/01/14] 18:45 andrew used command: unmute andrew45
|
|
||||||
[2014/03/08] 13:37 andrew used command: bank
|
|
||||||
[2014/03/08] 13:39 andrew used command: bank
|
|
||||||
[2014/03/08] 13:41 andrew used command: bank
|
|
||||||
[2014/03/08] 13:43 andrew used command: bank
|
|
||||||
[2014/03/08] 13:45 andrew used command: bank
|
|
||||||
[2014/03/08] 13:46 andrew used command: bank
|
|
||||||
[2014/03/08] 13:47 andrew used command: bank
|
|
||||||
[2014/03/08] 13:47 andrew used command: bank
|
|
||||||
[2014/03/08] 13:53 andrew used command: bank
|
|
||||||
[2014/03/08] 13:54 andrew used command: bank
|
|
||||||
[2014/03/08] 13:54 andrew used command: bank
|
|
||||||
[2014/03/08] 13:54 andrew used command: bank:
|
|
||||||
[2014/03/08] 13:55 andrew used command: bank
|
|
||||||
[2014/03/08] 13:56 andrew used command: bank
|
|
||||||
[2014/03/08] 14:06 andrew used command: bank
|
|
||||||
[2014/03/08] 14:08 andrew used command: bank
|
|
||||||
[2014/03/08] 14:11 andrew used command: bank
|
|
||||||
[2014/03/08] 14:12 andrew used command: bank
|
|
||||||
[2014/03/08] 14:14 andrew used command: bank
|
|
||||||
[2014/03/08] 14:15 andrew used command: bank
|
|
||||||
[2014/03/08] 14:21 andrew used command: bank
|
|
||||||
[2014/03/08] 14:21 andrew used command: bank
|
|
||||||
[2014/03/08] 14:22 andrew used command: bank
|
|
||||||
[2014/03/08] 14:24 andrew used command: bank
|
|
||||||
[2014/03/08] 14:27 andrew used command: bank
|
|
||||||
[2014/03/08] 14:28 andrew used command: bank
|
|
||||||
[2014/03/08] 14:30 andrew used command: bank
|
|
||||||
[2014/03/08] 14:32 andrew used command: bank
|
|
||||||
[2014/03/08] 14:36 andrew used command: bank
|
|
||||||
[2014/03/08] 14:41 andrew used command: bank
|
|
||||||
[2014/03/08] 14:51 andrew used command: bank
|
|
||||||
[2014/03/08] 14:57 andrew used command: bank
|
|
||||||
[2014/03/08] 15:01 andrew used command: bank
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
[2014/03/08] 14:22 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:26 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:31 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:33 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:40 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:44 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:44 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:49 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:54 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:55 andrew1 used command: bank
|
|
||||||
[2014/03/08] 14:57 andrew1 used command: bank
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
[2019/11/21] 18:52 andrew5 used command: bank
|
|
||||||
[2019/11/21] 19:04 andrew5 used command: bank
|
|
||||||
[2019/12/04] 13:26 andrew5 used command: bank
|
|
||||||
[2019/12/22] 05:47 andrew5 used command: bank
|
|
||||||
[2019/12/22] 05:58 andrew5 used command: bank
|
|
||||||
[2019/12/22] 05:58 andrew5 used command: bank
|
|
||||||
[2019/12/22] 05:59 andrew5 used command: bank
|
|
||||||
[2020/01/03] 07:00 andrew5 used command: bank
|
|
||||||
[2020/01/03] 07:00 andrew5 used command: bank
|
|
||||||
[2020/01/03] 07:02 andrew5 used command: bank
|
|
||||||
[2020/03/13] 04:15 andrew5 used command: bank
|
|
||||||
[2020/03/13] 04:17 andrew5 used command: bank
|
|
||||||
[2020/03/13] 04:21 andrew5 used command: bank
|
|
||||||
[2020/03/13] 04:25 andrew5 used command: bank
|
|
||||||
[2020/03/13] 04:25 andrew5 used command: bank
|
|
||||||
[2020/03/13] 04:29 andrew5 used command: bank
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2020/02/09] 23:17 andrew55 used command: bank
|
|
||||||
[2020/02/09] 23:19 andrew55 used command: bank
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
[2019/10/27] 16:16 michael used command: bank
|
|
||||||
[2019/11/24] 09:27 michael used command: bank
|
|
||||||
[2019/11/24] 09:31 michael used command: bank
|
|
||||||
[2019/11/24] 09:38 michael used command: bank
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2019/10/28] 16:52 michael2 used command: bank
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2014/01/18] 22:22 mod den used command: bank
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2014/02/11] 20:05 andrewf dropped 1 empty pot absX: 3222 absY: 3218
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
[2014/02/11] 20:24 andrewsdf dropped 1 bronze hatchet absX: 3222 absY: 3218
|
|
||||||
[2014/02/11] 20:24 andrewsdf dropped 1 tinderbox absX: 3223 absY: 3219
|
|
||||||
[2014/02/11] 20:24 andrewsdf dropped 1 shrimps absX: 3226 absY: 3219
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/06/19] 22:04 irdb dropped 1 bronze sword absX: 3210 absY: 3218
|
|
||||||
[2019/06/19] 22:14 irdb dropped 1 bronze dagger absX: 3207 absY: 3215
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/10/26] 13:49 michael dropped 1 chef's hat absX: 3250 absY: 3225
|
|
||||||
[2019/10/26] 13:49 michael dropped 1 fire talisman absX: 3250 absY: 3225
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
[2019/10/26] 21:23 michael2 dropped 3 iron arrow absX: 3248 absY: 3225
|
|
||||||
[2019/10/26] 21:24 michael2 dropped 17 bronze arrow absX: 3262 absY: 3228
|
|
||||||
[2019/10/26] 21:24 michael2 dropped 1 air talisman absX: 3262 absY: 3228
|
|
||||||
[2019/10/26] 21:26 michael2 dropped 1 bronze longsword absX: 3259 absY: 3229
|
|
||||||
[2019/10/26] 21:28 michael2 dropped 1 bronze med helm absX: 3251 absY: 3225
|
|
||||||
[2019/10/26] 21:28 michael2 dropped 1 air talisman absX: 3251 absY: 3225
|
|
||||||
[2019/10/26] 21:29 michael2 dropped 9 coins absX: 3255 absY: 3223
|
|
||||||
[2019/10/26] 21:29 michael2 dropped 6 water rune absX: 3255 absY: 3223
|
|
||||||
[2019/10/26] 21:29 michael2 dropped 1 goblin mail absX: 3255 absY: 3223
|
|
||||||
[2019/10/26] 21:31 michael2 dropped 1 bronze sq shield absX: 3260 absY: 3228
|
|
||||||
[2019/10/26] 21:32 michael2 dropped 9 coins absX: 3259 absY: 3227
|
|
||||||
[2019/10/26] 21:34 michael2 dropped 1 bronze sq shield absX: 3262 absY: 3229
|
|
||||||
[2019/10/26] 21:34 michael2 dropped 1 bronze sq shield absX: 3255 absY: 3223
|
|
||||||
[2019/10/26] 21:34 michael2 dropped 1 bronze longsword absX: 3255 absY: 3223
|
|
||||||
[2019/10/26] 21:35 michael2 dropped 1 raw chicken absX: 3260 absY: 3227
|
|
||||||
[2019/10/26] 21:51 michael2 dropped 1 ashes absX: 3234 absY: 3218
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
[2019/10/27] 18:50 michael5 dropped 1 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 1 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 1 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 2 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 3 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 4 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 5 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:50 michael5 dropped 6 bronze arrow absX: 3247 absY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 2 air rune absX: 3248 absY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 5 iron arrow absX: 3248 absY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 1 bronze arrow absX: 3251 absY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 1 bronze arrow absX: 3253 absY: 3225
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 2 bronze arrow absX: 3252 absY: 3225
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 3 bronze arrow absX: 3252 absY: 3225
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 1 bronze arrow absX: 3242 absY: 3225
|
|
||||||
[2019/10/27] 18:51 michael5 dropped 2 bronze arrow absX: 3242 absY: 3225
|
|
||||||
[2019/10/27] 18:52 michael5 dropped 3 bronze arrow absX: 3242 absY: 3225
|
|
||||||
[2019/10/27] 18:52 michael5 dropped 4 bronze arrow absX: 3242 absY: 3225
|
|
||||||
[2019/10/27] 18:52 michael5 dropped 5 bronze arrow absX: 3242 absY: 3225
|
|
||||||
[2019/10/27] 18:52 michael5 dropped 6 bronze arrow absX: 3242 absY: 3225
|
|
||||||
[2019/10/27] 18:55 michael5 dropped 1 ashes absX: 3234 absY: 3230
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
[2019/10/28] 13:45 michael6 dropped 1 bronze arrow absX: 3224 absY: 3222
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 1 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 2 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 3 bronze arrow absX: 3224 absY: 3222
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 4 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 5 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 6 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:45 michael6 dropped 7 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:46 michael6 dropped 8 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:46 michael6 dropped 9 bronze arrow absX: 3224 absY: 3222
|
|
||||||
[2019/10/28] 13:46 michael6 dropped 10 bronze arrow absX: 3224 absY: 3224
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 1 bronze arrow absX: 3220 absY: 3224
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 1 bronze arrow absX: 3219 absY: 3223
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 2 bronze arrow absX: 3221 absY: 3223
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 1 bronze arrow absX: 3221 absY: 3225
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 1 bronze arrow absX: 3222 absY: 3221
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 2 bronze arrow absX: 3222 absY: 3221
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 3 bronze arrow absX: 3222 absY: 3221
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 4 bronze arrow absX: 3222 absY: 3221
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 5 bronze arrow absX: 3222 absY: 3221
|
|
||||||
[2019/10/28] 13:48 michael6 dropped 6 bronze arrow absX: 3222 absY: 3221
|
|
||||||
[2019/10/28] 13:52 michael6 dropped 1 bronze arrow absX: 3221 absY: 3219
|
|
||||||
[2019/10/28] 13:52 michael6 dropped 1 bronze arrow absX: 3232 absY: 3219
|
|
||||||
[2019/10/28] 14:01 michael6 dropped 1 bronze arrow absX: 3217 absY: 3244
|
|
||||||
[2019/10/28] 14:01 michael6 dropped 1 bronze arrow absX: 3228 absY: 3218
|
|
||||||
[2019/10/28] 14:01 michael6 dropped 1 bronze arrow absX: 3230 absY: 3218
|
|
||||||
[2019/10/28] 14:02 michael6 dropped 1 bronze arrow absX: 3232 absY: 3217
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
[2019/10/28] 15:09 michael7 dropped 1 bronze arrow absX: 3225 absY: 3223
|
|
||||||
[2019/10/28] 15:13 michael7 dropped 1 bronze arrow absX: 3225 absY: 3224
|
|
||||||
[2019/10/28] 15:13 michael7 dropped 1 bronze arrow absX: 3225 absY: 3222
|
|
||||||
[2019/10/28] 15:18 michael7 dropped 1 bronze arrow absX: 3230 absY: 3219
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 2 bronze arrow absX: 3230 absY: 3219
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 1 bronze arrow absX: 3234 absY: 3217
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 1 bronze arrow absX: 3235 absY: 3221
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 2 bronze arrow absX: 3235 absY: 3221
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 1 bronze arrow absX: 3236 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 1 bronze arrow absX: 3233 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 2 bronze arrow absX: 3233 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 3 bronze arrow absX: 3233 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 4 bronze arrow absX: 3233 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 5 bronze arrow absX: 3233 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 6 bronze arrow absX: 3233 absY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 1 bronze arrow absX: 3232 absY: 3220
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 1 bronze arrow absX: 3233 absY: 3220
|
|
||||||
[2019/10/28] 15:19 michael7 dropped 2 bronze arrow absX: 3233 absY: 3220
|
|
||||||
[2019/10/28] 15:20 michael7 dropped 1 bronze arrow absX: 3234 absY: 3218
|
|
||||||
[2019/10/28] 15:20 michael7 dropped 1 ashes absX: 3230 absY: 3218
|
|
||||||
[2019/10/28] 15:20 michael7 dropped 3 bronze arrow absX: 3230 absY: 3219
|
|
||||||
[2019/10/28] 15:20 michael7 dropped 1 bronze arrow absX: 3223 absY: 3228
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 1 bronze arrow absX: 3223 absY: 3227
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 2 bronze arrow absX: 3223 absY: 3229
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 1 bronze arrow absX: 3234 absY: 3218
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 1 bronze arrow absX: 3236 absY: 3218
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 1 bronze arrow absX: 3234 absY: 3218
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 2 bronze arrow absX: 3234 absY: 3218
|
|
||||||
[2019/10/28] 15:23 michael7 dropped 3 bronze arrow absX: 3234 absY: 3218
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
[2019/10/28] 15:25 michael8 dropped 1 bronze arrow absX: 3234 absY: 3226
|
|
||||||
[2019/10/28] 15:25 michael8 dropped 1 bronze arrow absX: 3234 absY: 3226
|
|
||||||
[2019/10/28] 15:25 michael8 dropped 1 bronze arrow absX: 3234 absY: 3226
|
|
||||||
[2019/10/28] 15:29 michael8 dropped 1 bronze arrow absX: 3228 absY: 3219
|
|
||||||
[2019/10/28] 15:29 michael8 dropped 1 bronze arrow absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:29 michael8 dropped 2 bronze arrow absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:29 michael8 dropped 3 bronze arrow absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:29 michael8 dropped 4 bronze arrow absX: 3228 absY: 3220
|
|
||||||
[2019/10/28] 15:30 michael8 dropped 1 bronze arrow absX: 3229 absY: 3217
|
|
||||||
[2019/10/28] 15:30 michael8 dropped 1 bronze arrow absX: 3226 absY: 3218
|
|
||||||
[2019/10/28] 15:31 michael8 dropped 5 bronze arrow absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:31 michael8 dropped 6 bronze arrow absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:31 michael8 dropped 7 bronze arrow absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:31 michael8 dropped 1 iron dagger absX: 3226 absY: 3220
|
|
||||||
[2019/10/28] 15:36 michael8 dropped 1 bronze arrow absX: 3219 absY: 3222
|
|
||||||
[2019/10/28] 15:36 michael8 dropped 2 bronze arrow absX: 3219 absY: 3222
|
|
||||||
[2019/10/28] 15:36 michael8 dropped 3 bronze arrow absX: 3219 absY: 3222
|
|
||||||
[2019/10/28] 15:36 michael8 dropped 4 bronze arrow absX: 3219 absY: 3222
|
|
||||||
[2019/10/28] 15:41 michael8 dropped 1 air talisman absX: 3220 absY: 3222
|
|
||||||
[2019/10/28] 15:41 michael8 dropped 1 herb absX: 3220 absY: 3222
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3303 absY: 3136
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3303 absY: 3136
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3301 absY: 3138
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3299 absY: 3139
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3297 absY: 3141
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3297 absY: 3141
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3297 absY: 3141
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3297 absY: 3141
|
|
||||||
[2020/08/09] 21:08 sandro dropped 1 waterskin(0) absX: 3293 absY: 3147
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2019/11/10] 22:30 spamtest1 dropped 1 grimy lantadyme absX: 3231 absY: 3207
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2019/10/04] 22:10 test dropped 3 coins absX: 3224 absY: 3202
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2014/01/08] 16:07 andrew1 killed andrew in the duel arena.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
[2019/11/17] 15:52 andrew22 picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/11/17] 15:52 andrew22 picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/11/17] 15:54 andrew22 picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/11/17] 15:56 andrew22 picked up knife itemX: 3224, itemY: 3202
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/06/19] 22:14 irdb picked up bronze dagger itemX: 3207, itemY: 3215
|
|
||||||
[2019/10/03] 18:17 irdb picked up cabbage itemX: 3217, itemY: 9622
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/10/26] 13:50 michael picked up fire talisman itemX: 3250, itemY: 3226
|
|
||||||
[2019/10/26] 13:50 michael picked up chef's hat itemX: 3250, itemY: 3226
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
[2019/10/26] 21:23 michael2 picked up iron arrow itemX: 3249, itemY: 3225
|
|
||||||
[2019/10/26] 21:23 michael2 picked up bones itemX: 3249, itemY: 3225
|
|
||||||
[2019/10/26] 21:24 michael2 picked up bronze arrow itemX: 3261, itemY: 3228
|
|
||||||
[2019/10/26] 21:24 michael2 picked up bones itemX: 3261, itemY: 3228
|
|
||||||
[2019/10/26] 21:24 michael2 picked up air talisman itemX: 3261, itemY: 3228
|
|
||||||
[2019/10/26] 21:26 michael2 picked up bones itemX: 3251, itemY: 3225
|
|
||||||
[2019/10/26] 21:26 michael2 picked up bones itemX: 3260, itemY: 3229
|
|
||||||
[2019/10/26] 21:26 michael2 picked up bronze longsword itemX: 3260, itemY: 3229
|
|
||||||
[2019/10/26] 21:27 michael2 picked up bones itemX: 3262, itemY: 3229
|
|
||||||
[2019/10/26] 21:28 michael2 picked up bronze med helm itemX: 3250, itemY: 3225
|
|
||||||
[2019/10/26] 21:28 michael2 picked up bones itemX: 3250, itemY: 3225
|
|
||||||
[2019/10/26] 21:28 michael2 picked up air talisman itemX: 3250, itemY: 3225
|
|
||||||
[2019/10/26] 21:30 michael2 picked up bones itemX: 3250, itemY: 3225
|
|
||||||
[2019/10/26] 21:30 michael2 picked up goblin mail itemX: 3254, itemY: 3223
|
|
||||||
[2019/10/26] 21:31 michael2 picked up bronze sq shield itemX: 3260, itemY: 3229
|
|
||||||
[2019/10/26] 21:31 michael2 picked up bones itemX: 3260, itemY: 3229
|
|
||||||
[2019/10/26] 21:33 michael2 picked up coins itemX: 3261, itemY: 3229
|
|
||||||
[2019/10/26] 21:34 michael2 picked up bronze sq shield itemX: 3262, itemY: 3230
|
|
||||||
[2019/10/26] 21:34 michael2 picked up bronze sq shield itemX: 3254, itemY: 3223
|
|
||||||
[2019/10/26] 21:34 michael2 picked up bronze longsword itemX: 3254, itemY: 3223
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[2019/10/27] 18:51 michael5 picked up bronze arrow itemX: 3248, itemY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 picked up air rune itemX: 3248, itemY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 picked up bones itemX: 3248, itemY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 picked up iron arrow itemX: 3248, itemY: 3226
|
|
||||||
[2019/10/27] 18:51 michael5 picked up bronze arrow itemX: 3249, itemY: 3226
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[2019/10/28] 13:46 michael6 picked up bronze arrow itemX: 3224, itemY: 3223
|
|
||||||
[2019/10/28] 13:48 michael6 picked up bronze arrow itemX: 3220, itemY: 3223
|
|
||||||
[2019/10/28] 13:48 michael6 picked up bronze arrow itemX: 3222, itemY: 3222
|
|
||||||
[2019/10/28] 13:48 michael6 picked up bronze arrow itemX: 3220, itemY: 3225
|
|
||||||
[2019/10/28] 13:48 michael6 picked up bronze arrow itemX: 3220, itemY: 3226
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[2019/10/28] 15:19 michael7 picked up bronze arrow itemX: 3234, itemY: 3222
|
|
||||||
[2019/10/28] 15:19 michael7 picked up bronze arrow itemX: 3234, itemY: 3221
|
|
||||||
[2019/10/28] 15:19 michael7 picked up bronze arrow itemX: 3234, itemY: 3220
|
|
||||||
[2019/10/28] 15:19 michael7 picked up bronze arrow itemX: 3235, itemY: 3220
|
|
||||||
[2019/10/28] 15:19 michael7 picked up bronze arrow itemX: 3234, itemY: 3218
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
[2019/10/28] 15:36 michael8 picked up bronze arrow itemX: 3219, itemY: 3221
|
|
||||||
[2019/10/28] 15:43 michael8 picked up air talisman itemX: 3219, itemY: 3222
|
|
||||||
[2019/10/28] 15:43 michael8 picked up herb itemX: 3219, itemY: 3222
|
|
||||||
[2019/10/28] 15:43 michael8 picked up bones itemX: 3219, itemY: 3222
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/11/10] 22:46 spamtest1 picked up bones itemX: 3231, itemY: 3236
|
|
||||||
[2019/11/10] 22:46 spamtest1 picked up bones itemX: 3231, itemY: 3236
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
[2019/10/04] 22:06 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:10 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:10 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:11 test picked up coins itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:16 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:16 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:16 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:23 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
[2019/10/04] 22:24 test picked up knife itemX: 3224, itemY: 3202
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2014/01/07] 18:47 andrew was killed by andrew1 absX: 3087 absY: 3900
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2019/11/21] 19:51 andrew5 was killed by andrew44 absX: 3104 absY: 3898
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2014/01/07] 18:47 andrew1 killed andrew absX: 3088 absY: 3900
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2014/01/14] 18:40 andrew45 said hi
|
|
||||||
[2014/01/14] 18:48 andrew45 said hi
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
andrew1 was reported by andrew2, Offensive language, January, 06
|
|
||||||
.
|
|
||||||
|
|
||||||
andrew2 was reported by andrew, Offensive language, January, 06
|
|
||||||
-[01:09:58: andrew2]: asdfasdfa
|
|
||||||
-[01:09:59: andrew2]: aa
|
|
||||||
-[01:09:59: andrew2]: sdfa
|
|
||||||
-[01:10:00: andrew]: adsfasdfadsfa
|
|
||||||
.
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2019/11/08] 19:22 bot bought newcomer map from store id: 88 for 1 coins
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
[2019/11/08] 19:22 bot sold newcomer map to store id: 88 for 1 coins
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
[2019/10/04] 10:46 irdb sold thread to store id: 24 for 2 coins
|
|
||||||
[2019/10/04] 10:47 irdb sold bronze dagger to store id: 88 for 8 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bronze dagger to store id: 88 for 8 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:54 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
[2019/10/04] 16:55 irdb sold bucket to store id: 88 for 0 coins
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Knife
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
[2020/01/03] 07:19 andrew was traded by andrew5 and recieved 1 Logs
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[2019/10/27] 14:45 irdb2 was traded by irdb3 and recieved 1 Bronze dagger
|
|
||||||
[2019/10/27] 14:45 irdb2 was traded by irdb3 and recieved 1 Wooden shield
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
0
|
|
||||||