命令树参数计数问题
Struggling with parameter count, command tree
基本上我想在javascript中实现的,在c#中看起来像这样:
private void ilevel(CommandArgs args)
{
if (args.Parameters.Count < 1)
{
args.Player.SendInfoMessage("Info: /ilevel subcmd1");
args.Player.SendInfoMessage("Info: /ilevel subcmd2");
}
switch (args.Parameters[0])
{
case "subcmd1":
{
args.Player.SendInfoMessage("message1", Color.SkyBlue);
args.Player.SendInfoMessage("message2");
args.Player.SendInfoMessage("message3");
}
break;
case "subcmd2":
{
args.Player.SendInfoMessage("message1", Color.SkyBlue);
args.Player.SendInfoMessage("message2");
args.Player.SendInfoMessage("message3");
}
break;
}
}
现在javascript看起来像这样:
var plr;
var ilevelCommand = acmd_alias_create("ilevel", 0, 0, "", function(player, args) {
plr = player;
ilevelSwitch(player, args);
});
var Ilevelcolor = "250,250,47";
function trace(msg) {
tshock_msg_color(Ilevelcolor, plr, msg);
}
function ilevelSwitch(player, args) {
if (args <1)
{
tshock_msg(player, "/ielvel subcmd1");
tshock_msg(player, "/ilevel subcmd2");
return;
}
switch (args[0]) {
case "subcmd1":
tshock_exec(player, "/item 6 1");
break;
case "subcmd2":
tshock_exec(player, "/item 6 1");
break;
}
}
"/illevel subcmd1"answers"/illevel subcm2"只有在玩家执行/illevel subcmd1时才会出现,但是tshock_exec(player, "/item 6 1");不会被执行。我不知道如何进一步进行,我尝试了我所知道的一切,它仍然不工作,因为它应该。如有任何帮助,不胜感激
假设args
是字符串数组,在ilevelSwitch
中,您要将args < 1
更改为args.length < 1
。
相关文章:
- 参数变量出现ngTable指令问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- 简单的ES6承诺问题-交换解决和拒绝参数
- 视点参数关闭标记问题
- 参数未正确传递给AJAX-编码问题
- 传递参数的问题,以及为MYSQL集成准备代码的问题
- javascript中传递参数的问题
- 作为参数传递时出现撇号问题
- Javascript函数和这个参数的一些问题
- 列表.js参数问题
- 问题将 Javascript 数组发送到带有 List
参数的 Web API 方法 - VBScript 将参数传递给 JavaScript 问题
- 删除导致页面刷新出现问题的查询参数
- Angular js - 解决不将参数传递给控制器的问题
- 在angularjs/javascript中将参数传递给命名回调函数的问题
- 使用函数作为参数 - 问题
- CoffeeScript - 将参数传递给超级构造函数时出现问题
- 作用域和将参数传递给动态创建的事件处理程序时出现问题
- 参数数量错误的问题
- 在 javascript 中通过初始化器函数传递参数时遇到问题