OK論壇

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

誰能給我終極密碼!!!(ea版)(已解決)

 關閉 [複製鏈接]

該用戶從未簽到

發表於 2008-8-9 00:34:31 | 顯示全部樓層 |閱讀模式
我的這版v0.5 在ea不能用!

npc可以出現 點了沒反應...!

幫忙一下!


/*-----------------------------------------
名稱: 終極密碼 v0.5
制作日期: 2008/06/01
制作人: 小古(猴爸)
改版履歷:
v0.5 06/01: 1.【炸彈】開啟中,遇到定例的【密碼】會出錯,修正之
v0.4 05/17: 1.第二活動類型【踩炸彈】獎品自訂化
  2.活動中的顏色分類,比較容易看
  3.增加猜中得獎/炸彈爆炸效果
v0.3 05/14: 1.增加第二活動類型【踩炸彈】
   ☆【密碼】:存活越久者勝,適合大型活動
   ☆【炸彈】:優先猜中者勝,適合定例活動
v0.2 05/11: 1.GM選單強化(增加場地突入、直接進行活動)
  2.腳本除錯(報名未入場,次回無法報名)
  3.腳本註譯
========== 設定說明 ==========
[email=$@Code_State]$@Code_State[/email]  活動狀態(0:關閉 1:報名 2:進行中)
[email=$@Code_Type]$@Code_Type[/email]  活動類型(1:搶頭香 2:淘汰賽)
[email=$@Code_Bom_Prize]$@Code_Bom_Prize[/email][][] 第二活動類型自訂獎品
[email=$@Code_People_Num]$@Code_People_Num[/email] 報名人數
[email=$@Code_People_Temp]$@Code_People_Temp[/email][] 報名人員名單
Get_Code  個人報名狀態(0:未報名 1:完成報名)
@Prize_Name$  暫存活動獎品列表
[email=$@TEMP_P]$@TEMP_P[/email]  暫存猜碼人員
[email=$@TEMP_N]$@TEMP_N[/email]  暫存有獎人數state
[email=$@TEMP_C_MIN]$@TEMP_C_MIN[/email]  暫存密碼最小值
[email=$@TEMP_C_MAX]$@TEMP_C_MAX[/email]  暫存密碼最大值
[email=$@TEMP_CODE]$@TEMP_CODE[/email]  暫存賓果密碼值
-----------------------------------------*/
//=============== 活動地圖設置 ===============
quiz_00.gat mapflag nomemo dummy
quiz_00.gat mapflag noteleport dummy
quiz_00.gat mapflag nosave new_1-2.gat,99,97
quiz_00.gat mapflag nopenalty dummy
quiz_00.gat mapflag noskill,81:78:75:74:45:33:29:30:34:24:25:12:18:21:20:43:44:60:79:80:83:84:85:87:89:90:91:92111113115117119121123125131213:229:230:232:233:254:261:270:285:286:287:288:290:305:306:307:308:309:310:311:312:313:317:320:321:322:325:327:328:329:330:362:380:384:390:395:401:404:405:406:70:334:335:336 dummy
quiz_00.gat mapflag nobranch dummy
//=============== 主城NPC ================
new_1-2.gat,99,97,5 script 阿古 793,{
callfunc "f_Code_Main_NPC",0;
end;
OnInit:
//=============== 終極密碼設置 ===============
// 活動類型(1:搶頭香 2:淘汰賽)
set [email=$@Code_Type,1]$@Code_Type,1[/email];
// 活動名稱
set [email=$@Code_Name$]$@Code_Name$[/email],"密碼";
// 活動費用
set [email=$@Code_Zeny,500000]$@Code_Zeny,500000[/email];
// 最低啟動人數限制
set [email=$@Code_P1,4]$@Code_P1,4[/email];
// 最多進行人數限制
set [email=$@Code_P2,20]$@Code_P2,20[/email];
// 可領取獎品人數(搶頭香)
set [email=$@Code_P3,2]$@Code_P3,2[/email];
// 可領取獎品人數(淘汰賽)
set [email=$@Code_P4,3]$@Code_P4,3[/email];
// 活動獎品列表
setarray [email=$@Code_Prize[1],21001,21002,21003,21004,21005,21006,21007,21008,21009,21010]$@Code_Prize[1],21001,21002,21003,21004,21005,21006,21007,21008,21009,21010[/email];
}
function script f_Code_Main_NPC {
// GM管理選單
if ( 1 <= getgmlevel()) {
mes "[阿古]";
mes "GM管理選單";
switch([email=$@Code_State]$@Code_State[/email]) {
  case 0:
   mes "現在的活動狀態:^ff0000關閉中^000000";
   menu "跳過GM選單",MENU01,
    "現在開啟【終極密碼】",Start_Code,
    "現在開啟【終極炸彈】",Start_Bom,
    "進入活動場地(隱身)",GMIn01,
    "進入活動場地",GMIn02;
   break;
  case 1:
   mes "現在的活動狀態:^ffa500報名中^000000";
   menu "跳過GM選單",MENU01,
    "現在進行【活動】",-,
    "進入活動場地(隱身)",GMIn01,
    "進入活動場地",GMIn02;
   next;
   setnpctimer 595000,"SYS_Code_Join";
   mes "[阿古]";
   mes "【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】五秒後進行";
   close;
  case 2:
   mes "現在的活動狀態:^008000進行中^000000";
   menu "跳過GM選單",MENU01,
    "進入活動場地(隱身)",GMIn01,
    "進入活動場地",GMIn02;
   break;
}
MENU01:
next;
}
// 活動在關閉狀態
if ([email=$@Code_State]$@Code_State[/email] == 0) {
if (Get_Code ==1) {
  mes "[阿古]";
  mes "活動費用退回了,請確認";
  set Zeny,Zeny+$@Code_Zeny;
  set Get_Code,0;
  next;
}
mes "[阿古]";
mes "【終極密碼】的活動時間為:";
mes "^FF6600每天晚上八點^000000 開始,現在還不到時候";
mes "活動獎品有:^FF6600" + @Prize_Name$ + "^000000";
mes "請踴躍參加,謝謝!!";
close;
}
// 活動在進行中狀態
if ([email=$@Code_State]$@Code_State[/email] == 2) {
mes "[阿古]";
mes "【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】已經開始了,請參加下一場次的活動吧";
close;
}
// 活動在報名狀態(報名名單查核)
if ([email=$@Code_State]$@Code_State[/email] == 1 && Get_Code == 1) {
for (set @TEMP,1;@TEMP<[email==$@Code_People_Num+1;set]=$@Code_People_Num+1;set[/email] @TEMP,@TEMP+1){
  if ([email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]] == getcharid(0)) goto Code_Waiting;
}
mes "[阿古]";
mes "您有[報名但未入場記錄]";
mes "前回報名費用退回了,請確認";
set Zeny,Zeny+$@Code_Zeny;
set Get_Code,0;
next;
}
// 活動在報名狀態(報名)
if ([email=$@Code_State]$@Code_State[/email] == 1) {
mes "[阿古]";
mes "【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】規則如下:";
switch([email=$@Code_Type]$@Code_Type[/email]) {
  case 1:
   mes "^FF6600☆ 優先猜中金庫密碼的為勝利者";
   break;
  case 2:
   mes "^FF6600☆ 不踩到炸彈,存活越久的為勝利者";  
   break;
}
mes "☆ " + [email=$@Code_Name$]$@Code_Name$[/email] + "範圍為:1∼人數×100";
mes "☆ 超時未輸入【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】者淘汰^000000";
next;
if ([email=$@Code_People_Num]$@Code_People_Num[/email] != 0) {
  mes "[阿古]";
  mes "目前的報名名單如下:";
  for (set @TEMP,1;@TEMP<[email=$@Code_People_Num+1;set]$@Code_People_Num+1;set[/email] @TEMP,@TEMP+1){
   mes @TEMP + ". ^FF6600" + charid2name([email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]]) + "^000000[" + [email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]] + "]";
  }
  mes "------------------------";
  next;
}
set @Prize_Name$,getitemname([email=$@Code_Prize[1]$@Code_Prize[1[/email]]);
for (set @TEMP,2;@TEMP<getarraysize([email=$@Code_Prize%29;set]$@Code_Prize);set[/email] @TEMP,@TEMP+1){
  set @Prize_Name$,@Prize_Name$ + "、" + getitemname([email=$@Code_Prize[@TEMP]$@Code_Prize[@TEMP[/email]]);
}
mes "【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】開放報名中";
mes "報名費用:^FF6600" + [email=$@Code_Zeny]$@Code_Zeny[/email] + " Zeny^000000";
if ([email=$@Code_Bom_Prize[1][1]$@Code_Bom_Prize[1][1[/email]] != 0 && [email=$@Code_Type]$@Code_Type[/email] == 2){
  mes "活動獎品:^FF6600";
  for (set @TEMP,1;@TEMP<[email==$@Code_P4;set]=$@Code_P4;set[/email] @TEMP,@TEMP+1){
   if ([email=$@Code_Bom_Prize[@TEMP][1]$@Code_Bom_Prize[@TEMP][1[/email]] != 0){
    mes "第" + @TEMP + "名:" + getitemname([email=$@Code_Bom_Prize[@TEMP][1]$@Code_Bom_Prize[@TEMP][1[/email]]) + "[" + [email=$@Code_Bom_Prize[@TEMP][2]$@Code_Bom_Prize[@TEMP][2[/email]] + "個]";
   }
  }
}else{
  mes "活動獎品有:^FF6600" + @Prize_Name$ + "^000000";
}
mes "^FF0000報名前,請詳讀規則,以免權益受損^000000";
mes "你想要參加嗎??";
next;
menu "我要參加",-,
  "我不想要參加",EXIT;
if (Zeny < [email=$@Code_Zeny]$@Code_Zeny[/email]) goto NO_ZENY;
if ([email=$@Code_People_Num]$@Code_People_Num[/email] >= [email=$@Code_P2]$@Code_P2[/email]) {
  mes "[阿古]";
  mes "抱歉,現在活動人數已滿";
  mes "(最多" + [email=$@Code_P2]$@Code_P2[/email] + "人進行【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】)";
  mes "請參加下一場次的活動吧";
  close;
}
set Get_Code,1;
set [email=$@Code_People_Num,$@Code_People_Num+1]$@Code_People_Num,$@Code_People_Num+1[/email];
setarray [email=$@Code_People_Temp[$@Code_People_Num],getcharid(0]$@Code_People_Temp[$@Code_People_Num],getcharid(0[/email]);
set Zeny,Zeny-$@Code_Zeny;
goto Code_Waiting;
close;
}
NO_ZENY:
mes "[阿古]";
mes "你的金錢不足,不能參加哦!!";
close;
Code_Waiting:
mes "[阿古]";
mes "你已經報名了,請等待活動開始";
mes "^FF6600時間到,會自動傳送入場!!^000000";
mes "目前的報名名單如下:";
for (set @TEMP,1;@TEMP<[email=$@Code_People_Num+1;set]$@Code_People_Num+1;set[/email] @TEMP,@TEMP+1){
  mes @TEMP + ". ^FF6600" + charid2name([email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]]) + "^000000[" + [email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]] + "]";
}
mes "------------------------";
close;
EXIT:
mes "[阿古]";
mes "想要參加時,再來找我吧";
close;
// 開啟【終極密碼】
Start_Code:
next;
set [email=$@Code_Type,1]$@Code_Type,1[/email];
set [email=$@Code_Name$]$@Code_Name$[/email],"密碼";
initnpctimer "SYS_Code_Join";
waitingroom "*【終極密碼】*",0;
mes "[阿古]";
mes "已開啟【終極密碼】";
goto MENU01;
// 開啟【終極炸彈】
Start_Bom:
next;
// 【終極炸彈】自訂獎品
for (set @TEMP,1;@TEMP<[email==$@Code_P4;set]=$@Code_P4;set[/email] @TEMP,@TEMP+1){
Bom_Prize_Name:
  mes "[阿古]";
  mes "^FF6600請設置活動獎品、數量";
  mes "若設置錯誤,活動將不開啟^000000";
  if (@TEMP == 1) {
   mes "輸入^FF0000[9]^000000,取消自訂獎品";
  }else{
   mes "輸入^FF0000[9]^000000,終止自訂獎品^000000";
  }
  mes "最多設置到第" + [email=$@Code_P4]$@Code_P4[/email] + "名獎品";
  mes "請輸入^FF0000第" + @TEMP + "名^000000獎品";
  next;
  input @temp1;
  if (@temp1 == 9 && @TEMP == 1) {
   for (set @TEMP0,1;@TEMP0<[email==$@Code_P4;set]=$@Code_P4;set[/email] @TEMP0,@TEMP0+1){
    deletearray [email=$@Code_Bom_Prize[@TEMP0][1],2]$@Code_Bom_Prize[@TEMP0][1],2[/email];
   }
   goto Bom_menu;
  }else if (@temp1 == 9){
   goto Bom_menu;
  }
  if (getitemname(@temp1) == ""){
   mes "^FF0000沒有這個物品,請重新輸入^000000";
   next;
   goto Bom_Prize_Name;
  }
Bom_Prize_Num:
  next;
  mes "請輸入數量";
  input @temp2;
  if (@temp2 == 0){
   mes "^FF0000數量不可低於0,請重新輸入^000000";
   goto Bom_Prize_Num;
  }
  next;
  setarray [email=$@Code_Bom_Prize[@TEMP][1],@temp1,@temp2]$@Code_Bom_Prize[@TEMP][1],@temp1,@temp2[/email];
}
Bom_menu:
if ([email=$@Code_Bom_Prize[1][1]$@Code_Bom_Prize[1][1[/email]] != 0){
  mes "[阿古]";
  mes "您設置的活動獎品、數量:^FF6600";
  for (set @TEMP,1;@TEMP<[email==$@Code_P4;set]=$@Code_P4;set[/email] @TEMP,@TEMP+1){
   if ([email=$@Code_Bom_Prize[@TEMP][1]$@Code_Bom_Prize[@TEMP][1[/email]] != 0){
    mes "第" + @TEMP + "名:" + getitemname([email=$@Code_Bom_Prize[@TEMP][1]$@Code_Bom_Prize[@TEMP][1[/email]]) + "[" + [email=$@Code_Bom_Prize[@TEMP][2]$@Code_Bom_Prize[@TEMP][2[/email]] + "個]";
   }
  }
  mes "^000000------------------------";
  mes "是否正確??";
  menu "正確",-,
   "返回修改",Start_Bom;
  next;
}
set [email=$@Code_Type,2]$@Code_Type,2[/email];
set [email=$@Code_Name$]$@Code_Name$[/email],"炸彈";
initnpctimer "SYS_Code_Join";
waitingroom "*【終極炸彈】*",0;
mes "[阿古]";
mes "已開啟【終極炸彈】";
sleep2(1000);
goto MENU01;
// GM活動場地突入
GMIn01:
setoption(64);
GMIn02:
warp "quiz_00.gat",10,116;
end;
// 每天固定場次【終極密碼】,修改/增加OnClockHHMM,即可調整活動時間/場次
OnClock1000:
OnClock2000:
if ([email=$@Code_State]$@Code_State[/email] != 0) end;
set [email=$@Code_Type,1]$@Code_Type,1[/email];
set [email=$@Code_Name$]$@Code_Name$[/email],"密碼";
initnpctimer "SYS_Code_Join";
end;
}
//=============== 報 名 ===============
new_1-2.gat,99,97,5 script SYS_Code_Join -1,{
// 活動報名廣播
OnTimer1000:
disablenpc "主持人 阿古";
deletearray [email=$@Code_People_Temp,$@Code_P2+1]$@Code_People_Temp,$@Code_P2+1[/email];
set [email=$@Code_People_Num,0]$@Code_People_Num,0[/email];
set [email=$@Code_State,1]$@Code_State,1[/email];
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】還有10分鐘就要開始,要參加的請找【阿古】NPC報名!!",15;
end;
OnTimer300000:
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】還有5分鐘就要開始,要參加的請找【阿古】NPC報名!!",15;
end;
OnTimer420000:
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】還有3分鐘就要開始,要參加的請找【阿古】NPC報名!!",15;
end;
OnTimer600000:
// 報名名單查核 離線者刪除
for (set 'TEMP,1;'TEMP<[email==$@Code_People_Num;set]=$@Code_People_Num;set[/email] 'TEMP,'TEMP+1){
Check_Code1:
  if (charid2name([email=$@Code_People_Temp[]$@Code_People_Temp['TEMP[/email]]) == "") {
   set [email=$@Code_People_Num,$@Code_People_Num-1]$@Code_People_Num,$@Code_People_Num-1[/email];
   deletearray [email=$@Code_People_Temp[]$@Code_People_Temp['TEMP],1[/email];
   goto Check_Code1;
  }
}
if ([email=$@Code_People_Num]$@Code_People_Num[/email] == 0) goto No_people;
if ([email=$@Code_People_Num]$@Code_People_Num[/email] < [email=$@Code_P1]$@Code_P1[/email]) goto LESS_PEOPLE;
enablenpc "主持人 阿古";
// 自動傳送入場
for (set 'TEMP,1;'TEMP<[email==$@Code_People_Num+1;set]=$@Code_People_Num+1;set[/email] 'TEMP,'TEMP+1){
  warp "quiz_00.gat",10,116,$@Code_People_Temp['TEMP];
  set Get_Code,0,$@Code_People_Temp['TEMP];
  sleep2(100);
}
set [email=$@Code_State,2]$@Code_State,2[/email];
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】參加人數" + [email=$@Code_People_Num]$@Code_People_Num[/email] + "人,現在開始!!",15;
  for (set 'TEMP,1;'TEMP<[email=$@Code_People_Num+1;set]$@Code_People_Num+1;set[/email] 'TEMP,'TEMP+1){
   announce 'TEMP + ". " + charid2name([email=$@Code_People_Temp[]$@Code_People_Temp['TEMP[/email]]) + "[" + [email=$@Code_People_Temp[]$@Code_People_Temp['TEMP[/email]] + "]",15;
  }
  announce "------------------------",15;
sleep2(500);
initnpctimer "SYS_Code_Index";
goto SYS_EndTime;
LESS_PEOPLE:
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】報名人數:" + [email=$@Code_People_Num]$@Code_People_Num[/email] + "人 (報名且在線人數)!!",15;
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】人數低於" + [email=$@Code_P1]$@Code_P1[/email] + "人參加,本回活動取消!!",15;
announce "[活動公告]:有報名的,請找我領回報名費用",15;
goto SYS_EndTimer;
No_people:
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】無人參加,本回活動取消!!",15;
SYS_EndTimer:
set [email=$@Code_State,0]$@Code_State,0[/email];
SYS_EndTime:
stopnpctimer;
setnpctimer 0,"SYS_Code_Join";
delwaitingroom "阿古";
end;
}
//=============== 活動規則說明 ===============
quiz_00.gat,11,116,5 script SYS_Code_Index -1,{
OnTimer500:
MapAnnounce "quiz_00.gat","【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】開始前,請先詳讀規則:",17,"0xff0000";
switch([email=$@Code_Type]$@Code_Type[/email]) {
  case 1:
   MapAnnounce "quiz_00.gat","☆ 優先猜中金庫密碼的為勝利者",17,"0xff0000";
   break;
  case 2:
   MapAnnounce "quiz_00.gat","☆ 不踩到炸彈,存活越久的為勝利者",17,"0xff0000";
   break;
}
MapAnnounce "quiz_00.gat","☆ 密碼範圍為:1∼人數×200",17,"0xff0000";
MapAnnounce "quiz_00.gat","☆ 超時未輸入【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】者淘汰",17,"0xff0000";
MapAnnounce "quiz_00.gat","☆ 再給各位20秒準備,【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】即將開始。",17,"0xff0000";
end;
OnTimer20500:
// 暫存變數初始化
set [email=$@TEMP_P,1]$@TEMP_P,1[/email];
switch([email=$@Code_Type]$@Code_Type[/email]) {
  case 1:
   set [email=$@TEMP_N,$@Code_P3]$@TEMP_N,$@Code_P3[/email];
   break;
  case 2:
   set [email=$@TEMP_N,$@Code_P4]$@TEMP_N,$@Code_P4[/email];
   for (set 'TEMP,1;'TEMP<[email==$@Code_P4;set]=$@Code_P4;set[/email] 'TEMP,'TEMP+1){
    if ([email=$@Code_Bom_Prize[]$@Code_Bom_Prize['TEMP][1[/email]] == 0){
     set [email=$@TEMP_N,$@TEMP_N-1]$@TEMP_N,$@TEMP_N-1[/email];
    }
   }
   break;
}
set [email=$@TEMP_C_MIN,1]$@TEMP_C_MIN,1[/email];
set [email=$@TEMP_C_MAX,%28%28getarraysize%28$@Code_People_Temp%29-1%29*200]$@TEMP_C_MAX,((getarraysize($@Code_People_Temp)-1)*200[/email]);
set [email=$@TEMP_CODE,rand%282,%28%28%28getarraysize%28$@Code_People_Temp%29-1%29*200%29-1]$@TEMP_CODE,rand(2,(((getarraysize($@Code_People_Temp)-1)*200)-1[/email]));
initnpctimer "主持人 阿古";
stopnpctimer;
setnpctimer 0,"SYS_Code_Index";
end;
}
//=============== 【終極密碼】 ===============
quiz_00.gat,16,116,5 script 主持人 阿古 793,{
if (getcharid(0) == [email=$@Code_People_Temp[$@TEMP_P]$@Code_People_Temp[$@TEMP_P[/email]]){
// 測試階段GM除錯用(報名名單列表)
// if ( 1 <= getgmlevel() ) {
//  mes "[阿古]";
//  mes "目前的報名名單如下:";
//  for (set @TEMP,1;@TEMP<[email=$@Code_People_Num+1;set]$@Code_People_Num+1;set[/email] @TEMP,@TEMP+1){
//   mes @TEMP + ". ^FF6600" + charid2name([email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]]) + "^000000[" + [email=$@Code_People_Temp[@TEMP]$@Code_People_Temp[@TEMP[/email]] + "]";
//  }
// }
MapAnnounce "quiz_00.gat","目前進行【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】人數:" + [email=$@Code_People_Num]$@Code_People_Num[/email] + "人",17;
MapAnnounce "quiz_00.gat",strcharinfo(0) + ",請於時限內輸入:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】",17;
input @temp;
// 猜中的處理
if (@temp == [email=$@TEMP_CODE]$@TEMP_CODE[/email]){
  switch([email=$@Code_Type]$@Code_Type[/email]) {
  // 【終極密碼】猜中的處理
   case 1:
    MapAnnounce "quiz_00.gat",strcharinfo(0) + ",恭喜你,【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】被你猜中囉",17,"0x008000";
    gmcommand "@misceffect 343",getcharid(0);
    announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】的第[" + ([email=$@Code_P3-$@TEMP_N+1]$@Code_P3-$@TEMP_N+1[/email]) + "]名:[ " + strcharinfo(0) + " ],恭喜你啦!!",15;
    for (set @Prize,1;@Prize<[email==$@TEMP_N;set]=$@TEMP_N;set[/email] @Prize,@Prize+1){
     set @i,rand(1,(getarraysize([email=$@Code_Prize%29-1]$@Code_Prize)-1[/email]));
     getitem [email=$@Code_Prize[@i],1]$@Code_Prize[@i],1[/email];
     announce "[活動公告]:恭喜 " + strcharinfo(0) + " 領到獎品 [" + getitemname([email=$@Code_Prize[@i]$@Code_Prize[@i[/email]]) + "]",15;
    }
    break;
  // 【終極炸彈】猜中的處理
   case 2:
    if ([email=$@TEMP_N]$@TEMP_N[/email] < [email=$@Code_People_Num]$@Code_People_Num[/email]){
     MapAnnounce "quiz_00.gat",strcharinfo(0) + ",【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】被你踩到了爆炸了",17,"0xff0000";
     gmcommand "@misceffect 17",getcharid(0);
    }
    if ([email=$@TEMP_N]$@TEMP_N[/email] >= [email=$@Code_People_Num]$@Code_People_Num[/email]){
     MapAnnounce "quiz_00.gat",strcharinfo(0) + ",恭喜你,在【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】存活下來,成為[第" + [email=$@TEMP_N]$@TEMP_N[/email] + "名]",17,"0x008000";
     gmcommand "@misceffect 343",getcharid(0);
     announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】的第[" + [email=$@TEMP_N]$@TEMP_N[/email] + "]名:[ " + strcharinfo(0) + " ],恭喜你啦!!",15;
  // 【終極炸彈】獎品處理(未測試)
     if ([email=$@Code_Bom_Prize[$@TEMP_N][1]$@Code_Bom_Prize[$@TEMP_N][1[/email]] != 0){
      getitem [email=$@Code_Bom_Prize[$@TEMP_N][1],$@Code_Bom_Prize[$@TEMP_N][2]$@Code_Bom_Prize[$@TEMP_N][1],$@Code_Bom_Prize[$@TEMP_N][2[/email]];
      announce "[活動公告]:恭喜 " + strcharinfo(0) + " 領到獎品 [" + getitemname([email=$@Code_Prize[@i]$@Code_Prize[@i[/email]]) + "]",15;
     }else{
      for (set @Prize,1;@Prize<[email==$@TEMP_N;set]=$@TEMP_N;set[/email] @Prize,@Prize+1){
       set @i,rand(1,(getarraysize([email=$@Code_Prize%29-1]$@Code_Prize)-1[/email]));
       getitem [email=$@Code_Prize[@i],1]$@Code_Prize[@i],1[/email];
       announce "[活動公告]:恭喜 " + strcharinfo(0) + " 領到獎品 [" + getitemname([email=$@Code_Prize[@i]$@Code_Prize[@i[/email]]) + "]",15;
      }
     }
    }
    break;
  }
  set [email=$@Code_People_Num,$@Code_People_Num-1]$@Code_People_Num,$@Code_People_Num-1[/email];
  deletearray [email=$@Code_People_Temp[$@TEMP_P],1]$@Code_People_Temp[$@TEMP_P],1[/email];
  set [email=$@TEMP_N,$@TEMP_N-1]$@TEMP_N,$@TEMP_N-1[/email];
  set Get_Code,0;
  set [email=$@TEMP_C_MIN,1]$@TEMP_C_MIN,1[/email];
  set [email=$@TEMP_C_MAX,%28%28getarraysize%28$@Code_People_Temp%29-1%29*200]$@TEMP_C_MAX,((getarraysize($@Code_People_Temp)-1)*200[/email]);
  set [email=$@TEMP_CODE,rand%282,%28%28%28getarraysize%28$@Code_People_Temp%29-1%29*200%29-1]$@TEMP_CODE,rand(2,(((getarraysize($@Code_People_Temp)-1)*200)-1[/email]));
  setnpctimer 0,"主持人 阿古";
  sleep2(3000);
  warp "new_1-2.gat",99,97;
  close;
}
// 沒猜中的處理
if (@temp > [email=$@TEMP_C_MIN]$@TEMP_C_MIN[/email] && @temp < [email=$@TEMP_C_MAX]$@TEMP_C_MAX[/email]){
  switch([email=$@Code_Type]$@Code_Type[/email]) {
   case 1:
    MapAnnounce "quiz_00.gat",strcharinfo(0) + ",可惜,並沒有猜中密碼!!",17,"0xffff00";
    break;
   case 2:
    MapAnnounce "quiz_00.gat",strcharinfo(0) + ",好險,沒有踩到炸彈!!",17,"0xffff00";
    break;
  }
  if (@temp > [email=$@TEMP_CODE]$@TEMP_CODE[/email]) set [email=$@TEMP_C_MAX,@temp]$@TEMP_C_MAX,@temp[/email];
  if (@temp < [email=$@TEMP_CODE]$@TEMP_CODE[/email]) set [email=$@TEMP_C_MIN,@temp]$@TEMP_C_MIN,@temp[/email];
  set [email=$@TEMP_P,$@TEMP_P+1]$@TEMP_P,$@TEMP_P+1[/email];
  setnpctimer 0,"主持人 阿古";
  close;
}
// 猜錯(超過範圍)的處理
if (@temp <= [email=$@TEMP_C_MIN]$@TEMP_C_MIN[/email] || @temp >= [email=$@TEMP_C_MAX]$@TEMP_C_MAX[/email]){
  MapAnnounce "quiz_00.gat",strcharinfo(0) + ",請輸入範圍內的數字,別亂猜",17,"0xff0000";
  close;
}
}
mes strcharinfo(0) + ",還沒輪到你,別亂點!!";
close;
OnTimer10:
waitingroom "*活動主持人*",0;
if ([email=$@TEMP_N]$@TEMP_N[/email] == 0) goto End_Code_Warp;
Check_Code:
if ([email=$@Code_People_Num]$@Code_People_Num[/email] == 0) goto End_Code;
if ([email=$@Code_People_Temp[$@TEMP_P]$@Code_People_Temp[$@TEMP_P[/email]] != 0){
  if (charid2name([email=$@Code_People_Temp[$@TEMP_P]$@Code_People_Temp[$@TEMP_P[/email]]) == "") {
   set [email=$@Code_People_Num,$@Code_People_Num-1]$@Code_People_Num,$@Code_People_Num-1[/email];
   deletearray [email=$@Code_People_Temp[$@TEMP_P],1]$@Code_People_Temp[$@TEMP_P],1[/email];
   goto Check_Code;
  }
}
if ([email=$@Code_People_Temp[$@TEMP_P]$@Code_People_Temp[$@TEMP_P[/email]] == 0){
  set [email=$@TEMP_P,1]$@TEMP_P,1[/email];
}
MapAnnounce "quiz_00.gat","【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】:[剩下 " + [email=$@Code_People_Num]$@Code_People_Num[/email] + " 人]",17;
MapAnnounce "quiz_00.gat","【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】:" + [email=$@TEMP_C_MIN]$@TEMP_C_MIN[/email] + " ∼ " + [email=$@TEMP_C_MAX,17]$@TEMP_C_MAX,17[/email];
MapAnnounce "quiz_00.gat","請[ " + charid2name([email=$@Code_People_Temp[$@TEMP_P]$@Code_People_Temp[$@TEMP_P[/email]]) + " ],於30秒內,點我輸入【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】",17;
end;
// 太久沒猜的處理(淘汰)
OnTimer30000:
MapAnnounce "quiz_00.gat","[ " + charid2name([email=$@Code_People_Temp[$@TEMP_P]$@Code_People_Temp[$@TEMP_P[/email]]) + " ],超時未輸入【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】,取消資格",17;
warp "new_1-2.gat",99,97,$@Code_People_Temp[$@TEMP_P];
deletearray [email=$@Code_People_Temp[$@TEMP_P],1]$@Code_People_Temp[$@TEMP_P],1[/email];
set [email=$@Code_People_Num,$@Code_People_Num-1]$@Code_People_Num,$@Code_People_Num-1[/email];
end;
OnTimer33000:
setnpctimer 0,"主持人 阿古";
end;
// 活動結束 自動傳送回主城
End_Code_Warp:
if ([email=$@Code_People_Num]$@Code_People_Num[/email] == 0) goto End_Code;
for (set 'TEMP,1;'TEMP<[email==$@Code_People_Num;set]=$@Code_People_Num;set[/email] 'TEMP,'TEMP+1){
  warp "new_1-2.gat",99,97,$@Code_People_Temp['TEMP];
  sleep2(100);
}
End_Code:
disablenpc "主持人 阿古";
announce "[活動公告]:【終極" + [email=$@Code_Name$]$@Code_Name$[/email] + "】本回結束了,謝謝各位的參與",15;
stopnpctimer;
setnpctimer 0,"主持人 阿古";
set [email=$@TEMP_P,0]$@TEMP_P,0[/email];
set [email=$@Code_State,0]$@Code_State,0[/email];
end;
OnInit:
disablenpc "主持人 阿古";
}

[ 本帖最後由 可羅王 於 2008-8-13 07:58 PM 編輯 ]
  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2008-8-9 02:04:04 | 顯示全部樓層
    我 只 看 到 亂 碼
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

    發表於 2008-8-13 18:18:44 | 顯示全部樓層
    終極密碼0.6EA版在分享區已經發佈囉!!

    不過需要200積分喔@@~
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2024-5-7 06:53 AM , Processed in 0.060557 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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