I'm lvl 255
Printable View
nice nice nice nice nice best source :D
how to get the occupation? (wich npc..?)
...theres no !npc command?
*Suggestion: Add !npc? XD
Edit: Char not right admin #. so nvm.
what about make a npc that can make you KoC. so you can choose between KoC en adventure on the begin.
just a suggestion thou
Hmm. Only way to get to Cody being the map warper. Is through @silent. When you double click him, he does the default gMS text.
Also, I'm not sure if this is intentional.... but Papulatus only drops Equips (only 1) useable items (elixer, scrolls). Max amount (total) drops I've seen is 3. No meso.
Also, I believe default EXP is 1 and meso too. Unless I manually go !exp and !mesorate in game. Regardless of the config file. =/
Another thing. @president, all it did was take away 200mil. It didn't double my EXP at all.
Great Source!
Im using this source and i think you should add few things and some bug fixing.
Add:
Merchant Give Items Back After SC - http://forum.ragezone.com/f427/merch...etroms-670777/
Working Jail That You Cannot Escape After Reloging or use @go command - iv'e didnt found any link.
Fix:
Horntail Summon.
Potions Bug - Apples or else time usage is 5seconds.
ill add more asap, thx alot :D
papu dont drop mesos, you have to add in in mysql i geuss
I don't think there's a way to add it to SQL. Only items.
How do I only dl rev 3.2? Cause I don't want occupations
good job :)) (Y)
are there going to be vote and donor systems added? xD
Is the votingpoints system added?
Update
Rev3.3
Added !clock //NyCPirate
Added !cleardrops //NyCPirate
Added !servermessage //NyCPirate
Added @expfix //NyCPirate
Fixed Super Rebirth Npc //NyCPirate
XML's for Super Rebirth Npc Included //NyCPirate
guy i got something to say why my friend say monster map lag but i ask my another friend try and me why i don't lag as hell is the connection problem or something
I just got the new Rev and updated the jar files when i compiled and everything. Yet I have over 100 errors, and that's only in the Donor and GM commands. There are about 5 or 6 more files that are giving errors as well.
are you sure you downloaded the SVN and not the outated svn from mediafire? cuz that one do give errors, the latets rev (rev93) doenst give errors at all. i just tried it
Yeah I'm pretty sure I got the SVN. I mean I'm not stupid for one, maybe a little silly and slow, but not stupid.
I got it to work now. Turns out I fail at adding my own commands lol. Ugh I need help!
wow the xp occupation is much to high o,o
sorry to ask a noob question, whats occupation anyway? LOL.
oh ya, found small bug, the ap automatic reset when rebirth, not stays there. lols.... is it fixed?
I have a few requests for the next rev if you have some time :D
1: !htcurse (or something similar so it forces everyone to jump to the left for a while that way we can move a map for events)
2: !giveeventpoints & @eventpoints < so the gms can give and take event points from players making my life easier cause I suck at coding commands xD
3: add a feature to change ur occ rates in the silent.prop maybe? :D
4: occupation levels? rofl just though id ask
Ill post the event npc and econ one im making as soon as i get the time to make em >_<
Also just wondering but are you goin to re-enable buying mercants in the cs? Because I was shooting for an econ and Im about to get stuck using the mts which i dont mind i just kinda wanted the shops.
Keep up the good work and thanks for al your time and effort :D
@off topic:
Spoiler:
all i want is weddings, ring effects, and a few commands
!mute <player>
!mutemap
!unmute <player>
!unmutemap
!cb (opens chalkboard) Or fix @goafk cause it's still not working.
!charinfo
!spy
!setrebirths [user] [amount]
!fakechar [num] - Creates a clone of you [num] times.
Just to name a few
See i did that, got over 1000 errors and failed completly.
how about an npc that summons mobs/bosses in the fms and a vipjob picker npc that only lets you use it after a number of rebirths
This is the batch error I get when I try to do a player command;
PHP Code:SilentSource has started:
World Launched
Login Launched
Listening on port 8484
Channel Launched
SilentSource Active
Channel 1: Listening on port 7575
Channel 1 is online.
IoSession with /127.0.0.1:54827 opened.
IoSession with /5.178.226.238:54837 opened.
Jun 22, 2010 1:01:10 PM client.messages.CommandProcessor reloadCommands
SEVERE: THROW
java.lang.ClassNotFoundException: client.messages.commands.NonGmsCommands
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at client.messages.CommandProcessor.reloadCommands(CommandProcessor.java
:181)
at client.messages.CommandProcessor.<init>(CommandProcessor.java:64)
at client.messages.CommandProcessor.<clinit>(CommandProcessor.java:53)
at net.channel.handler.GeneralchatHandler.handlePacket(GeneralchatHandle
r.java:32)
at net.MapleServerHandler.messageReceived(MapleServerHandler.java:106)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.mess
ageReceived(DefaultIoFilterChain.java:734)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessage
Received(DefaultIoFilterChain.java:429)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(Def
aultIoFilterChain.java:51)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.mes
sageReceived(DefaultIoFilterChain.java:812)
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutpu
tImpl.flush(ProtocolCodecFilter.java:346)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Prot
ocolCodecFilter.java:221)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessage
Received(DefaultIoFilterChain.java:429)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(Def
aultIoFilterChain.java:51)
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.mes
sageReceived(DefaultIoFilterChain.java:812)
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFi
lterAdapter.java:119)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessage
Received(DefaultIoFilterChain.java:429)
at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageRece
ived(DefaultIoFilterChain.java:416)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(Abstract
PollingIoProcessor.java:638)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(Abstr
actPollingIoProcessor.java:598)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(Abstr
actPollingIoProcessor.java:587)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(Ab
stractPollingIoProcessor.java:61)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run
(AbstractPollingIoProcessor.java:969)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
e.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Fix for boat 2 orbis:
1032007.js
Boats.jsCode:var status = 0;
var cost = 5000;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (status >= 0 && mode == 0) {
cm.sendNext("You must have some business to take care of here, right?");
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendYesNo("Hello, I'm in charge of selling tickets for the ship ride to Orbis Station of Ossyria. The ride to Orbis takes off every 15 minutes, beginning on the hour, and it'll cost you #b"+cost+" mesos#k. Are you sure you want to purchase a #bTicket to Orbis (Regular)#k?");
}
else if (status == 1) {
if (cm.getMeso() < cost) {
cm.sendNext("Are you sure you have #b"+cost+" mesos#k? If so, then I urge you to check your etc. inventory, and see if it's full or not.");
cm.dispose();
} else {
cm.gainMeso(cost);
cm.gainItem(4031045, 1);
cm.dispose();
}
}
}
}
Fix for Mulung Dojo (enter)Code:importPackage(net.sf.odinms.client);
importPackage(net.sf.odinms.tools);
importPackage(net.sf.odinms.server.life);
//Time Setting is in millisecond
var closeTime = 240000; //The time to close the gate
var beginTime = 300000; //The time to begin the ride
var rideTime = 600000; //The time that require move to destination
var invasionTime = 60000; //The time that spawn balrog
var Orbis_btf;
var Boat_to_Orbis;
var Orbis_Boat_Cabin;
var Orbis_docked;
var Ellinia_btf;
var Ellinia_Boat_Cabin;
var Ellinia_docked;
function init() {
Orbis_btf = em.getChannelServer().getMapFactory().getMap(200000112);
Ellinia_btf = em.getChannelServer().getMapFactory().getMap(101000301);
Boat_to_Orbis = em.getChannelServer().getMapFactory().getMap(200090010);
Boat_to_Ellinia = em.getChannelServer().getMapFactory().getMap(200090000);
Orbis_Boat_Cabin = em.getChannelServer().getMapFactory().getMap(200090011);
Ellinia_Boat_Cabin = em.getChannelServer().getMapFactory().getMap(200090001);
Orbis_docked = em.getChannelServer().getMapFactory().getMap(200000100);
Ellinia_docked = em.getChannelServer().getMapFactory().getMap(101000300);
Orbis_Station = em.getChannelServer().getMapFactory().getMap(200000111);
OBoatsetup();
EBoatsetup();
scheduleNew();
}
function scheduleNew() {
Ellinia_docked.setDocked(true);
Orbis_Station.setDocked(true);
Ellinia_docked.broadcastMessage(MaplePacketCreator.boatPacket(true));
Orbis_Station.broadcastMessage(MaplePacketCreator.boatPacket(true));
Boat_to_Orbis.setDocked(false);
Boat_to_Ellinia.setDocked(false);
em.setProperty("docked", "true");
em.setProperty("entry", "true");
em.setProperty("haveBalrog","false");
em.schedule("stopentry", closeTime);
em.schedule("takeoff", beginTime);
}
function stopentry() {
em.setProperty("entry","false");
Orbis_Boat_Cabin.resetReactors();
Ellinia_Boat_Cabin.resetReactors();
}
function takeoff() {
em.setProperty("docked","false");
var temp1 = Orbis_btf.getCharacters().iterator();
while(temp1.hasNext()) {
temp1.next().changeMap(Boat_to_Ellinia, Boat_to_Ellinia.getPortal(0));
}
var temp2 = Ellinia_btf.getCharacters().iterator();
while(temp2.hasNext()) {
temp2.next().changeMap(Boat_to_Orbis, Boat_to_Orbis.getPortal(0));
}
Ellinia_docked.setDocked(false);
Orbis_Station.setDocked(false);
Ellinia_docked.broadcastMessage(MaplePacketCreator.boatPacket(false));
Orbis_Station.broadcastMessage(MaplePacketCreator.boatPacket(false));
em.schedule("invasion", invasionTime);
em.schedule("arrived", rideTime);
}
function arrived() {
var temp1 = Boat_to_Orbis.getCharacters().iterator();
while(temp1.hasNext()) {
temp1.next().changeMap(Orbis_docked, Orbis_docked.getPortal(0));
}
var temp2 = Orbis_Boat_Cabin.getCharacters().iterator();
while(temp2.hasNext()) {
temp2.next().changeMap(Orbis_docked, Orbis_docked.getPortal(0));
}
var temp3 = Boat_to_Ellinia.getCharacters().iterator();
while(temp3.hasNext()) {
temp3.next().changeMap(Ellinia_docked, Ellinia_docked.getPortal(0));
}
var temp4 = Ellinia_Boat_Cabin.getCharacters().iterator();
while(temp4.hasNext()) {
temp4.next().changeMap(Ellinia_docked, Ellinia_docked.getPortal(0));
}
Boat_to_Orbis.killAllMonsters(false);
Boat_to_Ellinia.killAllMonsters(false);
scheduleNew();
}
function invasion() {
var numspawn;
var chance = Math.floor(Math.random() * 10);
if(chance <= 5)
numspawn = 0;
else
numspawn = 2;
if(numspawn > 0) {
for(var i=0; i < numspawn; i++) {
Boat_to_Orbis.spawnMonsterOnGroudBelow(MapleLifeFactory.getMonster(8150000), new java.awt.Point(485, -221));
Boat_to_Ellinia.spawnMonsterOnGroudBelow(MapleLifeFactory.getMonster(8150000), new java.awt.Point(-590, -221));
}
Boat_to_Orbis.setDocked(true);
Boat_to_Ellinia.setDocked(true);
Boat_to_Orbis.broadcastMessage(MaplePacketCreator.boatPacket(true));
Boat_to_Ellinia.broadcastMessage(MaplePacketCreator.boatPacket(true));
Boat_to_Orbis.broadcastMessage(MaplePacketCreator.musicChange("Bgm04/ArabPirate"));
Boat_to_Ellinia.broadcastMessage(MaplePacketCreator.musicChange("Bgm04/ArabPirate"));
em.setProperty("haveBalrog","true");
}
}
function OBoatsetup() {
em.getChannelServer().getMapFactory().getMap(200090011).getPortal("out00").setScriptName("OBoat1");
em.getChannelServer().getMapFactory().getMap(200090011).getPortal("out01").setScriptName("OBoat2");
}
function EBoatsetup() {
em.getChannelServer().getMapFactory().getMap(200090001).getPortal("out00").setScriptName("EBoat1");
em.getChannelServer().getMapFactory().getMap(200090001).getPortal("out01").setScriptName("EBoat2");
}
function cancelSchedule() {
}
2091005.js
Code:importPackage(Packages.server.maps);
var belts = Array(1132000, 1132001, 1132002, 1132003, 1132004);
var belt_level = Array(25, 35, 45, 60, 75);
var belt_points = Array(200, 1800, 4000, 9200, 17000);
var status = -1;
var selectedMenu = -1;
function start() {
if (isRestingSpot(cm.getPlayer().getMap().getId())) {
cm.sendSimple("I'm surprised you made it this far! But it won't be easy from here on out. You still want the challenge?\r\n\r\n#b#L0#I want to continue#l\r\n#L1#I want to leave#l\r\n#L2#I want to record my score up to this point#l");
} else if (cm.getPlayer().getLevel() >= 25) {
if (cm.getPlayer().getMap().getId() == 925020001) {
cm.sendSimple("My master is the strongest person in Mu Lung, and you want to challenge him? Fine, but you'll regret it later.\r\n\r\n#b#L0#I want to challenge him alone.#l\r\n#L1#I want to challenge him with a party.#l\r\n\r\n#L2#I want to receive a belt.#l\r\n#L3#I want to reset my training points.#l\r\n#L4#I want to receive a medal.#l\r\n#L5#What is a Mu Lung Dojo?#l");
} else {
cm.sendYesNo("What, you're giving up? You just need to get to the next level! Do you really want to quit and leave?");
}
} else {
cm.sendOk("Hey! Are you mocking my master? Who do you think you are to challenge him? This is a joke! You should at least be level #b25#k.");
cm.dispose();
}
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else if (cm.getPlayer().getMap().getId() == 925020001) {
if (mode >= 0) {
if (status == -1)
selectedMenu = selection;
status++; //there is no prev.
if (selectedMenu == 0) { //I want to challenge him alone.
if (!cm.getPlayer().hasEntered("dojang_Msg") && !cm.getPlayer().getFinishedDojoTutorial()) { //kind of hackish...
if (status == 0) {
cm.sendYesNo("Hey there! You! This is your first time, huh? Well, my master doesn't just meet with anyone. He's a busy man. And judging by your looks, I don't think he'd bother. Ha! But, today's your lucky day... I tell you what, if you can defeat me, I'll allow you to see my Master. So what do you say?");
} else if (status == 1) {
if (mode == 0) {
cm.sendNext("Haha! Who are you trying to impress with a heart like that?\r\nGo back home where you belong!");
} else {
for (var i = 0 ; i < 39; i++) { //only 32 stages, but 38 maps
if(cm.getClient().getChannelServer().getMapFactory().getMap(925020000 + 100 * i).getCharacters().size() > 0) {
cm.sendOk("Someone is already in Dojo");
cm.dispose();
return;
}
}
cm.warp(925020010, 0);
cm.getPlayer().setFinishedDojoTutorial();
}
cm.dispose();
}
} else if (cm.getPlayer().getDojoStage() > 0) {
if (status == 0) {
cm.sendYesNo("The last time you took the challenge by yourself, you went up to level " + cm.getPlayer().getDojoStage() + ". I can take you there right now. Do you want to go there?");
} else {
cm.warp(mode == 1 ? cm.getPlayer().getDojoStage() : 925020100, 0);
cm.getPlayer().setDojoStage(0);
cm.dispose();
}
} else {
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).resetReactors();
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).killAllMonsters();
cm.warp(925020100, 0);
cm.dispose();
}
} else if (selectedMenu == 1) { //I want to challenge him with a party.
var party = cm.getPlayer().getParty();
if (party == null || party.getLeader().getId() != cm.getPlayer().getId()) {
cm.sendNext("Where do you think you're going? You're not even the party leader! Go tell your party leader to talk to me.");
cm.dispose();
//} else if (party.getMembers().size() == 1) {
} else if (party.getMembers().isEmpty() != 0) {
cm.sendNext("You're going to take on the challenge as a one-man party?");
} else {
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).resetReactors();
cm.getClient().getChannelServer().getMapFactory().getMap(925020100).killAllMonsters();
cm.warpParty(925020100);
cm.dispose();
}
cm.dispose();
} else if (selectedMenu == 2) { //I want to receive a belt.
if (mode < 1) {
cm.dispose();
return;
}
if (status == 0) {
var selStr = "You have #b" + cm.getPlayer().getDojoPoints() + "#k training points. Master prefers those with great talent. If you obtain more points than the average, you can receive a belt depending on your score.\r\n";
for (var i = 0; i < belts.length; i++)
selStr += "\r\n#L" + i + "##i" + belts[i] + "# #t" + belts[i] + "#l";
cm.sendSimple(selStr);
} else if (status == 1) {
var belt = belts[selection];
var level = belt_level[selection];
var points = belt_points[selection];
if (cm.getPlayer().getDojoPoints() > points) {
if (cm.getPlayer().getLevel() > level)
if (cm.haveItem(belt) && !cm.haveItem(1132004)) {
cm.sendNext("You have this belt already. You must reset your points to get another one");
} else {
cm.gainItem(belt, 1);
}
else
cm.sendNext("In order to receive #i" + belt + "# #b#t" + belt + "##k, you have to be at least over level #b" + level + "#k and you need to have earned at least #b" + points + " training points#k.\r\n\r\nIf you want to obtain this belt, you need #r" + points + "#k more training points.");
} else
cm.sendNext("In order to receive #i" + belt + "# #b#t" + belt + "##k, you have to be at least over level #b" + level + "#k and you need to have earned at least #b" + points + " training points#k.\r\n\r\nIf you want to obtain this belt, you need #r" + points + "#k more training points.");
cm.dispose();
}
} else if (selectedMenu == 3) { //I want to reset my training points.
if (status == 0) {
cm.sendYesNo("You do know that if you reset your training points, it returns to 0, right? Although, that's not always a bad thing. If you can start earning training points again after you reset, you can receive the belts once more. Do you want to reset your training points now?");
} else if (status == 1) {
if (mode == 0) {
cm.sendNext("Do you need to gather yourself or something? Come back after you take a deep breath.");
} else {
cm.getPlayer().setDojoPoints(0);
cm.sendNext("There! All your training points have been reset. Think of it as a new beginning and train hard!");
}
cm.dispose();
}
} else if (selectedMenu == 4) { //I want to receive a medal.
if (status == 0) {
cm.sendYesNo("You haven't attempted the medal yet? If you defeat one type of monster in Mu Lung Dojo #b100 times#k you can receive a title called #bxx Vanquisher#k. It looks like you haven't even earned the #b#t1142033##k... Do you want to try out for the #b#t1142033##k?");
} else if (status == 1) {
if (mode == 0) {
cm.sendNext("If you don't want to, that's fine.");
cm.dispose();
} else {
if (cm.c.getPlayer().getDojoStage() > 37) {
cm.sendNext("You have complete all medals challenges.");
} else if (cm.getPlayer().getVanquisherKills() < 100)
cm.sendNext("You still need #b" + (100 - getVanquisherStage()) + "#k in order to obtain the #b#t" + (1142033 + cm.getPlayer().getVanquisherStage()) + "##k. Please try a little harder. As a reminder, only the mosnters that have been summoned by our Master in Mu Lung Dojo are considered. Oh, and make sure you're not hunting the monsters and exiting!#r If you don't go to the next level after defeating the monster, it doesn't count as a win#k.");
else {
cm.sendNext("You have obtained #b#t" + (1142033 + cm.getPlayer().getVanquisherStage()) + "##k.");
cm.gainItem(1142033 + cm.getPlayer().getVanquisherStage(), 1);
cm.getPlayer().setVanquisherStage(cm.c.getPlayer().getVanquisherStage() + 1);
cm.getPlayer().setVanquisherKills(0);
}
}
cm.dispose();
}
} else if (selectedMenu == 5) { //What is a Mu Lung Dojo?
cm.sendNext("Our master is the strongest person in Mu Lung. The place he built is called the Mu Lung Dojo, a building that is 38 stories tall! You can train yourself as you go up each level. Of course, it'll be heard for someone at your level to reach the top.");
cm.dispose();
}
} else
cm.dispose();
} else if (isRestingSpot(cm.getPlayer().getMap().getId())) {
if (selectedMenu == -1)
selectedMenu = selection;
status++;
if (selectedMenu == 0) {
cm.warp(cm.getPlayer().getMap().getId() + 100, 0);
cm.dispose();
} else if (selectedMenu == 1) { //I want to leave
if (status == 0) {
cm.sendAcceptDecline("So, you're giving up? You're really going to leave?");
} else {
if (mode == 1) {
cm.warp(925020000);
} else {//probably insult the user
}
cm.dispose();
}
} else if (selectedMenu == 2) { //I want to record my score up to this point
if (status == 0) {
cm.sendYesNo("If you record your score, you can start where you left off the next time. Isn't that convenient? Do you want to record your current score?");
} else {
if (mode == 0) {
cm.sendNext("You think you can go even higher? Good luck!");
} else {
cm.sendNext("I recorded your score. If you tell me the next time you go up, you'll be able to start where you left off.");
cm.getPlayer().setDojoStage(cm.getPlayer().getMap().getId());
}
cm.dispose();
}
}
} else {
if (mode < 1) {
cm.sendNext("Stop changing your mind! Soon, you'll be crying, begging me to go back.");
} else {
cm.warp(925020001, 0);
}
cm.dispose();
}
}
function isRestingSpot(id) {
return (id / 100 - 9250200) % 6 == 0;
}
Well thank you arcon =) your help is greatly appreciated
so is pvp going to be on the next update?
Not sure if you saw this..
Quote:
Originally Posted by Thing's That Should Be Fixed
Guys give us some time we're not robots nor do we stay on developing 24/7...
PVP sounds pretty fun =O
btw wat is the npc (id) for super rebirth?
rev 3.4 updates
Added Boss Spawner//Thomas
Hey Thomas, are the commands working in your test server?
I don't know y but im getting this error when i launched starter.bat
(i didn't edit anything i just updated)
Code:SilentSource has started:
World Launched
Login Launched
Channel Launched
SilentSource Active
Listening on port 8484
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorExcep
tion: syntax error (<Unknown source>#45) in <Unknown source> at line number 45
at com.sun.script.javascript.RhinoScriptEngine.eval(Unknown Source)
at javax.script.AbstractScriptEngine.eval(Unknown Source)
at scripting.AbstractScriptManager.getInvocable(AbstractScriptManager.ja
va:60)
at scripting.event.EventScriptManager.<init>(EventScriptManager.java:53)
at net.channel.ChannelServer.run(ChannelServer.java:213)
at net.channel.ChannelServer.main(ChannelServer.java:426)
Channel 1: Listening on port 7575
Channel 1 is online.
java.lang.NullPointerException
at scripting.event.EventScriptManager.init(EventScriptManager.java:70)
at net.channel.ChannelServer.run(ChannelServer.java:248)
at net.channel.ChannelServer.main(ChannelServer.java:426)
javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorExcep
tion: syntax error (<Unknown source>#45) in <Unknown source> at line number 45
at com.sun.script.javascript.RhinoScriptEngine.eval(Unknown Source)
at javax.script.AbstractScriptEngine.eval(Unknown Source)
at scripting.AbstractScriptManager.getInvocable(AbstractScriptManager.ja
va:60)
at scripting.event.EventScriptManager.<init>(EventScriptManager.java:53)
at net.channel.ChannelServer.run(ChannelServer.java:213)
at net.channel.ChannelServer.main(ChannelServer.java:426)
Channel 2: Listening on port 7576
Channel 2 is online.
java.lang.NullPointerException
at scripting.event.EventScriptManager.init(EventScriptManager.java:70)
at net.channel.ChannelServer.run(ChannelServer.java:248)
at net.channel.ChannelServer.main(ChannelServer.java:426)
yes but its ok cause it still works
---------- Post added at 06:13 PM ---------- Previous post was at 06:11 PM ----------
also clear drops and kill all monsters from the boss spawner npc doesnt work
---------- Post added at 06:24 PM ---------- Previous post was at 06:13 PM ----------
you should add a banking system. here is the script that i made:
before i forget, the selling tetris part is a little buggy. it doesn't give to 2 bill back if you have more than 147 or w/e mill in your inventoryCode:var status = 0;
var price = 2000000000;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (mode == 0 && status == 1) {
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendNext("Hello there! I am the official banker of BikouMS! I will buy and sell tetris pieces for 2,000,000,000 mesos each!");
} else if (status == 1) {
cm.sendSimple("How may I help you? \r\n #L0##bI'd like to buy 1 tetris piece#k#l \r\n #L1##bI'd like to sell 1 tetris piece#k#l \r\n
#L2##bNevermind#k#l");
} else if (status == 2) {
if (selection == 0) {
if (cm.getMeso() < price){
cm.sendSimple("I'm sorry but you don't have 2,000,000,000 mesos");
}
else {
cm.gainMeso(-price);
cm.gainItem(4030002, 1);
cm.sendOk("Enjoy!");
cm.dispose();
}
} else if (selection == 1) {0
cm.gainMeso(price);
cm.gainItem(4030002, -1);
cm.sendOk("Enjoy!");
cm.dispose();
}
else if (selection == 2) {
cm.dispose();
}
}
}
}
---------- Post added at 06:45 PM ---------- Previous post was at 06:24 PM ----------
maybe a vip job changer too xD
this was made for arberms so you might have to change somethingsCode:var status = 0;
function start() {
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (mode == 0 && status == 1) {
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 1) {
cm.sendNext("Hello there! I am the official Job changer.");
} else if (status == 2) {
cm.sendSimple("What would you like to be? \r\n#L1#Hero#l\r\n#L2#Paladin#l\r\n#L3#Dark Knight#l\r\n#L4#Night Lord#l\r\n#L5#Shadower#l\r\n#L6#Bow Master#l\r\n#L7#Marksman#l\r\n#L8#Fire Poison Arch Mage#l\r\n#L9#Ice Lightning Arch Mage#l\r\n#L10#Bishop#l\r\n#L11#Buccaneer#l\r\n#L12#Corsair#l\r\n#L13#Blaze Wizard#l\r\n#L14#Dawn Warrior#l\r\n#L15#Night Walker#l\r\n#L16#Wind Archer#l\r\n#L17#Thunder Breaker#l\r\n#L0#Nothing#l");
} else if (status == 3) {
if (selection == 0) {
cm.dispose();
} else if (selection == 1) {
cm.changeJob(net.sf.odinms.client.MapleJob.HERO);
cm.dispose();
}
else if (selection == 2) {
cm.changeJob(net.sf.odinms.client.MapleJob.PALADIN);
cm.dispose();
}
else if (selection == 3) {
cm.changeJob(net.sf.odinms.client.MapleJob.DARKKNIGHT);
cm.dispose();
}
else if (selection == 4) {
cm.changeJob(net.sf.odinms.client.MapleJob.NIGHTLORD);
cm.dispose();
}
else if (selection == 5) {
cm.changeJob(net.sf.odinms.client.MapleJob.SHADOWER);
cm.dispose();
}
else if (selection == 6) {
cm.changeJob(net.sf.odinms.client.MapleJob.BOWMASTER);
cm.dispose();
}
else if (selection == 7) {
cm.changeJob(net.sf.odinms.client.MapleJob.MARKSMAN);
cm.dispose();
}
else if (selection == 8) {
cm.changeJob(net.sf.odinms.client.MapleJob.FP_ARCHMAGE);
cm.dispose();
}
else if (selection == 9) {
cm.changeJob(net.sf.odinms.client.MapleJob.IL_ARCHMAGE);
cm.dispose();
}
else if (selection == 10) {
cm.changeJob(net.sf.odinms.client.MapleJob.BISHOP);
cm.dispose();
}
else if (selection == 11) {
cm.changeJob(net.sf.odinms.client.MapleJob.BUCCANEER);
cm.dispose();
}
else if (selection == 12) {
cm.changeJob(net.sf.odinms.client.MapleJob.CORSAIR);
cm.dispose();
}
else if (selection == 13) {
cm.changeJob(net.sf.odinms.client.MapleJob.BLAZEWIZARD3);
cm.dispose();
}
else if (selection == 14) {
cm.changeJob(net.sf.odinms.client.MapleJob.DAWNWARRIOR3);
cm.dispose();
}
else if (selection == 15) {
cm.changeJob(net.sf.odinms.client.MapleJob.NIGHTWALKER3);
cm.dispose();
}
else if (selection == 16) {
cm.changeJob(net.sf.odinms.client.MapleJob.WINDARCHER3);
cm.dispose();
}
else if (selection == 17) {
cm.changeJob(net.sf.odinms.client.MapleJob.THUNDERBREAKER3);
cm.dispose();
}
}
}
}
what this vip job changer is what thing omg we already added job changer
a Banking System? isnt that kinda what Fredrick does tho?
Wth...when trying to build from clean. I get errors..
Quote:
init:
Deleting: C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\build\built-jar.properties
deps-jar:
Updating property file: C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\build\built-jar.properties
Compiling 429 source files to C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\build\classes
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\PhinMS\src\net\mina\MaplePacketDecoder.java:31: net.mina.MaplePacketDecoder is not abstract and does not override abstract method doDecode(org.apache.mina.common.IoSession,org.apache.mina.common.ByteBuffer,org.apache.mina.filter.codec.ProtocolDecoderOutput) in org.apache.mina.filter.codec.CumulativeProtocolDecoder
public class MaplePacketDecoder extends CumulativeProtocolDecoder {
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\PhinMS\src\net\mina\MaplePacketDecoder.java:38: method does not override or implement a method from a supertype
@Override
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\PhinMS\src\net\mina\MaplePacketEncoder.java:31: net.mina.MaplePacketEncoder is not abstract and does not override abstract method dispose(org.apache.mina.common.IoSession) in org.apache.mina.filter.codec.ProtocolEncoder
public class MaplePacketEncoder implements ProtocolEncoder {
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\PhinMS\src\net\mina\MaplePacketEncoder.java:46: write(org.apache.mina.common.ByteBuffer) in org.apache.mina.filter.codec.ProtocolEncoderOutput cannot be applied to (org.apache.mina.core.buffer.IoBuffer)
out.write(out_buffer);
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\PhinMS\src\net\mina\MaplePacketEncoder.java:50: write(org.apache.mina.common.ByteBuffer) in org.apache.mina.filter.codec.ProtocolEncoderOutput cannot be applied to (org.apache.mina.core.buffer.IoBuffer)
out.write(IoBuffer.wrap(((MaplePacket) message).getBytes()));
5 errors
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\nbproject\build-impl.xml:521: The following error occurred while executing this line:
C:\Users\Devon\Desktop\MapleStory\MapleStory v75\PhinMS\nbproject\build-impl.xml:258: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 4 seconds)
Hi, I like your source, but i have a few suggestions.
Code:1. Pets dry up after a few hours, and you cannot drop them.
2. The normal cody does not work the same as the @silent cody.
3. Sometimes ap goes negative, usually after rebirthing or using the auto-assign skill points button.
4. @go skelegon brings you to henesys hunting ground II
5. Add a few commands, like !warpallhere, !fakechar [num], !speak [charname] [message], !killmap (kills players, not mobs), !fakerelog (brings you back to the spawn point of the map), !god (godmode...?).
6. The horntail crystal thing that you attack to spawn him does not spawn him.
7. GM hide does not prevent mobs from hurting you, and other gms can see you in it, not sure about non-gms.
Also, i have a problem with this source for some reason, but only after i went non-hamachi (hosting on my own computer).
The mobs seem to cause extreme lag to gms and non gms, and i dont have a clue why, but i did get an error in my .bat near the time it happened, i dont know if it will help...
If you could help me with that, it would be greatly appreciated.Code:SilentSource has started:
World Launched
Login Launched
Listening on port 8484
Channel Launched
SilentSource Active
Channel 1: Listening on port 7575
Channel 1 is online.
Channel 2: Listening on port 7576
Channel 2 is online.
Channel 3: Listening on port 7577
Channel 3 is online.
Channel 4: Listening on port 7578
Channel 4 is online.
IoSession with /[removed] opened.
IoSession with /[removed] opened.
IoSession with /[removed] opened.
jbird42 caught an exception: java.io.IOException: An established connection was
aborted by the software in your host machine
java.io.IOException: An established connection was aborted by the software in yo
ur host machine
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
at sun.nio.ch.IOUtil.read(IOUtil.java:206)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.j
ava:202)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.j
ava:42)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(Abstract
PollingIoProcessor.java:620)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(Abstr
actPollingIoProcessor.java:598)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(Abstr
actPollingIoProcessor.java:587)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(Ab
stractPollingIoProcessor.java:61)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run
(AbstractPollingIoProcessor.java:969)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
e.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
at java.lang.Thread.run(Thread.java:619)
When you guys get a chance, would you mind looking into getting Horntail to work please?
Nice source.
have you changed the local host in silent.prop with your wan ip? (not hamachi ip) and changed your localhost to your wan ip also??
then it should work, if not try to make it work with hamachi
---------- Post added at 06:10 AM ---------- Previous post was at 06:08 AM ----------
hm you should add something like cn.rebirth > 100 (dunno if good) in the job changer, so you have to have at least an amount of rebirths, like 100 RB+ and u can use it
NyCPirate, can you please add !map and !removenpcs?
Fix the "Chairs" in All-One Seller too. And !shutdown !shutdownnow don't work at all.
good job thomas and nycpirate on the repack :))
All in one shop does it have all v62-75? items in there?
@off Topic: Hey JarryD!!
@on topic: @goafk still doesn't work, !shutdown !shutdownnow doesn't shutdown anything. And FoJ NPC gets an error when I try to talk to her.
Does this have pink bean in it? (the strongest boss in the entire game)
Guys some bad news. The development of SilentSource will be slowed down a bit since I am working for a server and Thomas will be away for a week or so. Please do not repost this source on any other forum. Thx.
Hey...
When I did NetBeans I see a whole lost of errors in the src.
I can't really compile when I get done getting my stuff done,
Do you think you could fix it?
I've been doing netbeans for a while now. So, yea im pretty sure i did it.
Its just that i get a lot of compile errors and i can't fix some of them. Most of them has to do with the IoSession.
NYC just so you dont have to dig through to save you some time when you do work on this heres all the requests so far:
Fix:
@goafk
!shutdown
!shutdownnow
Spawn of ht
@president's exp rate
Add:
!mute map/player
!curse (horntails thing where they players all start walking and jumping left)
!charinfo [player]
!spy [player]
!setrebirths [player] [amount]
!givepoints [player] [amount]
Ill post a dl for a more upadted aio when i get home guys its sitting on my desktop and its got stuff through 75 I believe.
Keep up the good work and best of luck on your server :D
Since people are asking for stuff and I don't
see NYCPirate is on, I'll make that for ya.
@goafk:
Add in PlayerCommands:
!shutdown, !shutdownnow.Code:} else if (splitted[0].equals("@goafk")) {
player.setChalkboard("Hello, I'm AFK. Please leave a message.");
Add in AdminCommands:
More to come.Code:} else if (splitted[0].equals("!shutdown") || splitted[0].equals("!shutdownnow")) {
for (MapleCharacter everyone : cserv.getPlayerStorage().getAllCharacters()) {
everyone.saveToDB(true);
}
int time = 60000;
if (splitted.length > 1) {
time *= Integer.parseInt(splitted[1]);
TimerManager.getInstance().register(new ShutdownAnnouncer(cserv, (long) time), 300000, 300000);
}
if (splitted[0].equals("!shutdownnow")) {
time = 1;
}
persister.run(); getPlayer().getClient().getChannelServer().getWorldInterface().broadcastMessage(null, MaplePacketCreator.serverNotice(6, "The server will shutdown in a minute. Please log out.");
cserv.shutdown(time);
Add Honorable Rock
9040004.js
Code:/*
This file was written by "StellarAshes" <stellar_dust@hotmail.com>
as a part of the Guild package for
the OdinMS Maple Story Server
Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc>
Matthias Butz <matze@odinms.de>
Jan Christian Meyer <vimes@odinms.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License version 3
as published by the Free Software Foundation. You may not use, modify
or distribute this program under any other version of the
GNU Affero General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* Honorable Rock */
function start()
{
cm.displayGuildRanks();
cm.dispose();
}
Looks like we're doing the work here xD.
I noticed that Joel the ticket worker doesnt work correct
here is the correct version :D
Joel
1032007.js
Code:/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
var status = 0;
var cost = 5000;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (status >= 0 && mode == 0) {
cm.sendNext("You must have some business to take care of here, right?");
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendYesNo("Hello, I'm in charge of selling tickets for the ship ride to Orbis Station of Ossyria. The ride to Orbis takes off every 15 minutes, beginning on the hour, and it'll cost you #b"+cost+" mesos#k. Are you sure you want to purchase a #bTicket to Orbis (Regular)#k?");
} else if (status == 1) {
if (cm.getMeso() < cost) {
cm.sendNext("Are you sure you have #b"+cost+" mesos#k? If so, then I urge you to check your etc. inventory, and see if it's full or not.");
cm.dispose();
} else {
cm.gainMeso(-cost);
cm.gainItem(4031045, 1);
cm.dispose();
}
}
}
}
No now you can buy a ticket to orbis
Here is cherry for now it wil only warp you to orbis (no boat)
1032008.js
WITH BOAT AND WORKING :DCode:/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
var status = 0;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (status >= 0 && mode == 0) {
cm.sendNext("You must have some business to take care of here, right?");
cm.dispose();
return;
}
if (mode == 1)
status++;
else
status--;
if (status == 0) {
cm.sendYesNo("It looks like there's plenty of room for this ride. Please have your ticket ready so I can let you in. The ride will be long but you'll get to your destination just fine. What do you think? Do you want to get on this ride?");
} else if (status == 1) {
if (cm.haveItem(4031045)) {
cm.gainItem(4031045, -1);
cm.warp(200000100, 0);
cm.dispose();
} else {
cm.sendNext("Oh no... I don't think you have the ticket with you. I can't let you in without it. Please buy the ticket at the ticketing booth.");
cm.dispose();
}
}
}
}
1032008.js
Proof ship is working :DCode:/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
function start() {
if(cm.haveItem(4031045)){
var em = cm.getEventManager("Boats");
if (em.getProperty("entry") == "true")
cm.sendYesNo("Do you wants to go to Orbis?");
else{
cm.sendOk("The boat to Orbis is ready to take off, please be patience for next one.");
cm.dispose();
}
}else{
cm.sendOk("Make sure you got a Orbis ticket to travel in this boat. Check your inventory.");
cm.dispose();
}
}
function action(mode, type, selection) {
cm.gainItem(4031045, -1);
cm.warp(101000301);
cm.dispose();
}
http://img188.imageshack.us/i/maple0001xa.jpg/
http://img256.imageshack.us/img256/4501/maple0002q.jpg
http://img163.imageshack.us/img163/9324/maple0003ts.jpg