OK論壇

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

道館和挑戰賽會卡的問題

 關閉 [複製鏈接]
  • TA的每日心情
    開心
    2020-4-25 09:28 PM
  • 簽到天數: 465 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2010-8-30 17:47:14 | 顯示全部樓層 |閱讀模式
    本帖最後由 vgyjm153759 於 2010-8-31 11:39 AM 編輯

    我把陳小修的道館和挑戰賽的腳本改成組隊群體傳送後結果有時後會卡
    道館是卡在不會出怪
    挑戰賽是卡在過關後獎勵NPC不會出現
    那要怎麼辦呢?

    這是道館腳本
    1. function script ModF_Script {

    2. if ( getcharid(1) == 0 ) {
    3. mes "[道館傳送員]";
    4. mes "對不起,您沒有加入任何隊伍!";
    5. mes "無法參加挑戰賽。";
    6. close;
    7. }
    8. if ( BaseLevel < $@ModFBaseLv ) {
    9. mes "[道館傳送員]";
    10. mes "對不起,您的等級不足!";
    11. mes "無法參加挑戰賽。";
    12. mes " ";
    13. mes "等級限制:^FF0000"+$@ModFBaseLv+"^000000 等!";
    14. close;
    15. }
    16. for ( set .@CheckClass,1; .@CheckClass < (getarraysize($@ModFClass)+1); set .@CheckClass,.@CheckClass+1 ) {
    17. if ( class == $@ModFClass[.@CheckClass] ) {
    18. mes "[道館傳送員]";
    19. mes "對不起,^FF0000"+jobname(class)+"^000000無法參加挑戰賽!";
    20. close;
    21. }
    22. }

    23. //====================================================//

    24. mes "[道館傳送員]";
    25. mes "您好,我是道館傳送員。";
    26. mes "請問有需要什麼服務嗎?";
    27. next;
    28. select("我要參加挑戰!");
    29. for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
    30. if ( getmapusers("guild_vs"+@MnF) == 0 ) {
    31. set $@ModFPID[@MnF],0;
    32. }
    33. }
    34. for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
    35. if ( getcharid(1) == $@ModFPID[@MnF] ){
    36. mes "[道館傳送員]";
    37. mes "您是 [^FF0000"+getpartyname(getcharid(1))+"^000000] 的隊員吧!";
    38. mes "參加前須付^FF0000"+$@ModFZenyP+"^000000的參加費唷!";
    39. next;
    40. if (select("報名參加挑戰!","不小心點到!")==2) {
    41. mes "[道館傳送員]";
    42. mes "那您以後別在那麼不小心哩!";
    43. close;
    44. }
    45. if ( $@ModFStart[@MnF] == 1 ) {
    46. mes "[道館傳送員]";
    47. mes "您的隊友已經開始挑戰了,";
    48. mes "請稍後或加入其他隊伍另外報名參加!";
    49. close;
    50. }
    51. if ( zeny < $@ModFZenyP ) {
    52. mes "[道館傳送員]";
    53. mes "對不起,您沒有足夠的金錢!";
    54. close;
    55. }
    56. if ( getmapusers("guild_vs"+@MnF) >= $@ModFPlayer ) {
    57. mes "[道館傳送員]";
    58. mes "隊伍 [^FF0000"+getpartyname(getcharid(1))+"^000000] 參加的人數已滿,";
    59. mes "請稍後或加入其他隊伍另外報名參加!";
    60. close;
    61. }
    62. set zeny,zeny - $@ModFZenyP;
    63. warpparty "guild_vs"+@MnF,49,47,getcharid(1);
    64. end;
    65. }
    66. }

    67. //====================================================//

    68. mes "[道館傳送員]";
    69. mes "您和您的隊伍要報名參加挑戰賽嗎?";
    70. mes "參加前須付^FF0000"+$@ModFZenyC+"^000000的報名費唷!";
    71. next;
    72. if (select("報名參加挑戰!","不小心點到!")==2) {
    73. mes "[道館傳送員]";
    74. mes "那您以後別在那麼不小心哩!";
    75. close;
    76. }
    77. if ( Zeny < $@ModFZenyC ) {
    78. mes "[道館傳送員]";
    79. mes "對不起,您沒有足夠的金錢!";
    80. close;
    81. }
    82. for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
    83. if ( getmapusers("guild_vs"+@MnF) == 0 ) {
    84. enablenpc "道館裁判#"+@MnF;
    85. enablenpc "道館商人#"+@MnF;
    86. killmonsterall "guild_vs"+@MnF;
    87. set Zeny,Zeny - $@ModFZenyC;
    88. set $@ModFStart[@MnF],0;
    89. set $@ModFPID[@MnF],getcharid(1);
    90. set $ModFCID[@MnF],getcharid(0);
    91. set $@GuanShu[@MnF],1;
    92. announce "請 ["+getpartyname($@ModFPID[@MnF])+"] 隊伍的隊員,找 [道館傳送員] !",15;
    93. warpparty "guild_vs"+@MnF,49,47,getcharid(1);
    94. end;
    95. }
    96. }
    97. mes "[道館傳送員]";
    98. mes "所有場地都有隊伍在挑戰中,";
    99. mes "請您稍後再試,謝謝!";
    100. close;
    101. }

    102. //====================================================//

    103. guild_vs1,50,49,4 script 道館裁判#1 758,{ callfunc "ModF_Referee",1; }
    104. guild_vs2,50,49,4 script 道館裁判#2 758,{ callfunc "ModF_Referee",2; }
    105. guild_vs3,50,49,4 script 道館裁判#3 758,{ callfunc "ModF_Referee",3; }
    106. guild_vs4,50,49,4 script 道館裁判#4 758,{ callfunc "ModF_Referee",4; }
    107. guild_vs5,50,49,4 script 道館裁判#5 758,{ callfunc "ModF_Referee",5; }

    108. //====================================================//

    109. function script ModF_Referee {

    110. set @MnF,getarg(0);
    111. mes "[道館裁判]";
    112. if ( $@GuanShu[@MnF] == 0 ) {
    113. mes "因伺服器重新讀取腳本,";
    114. mes "我將把費用全額退給您!";
    115. next;
    116. if ( getcharid(0) == $ModFCID[@MnF] ) {
    117. set zeny,zeny + $@ModFZenyC;
    118. } else {
    119. set zeny,zeny + $@ModFZenyP;
    120. }
    121. warp "SavePoint",0,0;
    122. close;
    123. }
    124. if ( getcharid(0) != $ModFCID[@MnF] ) {
    125. mes "您不是報名參加挑戰賽的人!";
    126. close;
    127. }
    128. mes "您好,我是道館裁判。";
    129. mes "請問有需要為您服務嗎?";
    130. next;
    131. switch(select("開始挑戰!","不小心點到!",($@GuanShu[@MnF] != 1?"":"放棄挑戰!"))) {
    132. case 1:
    133. if ( getmapusers("guild_vs"+@MnF) >= $@ModFPlayer ) {
    134. mes "[道館裁判]";
    135. mes "場地人數超過^FF0000"+$@ModFPlayer+"^000000人,禁止開始!";
    136. close;
    137. }
    138. set $@ModFStart[@MnF],1;
    139. set $@ModFQuantity[@MnF],$@ModFGuanMod[$@GuanShu[@MnF]];
    140. set $@ModFCheck[@MnF],$@ModFQuantity[@MnF];
    141. disablenpc "道館裁判#"+@MnF;
    142. if ( $@ModFOpenShop ) {
    143. disablenpc "道館商人#"+@MnF;
    144. }
    145. doevent "ModF_Mod::OnSummon_ModF";
    146. close;
    147. case 2:
    148. mes "[道館裁判]";
    149. mes "那您以後別在那麼不小心哩!";
    150. close;
    151. case 3:
    152. mes "[道館裁判]";
    153. mes "嗯嗯!好吧我送您出去,";
    154. mes "我只會環您費用^FF00001/2^000000的金錢,";
    155. mes "您確定您還要離開挑戰賽嗎?";
    156. next;
    157. if (select("是的!","不了!")==1) {
    158. if ( getcharid(0) == $ModFCID[@MnF] ) {
    159. set zeny,zeny + ($@ModFZenyC/2);
    160. } else {
    161. set zeny,zeny + ($@ModFZenyP/2);
    162. }
    163. warp "SavePoint",0,0;
    164. }
    165. close;
    166. }
    167. }

    168. //====================================================//

    169. - script ModF_Mod -1,{

    170. OnSummon_ModF:
    171. if ( $@ModFSummon ) {
    172. for ( set .@SummonNun,1; .@SummonNun < ($@ModFCheck[@MnF]+1); set .@SummonNun,.@SummonNun+1 ) {
    173. set $@ModFMod[@MnF],rand(1,$@ModFModIDSize);
    174. set $@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1;
    175. monster "guild_vs"+@MnF,50,50,"--ja--",$@ModFModID[$@ModFMod[@MnF]],1,"ModF_Mod::OnKill_ModF";
    176. announce "道館裁判 : 魔物 ["+getmonsterinfo($@ModFModID[$@ModFMod[@MnF]],MOB_NAME)+"] 已放出!",1;
    177. }
    178. announce "道館裁判 : 魔物已全部放出,挑戰開始!(共"+$@ModFCheck[@MnF]+"隻)",1;
    179. } else {
    180. set $@ModFMod[@MnF],rand(1,$@ModFModIDSize);
    181. set $@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1;
    182. monster "guild_vs"+@MnF,50,50,"--ja--",$@ModFModID[$@ModFMod[@MnF]],1,"ModF_Mod::OnKill_ModF";
    183. announce "道館裁判 : 魔物 ["+getmonsterinfo($@ModFModID[$@ModFMod[@MnF]],MOB_NAME)+"] 已放出,挑戰開始!(剩餘"+$@ModFQuantity[@MnF]+"隻)",1;
    184. }
    185. if ( $@GuanShu[@MnF] == $@ModFGuanSize ) {
    186. announce "道館裁判 : 最後一關挑戰開始,請繼續努力!",1;
    187. }
    188. end;

    189. OnKill_ModF:
    190. if ( $@ModFSummon ) {
    191. set $@ModFCheck[@MnF],$@ModFCheck[@MnF]-1;
    192. if ( $@ModFCheck[@MnF] != 0 ) {
    193. end;
    194. }
    195. } else {
    196. if ( $@ModFQuantity[@MnF] != 0 ) {
    197. addtimer 1000,"ModF_Mod::OnSummon_ModF";
    198. end;
    199. }
    200. }
    201. announce "道館裁判 : 恭喜第 ["+$@GuanShu[@MnF]+"] 關挑戰成功!",17;
    202. if ( $@GuanShu[@MnF] == $@ModFGuanSize ) {
    203. addtimer 5000,"ModF_Mod::OnWarp_ModF";
    204. end;
    205. }
    206. for ( set .@CheckRests,1; .@CheckRests < (getarraysize($@ModFGuanRests)+1); set .@CheckRests,.@CheckRests+1 ) {
    207. if ( $@GuanShu[@MnF] == $@ModFGuanRests[.@CheckRests] ) {
    208. set $@GuanShu[@MnF],$@GuanShu[@MnF] +1;
    209. announce "道館裁判 : 休息時間,請準備好在開始挑戰!",17;
    210. enablenpc "道館裁判#"+@MnF;
    211. if ( $@ModFOpenShop ) {
    212. announce "道館裁判 : 地圖 12 點鐘方向設有 [道具商人] 唷!",17;
    213. enablenpc "道館商人#"+@MnF;
    214. }
    215. end;
    216. }
    217. }
    218. set $@GuanShu[@MnF],$@GuanShu[@MnF] +1;
    219. set $@ModFQuantity[@MnF],$@ModFGuanMod[$@GuanShu[@MnF]];
    220. set $@ModFCheck[@MnF],$@ModFQuantity[@MnF];
    221. addtimer 5000,"ModF_Mod::OnSummon_ModF";
    222. end;

    223. OnWarp_ModF:
    224. announce "道館裁判 : 恭喜隊伍 ["+getpartyname($@ModFPID[@MnF])+"] ,挑戰道館成功!",15;
    225. areawarp "guild_vs"+@MnF,0,0,300,300,"guild_room",42,283;
    226. }
    複製代碼
    回復

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-8 07:56 AM
  • 簽到天數: 68 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2010-8-31 11:00:26 | 顯示全部樓層
    你必須先知道開始出怪有沒有讀取到什麼指令 而且你也沒把部分腳本貼上來只有講的 所以問題可能性很多樣化
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2020-4-25 09:28 PM
  • 簽到天數: 465 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2010-8-31 11:43:04 | 顯示全部樓層
    回復 2# snk99kof


    我把腳本補上去了,因為字數太多,所以我先放道館腳本
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2025-7-4 04:34 PM , Processed in 0.074488 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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