Javascript features not supported?

Results 1 to 1 of 1
  1. #1
    Enthusiast cljnilsson is offline
    MemberRank
    Jul 2017 Join Date
    26Posts

    Javascript features not supported?

    So I was going for a OOP approach to a NPC scripted shop.
    But it seems like using classes does not compile or something.

    PHP Code:
    function start() {    status = -1;
        
    action(100);
    }

    function 
    action(modetypeselection) {
                
    cm.writeline("xxxx");

    Which works fine, prints the message nicely.

    However when I add the following:
    PHP Code:
    class Chair {    constructor() {
            
    this.id id;
            
    this.price cost;
        }
    }

    class 
    Shop {
        
    constructor(currency) {
            
    this.chairs = [];
            
    this.count 0;
            
    this.currency currency;
        }

        
    addChair(idcost) {
            
    this.chairs[count] = new Chair(idcost);
            
    this.count += 1;
        }


    The npc does nothing.


    edit:
    I get the following error:
    scripts/npc/world0/9901200.js
    javax.script.ScriptException: <eval>:7:0 Expected an operand but found class
    class Chair {
    ^ in <eval> at line number 7 at column number 0
    at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
    at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:534)
    at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:521)
    at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
    at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:150)
    at javax.script.AbstractScriptEngine.eval(Unknown Source)
    at scripting.AbstractScriptManager.getInvocable(AbstractScriptManager.java:63)
    at scripting.npc.NPCScriptManager.start(NPCScriptManager.java:61)
    at net.server.channel.handlers.NPCTalkHandler.handlePacket(NPCTalkHandler.java:59)
    at net.MapleServerHandler.messageReceived(MapleServerHandler.java:127)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:690)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
    at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:407)
    at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:236)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
    at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
    at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
    at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
    at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: jdk.nashorn.internal.runtime.ParserException: <eval>:7:0 Expected an operand but found class
    class Chair {
    ^
    at jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:292)
    at jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:277)
    at jdk.nashorn.internal.parser.Parser.unaryExpression(Parser.java:3182)
    at jdk.nashorn.internal.parser.Parser.expression(Parser.java:3282)
    at jdk.nashorn.internal.parser.Parser.expressionStatement(Parser.java:1150)
    at jdk.nashorn.internal.parser.Parser.statement(Parser.java:967)
    at jdk.nashorn.internal.parser.Parser.sourceElements(Parser.java:773)
    at jdk.nashorn.internal.parser.Parser.program(Parser.java:709)
    at jdk.nashorn.internal.parser.Parser.parse(Parser.java:283)
    at jdk.nashorn.internal.parser.Parser.parse(Parser.java:249)
    at jdk.nashorn.internal.runtime.Context.compile(Context.java:1286)
    at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:1253)
    at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:625)
    at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:532)
    ... 29 more
    Last edited by cljnilsson; 27-07-17 at 07:19 PM.




Advertisement