· 7 years ago · Nov 30, 2018, 02:08 PM
1/*
2
3SET FOREIGN_KEY_CHECKS=0;
4
5-- ----------------------------
6-- Table structure for idb_partylist
7-- ----------------------------
8DROP TABLE IF EXISTS `idb_partylist`;
9CREATE TABLE `idb_partylist` (
10 `id` int(32) NOT NULL AUTO_INCREMENT,
11 `timer` int(32) DEFAULT NULL,
12 `partyname` varchar(255) DEFAULT NULL,
13 `partylader` varchar(255) DEFAULT NULL,
14 `partymember1` varchar(255) DEFAULT NULL,
15 `partymember2` varchar(255) DEFAULT NULL,
16 `partymember3` varchar(255) DEFAULT NULL,
17 `partymember4` varchar(255) DEFAULT NULL,
18 `partymember5` varchar(255) DEFAULT NULL,
19 `partymember6` varchar(255) DEFAULT NULL,
20 `partymember7` varchar(255) DEFAULT NULL,
21 `partymember8` varchar(255) DEFAULT NULL,
22 `partymember9` varchar(255) DEFAULT NULL,
23 `partymember10` varchar(255) DEFAULT NULL,
24 `partymember11` varchar(255) DEFAULT NULL,
25 `partymember12` varchar(255) DEFAULT NULL,
26 PRIMARY KEY (`id`)
27) ENGINE=InnoDB DEFAULT CHARSET=latin1;
28
29//資料庫 (è½é¢¨ 2018-11-27)
30CHARSET=latin1 <-請註æ„
31å¦‚æžœä½ çš„è³‡æ–™åº«èªžè¨€æ˜¯big5,請把latin1改æˆbig5.下é¢OnInit:é‚„æœ‰å€‹åœ°æ–¹éœ€è¦æ”¹
32*/
33
34lighthalzen,261,223,5 script 百關é“館 469,{
35 if ( $idb_BGDC == 0 ) {
36 mes "[百關é“館]";
37 mes "百關é“館關閉狀態";
38 close;
39 }
40 .@qlv=99; //è¦æ±‚ç‰ç´š
41 .@pcs=1; //è¦æ±‚人數
42 .@time=2; //冷廿™‚é–“
43 .@quid=72002; //任務 ID
44 .@map$="2@g_vs2"; //副本地圖
45 .@idb$="百關é“館"; //副本å稱
46 .@pid=getcharid(1); //隊ä¼çš„ID
47 .@team$=getpartyleader(getcharid(1)); //隊長å稱
48 mes "MVP列表";
49 for (.@i = 1; .@i < getarraysize(.MobList); .@i++)
50 mes "^770077 "+getmonsterinfo(.MobList[.@i],MOB_NAME)+" ^000000";
51 next;
52 callfunc "instances_enter",.@qlv,.@pcs,.@time,.@quid,.@map$,.@idb$,.@pid,.@team$,3,50;
53 end;
54
55OnClock1200:
56OnClock1900:
57OnClock0200:
58 set $idb_BGDC,1;
59 announce "百關é“é¤¨ä»¥é–‹å•Ÿå…¥å ´",0,0xCC0000;
60 end;
61
62OnClock1400:
63OnClock2100:
64OnClock0400:
65 announce "百關é“é¤¨ä»¥é—œé–‰å…¥å ´",0,0xCC0000;
66 set $idb_BGDC,0;
67 end;
68
69
70OnInit:
71 // 隨機刷怪列表
72 setarray .MobList[1],1873,1389,1272,1157,1038,1511,2362,1150,1086,1312,1251,1087,1871,1147,1046,1685,1734,1658,1112,1190,1252,1159,1708,3505,3074,1719,1492,1688,1583,1623,1115,1785,2249,1059,1039,2253,2255,2251,1779,1832,1768,1418,1630,1751,16000,16001,16002;
73 waitingroom strnpcinfo(1),0;
74
75 //創建資料庫 (è½é¢¨ 2018-11-27)
76 set $idb_BGDC,0; //默èªä¼ºæœå™¨å•Ÿå‹•時是關閉狀態
77
78 //創建資料庫 (è½é¢¨ 2018-11-27)
79 if(query_sql("SHOW TABLES LIKE 'idb_partylist'",.@iloot$) == 0) {
80 query_sql "CREATE TABLE `idb_partylist` ( `id` int(32) NOT NULL AUTO_INCREMENT, `timer` int(32) DEFAULT NULL, `partyname` varchar(255) DEFAULT NULL, `partylader` varchar(255) DEFAULT NULL, `partymember1` varchar(255) DEFAULT NULL, `partymember2` varchar(255) DEFAULT NULL, `partymember3` varchar(255) DEFAULT NULL, `partymember4` varchar(255) DEFAULT NULL, `partymember5` varchar(255) DEFAULT NULL, `partymember6` varchar(255) DEFAULT NULL, `partymember7` varchar(255) DEFAULT NULL, `partymember8` varchar(255) DEFAULT NULL, `partymember9` varchar(255) DEFAULT NULL, `partymember10` varchar(255) DEFAULT NULL, `partymember11` varchar(255) DEFAULT NULL, `partymember12` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;";
81 }
82 end;
83}
84
852@g_vs2,49,49,5 script 百關é“館#1F_1 758,{
86 if (getpartyleader(getcharid(1),2) == getcharid(0)) {
87 if (select("- 開始挑戰ï¼","- å–æ¶ˆ") == 1) {
88 donpcevent instance_npcname("百關é“館#1F_2")+"::OnStart";
89 disablenpc instance_npcname(strnpcinfo(0));
90 }
91 } else
92 message strcharinfo(0),"åªæœ‰éšŠé•·æœ‰æ¬ŠåŠ›é–‹èµ·æŒ‘æˆ°!!";
93 end;
94
95OnInstanceInit:
96 // åˆå§‹åŒ–副本所需信æ¯
97 'FB_Name$ = "百關é“館";
98 'FB_Win = 0;
99 'FB_Schedule = 0;
100 'FB_ScheduleMax = 50;
101 // 隨機刷怪列表
102 setarray 'FB_MobId[1],1873,1389,1272,1157,1038,1511,2362,1150,1086,1312,1251,1087,1871,1147,1046,1685,1734,1658,1112,1190,1252,1159,1708,3505,3074,1719,1492,1688,1583,1623,1115,1785,2249,1059,1039,2253,2255,2251,1779,1832,1768,1418,1630,1751,16000,16001,16002;
103 // é—œå¡åˆ·æ€ªæ•¸é‡
104 setarray 'FB_MobNum[1], 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; // 1 - 50
105 // é—œå¡å›ºå®šæ€ªç‰©ID
106 setarray 'FB_MobNumFix[1], 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; // 1 - 50
107 // é—œå¡ä¸å ´ä¼‘æ¯åˆ¤å®š(1=休æ¯)
108 setarray 'FB_Rest[1], 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0; // 1 - 50
109 // å‰¯æœ¬éš±è—æ¨¡å¼(é ˜çŽæ™‚顯示隱è—刷怪é¸é …)
110 setarray 'FB_HideMode[1],1,40022,1,1002,1; // é–‹é—œ,é“å…·ID,é“具數é‡,é”物ID,é”物數é‡
111
112 //計時開始 (è½é¢¨ 2018-11-27)
113 set 'PlayTime,gettimetick(2);
114 end;
115}
116
117function script Dc_Timer {
118 //è¨ˆæ™‚çµæŸ (è½é¢¨ 2018-11-27)
119 set .@timeleft, gettimetick(2)-'PlayTime;
120 set .@partynamea$,getpartyname(getcharid(1));
121 getpartymember(getcharid(1));
122 copyarray .@Timetoppn$[0],$@partymembername$[0],$@partymembercount;
123 for ( set .@i,0; .@i < $@partymembercount; .@i++ ) {
124 set .@partyname$[.@i],.@Timetoppn$[.@i];
125 }
126 query_sql("INSERT INTO `idb_partylist` (`timer`, `partyname`, `partylader`, `partymember1`, `partymember2`, `partymember3`, `partymember4`, `partymember5`, `partymember6`, `partymember7`, `partymember8`, `partymember9`, `partymember10`, `partymember11`, `partymember12`) VALUES ('"+.@timeleft+"', '"+.@partynamea$+"', '"+.@partyname$[0]+"', '"+.@partyname$[1]+"', '"+.@partyname$[2]+"', '"+.@partyname$[3]+"', '"+.@partyname$[4]+"', '"+.@partyname$[5]+"', '"+.@partyname$[6]+"', '"+.@partyname$[7]+"', '"+.@partyname$[8]+"', '"+.@partyname$[9]+"', '"+.@partyname$[10]+"', '"+.@partyname$[11]+"', '"+.@partyname$[12]+"')");
127 return;
128}
129
1302@g_vs2,0,0,0 script 百關é“館#1F_2 -1,{
131 end;
132
133OnStart:
134 'FB_Schedule++;
135 instance_announce 0,'FB_Name$+" : 3秒後開啟 第 "+'FB_Schedule+" 關!",bc_all,0xFFAAFF;
136 sleep2 3000;
137 for (.@i = 1; .@i <= 'FB_MobNum['FB_Schedule]; .@i++)
138 areamonster strnpcinfo(4),36,41,61,61,"--ja--",(!'FB_MobNumFix['FB_Schedule])?'FB_MobId[rand(1,getarraysize('FB_MobId)-1)]:'FB_MobNumFix['FB_Schedule],1,instance_npcname(strnpcinfo(0))+"::OnMobDead";
139 end;
140
141OnMobDead:
142 .@count = mobcount(strnpcinfo(4),instance_npcname(strnpcinfo(0))+"::OnMobDead");
143 if (.@count < 1) {
144 if (!'FB_Rest['FB_Schedule]) {
145 if ('FB_Schedule >= 'FB_ScheduleMax) {
146 'FB_Win = 1;
147 enablenpc instance_npcname("百關é“館çŽå‹µå“¡#1F_1");
148 } else
149 donpcevent instance_npcname(strnpcinfo(0))+"::OnStart";
150 } else
151 enablenpc instance_npcname("百關é“館#1F_1");
152 } else
153 instance_announce 0,'FB_Name$+" : 還剩下 "+.@count+" 隻怪物",bc_all,0x11FFFF;
154 end;
155
156OnHideMobDead:
157 script4each "{ warp \"SavePoint\",0,0; end; }",1,strnpcinfo(4);
158 end;
159}
160
1612@g_vs2,44,53,6 script 百關é“館çŽå‹µå“¡#1F_1 935,{
162 if (getpartyleader(getcharid(1),2) == getcharid(0)) {
163 if ('FB_Win) {
164 mes "["+strnpcinfo(1)+"]";
165 mes "æå–œæ‚¨æŒ‘戰æˆåŠŸï¼Œçµ¦æ‚¨å’ŒéšŠä¼ä¸€äº›çŽå‹µå§ï¼";
166 next;
167 if (select("- é ˜å–çŽå‹µ","- å–æ¶ˆ") == 1) {
168 if ('FB_HideMode[1] && countitem('FB_HideMode[2]) >= 'FB_HideMode[3]) {
169 mes "æˆ‘çž§ä½ çš„èº«ä¸Šå¥½åƒæœ‰^FFAA33"+getitemname('FB_HideMode[2])+"^000000";
170 mes "æƒ³ä¸æƒ³æŒ‘戰更強的BOSS?";
171 next;
172 if (select("- 繼續挑戰","- å–æ¶ˆ") == 1) {
173 delitem 'FB_HideMode[2],'FB_HideMode[3];
174 areamonster strnpcinfo(4),36,41,61,61,"--ja--",'FB_HideMode[4],'FB_HideMode[5],instance_npcname("百關é“館#1F_2")+"::OnHideMobDead";
175 goto OnGetPrize;
176 } else
177 goto OnGetPrizeWarp;
178 } else
179 goto OnGetPrizeWarp;
180 }
181 }
182 } else
183 message strcharinfo(0),"僅é™éšŠé•·å°è©±!!";
184 end;
185
186OnGetPrize:
187 disablenpc instance_npcname(strnpcinfo(0));
188 script4each "{ Zeny += 1000000; getitem 40003,5; getitem 40010,2; end; }",1,strnpcinfo(4);
189
190 announce "[百關é“館] ç”± ["+ getpartyleader(getcharid(1)) +"] å¸¶é ˜çš„éšŠä¼ ["+ getpartyname(getcharid(1)) +"]完æˆé€šé—œ!!",15,0xCC0000;
191 end;
192
193OnGetPrizeWarp:
194 Dc_Timer(); //è¨ˆæ™‚çµæŸ (è½é¢¨ 2018-11-27)
195 disablenpc instance_npcname(strnpcinfo(0));
196 script4each "{ Zeny += 1000000; getitem 40003,5; getitem 40010,2; warp \"SavePoint\",0,0; end; }",1,strnpcinfo(4);
197 announce "[百關é“館] ç”± ["+ getpartyleader(getcharid(1)) +"] å¸¶é ˜çš„éšŠä¼ ["+ getpartyname(getcharid(1)) +"]完æˆé€šé—œ!!",15,0xCC0000;
198 end;
199
200OnInstanceInit:
201 disablenpc instance_npcname(strnpcinfo(0));
202 end;
203}
204
205
206//查看排行榜 (è½é¢¨ 2018-11-27)
207lighthalzen,263,223,5 script 百關é“館排行榜 469,{
208L_Main:
209 set .@list, query_sql("select * from `idb_partylist` ORDER BY timer ASC LIMIT 10", .@id,.@timer,.@partyname$,.@partylader$,.@partymember1$,.@partymember2$,.@partymember3$,.@partymember4$,.@partymember5$,.@partymember6$,.@partymember7$,.@partymember8$,.@partymember9$,.@partymember10$,.@partymember11$,.@partymember12$);
210 mes "排行榜";
211 mes "å°è©±";
212 set .@menu$,"";
213 for ( set .@i,0; .@i < 10; .@i++ ) {
214 if ( .@timer[.@i] ) {
215 set .@menu$,.@menu$+"第"+(.@i+1)+"å 隊ä¼ï¼š"+.@partyname$[.@i]+" 隊長:"+.@partylader$[.@i]+":";
216 } else {
217 set .@menu$,.@menu$+":";
218 }
219
220 }
221 next;
222 set .@num,select(.@menu$)-1;
223 set .@timeleft, .@timer[.@num];
224 set .@hourleft, .@timeleft%86400/3600;
225 set .@minleft, .@timeleft%86400%3600/60;
226 set .@secleft, .@timeleft%86400%3600%60;
227 mes "隊ä¼ï¼š"+.@partyname$[.@num];
228 mes "通關時間:^00B050"+.@hourleft+"å°æ™‚"+.@minleft+"分é˜"+.@secleft+"ç§’^000000";
229 mes "隊長:"+.@partylader$[.@num];
230 for ( set .@i,1; .@i < 5; .@i++ ) {
231 if ( getd(".@partymember"+.@i+"$["+.@num+"]") != "" ) mes .@i+"隊員:"+getd(".@partymember"+.@i+"$["+.@num+"]");
232 }
233 next;
234 if ( select("返回:離開") == 2 ) close;
235 goto L_Main;
236}
237
2382@g_vs2 mapflag nomemo //無法記憶地圖
2392@g_vs2 mapflag noteleport //無法瞬移
2402@g_vs2 mapflag nosave //無法儲å˜ä½ç½®
2412@g_vs2 mapflag nobranch //無法使用樹æž
2422@g_vs2 mapflag noexppenalty //æ»äº¡æ²’有經驗懲罰
2432@g_vs2 mapflag nozenypenalty //æ»äº¡ç„¡é‡‘錢懲罰
2442@g_vs2 mapflag nobaseexp //沒有基本經驗
2452@g_vs2 mapflag nojobexp //æ²’æœ‰è·æ¥ç¶“é©—
2462@g_vs2 mapflag novending //無法開露天商店
2472@g_vs2 mapflag nochat //無法開èŠå¤©å®¤
2482@g_vs2 mapflag partylock //ç„¡æ³•åŠ å…¥çµ„éšŠ
2492@g_vs2 mapflag nowarp //無法使用傳é€ä¹‹é™£