首页
随机
登录
设置
关于PD2汉化wiki
免责声明
PD2汉化wiki
搜索
查看“︁Formula Info”︁的源代码
←
Formula Info
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
这是一个未列出的页面,它被嵌入在 [[Item Filtering]] 中。 <onlyinclude> ===正式定义=== 公式可以在战利品过滤器的任何地方使用 <code>Formula[KEY]: FORMULA</code> 来定义。对公式的引用必须采用 <code>FORMULAKEY</code> 的形式。<code>Formula[_A]: STAT1!=STAT2</code> 可以通过 <code>FORMULA_A</code> 或 <code>%FORMULA_A%</code> 来引用。 公式键名只能使用 '_' 或 'A' 到 'Z'。 别名不能在定义中使用。 ===内联定义=== 内联公式定义是块内的公式 <code>$f(STAT1!=STAT2)</code>。'f' 必须小写,括号必须匹配。 ===物品输入=== 公式可以用作布尔值、值或添加条件的一部分。 别名可以在定义中使用。 {| class="wikitable" ! 条件 !! 描述 |- | ItemDisplay[$f(STAT1+STAT2)>25] || 值比较 |- | ItemDisplay[$f(STAT1+STAT2>20)] || 布尔条件 |- | ItemDisplay[$f(STAT1)+STAT2>15] || 添加条件 |} 公式的"真值"基于值不等于零。 {| class="wikitable" ! 公式 !! 描述 |- | 1.5 || 真,因为 1.5 != 0 |- | TRUE || 真,因为 TRUE (1) != 0 |- | FALSE || 假,因为 FALSE (0) == 0 |- | 0 || 假,因为 0 == 0 |- | .0000001 || 真,x != 0 |} ===物品输出=== 公式的结果是一个实数。它以 0-2 位小数呈现,具体取决于小数部分。如果发生数学错误或值太大无法呈现,则文本为 <code>f_err</code>。可呈现结果的最大绝对值是 2^31 (2147483648)。 {| class="wikitable" ! 公式 !! 中间文本 !! 呈现文本 |- | 1.49 || 1.49 || 1.49 |- | 1.495 || 1.50 || 1.5 |- | 1.494 || 1.49 || 1.49 |- | 1.5 || 1.50 || 1.5 |- | TRUE || 1.00 || 1 |- | FALSE || 0.00 || 0 |- | 0 || 0.00 || 0 |- | .0000001 || 0.00 || 0 |} ===运算符=== <code>==</code>, <code>></code>, <code><</code>, <code>!=</code>, <code>>=</code>, <code><=</code>, <code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>^</code>, <code>!</code> ===变量=== 所有变量都不区分大小写。每个变量都镜像了输入或输出中使用的代码。 ====带参数==== 参数是用 ',' 分隔的整数。 {| class="wikitable" |- ! 代码 !! 示例 !! 详情 !! 参数 |- | stat || stat3 || 体力 vitality || 1 |- | multi || MULTI83,2 || 死灵法师技能;必须有两个参数 || 2 |- | charstat || CHARSTAT15 || 仓库中的金币 || 1 |} ====无参数==== {| class="wikitable" ! colspan="5" | 代码 |- |allattrib||allsk||alvl||amazon||ar |- |area||armor||arper||assassin||automod |- |axe||bar||barbarian||baseblock||basemaxkick |- |basemaxoneh||basemaxsmite||basemaxthrow||basemaxtwoh||baseminkick |- |baseminoneh||baseminsmite||baseminthrow||basemintwoh||belt |- |boots||bow||buyprice||charm||charstat |- |chest||chsk||circ||cl||class |- |clsk||club||clvl||craft||craftalvl |- |cres||cube||dagger||def||dex |- |diff||din||dru||druid||dtm |- |ed||edam||edef||elt||eq |- |equipped||eth||exc||false||fbr |- |fcr||fhr||filtlvl||fools||fres |- |frw||gem||gemlevel||gemmed||gemtype |- |gfind||gloves||gold||ground||hammer |- |height||helm||ias||id||ilvl |- |inf||inventory||jav||jewelry||life |- |lres||lvlreq||mace||maek||mag |- |mana||mapid||maptier||maxdmg||maxdur |- |maxres||maxsockets||merc||mfind||mindmg |- |misc||multi||nec||necromancer||nmag |- |norm||onehand||os||paladin||polearm |- |pres||price||qlvl||qty||quiver |- |rare||repair||replife||repquant||reqdex |- |reqlvl||reqstr||rerollalvl||res||rune |- |rw||scepter||sellprice||set||shield |- |shop||sin||sk||sock||sockets |- |sor||sorceress||spear||staff||stash |- |stat||str||sup||sword||tabsk |- |throwing||tmace||true||twohand||uni |- |updex||uplvl||upstr||wand||weapon |- |width||wp||xbow||zon |} ===函数=== 所有函数需要一个或多个参数(元数)。 {| class="wikitable" |- ! 名称 !! 详情 !! 元数 !! 示例 |- | if || 如果为真则返回第二个参数,否则返回第三个 || 3 || IF(STAT3>100,TRUE,FALSE) |- | and || 如果所有值都为真则返回真,否则返回假 || 1+ || AND(STAT3>100,STAT0>100) |- | or || 如果任何值为真则返回真,否则返回假 || 1+ || OR(STAT3>100,STAT0>100) |- | exp || 欧拉数 (e) 的幂次方 || 1 || exp(ln(STAT2))==STAT2 |- | ln || 以 e 为底的对数 || 1 || ln(STAT2) |- | floor || 将数字向下舍入到最接近的整数 || 1 || floor(1.5)==1 |- | ceil || 将数字向上舍入到最接近的整数 || 1 || ceil(1.49)==2 |- | round || 按标准规则舍入数字 || 1 || round(1.49)==1; round(1.5)==2 |- | min || 最小值 || 1+ || MIN(STAT2,50)<=50 |- | max || 最大值 || 1+ || MAX(STAT2,50)>=50 |- | mod || A/B 的模数 || 2 || MOD(-17,5)==-2 |- | average || n 个参数的平均值 || 1+ || AVERAGE(8,8,8,8,8)==8 |- | sqrt || 非负数的平方根 || 1 || SQRt(4)==2 |- | pow || 数字的幂次方 || 2 || pow(2, 2)==4 |- | count || 真值的数量 || 1+ || COUNT(1,0,1,TRUE)==3 |- | countif || 等于最后一个值的数量 || 2+ || COUNTIF(1,0,1)==1 |- | xor || 如果奇数个参数为真则返回真 || 1+ || XOR(1,0)==1 |- | abs || x 的绝对值 || 1 || abs(-1)==1 |- | sign || x 的符号 || 1 || sign(-1)==-1; sign(0)==0; sign(1)==1 |} ===次要细节=== 可能会或可能不会改变的小细节。 * <code>AND</code> 和 <code>OR</code> 是 [https://en.wikipedia.org/wiki/Short-circuit_evaluation 短路求值的] * 常量表达式如 <code>POW(3,3)</code> 或 <code>IF(TRUE,STAT1,STAT2)</code> 只计算一次 * 输入引用只需要首字母 (F) 大写,其余不区分大小写 * 输出引用始终不区分大小写 </onlyinclude>
返回
Formula Info
。