- script daily_main -1,{ OnInit: .cutin_file$ = "daily_pic_%02d"; // daily_pic_00.bmp ~ daily_pic_06.bmp .npc_name$ = strnpcinfo(0); OnHour00: .today = gettime(4); // daily monster summon on X maps. OnTimer120000: // 120 seconds. switch( .today ) { default: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; case 1: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; case 2: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; case 3: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; case 4: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; case 5: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; case 6: .@map$ = "prontera"; .@mob_id = 1002; .@amount = 20; break; } if ( .@map$ != "" && .@map$ != .map$ ) { killmonster .@map$,.npc_name$+"::OnMobDie"; .map$ = .@map$; } monster .@map$,0,0,"--ja--",.@mob_id,( .@amount - mobcount( .@map$,.npc_name$+"::OnMobDie" ) ),.npc_name$+"::OnMobDie"; initnpctimer; end; OnMobDie: end; OnNPCKillEvent: callsub( OnMobRace, killedrid ); callsub( OnMobReward ); end; OnMobRace: .@mob_id = getarg( 0,0 ); .@race = getmonsterinfo( .@mob_id, MOB_RACE ); switch( .today ) { default: .@exp_bonus_rate = 30; .@today_race = RC_Formless; break; case 1: .@exp_bonus_rate = 30; .@today_race = RC_Undead; break; case 2: .@exp_bonus_rate = 30; .@today_race = RC_Brute; break; case 3: .@exp_bonus_rate = 30; .@today_race = RC_Plant; break; case 4: .@exp_bonus_rate = 30; .@today_race = RC_Insect; break; case 5: .@exp_bonus_rate = 30; .@today_race = RC_Fish; break; case 6: .@exp_bonus_rate = 30; .@today_race = RC_Demon; break; case 7: .@exp_bonus_rate = 30; .@today_race = RC_DemiHuman; break; } if ( .@race == .@today_race && .@exp_bonus_rate ) { .@bexp = getmonsterinfo( .@mob_id, MOB_BASEEXP ); .@jexp = getmonsterinfo( .@mob_id, MOB_JOBEXP ); .@bexp = ( .@bexp * .@exp_bonus_rate ) / 100 ); .@jexp = ( .@jexp * .@exp_bonus_rate ) / 100 ); BaseExp += .@bexp; JobExp += .@jexp; } return; // daily monster drop items. OnMobReward: if ( rand( 10000 ) < 10 ) { // 0.10% drop switch( .today ) { default: getitem 512,1; getitem 512,2; break; case 1: getitem 512,1; getitem 512,2; break; break; case 2: getitem 512,1; getitem 512,2; break; break; case 3: getitem 512,1; getitem 512,2; break; break; case 4: getitem 512,1; getitem 512,2; break; break; case 5: getitem 512,1; getitem 512,2; break; break; case 6: getitem 512,1; getitem 512,2; break; break; } } return; OnPCLoginEvent: if ( .cutin_file$ != "" ) { cutin sprintf( .cutin_file$,.today ),3; sleep2 3000; cutin "",255; } end; }