Added a line by line command parser in the web client.
This commit is contained in:
parent
384d08f9d8
commit
73633f01d9
1 changed files with 19 additions and 13 deletions
|
|
@ -87,19 +87,25 @@ function doSendText() {
|
||||||
}
|
}
|
||||||
var inputfield = $("#inputfield");
|
var inputfield = $("#inputfield");
|
||||||
var outtext = inputfield.val();
|
var outtext = inputfield.val();
|
||||||
if (outtext.length > 7 && outtext.substr(0, 7) == "##send ") {
|
var lines = outtext.trim().replace(/[\r]+/,"\n").replace(/[\n]+/, "\n").split("\n");
|
||||||
// send a specific oob instruction ["cmdname",[args],{kwargs}]
|
for (var i = 0; i < lines.length; i++) {
|
||||||
outtext = outtext.slice(7);
|
var line = lines[i].trim();
|
||||||
var cmdarr = JSON.parse(outtext);
|
if (line.length > 7 && line.substr(0, 7) == "##send ") {
|
||||||
var cmdname = cmdarr[0];
|
// send a specific oob instruction ["cmdname",[args],{kwargs}]
|
||||||
var args = cmdarr[1];
|
line = line.slice(7);
|
||||||
var kwargs = cmdarr[2];
|
var cmdarr = JSON.parse(line);
|
||||||
log(cmdname, args, kwargs);
|
var cmdname = cmdarr[0];
|
||||||
Evennia.msg(cmdname, args, kwargs);
|
var args = cmdarr[1];
|
||||||
} else {
|
var kwargs = cmdarr[2];
|
||||||
input_history.add(outtext);
|
log(cmdname, args, kwargs);
|
||||||
inputfield.val("");
|
Evennia.msg(cmdname, args, kwargs);
|
||||||
Evennia.msg("text", [outtext], {});
|
} else if (line.length < 1) {
|
||||||
|
/* do not process empty lines */
|
||||||
|
} else {
|
||||||
|
input_history.add(line);
|
||||||
|
inputfield.val("");
|
||||||
|
Evennia.msg("text", [line], {});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue