用户定义函数

自定义脚本的重要更新

CustomScript Action现在支持LUA编程语言。访问我们的新增Lua脚本资源


  1. 新账户(2018年10月29日以后创建的)只能在脚本中选择使用Lua。
  2. 截至2018年10月29日,在此日期之前创建的帐户的自定义脚本操作将默认为Lua作为脚本类型。您将能够切换到遗留自定义脚本;尽管我们强烈鼓励使用Lua。
  3. 从长远来看,遗留自定义脚本操作将被切换为只读。具体日期尚待确定;我们会提前通知你。

我们的自定义脚本语言有很多内置的灵活性,但是您可能需要在脚本中定义自己的函数。在这个例子中,我们将展示如何创建三个简单的函数:

  1. 添加值
  2. 用值
  3. 把值

首先,您需要创建一个带有两个文本框问题的页面。我们将在这里收集X和Y的值(以保持事情简单)。

这些问题应该有一些验证设置,以确保输入的数据是可用的!至少,您需要确保它收集的是整数和正数。在这个例子中,我们也设置了0-100的最小/最大限制,但这不是必要的,只是为了保持简单!

在接下来的脚本中,我们将使用sgapiGetValue获取X和Y的值,因此需要用两个文本框问题的问题ID替换示例脚本中的(2)和(3)。一旦确定了问题id,就可以将下面的脚本粘贴到Custom Scripting元素中,并进行快速编辑。

您将在脚本的%%output部分中看到,通过将sgapi添加到函数名中,我们已经创建了三个用户定义的函数(sgapiAddValues、sgapimmultiplly和sgapiDivide)。这三个函数取X和Y的值,然后将这些值相加,相乘或除以。

/**显示Alchemer自定义脚本中的用户定义函数

/**只需记住添加sgapi到你的函数的开头,你可以在自定义脚本中创建任何你想要的函数。**/ %%x = sgapiGetValue(2);% % y = sgapiGetValue (3);%%output .= "新增值:
";%%output .= sgapiAddValues(%%x, %%y);%%output .= "

";%%output .= "倍数值:
";%%output .= sgapiMultply(%%x, %%y);%%output .= "

";%%output .= "分割值:
"; %%output .= sgapiDivide(%%x, %%y); %%output .= "

"; /** ** Adds two values ** @param %%x - value of first text box ** @param %%y - value of second text box ** @return %%math - new value **/ function sgapiAddValues(%%x, %%y) { %%math = %%x + %%y; return %%math; } /** ** Multiplies two values ** @param %%x - value of first text box ** @param %%y - value of second text box ** @return %%math - new value **/ function sgapiMultply(%%x, %%y) { %%math = %%x * %%y; return %%math; } /** ** Divides two values as long as the y is not 0 ** @param %%x - value of first text box ** @param %%y - value of second text box ** @return %%math - new value **/ function sgapiDivide(%%x, %%y) { if (%%y > 0) { %%math = %%x / %%y; return %%math; } else { return false; } }

现在,如果我们从上面取一个函数,我们可以解构它来理解它是如何工作的。让我们抓取sgapiDivide,因为它有更多的东西!只要Y的值不为0,就可以把这两个值分开。

我们通过名称和将要使用的值来调用函数。我们使用if语句来说明,如果Y的值大于0,那么继续运行数学方程,其中X的值除以Y。如果Y的值为0或更小,它将返回false。

脚本和其他开箱即用的自定义

我们总是很乐意帮助您调试任何文档化的脚本。也就是说,我们没有按需编写脚本的资源。

如果你有定制的想法,你还没有想出如何解决,我们很高兴为炼金术功能和功能的想法,可能满足你的定制。除此之外,你最好咨询一下我们的编程服务团队;这些人可能具有脚本能力,可以帮助您实现您正在寻找的目标!