OK論壇

 找回密碼
 註冊
查看: 1567|回復: 2

無法與NPC對話

[複製鏈接]
  • TA的每日心情
    開心
    2015-12-30 12:38 AM
  • 簽到天數: 24 天

    連續簽到: 4 天

    [LV.4]偶爾看看III

    發表於 2014-4-16 00:25:11 | 顯示全部樓層 |閱讀模式
    本帖最後由 jeff1908 於 2014-4-16 04:55 PM 編輯

    最近剛開始學習修改私服
    NPC已經放上去了 也有出現 但是點他卻無法對話 這是我的腳本 麻煩各位幫忙檢查一下是發生什麼問題
    1. amatsu.gat,110,202,3        script        煉造大師        813,{               
    2.                         
    3.                 setarray .@refine_price[0],
    4.                                                                 ($ref_cost10down[0]*80/100),
    5.                                                                 ($ref_cost10down[1]*80/100),
    6.                                                                 ($ref_cost10down[2]*80/100),
    7.                                                                 ($ref_cost10down[3]*80/100),
    8.                                                                 ($ref_cost10down[4]*80/100);
    9.                 setarray .@refine_price10up[0],
    10.                                                                 ($ref_cost10up[0]),
    11.                                                                 ($ref_cost10up[1]),
    12.                                                                 ($ref_cost10up[2]),
    13.                                                                 ($ref_cost10up[3]),
    14.                                                                 ($ref_cost10up[4]);
    15.                                                                
    16.                 mes "[煉造大師 呼可憐]";
    17.                 if(countitem(35000)<1)
    18.                         mes "擁有學生的證明的話有"+(100-$refine_stid)+"%折扣喔!";
    19.                 mes "防具每+1要^BB3355"+.@refine_price[0]+"^000000,一個的鋁";
    20.                 mes "一級武器每+1要^BB3355"+.@refine_price[1]+"^000000,一個強化金屬級數一";
    21.                 mes "二級武器每+1要^BB3355"+.@refine_price[2]+"^000000,一個強化金屬級數二";
    22.                 mes "三級武器每+1要^BB3355"+.@refine_price[3]+"^000000,一個神之金屬";
    23.                 mes "四級武器每+1要^BB3355"+.@refine_price[4]+"^000000,一個神之金屬";
    24.                 next;
    25.                 mes "[煉造大師 呼可憐]";
    26.                 if(countitem(35000)<1)
    27.                         mes "擁有學生的證明的話有"+(100-$refine_stid)+"%折扣喔!";
    28.                 mes "防具每+1要^BB3355"+.@refine_price[0]+"^000000,一個的鋁";
    29.                 mes "一級武器每+1要^BB3355"+.@refine_price[1]+"^000000,一個強化金屬級數一";
    30.                 mes "二級武器每+1要^BB3355"+.@refine_price[2]+"^000000,一個強化金屬級數二";
    31.                 mes "三級武器每+1要^BB3355"+.@refine_price[3]+"^000000,一個神之金屬";
    32.                 mes "四級武器每+1要^BB3355"+.@refine_price[4]+"^000000,一個神之金屬";
    33.                 next;*/
    34.                 mes "[煉造大師 呼可憐]";
    35.                 mes "請選擇要精煉的項目。";
    36.                 mes "未顯示的部位代表該位置未裝備物品,";
    37.                 mes "或者是該項裝備無法精煉";
    38.                 mes "或者已精煉至+20,";
    39.                 mes "無法再往上提高精煉。";
    40.                 next;
    41.                 goto equ_menu;
    42.                
    43. //裝備選單
    44. equ_menu:
    45.         if (getequipisequiped(1) == 0 || getequipisenableref(1) == 0 || getequipisidentify(1)==0 || getequiprefinerycnt(1)>=20 ){ set .@haveeq[1],0; }        else{ set .@eqn$[1],"頭上-["+getequipname(1)+"]"; set .@haveeq[1],1; }
    46.         if (getequipisequiped(2) == 0 || getequipisenableref(2) == 0 || getequipisidentify(2)==0 || getequiprefinerycnt(2)>=20 ){ set .@haveeq[2],0; }        else{ set .@eqn$[2],"身體-["+getequipname(2)+"]"; set .@haveeq[2],1; }
    47.         if (getequipisequiped(3) == 0 || getequipisenableref(3) == 0 || getequipisidentify(3)==0 || getequiprefinerycnt(3)>=20 ){ set .@haveeq[3],0; }        else{ set .@eqn$[3],"左手-["+getequipname(3)+"]"; set .@haveeq[3],1; }
    48.         if (getequipisequiped(4) == 0 || getequipisenableref(4) == 0 || getequipisidentify(4)==0 || getequiprefinerycnt(4)>=20 ){ set .@haveeq[4],0; }        else{ set .@eqn$[4],"右手-["+getequipname(4)+"]"; set .@haveeq[4],1; }
    49.         if (getequipisequiped(5) == 0 || getequipisenableref(5) == 0 || getequipisidentify(5)==0 || getequiprefinerycnt(5)>=20 ){ set .@haveeq[5],0; }        else{ set .@eqn$[5],"外袍-["+getequipname(5)+"]"; set .@haveeq[5],1; }
    50.         if (getequipisequiped(6) == 0 || getequipisenableref(6) == 0 || getequipisidentify(6)==0 || getequiprefinerycnt(6)>=20 ){ set .@haveeq[6],0; }        else{ set .@eqn$[6],"鞋子-["+getequipname(6)+"]"; set .@haveeq[6],1; }
    51.         //if (getequipisequiped(7) == 0 || getequipisenableref(7) == 0 || getequipisidentify(7)==0 || getequiprefinerycnt(7)>=20 ){ set .@haveeq[7],0; }        else{ set .@eqn$[7],"裝飾品1-["+getequipname(7)+"]"; set .@haveeq[7],1; }
    52.         //if (getequipisequiped(8) == 0 || getequipisenableref(8) == 0 || getequipisidentify(8)==0 || getequiprefinerycnt(8)>=20 ){ set .@haveeq[8],0; }        else{ set .@eqn$[8],"裝飾品2-["+getequipname(8)+"]"; set .@haveeq[8],1; }
    53.         if (getequipisequiped(9) == 0 || getequipisenableref(9) == 0 || getequipisidentify(9)==0 || getequiprefinerycnt(9)>=20 ){ set .@haveeq[9],0; }        else{ set .@eqn$[9],"頭中-["+getequipname(9)+"]"; set .@haveeq[9],1; }
    54.         //if (getequipisequiped(10) == 0 || getequipisenableref(10) == 0 || getequipisidentify(10)==0 || getequiprefinerycnt(10)>=20 ){ set .@haveeq[10],0; }        else{ set .@eqn$[10],"頭下-["+getequipname(10)+"]"; set .@haveeq[10],1; }
    55.         
    56.         set .@eq_amount,(.@haveeq[1]+.@haveeq[2]+.@haveeq[3]+.@haveeq[4]+.@haveeq[5]+.@haveeq[6]+.@haveeq[9]);
    57.         switch(.@eq_amount){
    58.                 case 0:
    59.                         goto L_CLOSE_1;
    60.                         close; end;
    61.                 case 1:
    62.                         for(set .@u,0;.@u<=9;set .@u,.@+1){
    63.                                 if(.@haveeq[.@u]==1){
    64.                                         menu .@eqn$[.@u],-;
    65.                                         set .@part,.@u;
    66.                                         break;
    67.                                 }
    68.                         }
    69.                         break;
    70.                 case 2:
    71.                         for(set .@u,0;(.@u<=9 && .@s!=.@eq_amount);set .@u,.@u+1){
    72.                                 if(.@haveeq[.@u]==1){
    73.                                         set .@eq_show$[.@s],.@eqn$[.@u];
    74.                                         set .@eq_show[.@s],.@u;
    75.                                         set .@s,.@s+1;
    76.                                 }                                
    77.                         }
    78.                         switch(select(.@eq_show$[0],.@eq_show$[1])){
    79.                                 case 1: set .@part,.@eq_show[0]; break;
    80.                                 case 2: set .@part,.@eq_show[1]; break;
    81.                         }
    82.                         break;
    83.                 case 3:
    84.                         for(set .@u,0;(.@u<=9 && .@s!=.@eq_amount);set .@u,.@u+1){
    85.                                 if(.@haveeq[.@u]==1){
    86.                                         set .@eq_show$[.@s],.@eqn$[.@u];
    87.                                         set .@eq_show[.@s],.@u;
    88.                                         set .@s,.@s+1;
    89.                                 }                                
    90.                         }
    91.                         switch(select(.@eq_show$[0],.@eq_show$[1],.@eq_show$[2])){
    92.                                 case 1: set .@part,.@eq_show[0]; break;
    93.                                 case 2: set .@part,.@eq_show[1]; break;
    94.                                 case 3: set .@part,.@eq_show[2]; break;
    95.                         }
    96.                         break;
    97.                 case 4:
    98.                         for(set .@u,0;(.@u<=9 && .@s!=.@eq_amount);set .@u,.@u+1){
    99.                                 if(.@haveeq[.@u]==1){
    100.                                         set .@eq_show$[.@s],.@eqn$[.@u];
    101.                                         set .@eq_show[.@s],.@u;
    102.                                         set .@s,.@s+1;
    103.                                 }                                
    104.                         }
    105.                         switch(select(.@eq_show$[0],.@eq_show$[1],.@eq_show$[2],.@eq_show$[3])){
    106.                                 case 1: set .@part,.@eq_show[0]; break;
    107.                                 case 2: set .@part,.@eq_show[1]; break;
    108.                                 case 3: set .@part,.@eq_show[2]; break;
    109.                                 case 4: set .@part,.@eq_show[3]; break;
    110.                         }
    111.                         break;
    112.                 case 5:
    113.                         for(set .@u,0;(.@u<=9 && .@s!=.@eq_amount);set .@u,.@u+1){
    114.                                 if(.@haveeq[.@u]==1){
    115.                                         set .@eq_show$[.@s],.@eqn$[.@u];
    116.                                         set .@eq_show[.@s],.@u;
    117.                                         set .@s,.@s+1;
    118.                                 }                                
    119.                         }
    120.                         switch(select(.@eq_show$[0],.@eq_show$[1],.@eq_show$[2],.@eq_show$[3],.@eq_show$[4])){
    121.                                 case 1: set .@part,.@eq_show[0]; break;
    122.                                 case 2: set .@part,.@eq_show[1]; break;
    123.                                 case 3: set .@part,.@eq_show[2]; break;
    124.                                 case 4: set .@part,.@eq_show[3]; break;
    125.                                 case 5: set .@part,.@eq_show[4]; break;
    126.                         }
    127.                         break;
    128.                 case 6:
    129.                         for(set .@u,0;(.@u<=9 && .@s!=.@eq_amount);set .@u,.@u+1){
    130.                                 if(.@haveeq[.@u]==1){
    131.                                         set .@eq_show$[.@s],.@eqn$[.@u];
    132.                                         set .@eq_show[.@s],.@u;
    133.                                         set .@s,.@s+1;
    134.                                 }                                
    135.                         }
    136.                         switch(select(.@eq_show$[0],.@eq_show$[1],.@eq_show$[2],.@eq_show$[3],.@eq_show$[4],.@eq_show$[5])){
    137.                                 case 1: set .@part,.@eq_show[0]; break;
    138.                                 case 2: set .@part,.@eq_show[1]; break;
    139.                                 case 3: set .@part,.@eq_show[2]; break;
    140.                                 case 4: set .@part,.@eq_show[3]; break;
    141.                                 case 5: set .@part,.@eq_show[4]; break;
    142.                                 case 6: set .@part,.@eq_show[5]; break;
    143.                         }
    144.                         break;
    145.                 case 7:
    146.                         switch(select(.@eqn$[1],.@eqn$[2],.@eqn$[3],.@eqn$[4],.@eqn$[5],.@eqn$[6],.@eqn$[9])){
    147.                                 case 1: set .@part,1; break;
    148.                                 case 2: set .@part,2; break;
    149.                                 case 3: set .@part,3; break;
    150.                                 case 4: set .@part,4; break;
    151.                                 case 5: set .@part,5; break;
    152.                                 case 6: set .@part,6; break;
    153.                                 case 7: set .@part,9; break;
    154.                         }
    155.                         break;
    156.         }
    157.         
    158.         set .@ref_lv,getequipweaponlv(.@part);

    159. refine_equ:        
    160.         mes "[煉造大師 呼可憐]";
    161.         if(getequiprefinerycnt(.@part)>=10)
    162.                 set .@over10,1;
    163.         else
    164.                 set .@over10,0;
    165.         
    166.         switch(.@over10){
    167.                 case 0:
    168.                         set .@item,$ref_met10down[.@ref_lv];         
    169.                         set .@cost_zeny,.@refine_price[.@ref_lv];
    170.                         break;
    171.                 case 1:
    172.                         set .@item,$ref_met10up[.@ref_lv];         
    173.                         set .@cost_zeny,.@refine_price10up[.@ref_lv];
    174.                         break;
    175.         }
    176.         switch(.@ref_lv){
    177.                 case 0:
    178.                         mes "要精煉你所選擇的這項裝備,";
    179.                         break;
    180.                 case 1:               
    181.                 case 2:
    182.                 case 3:
    183.                 case 4:
    184.                         mes "你想要精煉武器等級"+.@ref_lv+"的武器啊?";
    185.                         break;
    186.         }
    187.         mes "要精煉的話需要^ff9999"+getitemname(.@item)+"^000000";
    188.         mes "以及費用"+.@cost_zeny+"Zeny,";
    189.         mes "一毛都不能少,";
    190.         mes "確定要精煉嗎?";
    191.         next;
    192.         if(select("確定:離開")==2) {
    193.                 goto leave;
    194.         }
    195.         if(getequippercentrefinery(.@part) < 100) {
    196.                 mes "[煉造大師 呼可憐]";
    197.                 mes "...你在哪兒弄到這麼麻煩的東西...";
    198.                 mes "這個有精煉上的危險";
    199.                 mes "你要繼續嗎?";
    200.                 next;
    201.                 if(select("確定:離開")==2) {
    202.                         goto leave;
    203.                 }
    204.         }
    205.         if(countitem(.@item)<1){
    206.                 mes "[煉造大師 呼可憐]";
    207.                 mes "物品^FF5533"+getitemname(.@item)+"^000000不足。";
    208.                 close; end;
    209.         }
    210.         if(Zeny<.@cost_zeny){
    211.                 mes "[煉造大師 呼可憐]";
    212.                 mes "金額不足。";
    213.                 close; end;
    214.         }
    215.         delitem .@item,1;
    216.         set Zeny,Zeny-.@cost_zeny;
    217.         mes "[煉造大師 呼可憐]";
    218.         mes "嘿咻!嘿咻!嘿咻!";
    219.         mes "鏘! 鏘! 鏘!!";
    220.         if(getequippercentrefinery(.@part) > rand(100)) {
    221.                 successrefitem .@part;
    222.                 next;
    223.                 emotion 0;
    224.                 mes "[煉造大師 呼可憐]";
    225.                 mes "終於精煉完成啦!";
    226.                 mes "妳要繼續打造這件裝備嗎?";
    227.                 next;
    228.                 switch(select("繼續","離開")){
    229.                         case 1:
    230.                                 goto refine_equ;
    231.                         case 2:
    232.                                 goto leave;
    233.                 }
    234.         }
    235.         else {
    236.                 if(getequippercentrefinery(.@part) > rand(100) && getequiprefinerycnt(.@part) >= 10) { // 精煉度-3的大約概率 = 精煉成功率 ^ 3
    237.                         failedrefitem2 .@part,3;
    238.                         next;
    239.                         mes "[煉造大師 呼可憐]";
    240.                         mes "唉...";
    241.                         mes "可惡啊!";
    242.                         mes "就差那麼一點點就能成功了說,";
    243.                         mes "不過好在裝備還在。";
    244.                         mes "真是抱歉呀!";
    245.                         close; end;
    246.                 }
    247.                 failedrefitem .@part;
    248.                 next;
    249.                 emotion 32;
    250.                 mes "[煉造大師 呼可憐]";
    251.                 mes "唉...";
    252.                 next;
    253.                 mes "[煉造大師 呼可憐]";
    254.                 mes "真是遺憾...";
    255.                 mes "人生有時就是這樣啊";
    256.                 mes "不要太低落了...";
    257.                 close; end;
    258.         }
    259.         close; end;
    260. L_CLOSE_1:
    261.         mes "[煉造大師 呼可憐]";
    262.         mes "沒有任何可以精煉的裝備!";
    263.         close; end;
    264. leave:
    265.         callfunc("掰掰","[煉造大師 呼可憐]");
    266. OnInit:
    267.         waitingroom "衝裝服務員",0;
    268.         end;        
    269. }
    複製代碼

    評分

    參與人數 1積分 -30 現金 -30 積極性 -30 違規 +1 收起 理由
    goddameit -30 -30 -30 + 1

    查看全部評分

    回復

    使用道具 舉報

  • TA的每日心情
    擦汗
    2014-8-7 11:27 AM
  • 簽到天數: 23 天

    連續簽到: 1 天

    [LV.4]偶爾看看III

    發表於 2014-4-21 12:10:23 | 顯示全部樓層
                    next;*/
    這是怎麼回事
    把*/拿掉
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2017-3-11 12:20 AM
  • 簽到天數: 123 天

    連續簽到: 1 天

    [LV.7]常住居民III

    發表於 2014-4-21 13:24:30 | 顯示全部樓層
    這MAP都會報錯吧
    難道你沒再看?
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-4-25 02:40 AM , Processed in 0.049058 second(s), 22 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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