80 lines
3.4 KiB
Java
80 lines
3.4 KiB
Java
package tools;
|
|
|
|
import client.Character;
|
|
import client.Client;
|
|
import client.inventory.Item;
|
|
import net.server.Server;
|
|
import server.MapleItemInformationProvider;
|
|
import server.MapleTrade;
|
|
import server.expeditions.MapleExpedition;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
|
|
public class LogHelper {
|
|
|
|
public static void logTrade(MapleTrade trade1, MapleTrade trade2) {
|
|
String name1 = trade1.getChr().getName();
|
|
String name2 = trade2.getChr().getName();
|
|
String log = "TRADE BETWEEN " + name1 + " AND " + name2 + "\r\n";
|
|
//Trade 1 to trade 2
|
|
log += trade1.getExchangeMesos() + " mesos from " + name1 + " to " + name2 + " \r\n";
|
|
for (Item item : trade1.getItems()){
|
|
String itemName = MapleItemInformationProvider.getInstance().getName(item.getItemId()) + "(" + item.getItemId() + ")";
|
|
log += item.getQuantity() + " " + itemName + " from " + name1 + " to " + name2 + " \r\n";
|
|
}
|
|
//Trade 2 to trade 1
|
|
log += trade2.getExchangeMesos() + " mesos from " + name2 + " to " + name1 + " \r\n";
|
|
for (Item item : trade2.getItems()){
|
|
String itemName = MapleItemInformationProvider.getInstance().getName(item.getItemId()) + "(" + item.getItemId() + ")";
|
|
log += item.getQuantity() + " " + itemName + " from " + name2 + " to " + name1 + " \r\n";
|
|
}
|
|
log += "\r\n\r\n";
|
|
FilePrinter.print(FilePrinter.LOG_TRADE, log);
|
|
}
|
|
|
|
public static void logExpedition(MapleExpedition expedition) {
|
|
Server.getInstance().broadcastGMMessage(expedition.getLeader().getWorld(), PacketCreator.serverNotice(6, expedition.getType().toString() + " Expedition with leader " + expedition.getLeader().getName() + " finished after " + getTimeString(expedition.getStartTime())));
|
|
|
|
String log = expedition.getType().toString() + " EXPEDITION\r\n";
|
|
log += getTimeString(expedition.getStartTime()) + "\r\n";
|
|
|
|
for (String memberName : expedition.getMembers().values()){
|
|
log += ">>" + memberName + "\r\n";
|
|
}
|
|
log += "BOSS KILLS\r\n";
|
|
for (String message: expedition.getBossLogs()){
|
|
log += message;
|
|
}
|
|
log += "\r\n";
|
|
FilePrinter.print(FilePrinter.LOG_EXPEDITION, log);
|
|
}
|
|
|
|
public static String getTimeString(long then){
|
|
long duration = System.currentTimeMillis() - then;
|
|
int seconds = (int) (duration / 1000) % 60 ;
|
|
int minutes = (int) ((duration / (1000*60)) % 60);
|
|
return minutes + " Minutes and " + seconds + " Seconds";
|
|
}
|
|
|
|
public static void logLeaf(Character player, boolean gotPrize, String operation) {
|
|
String timeStamp = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss").format(new Date());
|
|
String log = player.getName() + (gotPrize ? " used a maple leaf to buy " + operation : " redeemed " + operation + " VP for a leaf") + " - " + timeStamp;
|
|
FilePrinter.print(FilePrinter.LOG_LEAF, log);
|
|
}
|
|
|
|
public static void logGacha(Character player, int itemid, String map) {
|
|
String itemName = MapleItemInformationProvider.getInstance().getName(itemid);
|
|
String timeStamp = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss").format(new Date());
|
|
String log = player.getName() + " got a " + itemName + "(" + itemid + ") from the " + map + " gachapon. - " + timeStamp;
|
|
FilePrinter.print(FilePrinter.LOG_GACHAPON, log);
|
|
}
|
|
|
|
public static void logChat(Client player, String chatType, String text){
|
|
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm");
|
|
FilePrinter.print(FilePrinter.LOG_CHAT, "[" + sdf.format(Calendar.getInstance().getTime()) + "] (" + chatType + ") " +player.getPlayer().getName() + ": " + text);
|
|
}
|
|
|
|
}
|