- script Sample#event -1,{ OnInit: // mob id + amount set .mob_id,1002; set .mob_per_map,10; // maximum how many time each day set .times,2; // max event hour set .hour,2; // map list setarray .map$,"prontera","izlude","geffen"; set .map_size,getarraysize( .map$ ); set .npc_name$,strnpcinfo(0); OnClock0000: set .@range,( 24 / .times ); set .@start_time,gettime(3); for( set .@i,0; .@i < .times; set .@i,.@i + 1 ){ set .event_time[.@i],rand( .@start_time,( .@start_time + .@range ) ); set .@start_time,( .event_time[.@i] + .hour ); if( .@start_time >= 24 ) break; } OnMinute00: if( !.status ){ if( gettime(3) == .event_time[0] ){ deletearray .event_time[0],1; initnpctimer; set .status,1; announce "Happy Hours - "+.hour+" Hour ",bc_all; for( set .@i,0; .@i < .map_size; set .@i,.@i + 1 ) monster .map$[.@i],0,0,"--ja--",.mob_id,.mob_per_map,.npc_name$+"::OnMobDied"; sleep ( ( .hour * 360000 ) - ( 5 * 60000 ) ); set .status,0; announce "Happy Hours - END",bc_all; for( set .@i,0; .@i < .map_size; set .@i,.@i + 1 ) killmonster .map$[.@i],.npc_name$+"::OnMobDied"; stopnpctimer; } } end; OnTimer180000: if( .status ){ for( set .@i,0; .@i < .map_size; set .@i,.@i + 1 ){ set .@mob_count,mobcount( .map$[.@i],.npc_name$+"::OnMobDied" ); if( .@mob_count < .mob_per_map ) monster .map$[.@i],0,0,"--ja--",.mob_id,( .mob_per_map - .@mob_count ),.npc_name$+"::OnMobDied"; } initnpctimer; } end; OnWhisperGlobal: set .@size,getarraysize( .event_time ); dispbottom "Upcoming Event Time : "; for( set .@i,0; .@i < .@size; set .@i,.@i + 1 ){ if( .event_time[.@i] < 24 ) dispbottom .event_time[.@i]+":00 "+(( .event_time[.@i] < 12 )?"AM":"PM" ); } end; OnMobDied: if( .status ){ set .@rate,rand( 100 ); // 10% get 100 apple. if( .@rate < 10 ){ getitem 512,100; } // 50% get 50 apple. else if( .@rate < 50 ){ getitem 512,50; } // 10% get 10 apple. else if( .@rate < 10 ){ getitem 512,10; } } end; }