· 7 years ago · Nov 17, 2018, 08:28 AM
1
2
3/* MySQL Table to record....
4
5CREATE TABLE IF NOT EXISTS `Emperium Break Rank` (
6 `No` int(11) unsigned NOT NULL auto_increment,
7 `account_id` int(11) unsigned NOT NULL default '0',
8 `char_id` int(11) unsigned NOT NULL default '0',
9 `name` varchar(30) NOT NULL default '',
10 `time` int(11) unsigned NOT NULL default '0',
11 PRIMARY KEY (`No`),
12 KEY `char_id` (`char_id`)
13) ENGINE=MyISAM;
14
15*/
16
17
18function script ConvertTime {
19set .@Time,getarg(0);
20 set .@min,.@Time / 60000;
21 set .@sec,.@Time / 1000 % 60;
22 set .@ms,.@Time % 1000;
23 set .@i$,(( ( .@min )?.@min+" min ":"" )+( ( .@sec )?.@sec:"" )+( ( .@ms )?"."+.@ms:"" ) )+ " sec.";
24return .@i$;
25}
26
27
28prontera,155,181,5 script Emperium Breaker Room 757,{
29mes "Enter Room or View Ladder ?";
30next;
31switch( select("Enter Room:View Ladder") ){
32 Case 1:
33 for( set .@i,0; .@i < 4; set .@i,.@i + 1 )
34 set .@Menu$,.@Menu$ + "Room "+(.@i+1)+" - "+( ( .RoomUser$[.@i] != "" )?"^FF0000Not ":"^0055FF" )+" Available^000000"+":";
35 set @Room,select( .@Menu$ ) - 1;
36 if( .RoomUser$[@Room] != "" ){
37 mes "Sorry, Room is occupied by ^0055FF"+.RoomUser$[@Room]+"^000000.";
38 }else{
39 set .RoomUser$[@Room],strcharinfo(0);
40 switch( @Room ){
41 Case 0: warp "quiz_02",37,65; break;
42 Case 1: warp "quiz_02",50,65; break;
43 Case 2: warp "quiz_02",61,65; break;
44 Case 3: warp "quiz_02",74,65; break;
45 }
46 sleep2 1000;
47 addtimer ( 10 * 60000 ),strnpcinfo(0)+"::OnKick";
48 dispbottom "You got 10 Minutes.";
49 sleep2 2000;
50 message strcharinfo(0),"CLICK THE NPC";
51 hideoffnpc "START#"+@Room;
52 }
53 break;
54 Case 2:
55 if( query_sql("SELECT `time` FROM `Emperium Break Rank` WHERE `char_id`='"+getcharid(0)+"'",.@time ) ){
56 mes "Your Latest Time : ^0055FF"+ConvertTime( .@time )+"^000000";
57 mes "^777777------------------------^000000";
58 }
59 mes "^0000FFTop 10 Ladder :^000000";
60 if( query_sql("SELECT `name`,`time` FROM `Emperium Break Rank` ORDER BY `time` ASC LIMIT 10",.@RankName$,.@RankTime ) ){
61 for( set .@i,0; .@i < getarraysize( .@RankName$ ); set .@i,.@i + 1 )
62 mes "[ "+( .@i + 1 )+". ] ^0055FF"+.@RankName$[.@i]+" ^FF0000"+ConvertTime( .@RankTime[.@i] )+"^000000";
63
64 }else{
65 mes "Didnt have any record on Ladder rank yet.";
66 }
67 break;
68}
69close;
70
71OnKick:
72message strcharinfo(0),"You have been kicked out from this Room due to time limit reached.";
73set .RoomUser$[@Room],"";
74set @Room,0;
75warp "prontera",155,181;
76end;
77}
78
79- script Emperium Main -1,{
80getmapxy( .@Map$,.@X,.@Y,1 );
81monster .@Map$,.@X,.@Y,"--ja--",1288,1,strnpcinfo(0)+"::OnBreaked";
82initnpctimer;
83
84OnInit:
85hideonnpc strnpcinfo(0);
86end;
87
88// Ignore this part.....
89OnTimer3600000:
90announce "WHAT !! Please report to Staff about this problem..this shouldnt happen.. ?",0;
91stopnpctimer;
92end;
93
94OnBreaked:
95deltimer "Emperium Breaker Room::OnKick";
96stopnpctimer;
97set .@Time,getnpctimer( 0,strnpcinfo(0) );
98set getvariableofnpc(.RoomUser$[@Room],"Emperium Breaker Room"),"";
99set @Room,0;
100announce "Your Break Time : "+ConvertTime( .@Time ),bc_self;
101if( query_sql("SELECT `name` FROM `Emperium Break Rank` WHERE `char_id`='"+getcharid(0)+"'",.@Name$ ) ){
102 query_sql("UPDATE `Emperium Break Rank` SET `time`='"+.@Time+"' WHERE `char_id`='"+getcharid(0)+"'");
103}else{
104 query_sql("INSERT `Emperium Break Rank` ( `account_id`,`char_id`,`name`,`time` ) VALUES ( '"+getcharid(3)+"','"+getcharid(0)+"','"+strcharinfo(0)+"','"+.@Time+"' ); ");
105}
106sleep2 3000;
107warp "prontera",155,181;
108end;
109}
110
111
112quiz_02,37,65,5 duplicate(Emperium Main) START#0 757
113quiz_02,50,65,5 duplicate(Emperium Main) START#1 757
114quiz_02,61,65,5 duplicate(Emperium Main) START#2 757
115quiz_02,74,65,5 duplicate(Emperium Main) START#3 757
116
117
118quiz_02 mapflag noskill
119quiz_02 mapflag nogo
120quiz_02 mapflag noteleport
121quiz_02 mapflag nowarp
122quiz_02 mapflag nowarpto
123quiz_02 mapflag nobranch
124quiz_02 mapflag novending
125quiz_02 mapflag nochat
126quiz_02 mapflag nocommand 60
127quiz_02 mapflag nosave prontera,155,175