data https://mega.nz/#!h9UzxCRB!KmfWcyRKE...lbKdbiEq3khKw8
cachehttps://archive.runestats.com/osrs/2...-rev186.tar.gz
credit to https://www.rune-server.ee/members/polar/
to find readvaules https://github.com/runelite/runelite...itions/loaders
Printable View
thanks brother
Update your cache library & add this to the dumping sequence. That way people can stop hardcoding stuff like operate actions and actually do placeholders the way they are supposed to be done :)
Code:if (rl_item.boughtId != 0 && rl_item.boughtId < 65535) {
dat.writeByte(139);
dat.writeShort(rl_item.boughtId);
}
if (rl_item.boughtTemplateId != 0 && rl_item.boughtTemplateId < 65535) {
dat.writeByte(140);
dat.writeShort(rl_item.boughtTemplateId);
}
if (rl_item.placeholderId != 0 && rl_item.placeholderId < 65535) {
dat.writeByte(148);
dat.writeShort(rl_item.placeholderId);
}
if (rl_item.placeholderTemplateId != 0 && rl_item.placeholderTemplateId < 65535) {
dat.writeByte(149);
dat.writeShort(rl_item.placeholderTemplateId);
}
if (rl_item.params != null && rl_item.params.size() > 0) {
dat.writeByte(249);
dat.writeByte(rl_item.params.size());
for (Entry<Integer, Object> entry : rl_item.params.entrySet()) {
int key = entry.getKey();
Object value = entry.getValue();
boolean is_int = value instanceof Integer;
boolean is_string = !is_int;
dat.writeByte(is_string ? 1 : 0);
dat.writeInt(key);
if (is_string) {
dat.write(("" + value).getBytes());
dat.writeByte(10);
} else {
dat.writeInt((int)value);
}
}
}