特戒引擎

 找回密码
立即注册
查看: 792|回复: 2

[已结束] 建议增加以下命令,来自其它引擎!

[复制链接]

4

主题

4

回帖

511

积分

高级会员

Rank: 4

积分
511
发表于 2023-7-30 10:56:11 | 显示全部楼层 |阅读模式
FORMULATION
  1. 四则运算计算命令
  2. FORMULATION 参数1 参数2 参数3
  3. 参数1:计算公式
  4. 参数2:存入变量
  5. 参数3: 0或不填=结果四舍五入,1=丢弃掉小数

  6. 注:/代表除    *代表乘    +代表加    -代表减    %为取余数  ()优先计算括号

  7. ;例子一:
  8. #if
  9. #act
  10. FORMULATION 2/(100+20)*100+100 N$切割值
  11. sendmsg 6 提示:您的切割值为<$STR(N$切割值)>

  12. ;例子二:
  13. #if
  14. #act
  15. FORMULATION (10+20%9)%5 N$测试
  16. sendmsg 6 <$STR(N$测试)>


  17. [@运算1]
  18. #if
  19. #act
  20. MOV n$数字100 100
  21. MOV G50 50
  22. MOV I99 10
  23. MOV N80 80
  24. MOV U200 200
  25. MOV p80 80
  26. MOV m100 10
  27. FORMULATION (<$STR(n$数字100)>+<$STR(G50)>)/((<$STR(I99)>+<$STR(N80)>)*<$STR(U200)>*(<$STR(p80)>-12))+<$STR(m100)> N$结果是4
  28. SENDMSG 5 4运算的结果是<$STR(N$结果是4)>
  29. FORMULATION 2/(100+20)*100+100 U249
  30. SENDMSG 5 1运算的结果是<$STR(U249)>
  31. FORMULATION <$STR(N80)>*<$STR(U200)> N$结果是
  32. SENDMSG 5 2变量相乘运算的结果是<$STR(N$结果是)>



  33. 如果运算符号书写错误 返回-1
复制代码


RANSJSTR
  1. 等概率或者按权限随机获取分割字符串


  2. 格式:RANSJSTR 参数1 参数2 参数3 参数4 参数5


  3. 参数1:需要获取随机的字符串    字符串#权重|字符串#权重   |=分割符    (字符串顺序无要求)

  4. 参数2:0~1(0=系统权重随机,有几个字符串就是几份之一,1=按#位权重随机总权重为各项;位权重总和)

  5. 参数3:0~3(0=参数4和参数5;显示#权重数字      1=参数4和参数5;不显示#权重数字      2=参数4;显示权重 参数5;不显示权重  3=参数4;不显示权重 参数5;显示权重)

  6. 参数4:随机到的字符串保存变量

  7. 参数5:剩余的字符串保存变量


  8. 例子1:
  9. [@随机分割字符串]
  10. #IF
  11. #ACT
  12. RANSJSTR 测试1#2000|测试2#1000|测试3#5000 1 3 S0 S1
  13. ;总权重说明:总权重为2000+1000+5000=8000
  14. SENDMSG 0 随机的字符串:<$str(S0)>
  15. SENDMSG 0 剩余字符串值:<$str(S1)>
  16. ;假设分割出来的是:测试2#1000
  17. ;继续分割剩余的字符串   总权重为2000-1000+5000=7000
  18. RANSJSTR <$str(S1)> 1 3 S2 S3
  19. SENDMSG 0 随机的字符串:<$str(S2)>
  20. SENDMSG 0 剩余字符串值:<$str(S3)>

  21. 例子2:
  22. [@随机分割字符串系统权重]
  23. #IF
  24. #ACT
  25. RANSJSTR 木剑#3|铁剑#3|短剑#3 0 1 S0 S1
  26. SENDMSG 0 随机的字符串:<$str(S0)>
  27. SENDMSG 0 剩余字符串值:<$str(S1)>
  28. ;总权重说明:总权重为3(系统权重随机时,有几个字符串就是几份之一)
  29. gives <$str(S0)>
  30. SENDMSG 0 你获得了3把铁剑(假设分割出来的是铁剑)


  31. 权重规则解释:

  32. 如:RANSJSTR 测试2#300|测试1#100|测试3#200 1 3 S0 S1

  33. 那么总权重为:300+100+200=600 系统会从1~600随机出来一个数  如随机出来的是50,那么就和第一个字符串#权重|做对比 如果50比第一个字符串小于等于,那么就取第1个

  34. 如果随机出来的是400,那么就会用400-300=100  再和下面一个 测试1#100 对比然后小于等于100那么就取第二个,依次类推
复制代码
MAPMOVE扩展
  1. MAPMOVE扩展范围传送

  2. 格式:MAPMOVE 地图号 X坐标 Y坐标 范围

  3. 例子:
  4. [@main]
  5. #IF
  6. #Act
  7. MAPMOVE 3 333 333 3
  8. SENDMSG 6 你传送到盟重省坐标333:333 3格范围中
复制代码


回复

使用道具 举报

发表于 2023-8-17 17:59:50 | 显示全部楼层
功能已更新

formulation
ranSjStr
mapMove
回复

使用道具 举报

4

主题

4

回帖

511

积分

高级会员

Rank: 4

积分
511
 楼主| 发表于 2023-8-23 11:41:23 | 显示全部楼层
formulation这个命令更新后有问题。四则运算数值超过几千万后相加结果不准确。希望尽快更新  


formulation 100000000+20 n$结果 输出结果是错误的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|特戒引擎|手机版|特戒引擎官方论坛 ( 京ICP备20029477号-2 )

GMT+8, 2024-12-27 09:12 , Processed in 0.073225 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表