Log rearrangement + new map scripts

Changed log folders to apply yyyy-MM-dd mask. Created some scripts to
fix race conditions involving delayed arrivals to travel events in-game.
This commit is contained in:
ronancpl
2017-04-03 00:48:10 -03:00
parent 5f01d3b7fd
commit b2da79ff13
19 changed files with 188 additions and 7 deletions

View File

@@ -2,6 +2,8 @@ NEW NPC SCRIPTS:
Coco -> 9000017
Agent E -> 9000036
NEW NPC SHOP:
Spindle -> 9201082
LOGS:
@@ -116,4 +118,7 @@ Inclus
01 - 02 Abril 2017,
Correção de bug que impedia carregamento do mapa Singapore: Spooky World.
Adição dos cards de mob restantes no drop_data do BD.
Adição dos cards de mob restantes no drop_data do BD.
03 Abril 2017,
Inclusão de scripts para interceptar condições de corrida em eventos de viagem.

View File

@@ -3,8 +3,9 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/C:/Nexon/MapleSolaxia/src/provider/MapleDataTool.java</file>
<file>file:/C:/Nexon/MapleSolaxia/src/server/maps/MapleMapFactory.java</file>
<file>file:/C:/Nexon/MapleSolaxia/src/tools/LogHelper.java</file>
<file>file:/C:/Nexon/MapleSolaxia/src/tools/FilePrinter.java</file>
<file>file:/C:/Nexon/MapleSolaxia/src/tools/MapleLogger.java</file>
</group>
</open-files>
</project-private>

View File

@@ -22,7 +22,7 @@
importPackage(Packages.tools);
//Time Setting is in millisecond
var closeTime = 60 * 1000; //The time to close the gate
var closeTime = 50 * 1000; //The time to close the gate
var beginTime = 60 * 1000; //The time to begin the ride
var rideTime = 60 * 1000; //The time that require move to destination
var Orbis_btf;

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Boats";
var toMap = 200090010;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "AirPlane";
var toMap = 540010101;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Subway";
var toMap = 600010005;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Boats";
var toMap = 200090000;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Trains";
var toMap = 200090100;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Cabin";
var toMap = 200090200;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Genie";
var toMap = 200090400;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Trains";
var toMap = 200090110;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Cabin";
var toMap = 200090210;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Genie";
var toMap = 200090410;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "AirPlane";
var toMap = 540010002;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -0,0 +1,13 @@
importPackage(Packages.tools);
var eventName = "Subway";
var toMap = 600010003;
function start(ms) {
var em = ms.getClient().getEventManager(eventName);
//is the player late to start the travel?
if(em.getProperty("docked") == "false") {
ms.getClient().getPlayer().warp(toMap);
}
}

View File

@@ -1071,6 +1071,20 @@ public class MapleCharacter extends AbstractAnimatedMapleMapObject {
keymap.remove(Integer.valueOf(key));
}
}
protected MapleMap getWarpMap(int map) {
MapleMap target;
if (getEventInstance() == null) {
target = client.getChannelServer().getMapFactory().getMap(map);
} else {
target = getEventInstance().getMapInstance(map);
}
return target;
}
public void warp(int map) {
changeMap(getWarpMap(map), getWarpMap(map).getPortal(0));
}
public void changeMap(int map) {
changeMap(map, 0);

View File

@@ -60,6 +60,7 @@ import net.server.world.World;
import org.apache.mina.core.session.IoSession;
import client.inventory.MapleInventoryType;
import scripting.event.EventManager;
import scripting.npc.NPCConversationManager;
import scripting.npc.NPCScriptManager;
import scripting.quest.QuestActionManager;
@@ -131,6 +132,10 @@ public class MapleClient {
public synchronized IoSession getSession() {
return session;
}
public EventManager getEventManager(String event) {
return getChannelServer().getEventSM().getEventManager(event);
}
public MapleCharacter getPlayer() {
return player;

View File

@@ -139,11 +139,11 @@ public class AbstractPlayerInteraction {
}
public EventManager getEventManager(String event) {
return getClient().getChannelServer().getEventSM().getEventManager(event);
return getClient().getEventManager(event);
}
public MapleInventory getInventory(MapleInventoryType type) {
return getPlayer().getInventory(type);
return getPlayer().getInventory(type);
}
public boolean hasItem(int itemid){

View File

@@ -42,7 +42,7 @@ public class FilePrinter {
NPC_UNCODED = "uncodedNPCs.txt",
QUEST_UNCODED = "uncodedQuests.txt",
SAVING_CHARACTER = "saveChar.txt";//more to come (maps)
private static final SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //for file system purposes, it's nice to use yyyy-MM-dd
private static final String FILE_PATH = "logs/" + sdf.format(Calendar.getInstance().getTime()) + "/";// + sdf.format(Calendar.getInstance().getTime()) + "/"
private static final String ERROR = "error/";