SigIRC Rabi Race updates - should be stable.
This commit is contained in:
parent
4d1f82d3e8
commit
c0e653e31c
BIN
sigIRCv2.jar
BIN
sigIRCv2.jar
Binary file not shown.
@ -289,6 +289,7 @@ public class Profile {
|
|||||||
while (!nextval.equalsIgnoreCase("UPDATES:"));
|
while (!nextval.equalsIgnoreCase("UPDATES:"));
|
||||||
}
|
}
|
||||||
lastWebUpdate = System.currentTimeMillis();
|
lastWebUpdate = System.currentTimeMillis();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import sig.sigIRC;
|
||||||
import sig.modules.RabiRaceModule;
|
import sig.modules.RabiRaceModule;
|
||||||
import sig.utils.ReflectUtils;
|
import sig.utils.ReflectUtils;
|
||||||
|
|
||||||
@ -53,6 +54,9 @@ public class Session {
|
|||||||
//System.out.println("Player "+p.username);
|
//System.out.println("Player "+p.username);
|
||||||
DownloadAndAddPlayer(p);
|
DownloadAndAddPlayer(p);
|
||||||
}
|
}
|
||||||
|
if (RabiRaceModule.syncItems) {
|
||||||
|
RabiRaceModule.module.SyncItemsWithOtherPlayers();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (split.length>=8) {
|
if (split.length>=8) {
|
||||||
difficulty = Float.parseFloat(split[i++]);
|
difficulty = Float.parseFloat(split[i++]);
|
||||||
|
@ -75,6 +75,7 @@ public class RabiRaceModule extends Module{
|
|||||||
boolean mouseoverAvatar=false;
|
boolean mouseoverAvatar=false;
|
||||||
public static boolean avatarRetrieved=false;
|
public static boolean avatarRetrieved=false;
|
||||||
public static int CLIENT_SERVER_READTIME = -1;
|
public static int CLIENT_SERVER_READTIME = -1;
|
||||||
|
public static boolean syncItems = false;
|
||||||
|
|
||||||
public SessionListData session_listing = new SessionListData();
|
public SessionListData session_listing = new SessionListData();
|
||||||
|
|
||||||
@ -223,54 +224,72 @@ public class RabiRaceModule extends Module{
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
String[] data = FileUtils.readFromFile(sigIRC.BASEDIR+"sigIRC/messages");
|
String[] data = FileUtils.readFromFile(sigIRC.BASEDIR+"sigIRC/messages");
|
||||||
boolean message_played=false;
|
//boolean message_played=false;
|
||||||
for (String s : data) {
|
for (String s : data) {
|
||||||
if (s.length()>0) {
|
if (s.length()>0) {
|
||||||
messages.add(new ScrollingText(s,(int)(lastScrollX+position.getWidth()+24),(int)(position.getHeight()-28)));
|
messages.add(new ScrollingText(s,(int)(lastScrollX+position.getWidth()+24),(int)(position.getHeight()-28)));
|
||||||
message_played=true;
|
/*message_played=true;
|
||||||
System.out.println("Perform item sync with other players.");
|
System.out.println("Perform item sync with other players.");
|
||||||
SyncItemsWithOtherPlayers();
|
SyncItemsWithOtherPlayers();*/
|
||||||
|
syncItems=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (message_played && mySession.isCoop()) {
|
/*if (message_played && mySession.isCoop()) {
|
||||||
SoundUtils.playSound(sigIRC.BASEDIR+"sigIRC/collect_item.wav");
|
SoundUtils.playSound(sigIRC.BASEDIR+"sigIRC/collect_item.wav");
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SyncItemsWithOtherPlayers() {
|
public void SyncItemsWithOtherPlayers() {
|
||||||
|
boolean soundPlayed=false;
|
||||||
for (Profile p : mySession.getPlayers()) {
|
for (Profile p : mySession.getPlayers()) {
|
||||||
if (p!=myProfile && !p.isPaused) {
|
if (p!=myProfile && !p.isPaused) {
|
||||||
|
boolean updateRequired=false;
|
||||||
for (MemoryData m : p.key_items.keySet()) {
|
for (MemoryData m : p.key_items.keySet()) {
|
||||||
if (p.key_items.get(m)!=0 && (!myProfile.key_items.containsKey(m) || myProfile.key_items.get(m)==0)) {
|
if (p.key_items.get(m)!=0 && (!myProfile.key_items.containsKey(m) || myProfile.key_items.get(m)==0)) {
|
||||||
System.out.println("You do not have a "+m.name+". Syncing from "+p.displayName+".");
|
System.out.println("You do not have a "+m.name+". Syncing from "+p.displayName+".");
|
||||||
writeIntToMemory(m.mem.getOffset(),Math.abs(p.key_items.get(m)));
|
writeIntToMemory(m.mem.getOffset(),Math.abs(p.key_items.get(m)));
|
||||||
|
updateRequired=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (MemoryData m : p.badges.keySet()) {
|
for (MemoryData m : p.badges.keySet()) {
|
||||||
if (p.badges.get(m)!=0 && (!myProfile.badges.containsKey(m) || myProfile.badges.get(m)==0)) {
|
if (p.badges.get(m)!=0 && (!myProfile.badges.containsKey(m) || myProfile.badges.get(m)==0)) {
|
||||||
System.out.println("You do not have a "+m.name+". Syncing from "+p.displayName+".");
|
System.out.println("You do not have a "+m.name+". Syncing from "+p.displayName+".");
|
||||||
writeIntToMemory(m.mem.getOffset(),Math.abs(p.badges.get(m)));
|
writeIntToMemory(m.mem.getOffset(),Math.abs(p.badges.get(m)));
|
||||||
|
updateRequired=true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (p.healthUps>myProfile.healthUps) {
|
if (p.healthUps>myProfile.healthUps) {
|
||||||
System.out.println("You do not have the correct amount of health ups. Syncing to ("+p.healthUps+") from "+p.displayName+".");
|
System.out.println("You do not have the correct amount of health ups. Syncing to ("+p.healthUps+") from "+p.displayName+".");
|
||||||
UpdateRange(MemoryOffset.HEALTHUP_START,MemoryOffset.HEALTHUP_END,p.healthUps-myProfile.healthUps);
|
UpdateRange(MemoryOffset.HEALTHUP_START,MemoryOffset.HEALTHUP_END,p.healthUps-myProfile.healthUps);
|
||||||
|
updateRequired=true;
|
||||||
}
|
}
|
||||||
if (p.manaUps>myProfile.manaUps) {
|
if (p.manaUps>myProfile.manaUps) {
|
||||||
System.out.println("You do not have the correct amount of mana ups. Syncing to ("+p.manaUps+") from "+p.displayName+".");
|
System.out.println("You do not have the correct amount of mana ups. Syncing to ("+p.manaUps+") from "+p.displayName+".");
|
||||||
UpdateRange(MemoryOffset.MANAUP_START,MemoryOffset.MANAUP_END,p.manaUps-myProfile.manaUps);
|
UpdateRange(MemoryOffset.MANAUP_START,MemoryOffset.MANAUP_END,p.manaUps-myProfile.manaUps);
|
||||||
|
updateRequired=true;
|
||||||
}
|
}
|
||||||
if (p.regenUps>myProfile.regenUps) {
|
if (p.regenUps>myProfile.regenUps) {
|
||||||
System.out.println("You do not have the correct amount of regen ups. Syncing to ("+p.regenUps+") from "+p.displayName+".");
|
System.out.println("You do not have the correct amount of regen ups. Syncing to ("+p.regenUps+") from "+p.displayName+".");
|
||||||
UpdateRange(MemoryOffset.REGENUP_START,MemoryOffset.REGENUP_END,p.regenUps-myProfile.regenUps);
|
UpdateRange(MemoryOffset.REGENUP_START,MemoryOffset.REGENUP_END,p.regenUps-myProfile.regenUps);
|
||||||
|
updateRequired=true;
|
||||||
}
|
}
|
||||||
if (p.packUps>myProfile.packUps) {
|
if (p.packUps>myProfile.packUps) {
|
||||||
System.out.println("You do not have the correct amount of pack ups. Syncing to ("+p.packUps+") from "+p.displayName+".");
|
System.out.println("You do not have the correct amount of pack ups. Syncing to ("+p.packUps+") from "+p.displayName+".");
|
||||||
UpdateRange(MemoryOffset.PACKUP_START,MemoryOffset.PACKUP_END,p.packUps-myProfile.packUps);
|
UpdateRange(MemoryOffset.PACKUP_START,MemoryOffset.PACKUP_END,p.packUps-myProfile.packUps);
|
||||||
|
updateRequired=true;
|
||||||
}
|
}
|
||||||
if (p.attackUps>myProfile.attackUps) {
|
if (p.attackUps>myProfile.attackUps) {
|
||||||
System.out.println("You do not have the correct amount of attack ups. Syncing to ("+p.attackUps+") from "+p.displayName+".");
|
System.out.println("You do not have the correct amount of attack ups. Syncing to ("+p.attackUps+") from "+p.displayName+".");
|
||||||
UpdateRange(MemoryOffset.ATTACKUP_START,MemoryOffset.ATTACKUP_END,p.attackUps-myProfile.attackUps);
|
UpdateRange(MemoryOffset.ATTACKUP_START,MemoryOffset.ATTACKUP_END,p.attackUps-myProfile.attackUps);
|
||||||
|
updateRequired=true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (updateRequired && mySession.isCoop()) {
|
||||||
|
if (!soundPlayed) {
|
||||||
|
SoundUtils.playSound(sigIRC.BASEDIR+"sigIRC/collect_item.wav");
|
||||||
|
soundPlayed=true;
|
||||||
|
}
|
||||||
|
updateRequired=false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -140,8 +140,8 @@ public enum MemoryOffset {
|
|||||||
PACKUP_END(0xD63928,0xD63928+OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V1851,0xD63928+OffsetHelper.MEMORY_OFFSET_V175_TO_V1881,0xD63928+OffsetHelper.MEMORY_OFFSET_V175_TO_V190,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199T),
|
PACKUP_END(0xD63928,0xD63928+OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V1851,0xD63928+OffsetHelper.MEMORY_OFFSET_V175_TO_V1881,0xD63928+OffsetHelper.MEMORY_OFFSET_V175_TO_V190,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199T),
|
||||||
//13413E8
|
//13413E8
|
||||||
|
|
||||||
ITEM_PERCENT(0x16E807C,0x13413E8,0x1342408+OffsetHelper.MEMORY_OFFSET_V188_TO_V1881,0x1366408,0x16E4900,0), //Float
|
ITEM_PERCENT(0x16E8080,0x13413E8,0x1342408+OffsetHelper.MEMORY_OFFSET_V188_TO_V1881,0x1366408,0x16E4900,0), //Float
|
||||||
MAP_PERCENT(0x16E8080,0x13413E4,0x1342404+OffsetHelper.MEMORY_OFFSET_V188_TO_V1881,0x1366404,0x16E48FC,0), //Float
|
MAP_PERCENT(0x16E807C,0x13413E4,0x1342404+OffsetHelper.MEMORY_OFFSET_V188_TO_V1881,0x1366404,0x16E48FC,0), //Float
|
||||||
RAINBOW_EGG_COUNT(0xD65FD4,0xD65FD4+OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V1851,0xD65FD4+OffsetHelper.MEMORY_OFFSET_V175_TO_V1881,0xD65FD4+OffsetHelper.MEMORY_OFFSET_V175_TO_V190,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199T),
|
RAINBOW_EGG_COUNT(0xD65FD4,0xD65FD4+OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V1851,0xD65FD4+OffsetHelper.MEMORY_OFFSET_V175_TO_V1881,0xD65FD4+OffsetHelper.MEMORY_OFFSET_V175_TO_V190,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199,OffsetHelper.KEY_ITEM_OFFSET_V175_TO_V199T),
|
||||||
PAUSED(0x1038D88,0xC969A0,0xC979A0,0xCBB9AC,0x1036D88,0),
|
PAUSED(0x1038D88,0xC969A0,0xC979A0,0xCBB9AC,0x1036D88,0),
|
||||||
TITLE_SCREEN(0x16893F4,0,0,0,0,0),
|
TITLE_SCREEN(0x16893F4,0,0,0,0,0),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user