[Service] NPC Scripts

Joined
Jun 23, 2012
Messages
554
Reaction score
70
My name is Jon, and I've been scripting as a hobby for several years now, starting at AngelMS (down), and then Midnight/TwilightMS(down).​

I'm also looking to script for pay. Skype is jonnguyens

I've seen service threads running around, but I've decided to open one of mine just in case anyone needs help because those have gone inactive. Now I have a pretty busy schedule, but I can most definitely help you out with your scripts if and only if you give me your script first.

I'm looking to script NPCs for a server for pay. If you want to talk, add me on skype: jonnguyens





  • Why do I have to give you a script first? Don't you know how to script?

Yes, yes I do. I basic functions and can create all those fancy scripts (infinite loop, ternaries, etc). It's just I want to see you try first (and maybe because my mind feels more at ease when I have something to fix, and not create). I want to show you any errors you may have created, or what you could have done to make it shorter. I'm not the best NPC scripter in the world, but I can say I'm a pretty good one.







  • Where's some proof of work?
This is an NPC help thread. If I'm not qualified you will most certainly see it within the first few scripts. But hey, if the script works everyone is happy, right?





Make sure to post your script in spoiler format (using spoiler tags). These tags are created by this ....

(spoiler) (php) PUT SCRIPT HERE (/php)(/spoiler)
- Replace the "(" and ")" with "[" and "]"


Also, if you have any special functions (such as cm.gainNX(), cm.getVote(), etc) you must tell me. I can't make you a script in which you don't have the functions for.​

Terms of Serivice:​
This is a declaration that I hold, that I will not code a non-playable character (NPC) for a person unless they post for help here on the thread. If someone contacts me outside this thread for help on an NPC, I will not provide assistance in any form. The only time I will provide my knowledge and help others is if, and only if, they ask for my help and have attempted to script it themselves. To further add to the conditions of my Terms of Service, I also require said person to provide a script they have attempted to write themselves. Also, I can, and will post the script I've completed on this thread so that it is public. I will not script a private NPC for someone's server. It is available for everyone to see and learn from. If you fulfill the conditions I listed above, require help, and post your request for help in the form I have below, then I will provide my services accordingly.



Format:​
  • Small Description
  • Specifics
  • Special Functions (cm.gainNx)
  • Script
 
