www12350 發表於 2017-9-15 20:02:49

關於對話只要按"取消" 人物就無法動彈

本帖最後由 www12350 於 2017-9-16 12:26 PM 編輯

關於對話只要按"取消" 人物就無法動彈

然後再點NPC

就會出現以下畫面

人物就必須重新登入才能正常



希望有高手能幫忙

https://i.imgur.com/Wk4SWp0.jpg


      
switch(prompt("將身上隨機 ^0088FF"+.@Coin+"^000000 顆精煉石隨機換成一顆:本次^FF0000特殊大獎^000000目錄:離開")){
                case 1:
                        if(.@all<.@Coin)
                        {
                              mes "您身上的精煉石不足";
                              next;
                              close;
                        }
                        mes "你是否要合成為更高級的精煉石";
                        if(prompt("是:否")>1)
                        {
                              goto GameStart;
                              close;
                        }
                        for(set .@i,0;.@i<.@Coin; set .@i ,.@i+1)
                        {
                              set      .@temp,rand(0,(getarraysize(.@tempCard)-1));
                              if(.@tempCardAmount[.@temp]!=0)
                              {
                                        delitem .@tempCard[.@temp],1;
                                        setarray      .@tempCardAmount[.@temp],.@tempCardAmount[.@temp]-1;
                              }
                              else
                              {
                                        set .@i,.@i-1;
                              }
                        }
                              
                        set      .@gift,rand(0,.@SimpleGiftEnd-.@SimpleGiftStart+getarraysize(.@OtherGift));
                        if(.@gift<=.@SimpleGiftEnd-.@SimpleGiftStart)
                        {
                              set .@gift,.@gift+.@SimpleGiftStart;
                              for(set .@i,0;.@i<getarraysize(.@ExceptionGift); set .@i ,.@i+1)
                              {
                                        if(.@ExceptionGift[.@i] == .@gift)
                                        {
                                                set      .@gift,rand(.@SimpleGiftStart,.@SimpleGiftEnd);
                                                set      .@i,-1;
                                        }
                              }
                        }
                        else
                        {
                              set      .@gift,.@OtherGift[.@gift-(.@SimpleGiftEnd-.@SimpleGiftStart)];
                        }
                        for(set .@i,0;.@i<getarraysize(.@SpecialGift); set .@i ,.@i+1)
                        {
                              if(rand(1,.@SpecialGiftChance[.@i]) == 1)
                              {
                                        announce "恭喜 "+strcharinfo(0)+" 從精鍊石抽抽樂中獲得 "+getitemname(.@SpecialGift[.@i])+" ",Bc_all;
                                        announce "獲得機率為 "+.@SpecialGiftChance[.@i]+" 分之一",Bc_all;
                                        set .@gift,.@SpecialGift[.@i];
                                        break;
                              close;
                              }
                        }
                        getitem .@gift,1;
                        next;
                        goto GameStart;
                        break;
                        close;
                case 2:
                        if(getarraysize(.@SpecialGift)==0)
                        {      
                              mes "[精鍊石抽抽樂]";
                              mes "抱歉,目前沒有特殊獎勵";
                              goto      GameStart;
                              end;
                        }
                        for(set .@i,0;.@i<getarraysize(.@SpecialGift); set .@i ,.@i+1)
                        {
                              mes getitemname(.@SpecialGift[.@i]);
                              mes "      獲得機率為 "+.@SpecialGiftChance[.@i]+" 分之一";
                        }
                        next;
                        goto GameStart;
                        break;
                        close;
                case 3:
                        goto Leave;
      }
      close;
Leave:
      mes "歡迎您再度光臨";
      mes "^0088FF使用完請按^FF0000離開^000000,以免卡人物^000000";
      mes "^0088FF使用完請按^FF0000離開^000000,以免卡人物^000000";
      mes "^0088FF使用完請按^FF0000離開^000000,以免卡人物^000000";
      close;
      end;
}

bmw86888 發表於 2017-9-15 21:03:03

-樂- 發表於 2017-9-15 21:37:28

你知道break;是做什麼用的嗎?

www12350 發表於 2017-9-16 10:39:58

-樂- 發表於 2017-9-15 09:37 PM static/image/common/back.gif
你知道break;是做什麼用的嗎?

不好意思 我不知道這是什麼意思

能告訴我答案嗎

www12350 發表於 2017-9-16 10:41:46

本帖最後由 www12350 於 2017-9-16 10:42 AM 編輯

bmw86888 發表於 2017-9-15 09:03 PM static/image/common/back.gif
close; 後面再加 end;
請問一下
是所有的close後面都加入end嗎

還是只有
                        goto Leave;
      }
      close;
      end;

-樂- 發表於 2017-9-16 12:19:48

www12350 發表於 2017-9-16 10:41 AM static/image/common/back.gif
請問一下
是所有的close後面都加入end嗎



人家告訴你, 你不先測試看看嗎?

www12350 發表於 2017-9-16 12:25:49

-樂- 發表於 2017-9-16 12:19 PM static/image/common/back.gif
人家告訴你, 你不先測試看看嗎?

                case 3:
                        goto Leave;
        }
        close;

改成
                case 3:
                        goto Leave;
        }
        end;



謝謝兩位
頁: [1]
查看完整版本: 關於對話只要按"取消" 人物就無法動彈