99Max综合娱乐网站(旧版)

 找回密码
 立即注册
查看: 907|回复: 6

[脚本求助] 关于脚本的写法,本人在测试一个随机脚本但不太懂语言,请大大解一下

[复制链接]

升级   0%

发表于 2014-10-24 23:19:19 | 显示全部楼层 |阅读模式
本帖最后由 asd111444 于 2014-10-25 00:21 编辑

本人写了一个随机获得装备脚本并会附加随机精练和属性,但发觉脚本有问题,就是第一个@itemid,rand(2245,2254)触发后@itemid2,rand(0,20)和@itemid3,rand(4702,4712)也必定触发,不是独立随机的。想问大大哪里出错了,应该怎么写呢

prontera,160,90,3        script        随机装备测试        86,{
                        set .@enc_ran,rand(100);//随机范围
                        if ((.@enc_ran > 50) && (.@enc_ran < 100))
                        {set .@itemid,rand(2245,2254);}
                        else

                        if ((.@enc_ran > 0) && (.@enc_ran < 49))
                        {set .@itemid,0;}
                        else


                        set .@enc_ran,rand(100);
                        if ((.@enc_ran > 50) && (.@enc_ran < 100))                       
                        {set .@itemid2,rand(0,20);}
                        else

                        if ((.@enc_ran > 0) && (.@enc_ran < 49))
                        {set .@itemid2,0;}
                        else


                        set .@enc_ran,rand(100);
                        if ((.@enc_ran > 50) && (.@enc_ran < 100))               
                        {set .@itemid3,rand(4702,4712);}
                        else

                        if ((.@enc_ran > 0) && (.@enc_ran < 49))
                        {set .@itemid3,0;}
                        else

                        close;

                        getitem2 .@itemid, 1, 1, .@itemid2, 0, 0, 0, 0, .@itemid3;//给出相应的ID物品,数量/是否以鉴定/精练数/是否以损坏/洞1/洞2/洞3/洞4
                }
        }
        else
}
温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。

升级   14%

发表于 2014-10-25 03:12:27 | 显示全部楼层
本帖最后由 pnc63085 于 2014-10-25 03:13 编辑

if ((.@enc_ran > 50) && (.@enc_ran < 100))     答案就是你寫得這個  
因為你設的範圍都一樣  變數又只有一個  假定他選 60  你那三個條件不都一併触發嗎

升级   0%

 楼主| 发表于 2014-10-25 11:26:38 | 显示全部楼层
pnc63085 发表于 2014-10-25 03:12
if ((.@enc_ran > 50) && (.@enc_ran < 100))     答案就是你寫得這個  
因為你設的範圍都一樣  變數又只 ...

set .@enc_ran,rand(100); 哪这个数值不是独立的吗? 三个set .@enc_ran,rand(100);随机数都是一样变动?
就是第一个是变成60后面两个也是变60?多谢大大指点指点

升级   14%

发表于 2014-10-27 10:50:31 | 显示全部楼层
本帖最后由 pnc63085 于 2014-10-27 10:51 编辑

set .@enc_ran,rand(100)  設定函數為 "@enc_ran" 範圍 100  這是你寫的你一定懂
問題是 你三個變數函數名都設 名為@enc_ran
所以說囉  不論他跑到多少數值  三個就一併触發

因為三個的變數函數名都是@enc_ran  
建議用陣列寫法  或著 設三個函數 if... else...

升级   14%

发表于 2014-10-27 11:00:50 | 显示全部楼层
本帖最后由 pnc63085 于 2014-10-27 11:02 编辑

簡單的解決方法  第一個改範圍1~10 第二個改範圍1~50  第三個改範圍1~100  
會變說  數值1~10 三個都有  11~50只有二跟三的效果  51~100只有第三個效果

升级   0%

 楼主| 发表于 2014-10-29 00:18:56 | 显示全部楼层
完全明白了,感谢大大分享你的方法,我读书不聪明,对脚本也是乱摸乱索啊,
所以也没想到你所想的方法,这就解决问题了
实在太感谢了

升级   0%

 楼主| 发表于 2014-10-29 00:28:32 | 显示全部楼层
本帖最后由 asd111444 于 2014-10-29 00:36 编辑
pnc63085 发表于 2014-10-27 11:00
簡單的解決方法  第一個改範圍1~10 第二個改範圍1~50  第三個改範圍1~100  
會變說  數值1~10 三個都有  1 ...


其实我想这样的,可以预设一些我想要的代码
比如: 1-10
1 100%
2 90%
3 80%
。。。。如始类推
10 10%

如果可以这样设的话,这样就方便得多了,不知请问大大这个可不可以实现的,
可以的话,可不可以放个样本参考一下?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|99Max综合娱乐网站(旧版) ( 沪ICP备11024206号-1 )

GMT+8, 2024-11-24 05:07 , Processed in 0.318070 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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