- Joined
- Sep 7, 2006
- Messages
- 245
- Reaction score
- 0
Keep this off Valhalla.
Thanks.
ChannelServer.java
and
With the rest of the imports
Add
Under
Add
Then finally, inside an NPC of your choice.
Remember.
Code:
private int eventMap = 0;
private boolean eventActive = false;
private int maxPlayers = 0;
and
Code:
public int getMaxPlayers() {
return maxPlayers;
}
public int getEventMap() {
return eventMap;
}
public boolean getEventActive() {
return eventActive;
}
public void setEventActive(boolean eventActive) {
this.eventActive = eventActive;
}
public void setEventMap(int eventMap) {
this.eventMap = eventMap;
}
public void setMaxPlayers(int maxPlayers) {
this.maxPlayers = maxPlayers;
}
*Commands.java
Code:
} else if(splitted[0].equalsIgnoreCase("!event")) {
String choice = splitted[1];
int mapid = 0;
int maxplayers = 0;
if(splitted[2] != null) { mapid = Integer.parseInt(splitted[2]); }
if(splitted[3] != null) { maxplayers = Integer.parseInt(splitted[3]); }
boolean offon = false; // False = They selected off
if(choice.equalsIgnoreCase("on")) {
c.getChannelServer().setEventActive(true);
mc.dropMessage("Event has been Activated");
offon = true;
} else if (choice.equalsIgnoreCase("off")) {
c.getChannelServer().setEventActive(false);
mc.dropMessage("Event has been disactivated");
offon = false;
}
if(offon) {
if(mapid != 0 && maxplayers != 0) {
c.getChannelServer().setEventMap(mapid);
c.getChannelServer().setMaxPlayers(maxplayers);
} else {
mc.dropMessage("Either you never set a Map ID, or never set a max amount of players.");
}
}
}
NPCConversationManager.java
Add
Code:
import net.sf.odinms.server.maps.MapleMapFactory;
Add
Code:
private MapleMapFactory mmf;
Code:
private String getText;
Add
Code:
public void eventWarp(int mapid, int max) {
MapleMap eventmap = mmf.getMap(mapid);
int players = eventmap.getAllPlayer().size();
if(players >= max) {
c.getPlayer().dropMessage("The event map is full.");
} else {
c.getPlayer().dropMessage("You have been warped to the event map.");
c.getPlayer().changeMap(eventmap, eventmap.getPortal(0));
}
}
public boolean eventEnabled() {
return c.getChannelServer().getEventActive();
}
public int getMaxPlayers() {
return c.getChannelServer().getMaxPlayers();
}
public int getEventMap() {
return c.getChannelServer().getEventMap();
}
Then finally, inside an NPC of your choice.
Code:
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (mode == 0 && status == 0) {
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if(status == 0) {
cm.sendOk("Would you like to participate inside the event?");
}
else if(status == 1) {
if(cm.eventEnabled() && cm.getMaxPlayers() > 0 && cm.getEventMap() > 0) {
cm.eventWarp(cm.getEventMap(), cm.getMaxPlayers());
cm.dispose();
} else {
cm.sendOk("The event system is currently not active.");
cm.dispose();
}
}
}
}
Remember.
Keep this off Valhalla.
Tell me if there is any errors, I'll fix it as soon as possible. 

