UID137438
帖子
精華
主題
積分869
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限10
註冊時間2009-3-9
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 開心 2020-4-25 09:28 PM |
---|
簽到天數: 465 天 連續簽到: 1 天 [LV.9]以壇為家II
|
本帖最後由 vgyjm153759 於 2010-8-31 11:39 AM 編輯
我把陳小修的道館和挑戰賽的腳本改成組隊群體傳送後結果有時後會卡
道館是卡在不會出怪
挑戰賽是卡在過關後獎勵NPC不會出現
那要怎麼辦呢?
這是道館腳本- function script ModF_Script {
- if ( getcharid(1) == 0 ) {
- mes "[道館傳送員]";
- mes "對不起,您沒有加入任何隊伍!";
- mes "無法參加挑戰賽。";
- close;
- }
- if ( BaseLevel < $@ModFBaseLv ) {
- mes "[道館傳送員]";
- mes "對不起,您的等級不足!";
- mes "無法參加挑戰賽。";
- mes " ";
- mes "等級限制:^FF0000"+$@ModFBaseLv+"^000000 等!";
- close;
- }
- for ( set .@CheckClass,1; .@CheckClass < (getarraysize($@ModFClass)+1); set .@CheckClass,.@CheckClass+1 ) {
- if ( class == $@ModFClass[.@CheckClass] ) {
- mes "[道館傳送員]";
- mes "對不起,^FF0000"+jobname(class)+"^000000無法參加挑戰賽!";
- close;
- }
- }
- //====================================================//
- mes "[道館傳送員]";
- mes "您好,我是道館傳送員。";
- mes "請問有需要什麼服務嗎?";
- next;
- select("我要參加挑戰!");
- for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
- if ( getmapusers("guild_vs"+@MnF) == 0 ) {
- set $@ModFPID[@MnF],0;
- }
- }
- for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
- if ( getcharid(1) == $@ModFPID[@MnF] ){
- mes "[道館傳送員]";
- mes "您是 [^FF0000"+getpartyname(getcharid(1))+"^000000] 的隊員吧!";
- mes "參加前須付^FF0000"+$@ModFZenyP+"^000000的參加費唷!";
- next;
- if (select("報名參加挑戰!","不小心點到!")==2) {
- mes "[道館傳送員]";
- mes "那您以後別在那麼不小心哩!";
- close;
- }
- if ( $@ModFStart[@MnF] == 1 ) {
- mes "[道館傳送員]";
- mes "您的隊友已經開始挑戰了,";
- mes "請稍後或加入其他隊伍另外報名參加!";
- close;
- }
- if ( zeny < $@ModFZenyP ) {
- mes "[道館傳送員]";
- mes "對不起,您沒有足夠的金錢!";
- close;
- }
- if ( getmapusers("guild_vs"+@MnF) >= $@ModFPlayer ) {
- mes "[道館傳送員]";
- mes "隊伍 [^FF0000"+getpartyname(getcharid(1))+"^000000] 參加的人數已滿,";
- mes "請稍後或加入其他隊伍另外報名參加!";
- close;
- }
- set zeny,zeny - $@ModFZenyP;
- warpparty "guild_vs"+@MnF,49,47,getcharid(1);
- end;
- }
- }
- //====================================================//
- mes "[道館傳送員]";
- mes "您和您的隊伍要報名參加挑戰賽嗎?";
- mes "參加前須付^FF0000"+$@ModFZenyC+"^000000的報名費唷!";
- next;
- if (select("報名參加挑戰!","不小心點到!")==2) {
- mes "[道館傳送員]";
- mes "那您以後別在那麼不小心哩!";
- close;
- }
- if ( Zeny < $@ModFZenyC ) {
- mes "[道館傳送員]";
- mes "對不起,您沒有足夠的金錢!";
- close;
- }
- for ( set @MnF,1; @MnF <= 5; set @MnF,@MnF+1 ) {
- if ( getmapusers("guild_vs"+@MnF) == 0 ) {
- enablenpc "道館裁判#"+@MnF;
- enablenpc "道館商人#"+@MnF;
- killmonsterall "guild_vs"+@MnF;
- set Zeny,Zeny - $@ModFZenyC;
- set $@ModFStart[@MnF],0;
- set $@ModFPID[@MnF],getcharid(1);
- set $ModFCID[@MnF],getcharid(0);
- set $@GuanShu[@MnF],1;
- announce "請 ["+getpartyname($@ModFPID[@MnF])+"] 隊伍的隊員,找 [道館傳送員] !",15;
- warpparty "guild_vs"+@MnF,49,47,getcharid(1);
- end;
- }
- }
- mes "[道館傳送員]";
- mes "所有場地都有隊伍在挑戰中,";
- mes "請您稍後再試,謝謝!";
- close;
- }
- //====================================================//
- guild_vs1,50,49,4 script 道館裁判#1 758,{ callfunc "ModF_Referee",1; }
- guild_vs2,50,49,4 script 道館裁判#2 758,{ callfunc "ModF_Referee",2; }
- guild_vs3,50,49,4 script 道館裁判#3 758,{ callfunc "ModF_Referee",3; }
- guild_vs4,50,49,4 script 道館裁判#4 758,{ callfunc "ModF_Referee",4; }
- guild_vs5,50,49,4 script 道館裁判#5 758,{ callfunc "ModF_Referee",5; }
- //====================================================//
- function script ModF_Referee {
- set @MnF,getarg(0);
- mes "[道館裁判]";
- if ( $@GuanShu[@MnF] == 0 ) {
- mes "因伺服器重新讀取腳本,";
- mes "我將把費用全額退給您!";
- next;
- if ( getcharid(0) == $ModFCID[@MnF] ) {
- set zeny,zeny + $@ModFZenyC;
- } else {
- set zeny,zeny + $@ModFZenyP;
- }
- warp "SavePoint",0,0;
- close;
- }
- if ( getcharid(0) != $ModFCID[@MnF] ) {
- mes "您不是報名參加挑戰賽的人!";
- close;
- }
- mes "您好,我是道館裁判。";
- mes "請問有需要為您服務嗎?";
- next;
- switch(select("開始挑戰!","不小心點到!",($@GuanShu[@MnF] != 1?"":"放棄挑戰!"))) {
- case 1:
- if ( getmapusers("guild_vs"+@MnF) >= $@ModFPlayer ) {
- mes "[道館裁判]";
- mes "場地人數超過^FF0000"+$@ModFPlayer+"^000000人,禁止開始!";
- close;
- }
- set $@ModFStart[@MnF],1;
- set $@ModFQuantity[@MnF],$@ModFGuanMod[$@GuanShu[@MnF]];
- set $@ModFCheck[@MnF],$@ModFQuantity[@MnF];
- disablenpc "道館裁判#"+@MnF;
- if ( $@ModFOpenShop ) {
- disablenpc "道館商人#"+@MnF;
- }
- doevent "ModF_Mod::OnSummon_ModF";
- close;
- case 2:
- mes "[道館裁判]";
- mes "那您以後別在那麼不小心哩!";
- close;
- case 3:
- mes "[道館裁判]";
- mes "嗯嗯!好吧我送您出去,";
- mes "我只會環您費用^FF00001/2^000000的金錢,";
- mes "您確定您還要離開挑戰賽嗎?";
- next;
- if (select("是的!","不了!")==1) {
- if ( getcharid(0) == $ModFCID[@MnF] ) {
- set zeny,zeny + ($@ModFZenyC/2);
- } else {
- set zeny,zeny + ($@ModFZenyP/2);
- }
- warp "SavePoint",0,0;
- }
- close;
- }
- }
- //====================================================//
- - script ModF_Mod -1,{
- OnSummon_ModF:
- if ( $@ModFSummon ) {
- for ( set .@SummonNun,1; .@SummonNun < ($@ModFCheck[@MnF]+1); set .@SummonNun,.@SummonNun+1 ) {
- set $@ModFMod[@MnF],rand(1,$@ModFModIDSize);
- set $@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1;
- monster "guild_vs"+@MnF,50,50,"--ja--",$@ModFModID[$@ModFMod[@MnF]],1,"ModF_Mod::OnKill_ModF";
- announce "道館裁判 : 魔物 ["+getmonsterinfo($@ModFModID[$@ModFMod[@MnF]],MOB_NAME)+"] 已放出!",1;
- }
- announce "道館裁判 : 魔物已全部放出,挑戰開始!(共"+$@ModFCheck[@MnF]+"隻)",1;
- } else {
- set $@ModFMod[@MnF],rand(1,$@ModFModIDSize);
- set $@ModFQuantity[@MnF],$@ModFQuantity[@MnF]-1;
- monster "guild_vs"+@MnF,50,50,"--ja--",$@ModFModID[$@ModFMod[@MnF]],1,"ModF_Mod::OnKill_ModF";
- announce "道館裁判 : 魔物 ["+getmonsterinfo($@ModFModID[$@ModFMod[@MnF]],MOB_NAME)+"] 已放出,挑戰開始!(剩餘"+$@ModFQuantity[@MnF]+"隻)",1;
- }
- if ( $@GuanShu[@MnF] == $@ModFGuanSize ) {
- announce "道館裁判 : 最後一關挑戰開始,請繼續努力!",1;
- }
- end;
- OnKill_ModF:
- if ( $@ModFSummon ) {
- set $@ModFCheck[@MnF],$@ModFCheck[@MnF]-1;
- if ( $@ModFCheck[@MnF] != 0 ) {
- end;
- }
- } else {
- if ( $@ModFQuantity[@MnF] != 0 ) {
- addtimer 1000,"ModF_Mod::OnSummon_ModF";
- end;
- }
- }
- announce "道館裁判 : 恭喜第 ["+$@GuanShu[@MnF]+"] 關挑戰成功!",17;
- if ( $@GuanShu[@MnF] == $@ModFGuanSize ) {
- addtimer 5000,"ModF_Mod::OnWarp_ModF";
- end;
- }
- for ( set .@CheckRests,1; .@CheckRests < (getarraysize($@ModFGuanRests)+1); set .@CheckRests,.@CheckRests+1 ) {
- if ( $@GuanShu[@MnF] == $@ModFGuanRests[.@CheckRests] ) {
- set $@GuanShu[@MnF],$@GuanShu[@MnF] +1;
- announce "道館裁判 : 休息時間,請準備好在開始挑戰!",17;
- enablenpc "道館裁判#"+@MnF;
- if ( $@ModFOpenShop ) {
- announce "道館裁判 : 地圖 12 點鐘方向設有 [道具商人] 唷!",17;
- enablenpc "道館商人#"+@MnF;
- }
- end;
- }
- }
- set $@GuanShu[@MnF],$@GuanShu[@MnF] +1;
- set $@ModFQuantity[@MnF],$@ModFGuanMod[$@GuanShu[@MnF]];
- set $@ModFCheck[@MnF],$@ModFQuantity[@MnF];
- addtimer 5000,"ModF_Mod::OnSummon_ModF";
- end;
- OnWarp_ModF:
- announce "道館裁判 : 恭喜隊伍 ["+getpartyname($@ModFPID[@MnF])+"] ,挑戰道館成功!",15;
- areawarp "guild_vs"+@MnF,0,0,300,300,"guild_room",42,283;
- }
複製代碼 |
|