Last edited:
Assuming you know how to work netbeans, you go to scripting.npc (if it's even a directory in lithium. Probably is), and go to NPCScriptingManager.

Try leeching cm.openShop from Moople, or some other source. You'll have to provide me with all the functions to make the script work (openShop, getMeso(), gainMeso, etc) Those are just examples, and do not have to be ones that you need.
 
Upvote 0
i did a search and found getMeso and gainMeso in my NPCConversationManager. I dont know how to find the functions so heres my NPCScriptManager

Code:
/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 ~ 2010 Patrick Huy <[email protected]> 
Matthias Butz <[email protected]>
Jan Christian Meyer <[email protected]>

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/>.
 */
package scripting;

import java.util.Map;
import javax.script.Invocable;
import javax.script.ScriptEngine;

import client.MapleClient;
import java.util.WeakHashMap;
import java.util.concurrent.locks.Lock;
import server.quest.MapleQuest;
import tools.FileoutputUtil;

public class NPCScriptManager extends AbstractScriptManager {

    private final Map<MapleClient, NPCConversationManager> cms = new WeakHashMap<MapleClient, NPCConversationManager>();
    private static final NPCScriptManager instance = new NPCScriptManager();

    public static final NPCScriptManager getInstance() {
        return instance;
    }

    public final void start(final MapleClient c, final int npc) {
        final Lock lock = c.getNPCLock();
        lock.lock();
        try {
            if (!cms.containsKey(c) && c.canClickNPC()) {
                Invocable iv = getInvocable("npc/" + npc + ".js", c, true);
                if (iv == null) {
                    iv = getInvocable("npc/notcoded.js", c, true); //safe disposal
                    if (iv == null) {
                        dispose(c);
                        return;
                    }
                }
                final ScriptEngine scriptengine = (ScriptEngine) iv;
                final NPCConversationManager cm = new NPCConversationManager(c, npc, -1, (byte) -1, iv);
                cms.put(c, cm);
                scriptengine.put("cm", cm);

                c.getPlayer().setConversation(1);
		c.setClickedNPC();
                //System.out.println("NPCID started: " + npc);
                try {
                    iv.invokeFunction("start"); // Temporary until I've removed all of start
                } catch (NoSuchMethodException nsme) {
                    iv.invokeFunction("action", (byte) 1, (byte) 0, 0);
                }
            }
        } catch (final Exception e) {
            System.err.println("Error executing NPC script, NPC ID : " + npc + "." + e);
            FileoutputUtil.log(FileoutputUtil.ScriptEx_Log, "Error executing NPC script, NPC ID : " + npc + "." + e);
            dispose(c);
        } finally {
            lock.unlock();
        }
    }

    public final void action(final MapleClient c, final byte mode, final byte type, final int selection) {
        if (mode != -1) {
            final NPCConversationManager cm = cms.get(c);
            if (cm == null || cm.getLastMsg() > -1) {
                return;
            }
            final Lock lock = c.getNPCLock();
            lock.lock();
            try {

                if (cm.pendingDisposal) {
                    dispose(c);
                } else {
		    c.setClickedNPC();
                    cm.getIv().invokeFunction("action", mode, type, selection);
                }
            } catch (final Exception e) {
                System.err.println("Error executing NPC script. NPC ID : " + cm.getNpc() + ":" + e);
                dispose(c);
                FileoutputUtil.log(FileoutputUtil.ScriptEx_Log, "Error executing NPC script, NPC ID : " + cm.getNpc() + "." + e);
            } finally {
                lock.unlock();
            }
        }
    }

    public final void startQuest(final MapleClient c, final int npc, final int quest) {
        if (!MapleQuest.getInstance(quest).canStart(c.getPlayer(), null)) {
            return;
        }
        final Lock lock = c.getNPCLock();
        lock.lock();
        try {
            if (!cms.containsKey(c) && c.canClickNPC()) {
                final Invocable iv = getInvocable("quest/" + quest + ".js", c, true);
                if (iv == null) {
                    dispose(c);
                    return;
                }
                final ScriptEngine scriptengine = (ScriptEngine) iv;
                final NPCConversationManager cm = new NPCConversationManager(c, npc, quest, (byte) 0, iv);
                cms.put(c, cm);
                scriptengine.put("qm", cm);

                c.getPlayer().setConversation(1);
		c.setClickedNPC();
                //System.out.println("NPCID started: " + npc + " startquest " + quest);
                iv.invokeFunction("start", (byte) 1, (byte) 0, 0); // start it off as something
            }
        } catch (final Exception e) {
            System.err.println("Error executing Quest script. (" + quest + ")..NPCID: " + npc + ":" + e);
            FileoutputUtil.log(FileoutputUtil.ScriptEx_Log, "Error executing Quest script. (" + quest + ")..NPCID: " + npc + ":" + e);
            dispose(c);
        } finally {
            lock.unlock();
        }
    }

    public final void startQuest(final MapleClient c, final byte mode, final byte type, final int selection) {
        final Lock lock = c.getNPCLock();
        final NPCConversationManager cm = cms.get(c);
        if (cm == null || cm.getLastMsg() > -1) {
            return;
        }
        lock.lock();
        try {
            if (cm.pendingDisposal) {
                dispose(c);
            } else {
		c.setClickedNPC();
                cm.getIv().invokeFunction("start", mode, type, selection);
            }
        } catch (Exception e) {
            System.err.println("Error executing Quest script. (" + cm.getQuest() + ")...NPC: " + cm.getNpc() + ":" + e);
            FileoutputUtil.log(FileoutputUtil.ScriptEx_Log, "Error executing Quest script. (" + cm.getQuest() + ")..NPCID: " + cm.getNpc() + ":" + e);
            dispose(c);
        } finally {
            lock.unlock();
        }
    }

    public final void endQuest(final MapleClient c, final int npc, final int quest, final boolean customEnd) {
        if (!customEnd && !MapleQuest.getInstance(quest).canComplete(c.getPlayer(), null)) {
            return;
        }
        final Lock lock = c.getNPCLock();
        lock.lock();
        try {
            if (!cms.containsKey(c) && c.canClickNPC()) {
                final Invocable iv = getInvocable("quest/" + quest + ".js", c, true);
                if (iv == null) {
                    dispose(c);
                    return;
                }
                final ScriptEngine scriptengine = (ScriptEngine) iv;
                final NPCConversationManager cm = new NPCConversationManager(c, npc, quest, (byte) 1, iv);
                cms.put(c, cm);
                scriptengine.put("qm", cm);

                c.getPlayer().setConversation(1);
		c.setClickedNPC();
                //System.out.println("NPCID started: " + npc + " endquest " + quest);
                iv.invokeFunction("end", (byte) 1, (byte) 0, 0); // start it off as something
            }
        } catch (Exception e) {
            System.err.println("Error executing Quest script. (" + quest + ")..NPCID: " + npc + ":" + e);
            FileoutputUtil.log(FileoutputUtil.ScriptEx_Log, "Error executing Quest script. (" + quest + ")..NPCID: " + npc + ":" + e);
            dispose(c);
        } finally {
            lock.unlock();
        }
    }

    public final void endQuest(final MapleClient c, final byte mode, final byte type, final int selection) {
        final Lock lock = c.getNPCLock();
        final NPCConversationManager cm = cms.get(c);
        if (cm == null || cm.getLastMsg() > -1) {
            return;
        }
        lock.lock();
        try {
            if (cm.pendingDisposal) {
                dispose(c);
            } else {
		c.setClickedNPC();
                cm.getIv().invokeFunction("end", mode, type, selection);
            }
        } catch (Exception e) {
            System.err.println("Error executing Quest script. (" + cm.getQuest() + ")...NPC: " + cm.getNpc() + ":" + e);
            FileoutputUtil.log(FileoutputUtil.ScriptEx_Log, "Error executing Quest script. (" + cm.getQuest() + ")..NPCID: " + cm.getNpc() + ":" + e);
            dispose(c);
        } finally {
            lock.unlock();
        }
    }

    public final void dispose(final MapleClient c) {
        final NPCConversationManager npccm = cms.get(c);
        if (npccm != null) {
            cms.remove(c);
            if (npccm.getType() == -1) {
                c.removeScriptEngine("scripts/npc/" + npccm.getNpc() + ".js");
                c.removeScriptEngine("scripts/npc/notcoded.js");
            } else {
                c.removeScriptEngine("scripts/quest/" + npccm.getQuest() + ".js");
            }
        }
        if (c.getPlayer() != null && c.getPlayer().getConversation() == 1) {
            c.getPlayer().setConversation(0);
        }
    }

    public final NPCConversationManager getCM(final MapleClient c) {
        return cms.get(c);
    }
}
 
Upvote 0
I think the functions are in NpcConversationManager.java so should i post that?

Here it is

Code:
/*
This file is part of the OdinMS Maple Story Server
Copyright (C) 2008 Patrick Huy <[email protected]>
Matthias Butz <[email protected]>
Jan Christian Meyer <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation 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/>.
 */
package scripting.npc;

import client.Equip;
import client.ISkill;
import client.ItemFactory;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import constants.ExpTable;
import client.MapleCharacter;
import client.MapleClient;
import client.MapleInventoryType;
import client.MapleJob;
import client.MaplePet;
import client.MapleSkinColor;
import client.MapleStat;
import client.SkillFactory;
import tools.Randomizer;
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import net.channel.ChannelServer;
import tools.DatabaseConnection;
import net.world.MapleParty;
import net.world.guild.MapleAlliance;
import net.world.guild.MapleGuild;
import net.world.remote.WorldChannelInterface;
import provider.MapleData;
import provider.MapleDataProviderFactory;
import scripting.AbstractPlayerInteraction;
import scripting.event.EventManager;
import server.MapleInventoryManipulator;
import server.MapleItemInformationProvider;
import server.MapleSquad;
import server.MapleSquadType;
import server.MapleStatEffect;
import server.events.MapleEvent;
import server.maps.MapleMap;
import server.quest.MapleQuest;
import server.MapleShopFactory;
import tools.MaplePacketCreator;
import client.MapleInventory;
import client.IItem;
import server.life.MapleLifeFactory;
import server.life.MapleMonsterStats;
import server.life.MapleMonster;
import tools.Pair;
import java.io.*;
import java.util.ArrayList;
import java.math.BigInteger;
import java.util.Random;

/**
 *
 * @author Matze
 */
public class NPCConversationManager extends AbstractPlayerInteraction {

    private int npc;
    private String getText;

    public NPCConversationManager(MapleClient c, int npc) {
        super(c);
        this.npc = npc;
    }

    public int getNpc() {
        return npc;
    }

    public MapleCharacter getP() {
        return getPlayer();
    }

    public void dispose() {
        NPCScriptManager.getInstance().dispose(this);
    }

    public void sendNext(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "00 01", (byte) 0));
    }

    public void sendPrev(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "01 00", (byte) 0));
    }

    public void sendNextPrev(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "01 01", (byte) 0));
    }

    public void sendOk(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "00 00", (byte) 0));
    }

    public void sendYesNo(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 1, text, "", (byte) 0));
    }

    public void sendAcceptDecline(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0x0C, text, "", (byte) 0));
    }

    public void sendSimple(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 4, text, "", (byte) 0));
    }

    public void sendNext(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "00 01", speaker));
    }

    public void sendPrev(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "01 00", speaker));
    }

    public void sendNextPrev(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "01 01", speaker));
    }

    public void sendOk(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0, text, "00 00", speaker));
    }

    public void sendYesNo(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 1, text, "", speaker));
    }

    public void sendAcceptDecline(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 0x0C, text, "", speaker));
    }

    public void sendSimple(String text, byte speaker) {
        getClient().announce(MaplePacketCreator.getNPCTalk(npc, (byte) 4, text, "", speaker));
    }

    public void sendStyle(String text, int styles[]) {
        getClient().announce(MaplePacketCreator.getNPCTalkStyle(npc, text, styles));
    }

    public void sendGetNumber(String text, int def, int min, int max) {
        getClient().announce(MaplePacketCreator.getNPCTalkNum(npc, text, def, min, max));
    }

    public void sendGetText(String text) {
        getClient().announce(MaplePacketCreator.getNPCTalkText(npc, text));
    }

    /*
     * 0 = ariant colliseum
     * 1 = Dojo
     * 2 = Carnival 1
     * 3 = Carnival 2
     * 4 = Ghost Ship PQ?
     * 5 = Pyramid PQ
     * 6 = Kerning Subway
     */
    public void sendDimensionalMirror(String text) {
        getClient().announce(MaplePacketCreator.getDimensionalMirror(text));
    }

    public void setGetText(String text) {
        this.getText = text;
    }

    public String getText() {
        return this.getText;
    }

    public int getJobId() {
        return getPlayer().getJob().getId();
    }

    public void startQuest(short id) {
        try {
            MapleQuest.getInstance(id).forceStart(getPlayer(), npc);
        } catch (NullPointerException ex) {
        }
    }

    public void completeQuest(short id) {
        try {
            MapleQuest.getInstance(id).forceComplete(getPlayer(), npc);
        } catch (NullPointerException ex) {
        }
    }

    public int getMeso() {
        return getPlayer().getMeso();
    }

    public void gainMeso(int gain) {
        getPlayer().gainMeso(gain, true, false, true);
    }

    public void gainExp(int gain) {
        getPlayer().gainExp(gain, true, true);
    }

    public int getLevel() {
        return getPlayer().getLevel();
    }

    public EventManager getEventManager(String event) {
        return getClient().getChannelServer().getEventSM().getEventManager(event);
    }

    public void showEffect(String effect) {
        getPlayer().getMap().broadcastMessage(MaplePacketCreator.environmentChange(effect, 3));
    }

    public void playSound(String sound) {
        getPlayer().getMap().broadcastMessage(MaplePacketCreator.environmentChange(sound, 4));
    }

    public void setHair(int hair) {
        getPlayer().setHair(hair);
        getPlayer().updateSingleStat(MapleStat.HAIR, hair);
        getPlayer().equipChanged();
    }

    public void setFace(int face) {
        getPlayer().setFace(face);
        getPlayer().updateSingleStat(MapleStat.FACE, face);
        getPlayer().equipChanged();
    }

    public void setSkin(int color) {
        getPlayer().setSkinColor(MapleSkinColor.getById(color));
        getPlayer().updateSingleStat(MapleStat.SKIN, color);
        getPlayer().equipChanged();
    }

    public int itemQuantity(int itemid) {
        return getPlayer().getInventory(MapleItemInformationProvider.getInstance().getInventoryType(itemid)).countById(itemid);
    }

    public void displayGuildRanks() {
        MapleGuild.displayGuildRanks(getClient(), npc);
    }

    @Override
    public MapleParty getParty() {
        return getPlayer().getParty();
    }

    @Override
    public void resetMap(int mapid) {
        getClient().getChannelServer().getMapFactory().getMap(mapid).resetReactors();
    }

    public void reloadChar() {
        getPlayer().getClient().getSession().write(MaplePacketCreator.getCharInfo(getPlayer()));
        getPlayer().getMap().removePlayer(getPlayer());
        getPlayer().getMap().addPlayer(getPlayer());
    }

    public void environmentChange(String env, int mode) {
        getPlayer().getMap().broadcastMessage(MaplePacketCreator.environmentChange(env, mode));
    }

    public void gainCloseness(int closeness) {
        for (MaplePet pet : getPlayer().getPets()) {
            if (pet.getCloseness() > 30000) {
                pet.setCloseness(30000);
                return;
            }
            pet.gainCloseness(closeness);
            while (pet.getCloseness() > ExpTable.getClosenessNeededForLevel(pet.getLevel())) {
                pet.setLevel(pet.getLevel() + 1);
                getClient().announce(MaplePacketCreator.showOwnPetLevelUp(getPlayer().getPetIndex(pet)));
            }
            getPlayer().getClient().announce(MaplePacketCreator.updatePet(pet));
        }
    }

    public String getName() {
        return getPlayer().getName();
    }

    public int getGender() {
        return getPlayer().getGender();
    }

    public void summonMob(int mobid, int customHP, int customEXP, int amount) {
        MapleMonsterStats newStats = new MapleMonsterStats();
        if (customHP > 0) {
            newStats.setHp(customHP);
        }
        if (customEXP >= 0) {
            newStats.setExp(customEXP);
        }
        if (amount <= 1) {
            MapleMonster npcmob = MapleLifeFactory.getMonster(mobid);
            npcmob.setOverrideStats(newStats);
            npcmob.setHp(npcmob.getMaxHp());
            getPlayer().getMap().spawnMonsterOnGroudBelow(npcmob, getPlayer().getPosition());
        } else {
            for (int i = 0; i < amount; i++) {
                MapleMonster npcmob = MapleLifeFactory.getMonster(mobid);
                npcmob.setOverrideStats(newStats);
                npcmob.setHp(npcmob.getMaxHp());
                getPlayer().getMap().spawnMonsterOnGroudBelow(npcmob, getPlayer().getPosition());
            }
        }
    } 

    public void changeJobById(int a) {
        getPlayer().changeJob(MapleJob.getById(a));
    }

    public void addRandomItem(int id) {
        MapleItemInformationProvider i = MapleItemInformationProvider.getInstance();
        MapleInventoryManipulator.addFromDrop(getClient(), i.randomizeStats((Equip) i.getEquipById(id)), true);
    }

    public MapleJob getJobName(int id) {
        return MapleJob.getById(id);
    }

    public MapleStatEffect getItemEffect(int itemId) {
        return MapleItemInformationProvider.getInstance().getItemEffect(itemId);
    }

    public void resetStats() {
        getPlayer().resetStats();
    }

    public void maxMastery() {
        for (MapleData skill_ : MapleDataProviderFactory.getDataProvider(new File(System.getProperty("wzpath") + "/" + "String.wz")).getData("Skill.img").getChildren()) {
            try {
                ISkill skill = SkillFactory.getSkill(Integer.parseInt(skill_.getName()));
                if ((skill.getId() / 10000 % 10 == 2 || (getClient().getPlayer().isCygnus() && skill.getId() / 10000 % 10 == 1) || (getClient().getPlayer().isAran() && skill.getId() / 10000 % 10 == 2)) && getPlayer().getSkillLevel(skill) < 1) {
                    getPlayer().changeSkillLevel(skill, 0, skill.getMaxLevel(), -1);
                }
            } catch (NumberFormatException nfe) {
                break;
            } catch (NullPointerException npe) {
                continue;
            }
        }
    }

    public void processGachapon(int[] id, boolean remote) {
        int[] gacMap = {100000000, 101000000, 102000000, 103000000, 105040300, 800000000, 809000101, 809000201, 600000000, 120000000};
        int itemid = id[Randomizer.nextInt(id.length)];
        addRandomItem(itemid);
        if (!remote) {
            gainItem(5220000, (short) -1);
        }
        sendNext("You have obtained a #b#t" + itemid + "##k.");
        getClient().getChannelServer().broadcastPacket(MaplePacketCreator.gachaponMessage(getPlayer().getInventory(MapleInventoryType.getByType((byte) (itemid / 1000000))).findById(itemid), c.getPlayer().getMapName(gacMap[(getNpc() != 9100117 && getNpc() != 9100109) ? (getNpc() - 9100100) : getNpc() == 9100109 ? 8 : 9]), getPlayer()));
    }

    public boolean MakeGMItem (byte slot, MapleCharacter player, short incStr, short incInt, short incDex, short incLuk){
        return MakeGMItem(slot,player,incStr,incInt,incDex,incLuk,(short) 0);
    }

    public boolean MakeGMItem (byte slot, MapleCharacter player,short incStr,short incInt,short incDex,short incLuk,short incWA) {
          MapleInventory equip = player.getInventory(MapleInventoryType.EQUIP);
                 Equip eu = (Equip) equip.getItem(slot);
                      int item = equip.getItem(slot).getItemId();
                                short hand = eu.getHands();
                                      byte level = eu.getLevel();
                                      short nStr = (short)(eu.getStr()+incStr);
                                      short nDex = (short)(eu.getDex()+incDex);
                                      short nInt = (short)(eu.getInt()+incInt);
                                      short nLuk = (short)(eu.getLuk()+incLuk);
                                      short nWatk = (short) (eu.getWatk()+incWA);

                                    Equip nItem = new Equip(item, equip.getNextFreeSlot());
                                    nItem.setStr(nStr); // STR
                                    nItem.setDex(nDex); // DEX
                                    nItem.setInt(nInt); // INT
                                    nItem.setLuk(nLuk); //LUK
                                    nItem.setWatk(nWatk); // Watk

                                    //All Previous stats excluding the top 5
                                    nItem.setWdef(eu.getWdef());
                                    nItem.setAcc(eu.getHands());
                                    nItem.setAvoid(eu.getAvoid());
                                    nItem.setExpiration(eu.getExpiration());
                                    nItem.setJump(eu.getJump());
                                    nItem.setLevel(eu.getLevel());
                                    nItem.setMatk(eu.getMatk());
                                    nItem.setMdef(eu.getMdef());
                                    nItem.setMp(eu.getMp());
                                    nItem.setOwner(eu.getOwner());
                                    nItem.setSpeed(eu.getSpeed());
                                    nItem.setUpgradeSlots((byte) eu.getUpgradeSlots());
                                    nItem.setHands(eu.getHands());
        IItem tempItem = c.getPlayer().getInventory(MapleInventoryType.EQUIP).getItem((byte) slot);
        MapleInventoryManipulator.removeFromSlot(c, MapleInventoryType.EQUIP, (byte)slot, tempItem.getQuantity(), false, true);
        player.getInventory(MapleInventoryType.EQUIP).addFromDB(nItem);
        return true;
    }

    public String EquipList(MapleClient c) {
        StringBuilder str = new StringBuilder();
           MapleInventory equip = c.getPlayer().getInventory(MapleInventoryType.EQUIP);
                List<String> stra = new LinkedList<String>();
                    for (IItem item : equip.list()) {
                        stra.add("#L"+item.getPosition()+"##v"+item.getItemId()+"##l");
                        }
                    for (String strb : stra) {
                str.append(strb);
            }
        return str.toString();
    }

    public void disbandAlliance(MapleClient c, int allianceId) {
        PreparedStatement ps = null;
        try {
            ps = DatabaseConnection.getConnection().prepareStatement("DELETE FROM `alliance` WHERE id = ?");
            ps.setInt(1, allianceId);
            ps.executeUpdate();
            ps.close();
            c.getChannelServer().getWorldInterface().allianceMessage(c.getPlayer().getGuild().getAllianceId(), MaplePacketCreator.disbandAlliance(allianceId), -1, -1);
            c.getChannelServer().getWorldInterface().disbandAlliance(allianceId);
        } catch (RemoteException r) {
            c.getChannelServer().reconnectWorld();
        } catch (SQLException sqle) {
            sqle.printStackTrace();
        } finally {
            try {
                if (ps != null) {
                    ps.close();
                }
            } catch (SQLException ex) {
            }
        }
    }

    public boolean canBeUsedAllianceName(String name) {
        if (name.contains(" ") || name.length() > 12) {
            return false;
        }
        try {
            PreparedStatement ps = DatabaseConnection.getConnection().prepareStatement("SELECT name FROM alliance WHERE name = ?");
            ps.setString(1, name);
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                ps.close();
                rs.close();
                return false;
            }
            ps.close();
            rs.close();
            return true;
        } catch (SQLException e) {
            return false;
        }
    }

    public static MapleAlliance createAlliance(MapleCharacter chr1, MapleCharacter chr2, String name) {
        int id = 0;
        int guild1 = chr1.getGuildId();
        int guild2 = chr2.getGuildId();
        try {
            PreparedStatement ps = DatabaseConnection.getConnection().prepareStatement("INSERT INTO `alliance` (`name`, `guild1`, `guild2`) VALUES (?, ?, ?)");
            ps.setString(1, name);
            ps.setInt(2, guild1);
            ps.setInt(3, guild2);
            ps.executeUpdate();
            ResultSet rs = ps.getGeneratedKeys();
            rs.next();
            id = rs.getInt(1);
            rs.close();
            ps.close();
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
        MapleAlliance alliance = new MapleAlliance(name, id, guild1, guild2);
        try {
            WorldChannelInterface wci = chr1.getClient().getChannelServer().getWorldInterface();
            wci.setGuildAllianceId(guild1, id);
            wci.setGuildAllianceId(guild2, id);
            chr1.setAllianceRank(1);
            chr1.saveGuildStatus();
            chr2.setAllianceRank(2);
            chr2.saveGuildStatus();
            wci.addAlliance(id, alliance);
            wci.allianceMessage(id, MaplePacketCreator.makeNewAlliance(alliance, chr1.getClient()), -1, -1);
        } catch (RemoteException e) {
            chr1.getClient().getChannelServer().reconnectWorld();
            chr2.getClient().getChannelServer().reconnectWorld();
            return null;
        }
        return alliance;
    }

    public List<MapleCharacter> getPartyMembers() {
        if (getPlayer().getParty() == null) {
            return null;
        }
        List<MapleCharacter> chars = new LinkedList<MapleCharacter>();
        for (ChannelServer channel : ChannelServer.getAllInstances()) {
            for (MapleCharacter chr : channel.getPartyMembers(getPlayer().getParty())) {
                if (chr != null) {
                    chars.add(chr);
                }
            }
        }
        return chars;
    }

    public void warpParty(int id) {
        for (MapleCharacter mc : getPartyMembers()) {
            if (id == 925020100) {
                mc.setDojoParty(true);
            }
            mc.changeMap(getWarpMap(id));
        }
    }

    public boolean hasMerchant() {
        return getPlayer().hasMerchant();
    }

    public boolean hasMerchantItems() {
        try {
            if (!ItemFactory.MERCHANT.loadItems(getPlayer().getId(), false).isEmpty()) {
                return true;
            }
        } catch (SQLException e) {
            return false;
        }
        if (getPlayer().getMerchantMeso() == 0) {
            return false;
        } else {
            return true;
        }
    }

    public void showFredrick() {
        c.announce(MaplePacketCreator.getFredrick(getPlayer()));
    }

    public void openShop(int id) {
        MapleShopFactory.getInstance().getShop(id).sendShop(getClient());
    }

    public int partyMembersInMap() {
        int inMap = 0;
        for (MapleCharacter char2 : getPlayer().getMap().getCharacters()) {
            if (char2.getParty() == getPlayer().getParty()) {
                inMap++;
            }
        }
        return inMap;
    }

    public MapleSquad createMapleSquad(MapleSquadType type) {
        MapleSquad squad = new MapleSquad(c.getChannel(), getPlayer());
        if (getSquadState(type) == 0) {
            c.getChannelServer().addMapleSquad(squad, type);
        } else {
            return null;
        }
        return squad;
    }

    public MapleCharacter getSquadMember(MapleSquadType type, int index) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        MapleCharacter ret = null;
        if (squad != null) {
            ret = squad.getMembers().get(index);
        }
        return ret;
    }

    public int getSquadState(MapleSquadType type) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        if (squad != null) {
            return squad.getStatus();
        }
        return 0;
    }

    public void setSquadState(MapleSquadType type, int state) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        if (squad != null) {
            squad.setStatus(state);
        }
    }

    public boolean checkSquadLeader(MapleSquadType type) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        if (squad != null) {
            return squad.getLeader().getId() == getPlayer().getId();
        }
        return false;
    }

    public int numSquadMembers(MapleSquadType type) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        int ret = 0;
        if (squad != null) {
            ret = squad.getSquadSize();
        }
        return ret;
    }

    public boolean isSquadMember(MapleSquadType type) {
        return c.getChannelServer().getMapleSquad(type).containsMember(getPlayer());
    }

    public void addSquadMember(MapleSquadType type) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        if (squad != null) {
            squad.addMember(getPlayer());
        }
    }

    public void removeSquadMember(MapleSquadType type, int index, boolean ban) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        if (squad != null) {
            squad.banMember(squad.getMembers().get(index), ban);
        }
    }

    public boolean canAddSquadMember(MapleSquadType type) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        if (squad != null) {
            return !squad.isBanned(getPlayer());
        }
        return false;
    }

    public void warpSquadMembers(MapleSquadType type, int mapId) {
        MapleSquad squad = c.getChannelServer().getMapleSquad(type);
        MapleMap map = c.getChannelServer().getMapFactory().getMap(mapId);
        if (squad != null) {
            if (checkSquadLeader(type)) {
                for (MapleCharacter chr : squad.getMembers()) {
                    chr.changeMap(map, map.getPortal(0));
                }
            }
        }
    }

    public MapleEvent getEvent() {
        return c.getChannelServer().getEvent();
    }

    public void divideTeams() {
        if (getEvent() != null) {
            getPlayer().setTeam(getEvent().getLimit() % 2); //muhaha :D
        }
    }

    public int getDollars(){
        return getPlayer().getDollars();
    }

    public int getShareLots(){
        return getPlayer().getShareLots();
    }

    public int getCurrentSharesPrice(){
        return c.getChannelServer().getSharePrice();
    }

    public void addDollars(int n){
        getPlayer().addDollars(n);
    }

    public void addShareLots(int n){
        getPlayer().addShareLots(n);
    }

    public int[] randomGachapon(){
        int x = 0;
        int[] returnn = new int[12578];
        List<Integer> ret = new ArrayList<Integer>();
        for (int itemId: MapleItemInformationProvider.getInstance().getAllItemIds()) {
            if (itemId > 50000){
                returnn[x] = itemId;
                x++;
            }
        }
        return returnn;
    }

    public boolean isCheckSpaceError(int itemid){
        return haveCheckSpaceError(itemid);
    }

    public void gainEqWithStat(int id, int wa, int str, int dex, int intel, int luk){
        gainEqWithStats(id, wa, str, dex, intel, luk);
    }

    public void openShopById(int id){
        MapleShopFactory.getInstance().getShopById(id).sendShop(getClient());
    }

    public boolean openShopBySearch(String query){
        if (query.length() < 5)
            return false;
        List<Integer> itemIds = new ArrayList<Integer>();
        for (Pair<Integer,String> itemPair: MapleItemInformationProvider.getInstance().getAllItems()){
            if (itemPair.getRight().toLowerCase().contains(query.toLowerCase()))
                itemIds.add(itemPair.getLeft());
        }
        MapleShopFactory.getInstance().loadShopByArray(getPlayer(),itemIds).sendShop(getClient());
        return true;
    }

    public int getEventPoints(){
        return getPlayer().getEventPoints();
    }
    
    public void setEventPoints(int amt){
        getPlayer().setEventPoints(amt);
    }

    public void addEventPoints(int amt){
        getPlayer().addEventPoints(amt);
    }

    public void warpMap(int id){
        for (MapleCharacter chr : getPlayer().getMap().getCharacters()){
            chr.changeMap(id);
        }
    }

    public void serverNotice(String msg){
        ChannelServer cserv = c.getChannelServer();
        try {
            cserv.getWorldInterface().broadcastMessage("Announcement", MaplePacketCreator.serverNotice(6, "[Notice] " + msg).getBytes());
        } catch (Exception e) {
            cserv.reconnectWorld();
        }
    }

    public void serverMessage(String msg){
        for (int i = 1; i <= ChannelServer.getAllInstances().size(); i++) {
            ChannelServer.getInstance(i).setServerMessage(msg);
        }
    }

    public int getEventMap(){
        return c.getChannelServer().getEventMap();
    }

    public void setEventMap(int id){
        c.getChannelServer().setEventMap(id);
    }

    public void warp(int mapid){
        c.getPlayer().changeMap(mapid);
    }

    public int getDonationPoints(){
        return c.getPlayer().getDonationPoints();
    }

    public void gainDonationPoints(int amt){
        c.getPlayer().addDonationPoints(amt);
    }

    public int getOccupation(){
        return c.getPlayer().getOccupation();
    }

    public void setOccupation(int id){
        c.getPlayer().setOccupation(id);
    }

    public BigInteger getBankMesos(){
        return c.getPlayer().getBankMesos();
    }

    public void addBankMesos(int amt){
        c.getPlayer().addBankMesos(amt);
    }

    public boolean haveBankMesos(String amt){
        return !(c.getPlayer().getBankMesos().compareTo(new BigInteger(amt)) == -1);
    }

    public int getGamblerLevel(){
        return c.getPlayer().getGamblerLevel();
    }

    public int getGamblerEXP(){
        return c.getPlayer().getGamblerEXP();
    }

    public void addGamblerEXP(int amt){
        c.getPlayer().addGamblerEXP(amt);
    }

    public boolean hunt(int amt){
        c.getPlayer().resetGamble();
        if (!((new Random()).nextInt(1 + this.getButterflynetLevel()) == 0)){
            c.getPlayer().addGamblerEXP(amt);
            return true;
        }else{
            return false;
        }
    }

    public int getNextHunt(){
        return c.getPlayer().getNextHunt();
    }
    
    public boolean createMarriage(String partner_) { // by Jvlaple
        MapleCharacter partner = getCharByName(partner_);
        if (partner == null) {
            return false;
        }
        partner.setMarried(true);
        getPlayer().setMarried(true);
        partner.setPartnerId(getPlayer().getId());
        getPlayer().setPartnerId(partner.getId());
        if (partner.getGender() > 0) {
            Marriage.createMarriage(getPlayer(), partner);
        } else {
            Marriage.createMarriage(partner, getPlayer());
        }
        return true;
    }

    public boolean createEngagement(String partner_) { // by Jvlaple
        MapleCharacter partner = getCharByName(partner_);
        if (partner == null) {
            return false;
        }
        if (partner.getGender() > 0) {
            Marriage.createEngagement(getPlayer(), partner);
        } else {
            Marriage.createEngagement(partner, getPlayer());
        }
        return true;
    }

    public void divorceMarriage() { // by Jvlaple
        getPlayer().setPartnerId(0);
        getPlayer().setMarried(false);
        Marriage.divorceMarriage(getPlayer());
    }

    public MapleCharacter getCharByName(String name) {
        try {
            return c.getChannelServer().getPlayerStorage().getCharacterByName(name);
        } catch (Exception e) {
            return null;
        }
    }

    public int getButterflynetLevel(){
        return c.getPlayer().getButterflynetLevel();
    }

    public void levelButterflynet(){
        c.getPlayer().levelButterflynet();
    }
    
    public int getIdBySearch(String query){
        int count = 0;
        int ret = 0;
        List<String> exceptions = new ArrayList<String>();
        exceptions.add("yellow wish ticket");
        for (Pair<Integer,String> itemPair: MapleItemInformationProvider.getInstance().getAllItems()){
            if (itemPair.getRight().toLowerCase().contains(query.toLowerCase()) && !exceptions.contains(itemPair.getRight().toLowerCase())){
                ret = itemPair.getLeft();
                count ++;
            }
        }
        return (count == 1 ? ret : -1);
    }
}
 
