OK論壇

 找回密碼
 註冊
查看: 3565|回復: 43

機率設置問題

[複製鏈接]
  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

    發表於 2013-5-21 15:19:45 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: SeAr_1.9.98
    問題內容: 腳本問題
    本帖最後由 usb810310 於 2013-5-29 12:03 AM 編輯

    5%的機率比10%還要高??
    在改小一點的話 .. 附魔會是空的 .. 有時還有null情況
    我已經嘗試改很多次了 .. 還是無解
    1. //著作:逸 & Chu----拜託這行請不要刪掉,當個有品的人,謝謝//
    2. //著作:逸 & Chu----拜託這行請不要刪掉,當個有品的人,謝謝//
    3. //著作:逸 & Chu----拜託這行請不要刪掉,當個有品的人,謝謝//
    4. //著作:逸 & Chu----拜託這行請不要刪掉,當個有品的人,謝謝//
    5. //著作:逸 & Chu----拜託這行請不要刪掉,當個有品的人,謝謝//
    6. //著作:逸 & Chu----拜託這行請不要刪掉,當個有品的人,謝謝//


    7. //--條件物


    8. spl_in01,31,315,4        script        護甲附魔精靈        436,{
    9.         mes "[護甲附魔精靈]";
    10.         set @n,2;
    11.         callfunc "Magic_give";
    12. }

    13. spl_in01,33,315,4        script        鞋靴附魔精靈        436,{
    14.         mes "[鞋靴附魔精靈]";
    15.         set @n,6;
    16.         callfunc "Magic_give";

    17. }

    18. spl_in01,35,315,4        script        披掛附魔精靈        436,{
    19.         mes "[披掛附魔精靈]";
    20.         set @n,5;
    21.         callfunc "Magic_give";
    22. }




    23. function        script        Magic_give        {
    24.         if(countitem(985)<10){mes "披肩附魔需要 10 個鋁噢"; close;}
    25.         if(getequipisequiped(@n) == 0)
    26.         {
    27.                 mes "身上並沒有可以附魔之裝備";
    28.                 close;
    29.         }
    30.         if(getequipid(@n)==2629 || getequipid(@n)==2630 || getequipid(@n)==2410 || getequipid(@n)==2383 || getequipid(@n)==2541){
    31.                 mes "這...裝備...魔力太強大..我無法附魔";
    32.                 close;               
    33.         }
    34.         if(countitem(getequipid(@n)) > 1)
    35.         {
    36.                 mes "請勿攜帶相同裝備";
    37.                 close;
    38.         }
    39.         mes "你確定要附魔?";
    40.         menu "確定附魔",-;
    41.         close2;
    42.         
    43.         message strcharinfo(0),"附魔中…移動視為取消";
    44.         specialeffect2 EF_MAPPILLAR;
    45.         progressbar "ffff00",3;
    46. //-魔附機率--
    47.         setarray .@Mg_A[1],4700,4701,4702,4710,4711,4712,
    48.                            4720,4721,4722,4730,4731,4732,
    49.                            4740,4741,4742,4750,4751,4752;
    50.                         
    51.         setarray .@Mg_S[1],4703,4713,4723,4733,4743,4753;
    52.         
    53.         setarray .@Mg_J[1],4704,4714,4724,4734,4744,4754;
    54.         set .@che,rand(1,100);
    55.         if(.@che>90){        set .@n,rand(1, (getarraysize(.@Mg_S)-1));
    56.                         set .@Magic_num,.@Mg_S[.@n];}

    57.         if(.@che<91){        set .@n,rand(1, (getarraysize(.@Mg_A)-1));
    58.                         set .@Magic_num,.@Mg_A[.@n];}

    59.         if(.@che>95){        set .@n,rand(1, (getarraysize(.@Mg_J)-1));
    60.                         set .@Magic_num,.@Mg_J[.@n];}
    61. //----
    62.         set .@card_id1,getequipcardid(@n,0); //讀取裝備卡片1資訊
    63.         set .@card_id2,getequipcardid(@n,1); //讀取裝備卡片2資訊
    64.         set .@card_id3,getequipcardid(@n,2); //讀取裝備卡片3資訊
    65.         set .@ref_lv,getequiprefinerycnt(@n); //讀取裝備精鍊資訊
    66.         set .@name_id,getequipid(@n);
    67.         delitem getequipid(@n),1;
    68.         delitem 985,10;

    69.         set .@l,rand(0,100);
    70.         if(.@l>90){
    71.                 if(countitem(22222)>0){
    72.                         delitem 22222,1;
    73.                         getitem2 .@name_id,1,1,.@ref_lv,0,.@card_id1,.@card_id2,.@card_id3,0;
    74.                         announce "["+strcharinfo(0)+"]:呼! 還好有["+getitemname(22222)+"]。",15;
    75.                         end;
    76.                         }
    77.         
    78.         dispbottom "附魔失敗.";
    79.         specialeffect2 EF_SUI_EXPLOSION;
    80.         announce "["+strcharinfo(0)+"]:鈣營養勒!!我的["+getitemname(.@name_id)+"]暴了OAO",15;
    81.         end;

    82.         }
    83.         getitem2 .@name_id,1,1,.@ref_lv,0,.@card_id1,.@card_id2,.@card_id3,.@Magic_num;
    84.         specialeffect2 EF_PHARMACY_OK;
    85.         dispbottom "附魔成功…";
    86.         if(.@che>95){
    87.                 announce "恭喜["+strcharinfo(0)+"]取得["+getitemname(.@Magic_num)+"]["+getitemname(.@name_id)+"]",15;}
    88.                 end;
    89. OnInit:
    90.         waitingroom "請用防暴油",0;
    91.         end;
    92. }
    複製代碼
    回復

    使用道具 舉報

  • TA的每日心情

    2021-5-15 11:39 PM
  • 簽到天數: 161 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2013-5-21 16:02:00 | 顯示全部樓層
    null 的話 你看看你附魔出來的素質
    比對一下ITEMDB 看哪個有缺少的
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2021-10-5 01:09 PM
  • 簽到天數: 938 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2013-5-21 16:05:09 | 顯示全部樓層
    1. set .@che,rand(1,100);
    2.         if ( .@che < 90 ) {
    3.                 set .@n,rand(1, (getarraysize(.@Mg_A)-1));
    4.                 set .@Magic_num,.@Mg_A[.@n];
    5.         }
    6.         if ( .@che => 90 && .@che =< 95 ) {
    7.                 set .@n,rand(1, (getarraysize(.@Mg_S)-1));
    8.                 set .@Magic_num,.@Mg_S[.@n];
    9.         }
    10.         if ( .@che > 95 ) {
    11.                 set .@n,rand(1, (getarraysize(.@Mg_J)-1));
    12.                 set .@Magic_num,.@Mg_J[.@n];
    13.         }
    複製代碼
    測試看看 ...  =..=

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

     樓主| 發表於 2013-5-21 16:43:54 | 顯示全部樓層
    jhg681291 發表於 2013-5-21 04:02 PM
    null 的話 你看看你附魔出來的素質
    比對一下ITEMDB 看哪個有缺少的

    沒有缺少 .. 單純改機率就造成這樣
    不知道是哪裡出問題
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2021-5-15 11:39 PM
  • 簽到天數: 161 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2013-5-21 16:47:56 | 顯示全部樓層
    我也是用這種的
    你把 附魔的編號 多放一點 應該能減少NULL
    1. setarray .@Mg_A[1],4700,4701,4702,4703,4700,4701,4702,4703,4701,4710,4711,4712,4713,4710,4711,4712,4713,4713,
    2.                            4720,4721,4722,4723,4720,4721,4722,4723,4723,4730,4731,4732,4733,4730,4731,4732,4733,4733,
    3.                            4740,4741,4742,4743,4740,4741,4742,4743,4743,4750,4751,4752,4753,4750,4751,4752,4753,4753;
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

     樓主| 發表於 2013-5-21 16:57:50 | 顯示全部樓層
    kira1122 發表於 2013-5-21 04:05 PM
    測試看看 ...  =..=

    這段出現錯誤
            if ( .@che ='>' 90 && .@che =< 95 ) {


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

     樓主| 發表於 2013-5-21 16:58:46 | 顯示全部樓層
    jhg681291 發表於 2013-5-21 04:47 PM
    我也是用這種的
    你把 附魔的編號 多放一點 應該能減少NULL

    應該能減少= =?
    所以還是有機率出現null??
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2021-5-15 11:39 PM
  • 簽到天數: 161 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2013-5-21 17:13:41 | 顯示全部樓層
    我自己用 連1次null都沒出現過..
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

     樓主| 發表於 2013-5-21 17:20:02 | 顯示全部樓層
    jhg681291 發表於 2013-5-21 05:13 PM
    我自己用 連1次null都沒出現過..

    我能看一下你改成怎樣嗎??
    因為我這自己改過 ..
    本來是到 +10
    我改最高+5
    +1 ~ +3 90%
    +4   10%
    +5   5%


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2024-5-2 03:39 PM
  • 簽到天數: 1323 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2013-5-21 17:26:11 | 顯示全部樓層
    usb810310 發表於 2013-5-21 05:20 PM
    我能看一下你改成怎樣嗎??
    因為我這自己改過 ..
    本來是到 +10

    你的比例有問題 總合根本超出100%   10+90+5=105

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2013-5-21 17:27:45 | 顯示全部樓層
    usb810310 發表於 2013-5-21 04:57 PM
    這段出現錯誤
            if ( .@che ='>' 90 && .@che =< 95 ) {

    遵照 C 的運算元表示法
    1. if ( .@che => 90 && .@che =< 95 ) {
    複製代碼
    TO
    1. if ( .@che >= 90 && .@che <= 95 ) {
    複製代碼
    再來  我覺得頗沒意義, 所以直接成改下面的
    1. if ( .@che <= 95 ) {
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

     樓主| 發表於 2013-5-21 17:28:12 | 顯示全部樓層
    本帖最後由 usb810310 於 2013-5-21 05:30 PM 編輯
    sinya 發表於 2013-5-21 05:26 PM
    你的比例有問題 總合根本超出100%   10+90+5=105

    原來她是總和不能超過100哦
    我以為是單一個設定
    第一次設定機率
    不好意思

    >
    <
    的差別是哪里
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2024-5-2 03:39 PM
  • 簽到天數: 1323 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2013-5-21 17:32:47 | 顯示全部樓層
    usb810310 發表於 2013-5-21 05:28 PM
    原來她是總和不能超過100哦
    我以為是單一個設定
    第一次設定機率

    你rand 只有 100 個東西能出來 你條件用105個 根本 5個不會跑  不合實際

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2017-1-18 12:17 AM
  • 簽到天數: 512 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2013-5-21 17:34:45 | 顯示全部樓層
    kira1122 發表於 2013-5-21 04:05 PM
    測試看看 ...  =..=

    我只修正語法錯誤
    1.         set .@che,rand(1,100);
    2.         if ( .@che < 90 ) {
    3.                 set .@n,rand(1, (getarraysize(.@Mg_A)-1));
    4.                 set .@Magic_num, .@Mg_A[.@n];
    5.         }
    6.         else if ( .@che <= 95 ) {
    7.                 set .@n,rand(1, (getarraysize(.@Mg_S)-1));
    8.                 set .@Magic_num, .@Mg_S[.@n];
    9.         }
    10.         else {
    11.                 set .@n,rand(1, (getarraysize(.@Mg_J)-1));
    12.                 set .@Magic_num, .@Mg_J[.@n];
    13.         }
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2014-3-7 12:00 AM
  • 簽到天數: 80 天

    連續簽到: 2 天

    [LV.6]常住居民II

     樓主| 發表於 2013-5-21 18:32:25 | 顯示全部樓層
    sinya 發表於 2013-5-21 05:32 PM
    你rand 只有 100 個東西能出來 你條件用105個 根本 5個不會跑  不合實際

    問一下喔
    >
    <
    這兩個的差別在哪阿??


    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-5-30 09:19 PM , Processed in 0.054955 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表