Emistry icon

[RO] Daily Mob Spawn / Reward / Race Rewards 1.2

Emistry | PRO | 08/28/16 02:39:07 PM UTC | 0 ⭐ | 537 👁️ | Never ⏰ | []
text |

3.24 KB

|

None

|

0 👍

/

0 👎

-	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;
 }

Comments