Upvote 0
Oh, there we go. I completely forgot the file that contained all the scripting methods :P Let me take a look.
Edit: It says you have cm.openShop. Why don't you try a basic function, like ...

PHP:
function start() {
cm.openShop(5000);
cm.dispose();
}
 
Upvote 0
I need a NPC which job advances the secund job (level 30) of all the explorers.
I mean, if im a magician, he will ask me if i want ice/lighting fire/posion or cleric and stuff like that.

I need a NPC which job advances the secund job (level 30) of all the explorers.
I mean, if im a magician, he will ask me if i want ice/lighting fire/posion or cleric and stuff like that.

Im using lithium :D
 
Upvote 0
I need a NPC which job advances the secund job (level 30) of all the explorers.
I mean, if im a magician, he will ask me if i want ice/lighting fire/posion or cleric and stuff like that.

I need a NPC which job advances the secund job (level 30) of all the explorers.
I mean, if im a magician, he will ask me if i want ice/lighting fire/posion or cleric and stuff like that.

Im using lithium :D

Haven't you been here before? I have a script near the front of the thread that advances the jobs.


@Cobbb
- Hit ctrl+a, then ctrl+c
 
Upvote 0
Oh Ok Here it is

Baterror - [Service] NPC Scripts - RaGEZONE Forums
 
