I'm going to make this my 'lil' release thread, currently this thread includes:
* Smega Time Limits
* Tweaked report system
* AB messages only display to GM's
---------------- Smega Time Limit ----------------
http://i329.photobucket.com/albums/l...seTryAgain.jpg
Open MapleClient.java:
Add:
Under:PHP Code:public boolean smegastarted = false;
public long lastsmega;
public long lastsmegacompare;
Add:PHP Code:Private byte greason = 1;
Under:PHP Code:public boolean smegastarted(){
return smegastarted;
}
public long lastsmega(){
return lastsmega;
}
public long lastsmegacompare(){
return lastsmega;
}
---PHP Code:public ChannelServer getChannelServer() {
return ChannelServer.getInstance(getChannel());
}
Open CashItemHandler.java:
Add: (I'm sure this can be done easier...)
Under:PHP Code:if (c.smegastarted == false){
c.lastsmega = 0;
c.smegastarted = true;
}
Replace:PHP Code:MapleInventoryManipulator.removeById(c, MapleInventoryType.CASH, itemId, 1, true, false);
With:PHP Code:if (itemType == 507){
int megaType = itemId / 1000 % 10;
if (megaType == 2) {
c.getChannelServer().getWorldInterface().broadcastMessage(null, MaplePacketCreator.serverNotice(3, c.getChannel(), c.getPlayer().getName() +
" : " + slea.readMapleAsciiString()).getBytes());
}
Replace:PHP Code:if (itemType == 507){
int megaType = itemId / 1000 % 10;
if (megaType == 2) {
//SMEGA
c.lastsmegacompare = System.currentTimeMillis() - c.lastsmega;
if (c.lastsmegacompare > 5000){
c.lastsmega = System.currentTimeMillis();
c.getChannelServer().getWorldInterface().broadcastMessage(null, MaplePacketCreator.serverNotice(3, c.getChannel(), c.getPlayer().getName() +
" : " + slea.readMapleAsciiString()).getBytes());
} else {
MapleInventoryManipulator.addById(c, itemId, (short)1, "Spam Filter");
new ServernoticeMapleClientMessageCallback(1, c).dropMessage("Smegas are disabled or time limited!");
}
}
With:PHP Code:} else if (itemType == 539) {
List<String> lines = new LinkedList<String>();
for (int i = 0; i < 4; i++) {
lines.add(slea.readMapleAsciiString());
}
c.getChannelServer().getWorldInterface().broadcastMessage(null, MaplePacketCreator.getAvatarMega(c.getPlayer(), c.getChannel(), itemId, lines).getBytes());
Change the time limit in these lines (milliseconds):PHP Code:} else if (itemType == 539) {
List<String> lines = new LinkedList<String>();
for (int i = 0; i < 4; i++) {
lines.add(slea.readMapleAsciiString());
}
//AVATAR SMEGA TIMERS
c.lastsmegacompare = System.currentTimeMillis() - c.lastsmega;
if (c.lastsmegacompare > 5000){
c.lastsmega = System.currentTimeMillis();
c.getChannelServer().getWorldInterface().broadcastMessage(null, MaplePacketCreator.getAvatarMega(c.getPlayer(), c.getChannel(), itemId, lines).getBytes());
} else {
MapleInventoryManipulator.addById(c, itemId, (short)1, "Spam Filter");
new ServernoticeMapleClientMessageCallback(1, c).dropMessage("Smegas are disabled or time limited!");
}
------------ Tweaked Report System ------------PHP Code:if (c.lastsmegacompare > 5000){ //5 seconds
Example: Player reported Haxorname(CHARID) for REASON
In ReportHandler.java
Add:
MapleCharacter victim =Under:PHP Code:c.getChannelServer().getPlayerStorage().getCharacterById(reportedCharId);
Replace:PHP Code:Logger logger = LoggerFactory.getLogger(this.getClass());
With:PHP Code:logger.info(
c.getPlayer().getName() + " reported charid " + reportedCharId
);
Replace:PHP Code:logger.info(
c.getPlayer().getName() + " reported charid " + reportedCharId + " aka " + victim.getName()
);
With:PHP Code:StringBuilder sb = new StringBuilder();
sb.append(c.getPlayer().getName());
sb.append(" reported charid ");
sb.append(reportedCharId);
sb.append(" for ");
sb.append(reasons[reason]);
-------- Autoban messages display to GM's only --------PHP Code:StringBuilder sb = new StringBuilder();
sb.append(c.getPlayer().getName());
sb.append(" reported ");
sb.append(victim.getName());
sb.append(" (");
sb.append(reportedCharId);
sb.append(") for ");
sb.append(reasons[reason]);
Open AutobanManager.java:
Replace:
With:PHP Code:try {
c.getChannelServer().getWorldInterface().broadcastMessage(null,
MaplePacketCreator.serverNotice(0, "[Autoban] " + name + " banned by the system (Last reason: " + reason + ")").getBytes());
} catch (RemoteException e) {
c.getChannelServer().reconnectWorld();
}
Again, this will reduce lag & gives a 'cleaner' look in the chat windowPHP Code:try {
c.getChannelServer().getWorldInterface().broadcastGMMessage(null,
MaplePacketCreator.serverNotice(0, "[GM Only Message] " + name + " banned by the system (Last reason: " + reason + ")").getBytes());
} catch (RemoteException e) {
c.getChannelServer().reconnectWorld();
}
log.warn("[h4x] Autobanned player {} (accountid {})", name, acc);
}
Sincerely,
Kerelmans




Reply With Quote![[Release] Smega Time Limits, Report system tweak, AB messages tweak](http://ragezone.com/hyper728.png)


