79 lines
2.3 KiB
Plaintext
79 lines
2.3 KiB
Plaintext
/*
|
|
|
|
This script is run with OSBot. Created by Red Bracket.
|
|
|
|
namesandarmor.txt has the following format:
|
|
name:cblevel:helmet:cape:neck:weapon:chest:shield:unknown:legs:unknown:gloves:boots:
|
|
|
|
*/
|
|
|
|
|
|
import org.osbot.rs07.api.def.ItemDefinition;
|
|
import org.osbot.rs07.api.model.Player;
|
|
import org.osbot.rs07.script.Script;
|
|
import org.osbot.rs07.script.ScriptManifest;
|
|
|
|
import java.io.*;
|
|
import java.util.ArrayList;
|
|
|
|
@ScriptManifest(name = "Fetch data10", author = "b4", version = 2, logo = "", info = "info")
|
|
public class Reader extends Script {
|
|
|
|
private ArrayList<String> names = new ArrayList<>(20);
|
|
|
|
@Override
|
|
public int onLoop() {
|
|
Player p = getPlayers().closest(o -> !names.contains(o.getName()));
|
|
if (p != null)
|
|
{
|
|
names.add(p.getName());
|
|
String equipment = getOthersEquipment(p);
|
|
//Format:
|
|
//name:cblevel:helmet:cape:neck:weapon:chest:shield:unknown:legs:unknown:gloves:boots:
|
|
log2(p.getName()
|
|
+ ":" + p.getCombatLevel()
|
|
+ ":" + equipment);
|
|
}
|
|
return 50;
|
|
}
|
|
|
|
private void log2(String msg)
|
|
{
|
|
try {
|
|
log(msg);
|
|
FileReader fr = new FileReader(getDirectoryData() + "Data.txt");
|
|
BufferedReader br = new BufferedReader(fr);
|
|
for (String line; (line = br.readLine()) != null; ) {
|
|
if (line.split(":")[0].equals(msg.split(":")[0]))
|
|
{
|
|
log("Not adding that one, since we already have it");
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
FileWriter fw = new FileWriter(getDirectoryData() + "Data.txt", true);
|
|
BufferedWriter bw = new BufferedWriter(fw);
|
|
PrintWriter out = new PrintWriter(bw);
|
|
out.println(msg);
|
|
out.close();
|
|
} catch (Exception e) {
|
|
log(e);
|
|
}
|
|
}
|
|
|
|
private String getOthersEquipment(Player p) {
|
|
String equipmentList = "";
|
|
if(p != null) {
|
|
int[] equipment = p.getDefinition().getAppearance();
|
|
for (int value : equipment) {
|
|
if (value - 512 > 0)
|
|
equipmentList += ItemDefinition.forId(value - 512).getId() + ":";
|
|
else
|
|
equipmentList += 0 + ":";
|
|
}
|
|
}
|
|
return equipmentList;
|
|
}
|
|
}
|