Upvote 0
When i click ctrl-c it shuts down my server =(

Received data : (Unhandled)
BA 00
║.
Received data : (Unhandled)
41 01 A2 81 37 00
A.ó?7.
Received data : (Unhandled)
BA 00
║.
Received data : (Unhandled)
41 01 A2 81 37 00
A.ó?7.
Received data : (Unhandled)
BA 00
║.
Received data : (Unhandled)
41 01 5C A9 37 00
A.\⌐7.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
41 01 F6 C9 40 00
A.÷╔@.
Received data : (Unhandled)
41 01 C2 D0 40 00
A.┬╨@.
Received data : (Unhandled)
41 01 82 F8 49 00
A.?°I.
Received data : (Unhandled)
41 01 A0 F8 49 00
A.á°I.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
41 01 7E 20 53 00
A.~ S.
Received data : (Unhandled)
41 01 3E 48 5C 00
A.>H\.
Received data : (Unhandled)
41 01 5C 48 5C 00
A.\H\.
Received data : (Unhandled)
41 01 3A 70 65 00
A.:pe.
Unhandled CS item : 5064300
All: 85 00 A4 B8 67 00 06 00 6C 46 4D 00 00 00 00
Now: 00 00 00
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
41 01 BC 8E 6A 00
A.╝?j.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
41 01 1A 3F 6B 00
A..?k.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
41 01 A0 9A 6B 00
A.á?k.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
41 01 12 82 6C 00
A..?l.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
41 01 F4 EA 6C 00
A.⌠Ωl.
Error executing NPC script. NPC ID : 9900001:javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#100) in <Unknown source> at line number 100
Error executing NPC script. NPC ID : 9900001:javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#100) in <Unknown source> at line number 100
Error executing NPC script. NPC ID : 9900001:javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#100) in <Unknown source> at line number 100
Error executing NPC script. NPC ID : 9900001:javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#100) in <Unknown source> at line number 100
Error executing NPC script. NPC ID : 9900001:javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#77) in <Unknown source> at line number 77
Received data : (Unhandled)
41 01 68 53 72 00
A.hSr.
Error executing NPC script. NPC ID : 9900001:javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#80) in <Unknown source> at line number 80
Received data : (Unhandled)
41 01 6C 5E 72 00
A.l^r.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
41 01 D2 12 76 00
A.╥.v.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for colu
mn 'upgradeslots' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3560)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1960)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2114)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2696)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:2105)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2398)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2316)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2301)
at client.inventory.ItemLoader.saveItems(ItemLoader.java:277)
at client.MapleCharacter.saveInventory(MapleCharacter.java:1766)
at client.MapleCharacter.saveToDB(MapleCharacter.java:1466)
at client.MapleClient.disconnect(MapleClient.java:799)
at client.MapleClient.disconnect(MapleClient.java:781)
at handling.MapleServerHandler.sessionClosed(MapleServerHandler.java:431
)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.sessi
onClosed(AbstractIoFilterChain.java:550)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionC
losed(AbstractIoFilterChain.java:269)
at org.apache.mina.common.support.AbstractIoFilterChain.access$800(Abstr
actIoFilterChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sess
ionClosed(AbstractIoFilterChain.java:633)
at org.apache.mina.filter.codec.ProtocolCodecFilter.sessionClosed(Protoc
olCodecFilter.java:254)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionC
losed(AbstractIoFilterChain.java:269)
at org.apache.mina.common.support.AbstractIoFilterChain.access$800(Abstr
actIoFilterChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sess
ionClosed(AbstractIoFilterChain.java:633)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorF
ilter.java:230)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.
run(ExecutorFilter.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
e.java:51)
at java.lang.Thread.run(Unknown Source)
<Noob (cid: 10)> (Account: cobbbg1998) [charsave] Error saving character datacom
.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column
'upgradeslots' at row 1
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
1A 01 00 00 00 00
......
Received data : (Unhandled)
41 01 30 57 79 00
A.0Wy.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
41 01 5E E9 7C 00
A.^Θ|.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
41 01 CE 96 7D 00
A.╬?}.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
41 01 BC D5 7D 00
A.╝╒}.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
83 01
?.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Received data : (Unhandled)
5B 00 A4 72 4C 00
[.ñrL.
Error executing NPC script, NPC ID : 9030000.javax.script.ScriptException: sun.o
rg.mozilla.javascript.internal.WrappedException: Wrapped java.lang.NullPointerEx
ception (<Unknown source>#2) in <Unknown source> at line number 2
Got It XD

Sorry, its at very bottom. ALl the other stuff is my own errors.

Oh now i know why =(
 
Upvote 0
Back