Added highscores

This commit is contained in:
dginovker
2019-06-20 11:02:00 -04:00
parent afad8ec4a3
commit a5e3e6e8f2
10 changed files with 1301 additions and 314 deletions
+18 -14
View File
@@ -4,8 +4,8 @@ character-password = pwjojo
[CHARACTER] [CHARACTER]
character-height = 2 character-height = 2
character-posx = 3209 character-posx = 3210
character-posy = 3215 character-posy = 3219
character-rights = 0 character-rights = 0
hasStarter = false hasStarter = false
bankPin1 = 0 bankPin1 = 0
@@ -15,7 +15,7 @@ bankPin4 = 0
hasBankpin = false hasBankpin = false
pinRegisteredDeleteDay = 0 pinRegisteredDeleteDay = 0
requestPinDelete = false requestPinDelete = false
lastLoginDate = 20190519 lastLoginDate = 20190520
setPin = false setPin = false
hasPaid = false hasPaid = false
lostCannon = false lostCannon = false
@@ -34,7 +34,7 @@ brightness = 3
closeTutorialInterface = true closeTutorialInterface = true
canWalkTutorial = true canWalkTutorial = true
village = false village = false
lastThieve = 0 lastThieve = 1561040960580
homeTele = 0 homeTele = 0
strongHold = false strongHold = false
character-energy = 100 character-energy = 100
@@ -55,8 +55,8 @@ blackMarks = 0
tutorial-progress = 36 tutorial-progress = 36
skull-timer = 0 skull-timer = 0
recoilHits = 0 recoilHits = 0
lastX = 3209 lastX = 3210
lastY = 3215 lastY = 3219
lastH = 2 lastH = 2
removedTask0 = -1 removedTask0 = -1
removedTask1 = -1 removedTask1 = -1
@@ -156,7 +156,7 @@ character-skill = 13 1 0
character-skill = 14 1 0 character-skill = 14 1 0
character-skill = 15 1 0 character-skill = 15 1 0
character-skill = 16 1 0 character-skill = 16 1 0
character-skill = 17 1 0 character-skill = 17 1 40
character-skill = 18 1 0 character-skill = 18 1 0
character-skill = 19 1 0 character-skill = 19 1 0
character-skill = 20 1 0 character-skill = 20 1 0
@@ -166,20 +166,24 @@ character-skill = 23 1 0
character-skill = 24 1 0 character-skill = 24 1 0
[ITEMS] [ITEMS]
character-item = 0 1352 1 character-item = 0 996 1
character-item = 1 591 1
character-item = 2 304 1 character-item = 2 304 1
character-item = 3 316 1 character-item = 3 316 1
character-item = 4 1926 1
character-item = 5 1932 1 character-item = 5 1932 1
character-item = 6 2310 1 character-item = 6 2310 1
character-item = 7 1266 1 character-item = 7 1266 1
character-item = 8 1206 1 character-item = 16 558 3
character-item = 12 883 25 character-item = 17 560 1
character-item = 16 558 4
character-item = 17 560 2
[BANK] [BANK]
character-bank = 0 1352 1
character-bank = 1 591 1
character-bank = 2 883 25
character-bank = 3 558 1
character-bank = 4 560 1
character-bank = 5 1926 1
character-bank = 6 1206 1
character-bank = 7 996 2
[FRIENDS] [FRIENDS]
+195
View File
@@ -0,0 +1,195 @@
[ACCOUNT]
character-username = irdb1
character-password = pwjojo
[CHARACTER]
character-height = 0
character-posx = 3234
character-posy = 3226
character-rights = 0
hasStarter = false
bankPin1 = 0
bankPin2 = 0
bankPin3 = 0
bankPin4 = 0
hasBankpin = false
pinRegisteredDeleteDay = 0
requestPinDelete = false
lastLoginDate = 20190520
setPin = false
hasPaid = false
lostCannon = false
cannonX = 0
cannonY = 0
myBalls = 0
poison = false
spiritTree = false
npcCanAttack = true
rope = false
rope2 = false
recievedMask = false
recievedReward = false
isBotting = false
brightness = 3
closeTutorialInterface = true
canWalkTutorial = true
village = false
lastThieve = 0
homeTele = 0
strongHold = false
character-energy = 100
crystal-bow-shots = 0
splitChat = false
canSpeak = true
barrowsNpcs = 0 0
barrowsNpcs = 1 0
barrowsNpcs = 2 0
barrowsNpcs = 3 0
barrowsNpcs = 4 0
barrowsNpcs = 5 0
questStages = 0
SlayerMaster = 0
music = false false false false false false true false false false false false false false false false false false false false false false false false false false false false true false false false false false false false false false false false false false false false false false false false false false
randomActions = 0
blackMarks = 0
tutorial-progress = 36
skull-timer = 0
recoilHits = 0
lastX = 3234
lastY = 3226
lastH = 0
removedTask0 = -1
removedTask1 = -1
removedTask2 = -1
removedTask3 = -1
creationAddress =
has-npc = false
summonId = 0
thankedForDonation = 0
membership = false
questPoints = 0
bananas = 0
magic-book = 0
special-amount = 0.5
musicOn = true
needsNewTask = false
luthas = false
selected-coffin = 0
runeMist = 0
cookAss = 0
pirateTreasure = 0
ptjob = 0
doricQuest = 0
dragonSlayerQuestStage = 0
impsC = 0
knightS = 0
sheepShear = 0
romeo-juliet = 0
gertCat = 0
cw-games = 0
witchspot = 0
restGhost = 0
vampSlayer = 0
RatDied2 = false
teleblock-length = 0
pc-points = 0
lastYell = 0
slayerTask = 0
taskAmount = 0
magePoints = 0
autoRet = 0
barrowsKillCount = 0
slayerPoints = 0
flagged = false
wave = 0
gwkc = 0
isRunning = false
fightMode = 0
void = 0 0 0 0 0
[EQUIPMENT]
character-equip = 0 -1 1
character-equip = 1 -1 1
character-equip = 2 -1 1
character-equip = 3 -1 0
character-equip = 4 -1 1
character-equip = 5 -1 1
character-equip = 6 -1 0
character-equip = 7 -1 1
character-equip = 8 -1 0
character-equip = 9 -1 1
character-equip = 10 -1 1
character-equip = 11 -1 0
character-equip = 12 -1 1
character-equip = 13 -1 0
[LOOK]
character-look = 0 0
character-look = 1 0
character-look = 2 18
character-look = 3 26
character-look = 4 33
character-look = 5 36
character-look = 6 42
character-look = 7 10
character-look = 8 0
character-look = 9 0
character-look = 10 0
character-look = 11 0
character-look = 12 0
[SKILLS]
character-skill = 0 1 0
character-skill = 1 1 0
character-skill = 2 1 0
character-skill = 3 10 1300
character-skill = 4 1 0
character-skill = 5 1 0
character-skill = 6 1 0
character-skill = 7 1 0
character-skill = 8 1 0
character-skill = 9 1 0
character-skill = 10 1 0
character-skill = 11 1 0
character-skill = 12 1 0
character-skill = 13 1 0
character-skill = 14 1 0
character-skill = 15 1 0
character-skill = 16 1 0
character-skill = 17 1 0
character-skill = 18 1 0
character-skill = 19 1 0
character-skill = 20 1 0
character-skill = 21 1 0
character-skill = 22 1 0
character-skill = 23 1 0
character-skill = 24 1 0
[ITEMS]
character-item = 0 1352 1
character-item = 1 591 1
character-item = 2 304 1
character-item = 3 316 1
character-item = 4 1926 1
character-item = 5 1932 1
character-item = 6 2310 1
character-item = 7 1266 1
character-item = 8 1206 1
character-item = 9 1278 1
character-item = 10 1172 1
character-item = 11 842 1
character-item = 12 883 25
character-item = 13 557 25
character-item = 14 559 15
character-item = 15 556 6
character-item = 16 558 4
character-item = 17 560 2
[BANK]
[FRIENDS]
[IGNORES]
[EOF]
+195
View File
@@ -0,0 +1,195 @@
[ACCOUNT]
character-username = irdb2
character-password = pwjojo
[CHARACTER]
character-height = 0
character-posx = 3233
character-posy = 3229
character-rights = 0
hasStarter = false
bankPin1 = 0
bankPin2 = 0
bankPin3 = 0
bankPin4 = 0
hasBankpin = false
pinRegisteredDeleteDay = 0
requestPinDelete = false
lastLoginDate = 20190520
setPin = false
hasPaid = false
lostCannon = false
cannonX = 0
cannonY = 0
myBalls = 0
poison = false
spiritTree = false
npcCanAttack = true
rope = false
rope2 = false
recievedMask = false
recievedReward = false
isBotting = false
brightness = 3
closeTutorialInterface = false
canWalkTutorial = true
village = false
lastThieve = 0
homeTele = 0
strongHold = false
character-energy = 100
crystal-bow-shots = 0
splitChat = false
canSpeak = true
barrowsNpcs = 0 0
barrowsNpcs = 1 0
barrowsNpcs = 2 0
barrowsNpcs = 3 0
barrowsNpcs = 4 0
barrowsNpcs = 5 0
questStages = 0
SlayerMaster = 0
music = false false false false false false true false false false false false false false false false false false false false false false false false false false false false true false false false false false false false false false false false false false false false false false false false false false
randomActions = 0
blackMarks = 0
tutorial-progress = 36
skull-timer = 0
recoilHits = 0
lastX = 3233
lastY = 3229
lastH = 0
removedTask0 = -1
removedTask1 = -1
removedTask2 = -1
removedTask3 = -1
creationAddress =
has-npc = false
summonId = 0
thankedForDonation = 0
membership = false
questPoints = 0
bananas = 0
magic-book = 0
special-amount = 0.0
musicOn = true
needsNewTask = false
luthas = false
selected-coffin = 0
runeMist = 0
cookAss = 0
pirateTreasure = 0
ptjob = 0
doricQuest = 0
dragonSlayerQuestStage = 0
impsC = 0
knightS = 0
sheepShear = 0
romeo-juliet = 0
gertCat = 0
cw-games = 0
witchspot = 0
restGhost = 0
vampSlayer = 0
RatDied2 = false
teleblock-length = 0
pc-points = 0
lastYell = 0
slayerTask = 0
taskAmount = 0
magePoints = 0
autoRet = 0
barrowsKillCount = 0
slayerPoints = 0
flagged = false
wave = 0
gwkc = 0
isRunning = false
fightMode = 0
void = 0 0 0 0 0
[EQUIPMENT]
character-equip = 0 -1 1
character-equip = 1 -1 1
character-equip = 2 -1 1
character-equip = 3 -1 0
character-equip = 4 -1 1
character-equip = 5 -1 1
character-equip = 6 -1 0
character-equip = 7 -1 1
character-equip = 8 -1 0
character-equip = 9 -1 1
character-equip = 10 -1 1
character-equip = 11 -1 0
character-equip = 12 -1 1
character-equip = 13 -1 0
[LOOK]
character-look = 0 0
character-look = 1 7
character-look = 2 25
character-look = 3 29
character-look = 4 35
character-look = 5 39
character-look = 6 44
character-look = 7 14
character-look = 8 7
character-look = 9 8
character-look = 10 9
character-look = 11 5
character-look = 12 0
[SKILLS]
character-skill = 0 1 0
character-skill = 1 1 0
character-skill = 2 1 0
character-skill = 3 10 1300
character-skill = 4 1 0
character-skill = 5 1 0
character-skill = 6 1 0
character-skill = 7 1 0
character-skill = 8 1 0
character-skill = 9 1 0
character-skill = 10 1 0
character-skill = 11 1 0
character-skill = 12 1 0
character-skill = 13 1 0
character-skill = 14 1 0
character-skill = 15 1 0
character-skill = 16 1 0
character-skill = 17 1 0
character-skill = 18 1 0
character-skill = 19 1 0
character-skill = 20 1 0
character-skill = 21 1 0
character-skill = 22 1 0
character-skill = 23 1 0
character-skill = 24 1 0
[ITEMS]
character-item = 0 1352 1
character-item = 1 591 1
character-item = 2 304 1
character-item = 3 316 1
character-item = 4 1926 1
character-item = 5 1932 1
character-item = 6 2310 1
character-item = 7 1266 1
character-item = 8 1206 1
character-item = 9 1278 1
character-item = 10 1172 1
character-item = 11 842 1
character-item = 12 883 25
character-item = 13 557 25
character-item = 14 559 15
character-item = 15 556 6
character-item = 16 558 4
character-item = 17 560 2
[BANK]
[FRIENDS]
[IGNORES]
[EOF]
+195
View File
@@ -0,0 +1,195 @@
[ACCOUNT]
character-username = irdb3
character-password = pwjojo
[CHARACTER]
character-height = 0
character-posx = 3233
character-posy = 3229
character-rights = 0
hasStarter = false
bankPin1 = 0
bankPin2 = 0
bankPin3 = 0
bankPin4 = 0
hasBankpin = false
pinRegisteredDeleteDay = 0
requestPinDelete = false
lastLoginDate = 20190520
setPin = false
hasPaid = false
lostCannon = false
cannonX = 0
cannonY = 0
myBalls = 0
poison = false
spiritTree = false
npcCanAttack = true
rope = false
rope2 = false
recievedMask = false
recievedReward = false
isBotting = false
brightness = 3
closeTutorialInterface = false
canWalkTutorial = true
village = false
lastThieve = 0
homeTele = 0
strongHold = false
character-energy = 100
crystal-bow-shots = 0
splitChat = false
canSpeak = true
barrowsNpcs = 0 0
barrowsNpcs = 1 0
barrowsNpcs = 2 0
barrowsNpcs = 3 0
barrowsNpcs = 4 0
barrowsNpcs = 5 0
questStages = 0
SlayerMaster = 0
music = false false false false false false true false false false false false false false false false false false false false false false false false false false false false true false false false false false false false false false false false false false false false false false false false false false
randomActions = 0
blackMarks = 0
tutorial-progress = 36
skull-timer = 0
recoilHits = 0
lastX = 3233
lastY = 3229
lastH = 0
removedTask0 = -1
removedTask1 = -1
removedTask2 = -1
removedTask3 = -1
creationAddress =
has-npc = false
summonId = 0
thankedForDonation = 0
membership = false
questPoints = 0
bananas = 0
magic-book = 0
special-amount = 0.0
musicOn = true
needsNewTask = false
luthas = false
selected-coffin = 0
runeMist = 0
cookAss = 0
pirateTreasure = 0
ptjob = 0
doricQuest = 0
dragonSlayerQuestStage = 0
impsC = 0
knightS = 0
sheepShear = 0
romeo-juliet = 0
gertCat = 0
cw-games = 0
witchspot = 0
restGhost = 0
vampSlayer = 0
RatDied2 = false
teleblock-length = 0
pc-points = 0
lastYell = 0
slayerTask = 0
taskAmount = 0
magePoints = 0
autoRet = 0
barrowsKillCount = 0
slayerPoints = 0
flagged = false
wave = 0
gwkc = 0
isRunning = false
fightMode = 0
void = 0 0 0 0 0
[EQUIPMENT]
character-equip = 0 -1 1
character-equip = 1 -1 1
character-equip = 2 -1 1
character-equip = 3 -1 0
character-equip = 4 -1 1
character-equip = 5 -1 1
character-equip = 6 -1 0
character-equip = 7 -1 1
character-equip = 8 -1 0
character-equip = 9 -1 1
character-equip = 10 -1 1
character-equip = 11 -1 0
character-equip = 12 -1 1
character-equip = 13 -1 0
[LOOK]
character-look = 0 0
character-look = 1 7
character-look = 2 25
character-look = 3 29
character-look = 4 35
character-look = 5 39
character-look = 6 44
character-look = 7 14
character-look = 8 7
character-look = 9 8
character-look = 10 9
character-look = 11 5
character-look = 12 0
[SKILLS]
character-skill = 0 1 0
character-skill = 1 1 0
character-skill = 2 1 0
character-skill = 3 10 1300
character-skill = 4 1 0
character-skill = 5 1 0
character-skill = 6 1 0
character-skill = 7 1 0
character-skill = 8 1 0
character-skill = 9 1 0
character-skill = 10 1 0
character-skill = 11 1 0
character-skill = 12 1 0
character-skill = 13 1 0
character-skill = 14 1 0
character-skill = 15 1 0
character-skill = 16 1 0
character-skill = 17 1 0
character-skill = 18 1 0
character-skill = 19 1 0
character-skill = 20 1 0
character-skill = 21 1 0
character-skill = 22 1 0
character-skill = 23 1 0
character-skill = 24 1 0
[ITEMS]
character-item = 0 1352 1
character-item = 1 591 1
character-item = 2 304 1
character-item = 3 316 1
character-item = 4 1926 1
character-item = 5 1932 1
character-item = 6 2310 1
character-item = 7 1266 1
character-item = 8 1206 1
character-item = 9 1278 1
character-item = 10 1172 1
character-item = 11 842 1
character-item = 12 883 25
character-item = 13 557 25
character-item = 14 559 15
character-item = 15 556 6
character-item = 16 558 4
character-item = 17 560 2
[BANK]
[FRIENDS]
[IGNORES]
[EOF]
+195
View File
@@ -0,0 +1,195 @@
[ACCOUNT]
character-username = irdb4
character-password = pwjojo
[CHARACTER]
character-height = 0
character-posx = 3233
character-posy = 3229
character-rights = 0
hasStarter = false
bankPin1 = 0
bankPin2 = 0
bankPin3 = 0
bankPin4 = 0
hasBankpin = false
pinRegisteredDeleteDay = 0
requestPinDelete = false
lastLoginDate = 20190520
setPin = false
hasPaid = false
lostCannon = false
cannonX = 0
cannonY = 0
myBalls = 0
poison = false
spiritTree = false
npcCanAttack = true
rope = false
rope2 = false
recievedMask = false
recievedReward = false
isBotting = false
brightness = 3
closeTutorialInterface = false
canWalkTutorial = true
village = false
lastThieve = 0
homeTele = 0
strongHold = false
character-energy = 100
crystal-bow-shots = 0
splitChat = false
canSpeak = true
barrowsNpcs = 0 0
barrowsNpcs = 1 0
barrowsNpcs = 2 0
barrowsNpcs = 3 0
barrowsNpcs = 4 0
barrowsNpcs = 5 0
questStages = 0
SlayerMaster = 0
music = false false false false false false true false false false false false false false false false false false false false false false false false false false false false true false false false false false false false false false false false false false false false false false false false false false
randomActions = 0
blackMarks = 0
tutorial-progress = 36
skull-timer = 0
recoilHits = 0
lastX = 3233
lastY = 3229
lastH = 0
removedTask0 = -1
removedTask1 = -1
removedTask2 = -1
removedTask3 = -1
creationAddress =
has-npc = false
summonId = 0
thankedForDonation = 0
membership = false
questPoints = 0
bananas = 0
magic-book = 0
special-amount = 0.0
musicOn = true
needsNewTask = false
luthas = false
selected-coffin = 0
runeMist = 0
cookAss = 0
pirateTreasure = 0
ptjob = 0
doricQuest = 0
dragonSlayerQuestStage = 0
impsC = 0
knightS = 0
sheepShear = 0
romeo-juliet = 0
gertCat = 0
cw-games = 0
witchspot = 0
restGhost = 0
vampSlayer = 0
RatDied2 = false
teleblock-length = 0
pc-points = 0
lastYell = 0
slayerTask = 0
taskAmount = 0
magePoints = 0
autoRet = 0
barrowsKillCount = 0
slayerPoints = 0
flagged = false
wave = 0
gwkc = 0
isRunning = false
fightMode = 0
void = 0 0 0 0 0
[EQUIPMENT]
character-equip = 0 -1 1
character-equip = 1 -1 1
character-equip = 2 -1 1
character-equip = 3 -1 0
character-equip = 4 -1 1
character-equip = 5 -1 1
character-equip = 6 -1 0
character-equip = 7 -1 1
character-equip = 8 -1 0
character-equip = 9 -1 1
character-equip = 10 -1 1
character-equip = 11 -1 0
character-equip = 12 -1 1
character-equip = 13 -1 0
[LOOK]
character-look = 0 0
character-look = 1 7
character-look = 2 25
character-look = 3 29
character-look = 4 35
character-look = 5 39
character-look = 6 44
character-look = 7 14
character-look = 8 7
character-look = 9 8
character-look = 10 9
character-look = 11 5
character-look = 12 0
[SKILLS]
character-skill = 0 1 0
character-skill = 1 1 0
character-skill = 2 1 0
character-skill = 3 10 1300
character-skill = 4 1 0
character-skill = 5 1 0
character-skill = 6 1 0
character-skill = 7 1 0
character-skill = 8 1 0
character-skill = 9 1 0
character-skill = 10 1 0
character-skill = 11 1 0
character-skill = 12 1 0
character-skill = 13 1 0
character-skill = 14 1 0
character-skill = 15 1 0
character-skill = 16 1 0
character-skill = 17 1 0
character-skill = 18 1 0
character-skill = 19 1 0
character-skill = 20 1 0
character-skill = 21 1 0
character-skill = 22 1 0
character-skill = 23 1 0
character-skill = 24 1 0
[ITEMS]
character-item = 0 1352 1
character-item = 1 591 1
character-item = 2 304 1
character-item = 3 316 1
character-item = 4 1926 1
character-item = 5 1932 1
character-item = 6 2310 1
character-item = 7 1266 1
character-item = 8 1206 1
character-item = 9 1278 1
character-item = 10 1172 1
character-item = 11 842 1
character-item = 12 883 25
character-item = 13 557 25
character-item = 14 559 15
character-item = 15 556 6
character-item = 16 558 4
character-item = 17 560 2
[BANK]
[FRIENDS]
[IGNORES]
[EOF]
@@ -2337,6 +2337,17 @@ public class ItemAssistant {
return freeS; return freeS;
} }
public int getBankQuantitiy(int itemID)
{
for (int i = 0; i < c.bankItems.length; i++) {
if (c.bankItems[i] == itemID)
{
return c.bankItemsN[i];
}
}
return 0;
}
public void fromBank(int itemID, int fromSlot, int amount) { public void fromBank(int itemID, int fromSlot, int amount) {
if (amount > 0) { if (amount > 0) {
if (c.bankItems[fromSlot] > 0) { if (c.bankItems[fromSlot] > 0) {
@@ -0,0 +1,60 @@
package redone.game.players;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import static redone.game.players.PlayerSave.loadPlayerInfo;
public class HighscoresHandler {
public ArrayList<Client> players = new ArrayList<>();
public HighscoresHandler() {
File dir = new File("./data/characters");
File[] directoryListing = dir.listFiles();
for (File child : directoryListing) {
Client player = new Client(null, -1);
player.playerName = child.getName().split("\\.")[0];
loadPlayerInfo(player, child.getName().split("\\.")[0], "", false);
players.add(player);
}
}
public String getRank(int i, String sortBy) {
switch (sortBy)
{
case "level":
players.sort(new totalLevelComparator());
return players.get(i).playerName + ": " + players.get(i).getPlayerAssistant().getTotalLevel();
case "gold":
players.sort(new totalGoldComparator());
return players.get(i).playerName + ": " + players.get(i).getPlayerAssistant().totalGold() + "gp";
default:
players.sort(new totalDmgComparator());
return players.get(i).playerName + ": " + players.get(i).totalDamageDealt;
}
}
private class totalLevelComparator implements Comparator<Client> {
@Override
public int compare(Client client, Client t1) {
return - client.getPlayerAssistant().getTotalLevel() + t1.getPlayerAssistant().getTotalLevel();
}
}
private class totalGoldComparator implements Comparator<Client> {
@Override
public int compare(Client client, Client t1) {
return - client.getPlayerAssistant().totalGold() + t1.getPlayerAssistant().totalGold();
}
}
private class totalDmgComparator implements Comparator<Client> {
@Override
public int compare(Client client, Client t1) {
return - client.totalDamageDealt + t1.totalDamageDealt;
}
}
}
@@ -2455,9 +2455,9 @@ public class PlayerAssistant {
} }
} }
public void levelUp(int skill) { public int getTotalLevel()
SkillHandler.resetSkills(player); {
int totalLevel = getLevelForXP(player.playerXP[0]) return getLevelForXP(player.playerXP[0])
+ getLevelForXP(player.playerXP[1]) + getLevelForXP(player.playerXP[1])
+ getLevelForXP(player.playerXP[2]) + getLevelForXP(player.playerXP[2])
+ getLevelForXP(player.playerXP[3]) + getLevelForXP(player.playerXP[3])
@@ -2478,8 +2478,11 @@ public class PlayerAssistant {
+ getLevelForXP(player.playerXP[18]) + getLevelForXP(player.playerXP[18])
+ getLevelForXP(player.playerXP[19]) + getLevelForXP(player.playerXP[19])
+ getLevelForXP(player.playerXP[20]); + getLevelForXP(player.playerXP[20]);
}
sendFrame126("Total Lvl: " + totalLevel, 3984); public void levelUp(int skill) {
SkillHandler.resetSkills(player);
sendFrame126("Total Lvl: " + getTotalLevel(), 3984);
switch (skill) { switch (skill) {
case 0: case 0:
sendFrame126("Congratulations, you just advanced an attack level!", sendFrame126("Congratulations, you just advanced an attack level!",
@@ -3328,4 +3331,7 @@ public class PlayerAssistant {
} }
} }
public int totalGold() {
return player.getItemAssistant().getBankQuantitiy(996) + player.getItemAssistant().getItemAmount(995);
}
} }
@@ -14,8 +14,12 @@ public class PlayerSave {
/** /**
* Loading * Loading
**/ **/
public static int loadGame(Client player, String playerName, public static int loadGame(Client player, String playerName, String playerPass) {
String playerPass) { return loadPlayerInfo(player, playerName, playerPass, true);
}
public static int loadPlayerInfo(Client player, String playerName, String playerPass, boolean doRealLogin)
{
String line = ""; String line = "";
String token = ""; String token = "";
String token2 = ""; String token2 = "";
@@ -56,6 +60,8 @@ public class PlayerSave {
token3 = token2.split("\t"); token3 = token2.split("\t");
switch (ReadMode) { switch (ReadMode) {
case 1: case 1:
if (!doRealLogin)
break;
if (token.equals("character-password")) { if (token.equals("character-password")) {
if (playerPass.equalsIgnoreCase(token2)) { if (playerPass.equalsIgnoreCase(token2)) {
playerPass = token2; playerPass = token2;
@@ -65,210 +71,310 @@ public class PlayerSave {
} }
break; break;
case 2: case 2:
if (token.equals("character-height")) { switch (token) {
case "character-height":
player.heightLevel = Integer.parseInt(token2); player.heightLevel = Integer.parseInt(token2);
} else if (token.equals("character-posx")) { break;
case "character-posx":
player.teleportToX = Integer.parseInt(token2) <= 0 ? player.lastX : Integer.parseInt(token2); player.teleportToX = Integer.parseInt(token2) <= 0 ? player.lastX : Integer.parseInt(token2);
} else if (token.equals("character-posy")) { break;
case "character-posy":
player.teleportToY = Integer.parseInt(token2) <= 0 ? player.lastY : Integer.parseInt(token2); player.teleportToY = Integer.parseInt(token2) <= 0 ? player.lastY : Integer.parseInt(token2);
} else if (token.equals("character-rights")) { break;
case "character-rights":
player.playerRights = Integer.parseInt(token2); player.playerRights = Integer.parseInt(token2);
} else if (token.equals("blackMarks")) { break;
case "blackMarks":
player.blackMarks = Integer.parseInt(token2); player.blackMarks = Integer.parseInt(token2);
} else if (token.equals("lostCannon")) { break;
case "lostCannon":
player.lostCannon = Boolean.parseBoolean(token2); player.lostCannon = Boolean.parseBoolean(token2);
} else if (token.equals("myBalls")) { break;
case "myBalls":
player.getCannon().myBalls = Integer.parseInt(token2); player.getCannon().myBalls = Integer.parseInt(token2);
} else if (token.equals("cannonX")) { break;
case "cannonX":
player.cannonX = Integer.parseInt(token2); player.cannonX = Integer.parseInt(token2);
} else if (token.equals("cannonY")) { break;
case "cannonY":
player.cannonY = Integer.parseInt(token2); player.cannonY = Integer.parseInt(token2);
} else if (token.equals("removedTask0")) { break;
case "removedTask0":
player.removedTasks[0] = Integer.parseInt(token2); player.removedTasks[0] = Integer.parseInt(token2);
} else if (token.equals("removedTask1")) { break;
case "removedTask1":
player.removedTasks[1] = Integer.parseInt(token2); player.removedTasks[1] = Integer.parseInt(token2);
} else if (token.equals("removedTask2")) { break;
case "removedTask2":
player.removedTasks[2] = Integer.parseInt(token2); player.removedTasks[2] = Integer.parseInt(token2);
} else if (token.equals("removedTask3")) { break;
case "removedTask3":
player.removedTasks[3] = Integer.parseInt(token2); player.removedTasks[3] = Integer.parseInt(token2);
} else if (token.equals("SlayerMaster")) { break;
case "SlayerMaster":
player.SlayerMaster = Integer.parseInt(token2); player.SlayerMaster = Integer.parseInt(token2);
} else if (token.equals("slayerTask")) { break;
case "slayerTask":
player.slayerTask = Integer.parseInt(token2); player.slayerTask = Integer.parseInt(token2);
} else if (token.equals("slayerPoints")) { break;
case "slayerPoints":
player.slayerPoints = Integer.parseInt(token2); player.slayerPoints = Integer.parseInt(token2);
} else if (token.equals("taskAmount")) { break;
case "taskAmount":
player.taskAmount = Integer.parseInt(token2); player.taskAmount = Integer.parseInt(token2);
} else if (token.equals("cw-games")) { break;
case "cw-games":
player.cwGames = Integer.parseInt(token2); player.cwGames = Integer.parseInt(token2);
} else if (token.equals("crystal-bow-shots")) { break;
case "crystal-bow-shots":
player.crystalBowArrowCount = Integer.parseInt(token2); player.crystalBowArrowCount = Integer.parseInt(token2);
} else if (token.equals("randomActions")) { break;
case "randomActions":
player.randomActions = Integer.parseInt(token2); player.randomActions = Integer.parseInt(token2);
} else if (token.equals("skull-timer")) { break;
case "skull-timer":
player.skullTimer = Integer.parseInt(token2); player.skullTimer = Integer.parseInt(token2);
} else if (token.equals("recoilHits")) { break;
case "recoilHits":
player.recoilHits = Integer.parseInt(token2); player.recoilHits = Integer.parseInt(token2);
} else if (token.equals("brightness")) { break;
case "brightness":
player.brightness = Integer.parseInt(token2); player.brightness = Integer.parseInt(token2);
} else if (token.equals("spiritTree")) { break;
case "spiritTree":
player.spiritTree = Boolean.parseBoolean(token2); player.spiritTree = Boolean.parseBoolean(token2);
} else if (token.equals("npcCanAttack")) { break;
case "npcCanAttack":
player.npcCanAttack = Boolean.parseBoolean(token2); player.npcCanAttack = Boolean.parseBoolean(token2);
} else if (token.equals("rope")) { break;
case "rope":
player.rope = Boolean.parseBoolean(token2); player.rope = Boolean.parseBoolean(token2);
} else if (token.equals("rope2")) { break;
case "rope2":
player.rope2 = Boolean.parseBoolean(token2); player.rope2 = Boolean.parseBoolean(token2);
} else if (token.equals("recievedMask")) { break;
case "recievedMask":
player.recievedMask = Boolean.parseBoolean(token2); player.recievedMask = Boolean.parseBoolean(token2);
} else if (token.equals("recievedReward")) { break;
case "recievedReward":
player.recievedReward = Boolean.parseBoolean(token2); player.recievedReward = Boolean.parseBoolean(token2);
} else if (token.equals("splitChat")) { break;
case "splitChat":
player.splitChat = Boolean.parseBoolean(token2); player.splitChat = Boolean.parseBoolean(token2);
} else if (token.equals("hasPaid")) { break;
case "hasPaid":
player.hasPaid = Boolean.parseBoolean(token2); player.hasPaid = Boolean.parseBoolean(token2);
} else if (token.equals("poison")) { break;
case "poison":
player.poison = Boolean.parseBoolean(token2); player.poison = Boolean.parseBoolean(token2);
} else if (token.equals("closeTutorialInterface")) { break;
case "closeTutorialInterface":
player.closeTutorialInterface = Boolean player.closeTutorialInterface = Boolean
.parseBoolean(token2); .parseBoolean(token2);
} else if (token.equals("canWalkTutorial")) { break;
case "canWalkTutorial":
player.canWalkTutorial = Boolean.parseBoolean(token2); player.canWalkTutorial = Boolean.parseBoolean(token2);
} else if (token.equals("needsNewTask")) { break;
case "needsNewTask":
player.needsNewTask = Boolean.parseBoolean(token2); player.needsNewTask = Boolean.parseBoolean(token2);
} else if (token.equals("isBotting")) { break;
case "isBotting":
player.isBotting = Boolean.parseBoolean(token2); player.isBotting = Boolean.parseBoolean(token2);
} else if (token.equals("musicOn")) { break;
case "musicOn":
player.musicOn = Boolean.parseBoolean(token2); player.musicOn = Boolean.parseBoolean(token2);
} else if (token.equals("barrowsNpcs")) { break;
case "barrowsNpcs":
player.barrowsNpcs[Integer.parseInt(token3[0])][1] = Integer.parseInt(token3[1]); player.barrowsNpcs[Integer.parseInt(token3[0])][1] = Integer.parseInt(token3[1]);
} else if (token.equals("summonId")) { break;
case "summonId":
player.summonId = Integer.parseInt(token2); player.summonId = Integer.parseInt(token2);
} else if (token.equals("has-npc")) { break;
case "has-npc":
player.hasNpc = Boolean.parseBoolean(token2); player.hasNpc = Boolean.parseBoolean(token2);
} else if (token.equals("barrowsKillCount")) { break;
case "barrowsKillCount":
player.barrowsKillCount = Integer.parseInt(token2); player.barrowsKillCount = Integer.parseInt(token2);
} else if (token.equals("luthas")) { break;
case "luthas":
player.luthas = Boolean.parseBoolean(token2); player.luthas = Boolean.parseBoolean(token2);
} else if (token.equals("village")) { break;
case "village":
player.village = Boolean.parseBoolean(token2); player.village = Boolean.parseBoolean(token2);
} else if (token.equals("lastThieve")) { break;
case "lastThieve":
player.lastThieve = Long.parseLong(token2); player.lastThieve = Long.parseLong(token2);
} else if (token.equals("homeTele")) { break;
case "homeTele":
player.homeTele = Long.parseLong(token2); player.homeTele = Long.parseLong(token2);
} else if (token.equals("tutorial-progress")) { break;
case "tutorial-progress":
player.tutorialProgress = Integer.parseInt(token2); player.tutorialProgress = Integer.parseInt(token2);
} else if (token.equals("strongHold")) { break;
case "strongHold":
player.strongHold = Boolean.parseBoolean(token2); player.strongHold = Boolean.parseBoolean(token2);
} else if (token.equals("filter")) { break;
case "filter":
player.filter = Boolean.parseBoolean(token2); player.filter = Boolean.parseBoolean(token2);
} else if (token.equals("ratdied2")) { break;
case "ratdied2":
player.ratdied2 = Boolean.parseBoolean(token2); player.ratdied2 = Boolean.parseBoolean(token2);
} else if (token.equals("questStages")) { break;
case "questStages":
player.questStages = Integer.parseInt(token2); player.questStages = Integer.parseInt(token2);
} else if (token.equals("cookAss")) { break;
case "cookAss":
player.cookAss = Integer.parseInt(token2); player.cookAss = Integer.parseInt(token2);
} else if (token.equals("bananas")) { break;
case "bananas":
player.bananas = Integer.parseInt(token2); player.bananas = Integer.parseInt(token2);
} else if (token.equals("sheepShear")) { break;
case "sheepShear":
player.sheepShear = Integer.parseInt(token2); player.sheepShear = Integer.parseInt(token2);
} else if (token.equals("runeMist")) { break;
case "runeMist":
player.runeMist = Integer.parseInt(token2); player.runeMist = Integer.parseInt(token2);
} else if (token.equals("dragonSlayerQuestStage")) { break;
case "dragonSlayerQuestStage":
player.dragonSlayerQuestStage = Integer.parseInt(token2); player.dragonSlayerQuestStage = Integer.parseInt(token2);
} else if (token.equals("doricQuest")) { break;
case "doricQuest":
player.doricQuest = Integer.parseInt(token2); player.doricQuest = Integer.parseInt(token2);
} else if (token.equals("pirateTreasure")) { break;
case "pirateTreasure":
player.pirateTreasure = Integer.parseInt(token2); player.pirateTreasure = Integer.parseInt(token2);
} else if (token.equals("romeo-juliet")) { break;
case "romeo-juliet":
player.romeojuliet = Integer.parseInt(token2); player.romeojuliet = Integer.parseInt(token2);
} else if (token.equals("vampSlayer")) { break;
case "vampSlayer":
player.vampSlayer = Integer.parseInt(token2); player.vampSlayer = Integer.parseInt(token2);
} else if (token.equals("gertCat")) { break;
case "gertCat":
player.gertCat = Integer.parseInt(token2); player.gertCat = Integer.parseInt(token2);
} else if (token.equals("witchspot")) { break;
case "witchspot":
player.witchspot = Integer.parseInt(token2); player.witchspot = Integer.parseInt(token2);
} else if (token.equals("restGhost")) { break;
case "restGhost":
player.restGhost = Integer.parseInt(token2); player.restGhost = Integer.parseInt(token2);
} else if (token.equals("impsC")) { break;
case "impsC":
player.impsC = Integer.parseInt(token2); player.impsC = Integer.parseInt(token2);
} else if (token.equals("knightS")) { break;
case "knightS":
player.knightS = Integer.parseInt(token2); player.knightS = Integer.parseInt(token2);
} else if (token.equals("lastX")) { break;
case "lastX":
player.lastX = Integer.parseInt(token2); player.lastX = Integer.parseInt(token2);
} else if (token.equals("lastY")) { break;
case "lastY":
player.lastY = Integer.parseInt(token2); player.lastY = Integer.parseInt(token2);
} else if (token.equals("lastH")) { break;
case "lastH":
player.lastH = Integer.parseInt(token2); player.lastH = Integer.parseInt(token2);
} else if (token.equals("hasStarter")) { break;
case "hasStarter":
player.hasStarter = Boolean.parseBoolean(token2); player.hasStarter = Boolean.parseBoolean(token2);
} else if (token.equals("thankedForDonation")) { break;
case "thankedForDonation":
player.thankedForDonation = Integer.parseInt(token2); player.thankedForDonation = Integer.parseInt(token2);
} else if (token.equals("membership")) { break;
case "membership":
player.membership = Boolean.parseBoolean(token2); player.membership = Boolean.parseBoolean(token2);
} else if (token.equals("canSpeak")) { break;
case "canSpeak":
player.canSpeak = Boolean.parseBoolean(token2); player.canSpeak = Boolean.parseBoolean(token2);
} else if (token.equals("questPoints")) { break;
case "questPoints":
player.questPoints = Integer.parseInt(token2); player.questPoints = Integer.parseInt(token2);
} else if (token.equals("magic-book")) { break;
case "magic-book":
player.playerMagicBook = Integer.parseInt(token2); player.playerMagicBook = Integer.parseInt(token2);
} else if (token.equals("special-amount")) { break;
case "special-amount":
player.specAmount = Double.parseDouble(token2); player.specAmount = Double.parseDouble(token2);
} else if (token.equals("selected-coffin")) { break;
case "selected-coffin":
player.randomCoffin = Integer.parseInt(token2); player.randomCoffin = Integer.parseInt(token2);
} else if (token.equals("isRunning")) { break;
case "isRunning":
player.isRunning2 = Boolean.parseBoolean(token2); player.isRunning2 = Boolean.parseBoolean(token2);
} else if (token.equals("character-energy")) { break;
case "character-energy":
player.playerEnergy = Integer.parseInt(token2); player.playerEnergy = Integer.parseInt(token2);
} else if (token.equals("teleblock-length")) { break;
case "teleblock-length":
player.teleBlockDelay = System.currentTimeMillis(); player.teleBlockDelay = System.currentTimeMillis();
player.teleBlockLength = Integer.parseInt(token2); player.teleBlockLength = Integer.parseInt(token2);
} else if (token.equals("lastYell")) { break;
case "lastYell":
player.lastYell = Long.parseLong(token2); player.lastYell = Long.parseLong(token2);
} else if (token.equals("pc-points")) { break;
case "pc-points":
player.pcPoints = Integer.parseInt(token2); player.pcPoints = Integer.parseInt(token2);
} else if (token.equals("magePoints")) { break;
case "magePoints":
player.magePoints = Integer.parseInt(token2); player.magePoints = Integer.parseInt(token2);
} else if (token.equals("autoRet")) { break;
case "autoRet":
player.autoRet = Integer.parseInt(token2); player.autoRet = Integer.parseInt(token2);
} else if (token.equals("flagged")) { break;
case "flagged":
player.accountFlagged = Boolean.parseBoolean(token2); player.accountFlagged = Boolean.parseBoolean(token2);
} else if (token.equals("lastLoginDate")) { break;
case "lastLoginDate":
player.lastLoginDate = Integer.parseInt(token2); player.lastLoginDate = Integer.parseInt(token2);
} else if (token.equals("hasBankpin")) { break;
case "hasBankpin":
player.hasBankpin = Boolean.parseBoolean(token2); player.hasBankpin = Boolean.parseBoolean(token2);
} else if (token.equals("setPin")) { break;
case "setPin":
player.setPin = Boolean.parseBoolean(token2); player.setPin = Boolean.parseBoolean(token2);
} else if (token.equals("pinRegisteredDeleteDay")) { break;
case "pinRegisteredDeleteDay":
player.pinDeleteDateRequested = Integer.parseInt(token2); player.pinDeleteDateRequested = Integer.parseInt(token2);
} else if (token.equals("requestPinDelete")) { break;
case "requestPinDelete":
player.requestPinDelete = Boolean.parseBoolean(token2); player.requestPinDelete = Boolean.parseBoolean(token2);
} else if (token.equals("bankPin1")) { break;
case "bankPin1":
player.bankPin1 = Integer.parseInt(token2); player.bankPin1 = Integer.parseInt(token2);
} else if (token.equals("bankPin2")) { break;
case "bankPin2":
player.bankPin2 = Integer.parseInt(token2); player.bankPin2 = Integer.parseInt(token2);
} else if (token.equals("bankPin3")) { break;
case "bankPin3":
player.bankPin3 = Integer.parseInt(token2); player.bankPin3 = Integer.parseInt(token2);
} else if (token.equals("bankPin4")) { break;
case "bankPin4":
player.bankPin4 = Integer.parseInt(token2); player.bankPin4 = Integer.parseInt(token2);
} else if (token.equals("wave")) { break;
case "wave":
player.waveId = Integer.parseInt(token2); player.waveId = Integer.parseInt(token2);
} else if (token.equals("ptjob")) { break;
case "ptjob":
player.ptjob = Integer.parseInt(token2); player.ptjob = Integer.parseInt(token2);
} else if (token.equals("creationAddress")) { break;
case "creationAddress":
player.creationAddress = token2; player.creationAddress = token2;
} else if (token.equals("music")) { break;
case "music":
for (int j = 0; j < token3.length; j++) { for (int j = 0; j < token3.length; j++) {
player.getPlayList().unlocked[j] = Boolean.parseBoolean(token3[j]); player.getPlayList().unlocked[j] = Boolean.parseBoolean(token3[j]);
} }
} else if (token.equals("void")) { break;
case "void":
for (int j = 0; j < token3.length; j++) { for (int j = 0; j < token3.length; j++) {
player.voidStatus[j] = Integer.parseInt(token3[j]); player.voidStatus[j] = Integer.parseInt(token3[j]);
} }
} else if (token.equals("gwkc")) { break;
case "gwkc":
player.killCount = Integer.parseInt(token2); player.killCount = Integer.parseInt(token2);
} else if (token.equals("fightMode")) { break;
case "fightMode":
player.fightMode = Integer.parseInt(token2); player.fightMode = Integer.parseInt(token2);
break;
} }
break; break;
case 3: case 3:
@@ -312,28 +418,38 @@ public class PlayerSave {
break; break;
} }
} else { } else {
if (line.equals("[ACCOUNT]")) { switch (line) {
case "[ACCOUNT]":
ReadMode = 1; ReadMode = 1;
} else if (line.equals("[CHARACTER]")) { break;
case "[CHARACTER]":
ReadMode = 2; ReadMode = 2;
} else if (line.equals("[EQUIPMENT]")) { break;
case "[EQUIPMENT]":
ReadMode = 3; ReadMode = 3;
} else if (line.equals("[LOOK]")) { break;
case "[LOOK]":
ReadMode = 4; ReadMode = 4;
} else if (line.equals("[SKILLS]")) { break;
case "[SKILLS]":
ReadMode = 5; ReadMode = 5;
} else if (line.equals("[ITEMS]")) { break;
case "[ITEMS]":
ReadMode = 6; ReadMode = 6;
} else if (line.equals("[BANK]")) { break;
case "[BANK]":
ReadMode = 7; ReadMode = 7;
} else if (line.equals("[FRIENDS]")) { break;
case "[FRIENDS]":
ReadMode = 8; ReadMode = 8;
} else if (line.equals("[IGNORES]")) { break;
case "[IGNORES]":
ReadMode = 9; ReadMode = 9;
} else if (line.equals("[EOF]")) { break;
case "[EOF]":
try { try {
characterfile.close(); characterfile.close();
} catch (IOException ioexception) { } catch (IOException ignored) {
} }
return 1; return 1;
} }
@@ -346,9 +462,12 @@ public class PlayerSave {
} }
try { try {
characterfile.close(); characterfile.close();
} catch (IOException ioexception) { } catch (IOException ignored) {
} }
if (doRealLogin)
return 13; return 13;
else
return 14;
} }
/** /**
@@ -5,6 +5,7 @@ import redone.Constants;
import redone.game.items.ItemAssistant; import redone.game.items.ItemAssistant;
import redone.game.npcs.NpcHandler; import redone.game.npcs.NpcHandler;
import redone.game.players.Client; import redone.game.players.Client;
import redone.game.players.HighscoresHandler;
import redone.game.players.PlayerHandler; import redone.game.players.PlayerHandler;
import redone.net.packets.PacketType; import redone.net.packets.PacketType;
import redone.util.GameLogger; import redone.util.GameLogger;
@@ -58,23 +59,29 @@ public class Commands implements PacketType {
player.getActionSender().sendMessage("::players, ::highscores"); player.getActionSender().sendMessage("::players, ::highscores");
break; break;
case "highscores": case "highscores":
HighscoresHandler hs = new HighscoresHandler();
String[] highscores = new String[]{ String[] highscores = new String[]{
"@dre@Highscores", "@dre@Highscores",
"", "",
"Top 5 Highest total level:", "Top 5 Total Level:",
"1", "2", "3", "4", "5", hs.getRank(0, "level"), hs.getRank(1, "level"), hs.getRank(2, "level"), hs.getRank(3, "level"), hs.getRank(4, "level"),
"", "",
"Top 5 Highest coins stack:", "Top 5 Wealthiest Players:",
"1", "2", "3", "4", "5" hs.getRank(0, "gold"), hs.getRank(1, "gold"), hs.getRank(2, "gold"), hs.getRank(3, "gold"), hs.getRank(4, "gold"),
"",
"Top 5 Highest Total Damage:",
hs.getRank(0, "damage"), hs.getRank(1, "damage"), hs.getRank(2, "damage"), hs.getRank(3, "damage"), hs.getRank(4, "damage"),
}; };
player.getPlayerAssistant().sendFrame126("@dre@Highscores", 8144);
player.getPlayerAssistant().sendFrame126("", 8145); for (int i = 8144; i < 8195; i++) {
player.getPlayerAssistant().sendFrame126("Top 5 Highest total level:", 8145); player.getPlayerAssistant().sendFrame126("", i);
player.getPlayerAssistant().sendFrame126("1", 8145); }
player.getPlayerAssistant().sendFrame126("1", 8145);
player.getPlayerAssistant().sendFrame126("1", 8145); for (int i = 8144; i < 8144 + highscores.length; i++) {
player.getPlayerAssistant().sendFrame126("1", 8145); player.getPlayerAssistant().sendFrame126(highscores[i - 8144], i+3);
player.getPlayerAssistant().sendFrame126("1", 8145); }
player.getPlayerAssistant().showInterface(8134);
break; break;
} }