Jump to content

Question

Posted

I would like to remove the VIP function from this npc, leave it to reward only normal account

Can someone help me?

 

Quote

//===== EinherjarRO Scripts ================================== 
//= Requested 
//===== By: ================================================== 
//= Stolao
//===== Current Version: =====================================
//= 2.1C
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= A reward system for players who play more frequently
//===== Todo =================================================
//= Make Logging out then it continue count
//===== Additional Comments: =================================
//= 2.00 Origional Make
//= 2.01 Fixed Logic Bug
//= 2.02 Fixed Year Multiplier
//= 2.03 Added an IP check
//= 2.04 Split Rewards up
//= 2.05 Move ip check to Daily reward collection
//= 2.06 Added ability to see next day via commands/relogging
//= 2.07 Added Delay
//= 2.08 Moved Delay to none VIP only
//= 2.09 Removed some useless lines
//= 2.0A Removed Menus due to bugs
//= 2.0B Fixed VIP Cutin
//= 2.0C Added it showing previos day cutin
//= 2.0D Added a for loop
//= 2.0E Fixed Ramined logged in time calculation (visual bug)
//= 2.0F Added a F_InsertPlural to "more minute"
//= 2.10 Added a Mac Check
//= 2.11 Changed the IP check to [Sader1992] version
//= 2.12 Enable Bound Type
//= 2.13 Added 'collectreward', 'dailyreward', 'collectdaily' Commands
//= 2.14 Added 'nextreward' Command
//= 2.15 Added Daily Buffs
//= 2.16 Added Exp Rewards
//= 2.17 Removed Reards for Autotraders
//= 2.18 Move Buffs to Daily so VIP wont trigger twice
//= 2.19 Optimized Slightly
//= 2.1A Fixed a bug with VIP getting bonus rewards in normal rewards
//= 2.1B Fixed some documentaion
//= 2.1C Fixed extra '['
//===== Contact Info: ========================================
//= [Stolao] 
//= Email: [email protected]
//============================================================
prontera,5,5,5	script	LOGIN	111,{
OnPCLoginEvent:
	if(!@logintime)
		@logintime = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
OnLoginCmnd:
	.@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH);
	if(.Reset && .@i > #LastDailyReward + 1)
		#DRewardCon = 0;
	if(.Reset && .@i > #LastVIPReward + 1)
		#VIPRewardCon = 0;
	.@VIPSize = getarraysize(.VIPRewards$);
	.@Size = getarraysize(.Rewards$);
	if(#DRewardCon >= .@Size && #VIPRewardCon >= .@VIPSize){
		#LastDailyReward = .@i;
		#LastVIPReward = .@i;
		end;
	}
	sleep2 1000;
	for(.@k = 0; .@k < 2; .@k++){
		if(!.@k){
			if(!vip_status(VIP_STATUS_ACTIVE) && .VIPRewards$[#VIPRewardCon + 1] != ""){
				//message strcharinfo(0),"[Daily Rewards]: Torne-se um VIP para mais recompensas.";
				continue;
			} else if(#VIPRewardCon >= .@VIPSize){
				message strcharinfo(0),"[Login especial]: Não há mais recompensas VIP restantes este mês.";
				continue;
			} else if(.@i <= #LastVIPReward){
				message strcharinfo(0),"[Login especial]: Recompensas VIP já coletadas hoje.";
				continue;
			}
		} else {
			if(#DRewardCon >= .@Size){
				message strcharinfo(0),"[Login especial]: Não há mais recompensas restantes este mês.";
				continue;
			} else if(.@i <= #LastDailyReward){
				message strcharinfo(0),"[Login especial]: Recompensas já coletadas hoje.";
				continue;
			}
		}
		if(!.@k)
			explode(.@XT$,.VIPRewards$[#VIPRewardCon + 1],",");
		else {
			if(.IPCheck){
				query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+getcharip()+"'", .@AccountId);
				.@Size = getarraysize(.@AccountId);
				for(.@i=0; .@i < .@Size; .@i++){
					query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId[.@i]+"' AND `key` = '#LastDailyReward'",.@LastIp2);
					if(.@i <= .@LastIp2){
						message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por IP.";
						continue;
					}
				}
			}
			if(.MacCheck){
				query_sql("SELECT last_unique_id FROM `login` WHERE account_id = "+getcharid(3)+"", .@last_unique_id$);
				query_sql("SELECT account_id FROM `login` WHERE last_unique_id = '"+.@last_unique_id$+"'", .@AccountId2);
				.@Size = getarraysize(.@AccountId2);
				for(.@i=0; .@i < .@Size; .@i++){
					query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId2[.@i]+"' AND `key` = '#LastDailyReward'",.@MacCheck2);
					if(.@i <= .@MacCheck2){
						message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por computador.";
						continue;
					}
				}
			}
			if(.Rest){
				.@time = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
				if(.@time < @logintime + .Rest){
					.@delay = @logintime + .Rest - .@time;
					message strcharinfo(0),"[Login especial]: para coletar recompensas, você deve permanecer logado por "+callfunc("F_InsertPlural",.@delay,"more minute")+".";
					continue;
				}	
			}
			deletearray .@XT$[0],getarraysize(.@XT$);
			.@NextDay = #DRewardCon + 1;
			explode(.@XT$,.Rewards$[.@NextDay],",");
		}
		if(checkvending() & 2 && .Mode & 256){
			message strcharinfo(0),"[Login especial]: Vendedores não podem receber recompensas.";
			end;
		}
		.@Size = getarraysize(.@XT$);
		deletearray .@TT[0],getarraysize(.@TT);
		deletearray .@itms[0],getarraysize(.@itms);
		deletearray .@qnts[0],getarraysize(.@qnts);
		for(.@x = y = 0; .@x < .@Size; .@x++)
			.@TT[.@x] = atoi(.@XT$[.@x]);
		if(.Mode & 1 && (.@TT[4] > 0 || .@vip[4] > 0)){
			.@Size = getarraysize(.@TT);
			for(.@x = 4; .@x <= .@Size - 1 ; .@x += 2){
				.@itms[.@y] = .@TT[.@x];
				.@qnts[.@y] = .@TT[.@x + 1];
				.@y++;
			}
			if(checkweight2(.@itms,.@qnts)){
				for(.@x = 0; .@x < .@y; .@x++){
					if(.Mode & 128)
						getitembound  .@itms[.@x], .@qnts[.@x], .Bound_Mode;
					else	getitem  .@itms[.@x], .@qnts[.@x];
				}
			} else {
				message strcharinfo(0),"[Login especial]: Você não pode carregar os prêmios, use o storage e relogue.";
				continue;
			}
		}
		if(.Mode & 2 && (.@TT[1])){
			#Loyalty += .@TT[1];
			message strcharinfo(0),"[Login especial]: Recebido "+ .@TT[1] +" "+.Points$;
		}
		if(.Mode & 4 && (.@TT[0])){
			zeny += .@TT[0];
			message strcharinfo(0),"[Login especial]: Recebido "+ .@TT[0] +"z";
		}
		if(.Mode & 8 && (.@TT[3] || .@TT[4]))
			getexp .@TT[3], .@TT[4];

		if(!.@k){
			if(.Mode & 32){
				cutin .VIPCutins$[#VIPRewardCon],4;
				soundeffect "complete.wav", 0;
			}
			#VIPRewardCon++;
			#LastVIPReward = .@i;
			sleep2 1000;
			if(.Mode & 64){
				cutin .VIPCutins$[#VIPRewardCon],4;
				soundeffect "complete.wav", 0;
			}
				
			message strcharinfo(0),"[Login especial]: Você coletou sua recompensa VIP, por "+callfunc("F_InsertPlural",#VIPRewardCon,"dia")+" este mês.";
		} else {
			if(.Mode & 16){
				.@Size = getarraysize(.BuffInfo);
				for(.@x = 0; .@x < .@Size; .@x += 4){
					if(.@NextDay == .BuffInfo[.@x + 1])
						sc_start .BuffInfo[.@x], .BuffInfo[.@x + 2] * 60000, .BuffInfo[.@x + 3];
				}
			}
			if(.Mode & 32){
				cutin .Cutins$[#DRewardCon],4;
				soundeffect "complete.wav", 0;
			}
			#DRewardCon++;
			#LastDailyReward = .@i;
			sleep2 1000;
			if(.Mode & 64) {
				cutin .Cutins$[#DRewardCon],4;
			}
			message strcharinfo(0),"[Login especial]: Você coletou sua recompensa diária, por "+callfunc("F_InsertPlural",#DRewardCon,"dia")+" este mês.";
		}	
		if(.Mode & 32 || .Mode & 64){
			sleep2 15000;
			cutin "",255;
		}
	}
	end;

OnNextCmnd:
	.@time = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
	if(.@time >= @logintime + .Rest){
		message strcharinfo(0),"[Login especial]: sua próxima recompensa está disponível.";
	} else {
		.@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH);
		if(.@i <= #LastDailyReward)
			message strcharinfo(0),"[Login especial]: Sua próxima recompensa estará disponível amanhã.";
		else {
			.@days = (.@time >= @logintime + .Rest) / 60 / 24;
			.@hours = ((.@time >= @logintime + .Rest) / 60) % 24;
			.@mins = (.@time >= @logintime + .Rest) % 60;
			message strcharinfo(0),"[Login especial]: Você tem "+ ((.@days) ? .@days +" Dias " : "") + ((.@hours) ? .@hours +" Horas " : "") + ((.@mins) ? .@mins +" Minutos " : "") +" até sua próxima recompensa.";
		}
		if(.Mode & 32 || .Mode & 64){
			if(.@NextDay >= getarraysize(.Rewards$))
				.@g = 0;
			else	.@g = #DRewardCon + 1;
			cutin .Cutins$[.@g],4;
			soundeffect "complete.wav", 0;
		}
	}
	end;

OnHour00:
	if(gettime(DT_DAYOFMONTH) == 1){
		query_sql("DELETE FROM `acc_reg_num` WHERE `key` = '#DRewardCon' OR `key` = '#VIPRewardCon' OR `key` = '#LastVIPReward' OR `key` = '#LastDailyReward'");
		addrid(0);
		#DRewardCon = #VIPRewardCon = #LastVIPReward = #LastDailyReward = 0;
	}
	end;

OnInit:
	// Basic Settings
	//   1: Item | 2: Points | 4: Zeny | 8: Exp
	//   16: Gain Buffs
	//   32: Show Cutins | 64: Show Next Day Cutin
	//   128: Item Rewards Bound
	//   256: No Rewards for Autotraders 
	//     (a bit value, e.g. 3 = Items & Points from Multi)
	.Mode = 1|2|4|16|32|64|128|256;

	// Item Binding Mode
	//	 Bound_Account : Account Bound item
	//	 Bound_Guild   : Guild Bound item
	//	 Bound_Party   : Party Bound item
	//	 Bound_Char    : Character Bound item
	.Bound_Mode = Bound_Account;

	// To disable the command '@loginreward' comment the next lines
	// * Needs extra commands for typos
	bindatcmd("relog","LOGIN::OnLoginCmnd",0,99);
	bindatcmd("collectreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("dailyreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("collectdaily",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("nextreward",strnpcinfo(3)+"::OnNextCmnd",0,99);

	// Reset days back to 0 on a skipped day.
	// Toggle 
	// [0] = Off
	// [1] = On
	.Reset = 0;

	// .Rest
	// Delay after login to collect rewards
	// In Minutes
	.Rest = 0;

	// Point Name
	.Points$ = "Loyalty Points";

	// Ip check to prevent multi accounts
	// Toggle 
	// [0] = Off
	// [1] = On
	.IPCheck = 0;

	// Consecutive Days Buff
	// Each buff contains 4 variables
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 1
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 2
	//   ...;
	//
	//  Example: 188,7,45,3
	//    -On the 7th day logged in Player gains +3 Str for 45 mins
	//
	//  Type is 188, which references which SC_ to use, SC_INCSTR in this example
	//     -For a full list of SC_ visit the db/const.txt
	//  Days is days buff is applied, in this example 7, so every 7th day, 14,21,28....
	//  Duration is buff duration is Minuits, in this example 45 mins
	//  Rate is buff val1, in this example player gains 3 Str
	setarray .BuffInfo
				,260,2,360,1	// Life Insurance for 360 on 2nd Day
				,198,3,120,10	// +10% Hp for 120 Mins on 3rd Day
				,260,4,360,1	// Life Insurance for 360 on 4th Day
				,196,5,120,25	// +25 Flee for 120 Mins on 5th Day
				,198,6,120,10	// +10% Hp for 120 Mins on 6th Day
				,257,7,240,50	// +50% Exp for 240 Mins on 7th Day
				,260,8,360,1	// Life Insurance for 360 on 8th Day
				,198,9,120,10	// +10% Hp for 120 Mins on 9th Day
				,196,10,120,25	// +25 Flee for 120 Mins on 10th Day

				,9,12,120,10	// +10% Hp for 120 Mins on 12th Day
				,9,14,240,50	// +50% Exp for 240 Mins on 14th Day
				,9,15,120,50	// +25 Flee for 120 Mins on 15th Day
				,198,16,360,10	// Life Insurance for 360 on 16th Day

				,9,18,120,10	// +10% Hp for 120 Mins on 18th Day
				,9,20,120,25	// +25 Flee for 120 Mins on 20th Day
				,9,21,240,50	// +50% Exp for 240 Mins on 21st Day
				,9,22,360,1	// Life Insurance for 360 on 22nd Day

				,9,24,120,10	// +10% Hp for 120 Mins on 24th Day
				,9,25,120,25	// +25 Flee for 120 Mins on 25th Day
				,9,26,360,1	// Life Insurance for 360 on 26th Day
				,9,27,120,10	// +10% Hp for 120 Mins on 27th Day
				,9,28,240,50	// +50% Exp for 240 Mins on 28th Day

				,9,30,120,25;	// +25 Flee for 120 Mins on 30th Day

	// Daily Prize items:
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Day 1
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc"  // Day 2
	//   ...;
	// Total length of any days string must be 255 or shorter
	setarray .Rewards$[1],
		"0,0,0,0,12016,100",				// Day 1
		"0,0,0,0,28995,1",		// Day 2
		"0,0,0,0,7539,2",		// Day 3
		"0,0,0,0,14601,200",				// Day 4
		"0,0,0,0,12299,100",				// Day 5
		"0,0,0,0,12684,200",		// Day 6
		"0,0,0,0,28996,1",		// Day 7
		"0,0,0,0,14614,300",			// Day 8
		"0,0,0,0,28995,1",			// Day 9
		"0,0,0,0,12786,10",		// Day 10
		"0,0,0,0,12424,150",				// Day 11
		"0,0,0,0,12427,200",				// Day 12
		"0,0,0,0,7539,2",			// Day 13
		"0,0,0,0,28997,1",			// Day 14
		"0,0,0,0,28995,1",				// Day 15
		"0,0,0,0,12418,300",				// Day 16
		"0,0,0,0,12419,300",				// Day 17
		"0,0,0,0,12404,150",		// Day 18
		"0,0,0,0,7539,2",			// Day 19
		"0,0,0,0,12786,10",			// Day 20
		"0,0,0,0,28998,1",		// Day 21
		"0,0,0,0,14591,3",			// Day 22
		"0,0,0,0,12221,50",		// Day 23
		"0,0,0,0,7539,2",				// Day 24
		"0,0,0,0,28995,1",			// Day 25
		"0,0,0,0,14614,300",		// Day 26
		"0,0,0,0,12786,15",				// Day 27
		"0,0,0,0,28999,1";				// Day 28


	// VIP Prize items:
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Day 1
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc"  // Day 2
	//   ...;
	// Total length of any days string must be 255 or shorter
	//
	// Note VIPs Collect both VIP and Normal Player rewards
	setarray .VIPRewards$[1],
		"1000",				// Day 1: 1000 Zeny
		"0,0,0,0,501,5",		// Day 2: 5 Red Potion
		"0,0,0,0,506,5",		// Day 3: 5 Green Potion
		"2000",				// Day 4: 2000 Zeny
		"2000",				// Day 5: 2000 Zeny
		"0,0,0,0,502,5",		// Day 6: 5 Orange Potion
		"0,0,0,0,12208,1",		// Day 7: 1 Battle Manual
		"2500",				// Day 8: 2500 Zeny
		"2500",				// Day 8: 2500 Zeny
		"2500",				// Day 9: 2500 Zeny
		"0,0,0,0,503,5",		// Day 10: 5 White Potion
		"2500",				// Day 11: 2500 Zeny
		"2500",				// Day 12: 2500 Zeny
		"2500",				// Day 13: 2500 Zeny
		"0,0,0,0,503,5,506,3",		// Day 14: 5 White Potion + 3 Green Potion
		"2500",				// Day 15: 2500 Zeny
		"2500",				// Day 16: 2500 Zeny
		"2500",				// Day 17: 2500 Zeny
		"0,0,0,0,503,5,506,3",		// Day 18: 5 White Potion + 3 Green Potion
		"2500",				// Day 19: 2500 Zeny
		"2500",				// Day 20: 2500 Zeny
		"0,0,0,0,604,3",		// Day 21: 1 Dead Branch
		"2500",				// Day 22: 2500 Zeny
		"0,0,0,0,503,5,506,3",		// Day 23: 5 White Potion + 3 Green Potion
		"2500",				// Day 24: 2500 Zeny
		"2500",				// Day 25: 2500 Zeny
		"0,0,0,0,503,5,506,3",		// Day 26: 5 White Potion + 3 Green Potion
		"2500",				// Day 27: 2500 Zeny
		"2500";				// Day 28: 2500 Zeny

	// Cutin Array
	//	Shows a cutin before collecting for each date
	//	Start at 0 if showing next day
	setarray .Cutins$,
			"Daily_00",
			"Daily_01",
			"Daily_02",
			"Daily_03",
			"Daily_04",
			"Daily_05",
			"Daily_06",
			"Daily_07",
			"Daily_08",
			"Daily_09",
			"Daily_10",
			"Daily_11",
			"Daily_12",
			"Daily_13",
			"Daily_14",
			"Daily_15",
			"Daily_16",
			"Daily_17",
			"Daily_18",
			"Daily_19",
			"Daily_20",
			"Daily_21",
			"Daily_22",
			"Daily_23",
			"Daily_24",
			"Daily_25",
			"Daily_26",
			"Daily_27",
			"Daily_28",
			"kafra_08",
			"kafra_09",
			"kafra_01",
			"kafra_02",
			"kafra_03";

	// Cutin Array
	//	Shows a cutin on collecting for each date
	setarray .VIPCutins$,
			"Daily_00",
			"Daily_01",
			"Daily_02",
			"Daily_03",
			"Daily_04",
			"Daily_05",
			"Daily_06",
			"Daily_07",
			"Daily_08",
			"Daily_09",
			"Daily_10",
			"Daily_11",
			"Daily_12",
			"Daily_13",
			"Daily_14",
			"Daily_15",
			"Daily_16",
			"Daily_17",
			"Daily_18",
			"Daily_19",
			"Daily_20",
			"Daily_21",
			"Daily_22",
			"Daily_23",
			"Daily_24",
			"Daily_25",
			"Daily_26",
			"Daily_27",
			"Daily_28",
			"kafra_08",
			"kafra_09",
			"kafra_01",
			"kafra_02",
			"kafra_03";
end;
}

 

 

4 answers to this question

Recommended Posts

  • 0
Posted

Try This Mayb

 

//===== EinherjarRO Scripts ================================== 
//= Requested 
//===== By: ================================================== 
//= Stolao
//===== Current Version: =====================================
//= 2.1C
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= A reward system for players who play more frequently
//===== Todo =================================================
//= Make Logging out then it continue count
//===== Additional Comments: =================================
//= 2.00 Origional Make
//= 2.01 Fixed Logic Bug
//= 2.02 Fixed Year Multiplier
//= 2.03 Added an IP check
//= 2.04 Split Rewards up
//= 2.05 Move ip check to Daily reward collection
//= 2.06 Added ability to see next day via commands/relogging
//= 2.07 Added Delay
//= 2.08 Moved Delay to none VIP only
//= 2.09 Removed some useless lines
//= 2.0A Removed Menus due to bugs
//= 2.0B Fixed VIP Cutin
//= 2.0C Added it showing previos day cutin
//= 2.0D Added a for loop
//= 2.0E Fixed Ramined logged in time calculation (visual bug)
//= 2.0F Added a F_InsertPlural to "more minute"
//= 2.10 Added a Mac Check
//= 2.11 Changed the IP check to [Sader1992] version
//= 2.12 Enable Bound Type
//= 2.13 Added 'collectreward', 'dailyreward', 'collectdaily' Commands
//= 2.14 Added 'nextreward' Command
//= 2.15 Added Daily Buffs
//= 2.16 Added Exp Rewards
//= 2.17 Removed Reards for Autotraders
//= 2.18 Move Buffs to Daily so VIP wont trigger twice
//= 2.19 Optimized Slightly
//= 2.1A Fixed a bug with VIP getting bonus rewards in normal rewards
//= 2.1B Fixed some documentaion
//= 2.1C Fixed extra '['
//===== Contact Info: ========================================
//= [Stolao] 
//= Email: [email protected]
//============================================================
prontera,5,5,5	script	LOGIN	111,{
OnPCLoginEvent:
	if(!@logintime)
		@logintime = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
OnLoginCmnd:
	.@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH);
	if(.Reset && .@i > #LastDailyReward + 1)
		#DRewardCon = 0;
	.@Size = getarraysize(.Rewards$);
	if(#DRewardCon >= .@Size){
		#LastDailyReward = .@i;
		end;
	}
	sleep2 1000;
	if(#DRewardCon >= .@Size){
		message strcharinfo(0),"[Login especial]: Não há mais recompensas restantes este mês.";
		continue;
	} else if(.@i <= #LastDailyReward){
		message strcharinfo(0),"[Login especial]: Recompensas já coletadas hoje.";
		continue;
	}
	if(.IPCheck){
		query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+getcharip()+"'", .@AccountId);
		.@Size = getarraysize(.@AccountId);
		for(.@i=0; .@i < .@Size; .@i++){
			query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId[.@i]+"' AND `key` = '#LastDailyReward'",.@LastIp2);
			if(.@i <= .@LastIp2){
				message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por IP.";
				continue;
			}
		}
	}
	if(.MacCheck){
		query_sql("SELECT last_unique_id FROM `login` WHERE account_id = "+getcharid(3)+"", .@last_unique_id$);
		query_sql("SELECT account_id FROM `login` WHERE last_unique_id = '"+.@last_unique_id$+"'", .@AccountId2);
		.@Size = getarraysize(.@AccountId2);
		for(.@i=0; .@i < .@Size; .@i++){
			query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId2[.@i]+"' AND `key` = '#LastDailyReward'",.@MacCheck2);
			if(.@i <= .@MacCheck2){
				message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por computador.";
				continue;
			}
		}
	}
	if(.Rest){
		.@time = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
		if(.@time < @logintime + .Rest){
			.@delay = @logintime + .Rest - .@time;
			message strcharinfo(0),"[Login especial]: para coletar recompensas, você deve permanecer logado por "+callfunc("F_InsertPlural",.@delay,"more minute")+".";
			continue;
		}	
	}
	deletearray .@XT$[0],getarraysize(.@XT$);
	.@NextDay = #DRewardCon + 1;
	explode(.@XT$,.Rewards$[.@NextDay],",");
	if(checkvending() & 2 && .Mode & 256){
		message strcharinfo(0),"[Login especial]: Vendedores não podem receber recompensas.";
		end;
	}
	.@Size = getarraysize(.@XT$);
	deletearray .@TT[0],getarraysize(.@TT);
	deletearray .@itms[0],getarraysize(.@itms);
	deletearray .@qnts[0],getarraysize(.@qnts);
	for(.@x = y = 0; .@x < .@Size; .@x++)
		.@TT[.@x] = atoi(.@XT$[.@x]);
	if(.Mode & 1 && (.@TT[4] > 0 || .@vip[4] > 0)){
		.@Size = getarraysize(.@TT);
		for(.@x = 4; .@x <= .@Size - 1 ; .@x += 2){
			.@itms[.@y] = .@TT[.@x];
			.@qnts[.@y] = .@TT[.@x + 1];
			.@y++;
		}
		if(checkweight2(.@itms,.@qnts)){
			for(.@x = 0; .@x < .@y; .@x++){
				if(.Mode & 128)
					getitembound  .@itms[.@x], .@qnts[.@x], .Bound_Mode;
				else	getitem  .@itms[.@x], .@qnts[.@x];
			}
		} else {
			message strcharinfo(0),"[Login especial]: Você não pode carregar os prêmios, use o storage e relogue.";
			continue;
		}
	}
	if(.Mode & 2 && (.@TT[1])){
		#Loyalty += .@TT[1];
		message strcharinfo(0),"[Login especial]: Recebido "+ .@TT[1] +" "+.Points$;
	}
	if(.Mode & 4 && (.@TT[0])){
		zeny += .@TT[0];
		message strcharinfo(0),"[Login especial]: Recebido "+ .@TT[0] +"z";
	}
	if(.Mode & 8 && (.@TT[3] || .@TT[4]))
		getexp .@TT[3], .@TT[4];

	if(.Mode & 16){
		.@Size = getarraysize(.BuffInfo);
		for(.@x = 0; .@x < .@Size; .@x += 4){
			if(.@NextDay == .BuffInfo[.@x + 1])
				sc_start .BuffInfo[.@x], .BuffInfo[.@x + 2] * 60000, .BuffInfo[.@x + 3];
		}
	}
	if(.Mode & 32){
		cutin .Cutins$[#DRewardCon],4;
		soundeffect "complete.wav", 0;
	}
	#DRewardCon++;
	#LastDailyReward = .@i;
	sleep2 1000;
	if(.Mode & 64) {
		cutin .Cutins$[#DRewardCon],4;
	}
	message strcharinfo(0),"[Login especial]: Você coletou sua recompensa diária, por "+callfunc("F_InsertPlural",#DRewardCon,"dia")+" este mês.";
	if(.Mode & 32 || .Mode & 64){
		sleep2 15000;
		cutin "",255;
	}
	end;

OnNextCmnd:
	.@time = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
	if(.@time >= @logintime + .Rest){
		message strcharinfo(0),"[Login especial]: sua próxima recompensa está disponível.";
	} else {
		.@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH);
		if(.@i <= #LastDailyReward)
			message strcharinfo(0),"[Login especial]: Sua próxima recompensa estará disponível amanhã.";
		else {
			.@days = (.@time >= @logintime + .Rest) / 60 / 24;
			.@hours = ((.@time >= @logintime + .Rest) / 60) % 24;
			.@mins = (.@time >= @logintime + .Rest) % 60;
			message strcharinfo(0),"[Login especial]: Você tem "+ ((.@days) ? .@days +" Dias " : "") + ((.@hours) ? .@hours +" Horas " : "") + ((.@mins) ? .@mins +" Minutos " : "") +" até sua próxima recompensa.";
		}
		if(.Mode & 32 || .Mode & 64){
			if(.@NextDay >= getarraysize(.Rewards$))
				.@g = 0;
			else	.@g = #DRewardCon + 1;
			cutin .Cutins$[.@g],4;
			soundeffect "complete.wav", 0;
		}
	}
	end;

OnHour00:
	if(gettime(DT_DAYOFMONTH) == 1){
		query_sql("DELETE FROM `acc_reg_num` WHERE `key` = '#DRewardCon' OR `key` = '#LastDailyReward'");
		addrid(0);
		#DRewardCon = #LastDailyReward = 0;
	}
	end;

OnInit:
	// Basic Settings
	//   1: Item | 2: Points | 4: Zeny | 8: Exp
	//   16: Gain Buffs
	//   32: Show Cutins | 64: Show Next Day Cutin
	//   128: Item Rewards Bound
	//   256: No Rewards for Autotraders 
	//     (a bit value, e.g. 3 = Items & Points from Multi)
	.Mode = 1|2|4|16|32|64|128|256;

	// Item Binding Mode
	//	 Bound_Account : Account Bound item
	//	 Bound_Guild   : Guild Bound item
	//	 Bound_Party   : Party Bound item
	//	 Bound_Char    : Character Bound item
	.Bound_Mode = Bound_Account;

	// To disable the command '@loginreward' comment the next lines
	// * Needs extra commands for typos
	bindatcmd("relog","LOGIN::OnLoginCmnd",0,99);
	bindatcmd("collectreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("dailyreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("collectdaily",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("nextreward",strnpcinfo(3)+"::OnNextCmnd",0,99);

	// Reset days back to 0 on a skipped day.
	// Toggle 
	// [0] = Off
	// [1] = On
	.Reset = 0;

	// .Rest
	// Delay after login to collect rewards
	// In Minutes
	.Rest = 0;

	// Point Name
	.Points$ = "Loyalty Points";

	// Ip check to prevent multi accounts
	// Toggle 
	// [0] = Off
	// [1] = On
	.IPCheck = 0;

	// Consecutive Days Buff
	// Each buff contains 4 variables
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 1
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 2
	//   ...;
	//
	//  Example: 188,7,45,3
	//    -On the 7th day logged in Player gains +3 Str for 45 mins
	//
	//  Type is 188, which references which SC_ to use, SC_INCSTR in this example
	//     -For a full list of SC_ visit the db/const.txt
	//  Days is days buff is applied, in this example 7, so every 7th day, 14,21,28....
	//  Duration is buff duration is Minuits, in this example 45 mins
	//  Rate is buff val1, in this example player gains 3 Str
	setarray .BuffInfo
				,260,2,360,1	// Life Insurance for 360 on 2nd Day
				,198,3,120,10	// +10% Hp for 120 Mins on 3rd Day
				,260,4,360,1	// Life Insurance for 360 on 4th Day
				,196,5,120,25	// +25 Flee for 120 Mins on 5th Day
				,198,6,120,10	// +10% Hp for 120 Mins on 6th Day
				,257,7,240,50	// +50% Exp for 240 Mins on 7th Day
				,260,8,360,1	// Life Insurance for 360 on 8th Day
				,198,9,120,10	// +10% Hp for 120 Mins on 9th Day
				,196,10,120,25	// +25 Flee for 120 Mins on 10th Day

				,9,12,120,10	// +10% Hp for 120 Mins on 12th Day
				,9,14,240,50	// +50% Exp for 240 Mins on 14th Day
				,9,15,120,50	// +25 Flee for 120 Mins on 15th Day
				,198,16,360,10	// Life Insurance for 360 on 16th Day

				,9,18,120,10	// +10% Hp for 120 Mins on 18th Day
				,9,20,120,25	// +25 Flee for 120 Mins on 20th Day
				,9,21,240,50	// +50% Exp for 240 Mins on 21st Day
				,9,22,360,1	// Life Insurance for 360 on 22nd Day

				,9,24,120,10	// +10% Hp for 120 Mins on 24th Day
				,9,25,120,25	// +25 Flee for 120 Mins on 25th Day
				,9,26,360,1	// Life Insurance for 360 on 26th Day
				,9,27,120,10	// +10% Hp for 120 Mins on 27th Day
				,9,28,240,50	// +50% Exp for 240 Mins on 28th Day

				,9,30,120,25;	// +25 Flee for 120 Mins on 30th Day

	// Daily Prize items:
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Day 1
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc"  // Day 2
	//   ...;
	// Total length of any days string must be 255 or shorter
	setarray .Rewards$[1],
		"0,0,0,0,12016,100",				// Day 1
		"0,0,0,0,28995,1",		// Day 2
		"0,0,0,0,7539,2",		// Day 3
		"0,0,0,0,14601,200",				// Day 4
		"0,0,0,0,12299,100",				// Day 5
		"0,0,0,0,12684,200",		// Day 6
		"0,0,0,0,28996,1",		// Day 7
		"0,0,0,0,14614,300",			// Day 8
		"0,0,0,0,28995,1",			// Day 9
		"0,0,0,0,12786,10",		// Day 10
		"0,0,0,0,12424,150",				// Day 11
		"0,0,0,0,12427,200",				// Day 12
		"0,0,0,0,7539,2",			// Day 13
		"0,0,0,0,28997,1",			// Day 14
		"0,0,0,0,28995,1",				// Day 15
		"0,0,0,0,12418,300",				// Day 16
		"0,0,0,0,12419,300",				// Day 17
		"0,0,0,0,12404,150",		// Day 18
		"0,0,0,0,7539,2",			// Day 19
		"0,0,0,0,12786,10",			// Day 20
		"0,0,0,0,28998,1",		// Day 21
		"0,0,0,0,14591,3",			// Day 22
		"0,0,0,0,12221,50",		// Day 23
		"0,0,0,0,7539,2",				// Day 24
		"0,0,0,0,28995,1",			// Day 25
		"0,0,0,0,14614,300",		// Day 26
		"0,0,0,0,12786,15",				// Day 27
		"0,0,0,0,28999,1";				// Day 28


	// Cutin Array
	//	Shows a cutin before collecting for each date
	//	Start at 0 if showing next day
	setarray .Cutins$,
			"Daily_00",
			"Daily_01",
			"Daily_02",
			"Daily_03",
			"Daily_04",
			"Daily_05",
			"Daily_06",
			"Daily_07",
			"Daily_08",
			"Daily_09",
			"Daily_10",
			"Daily_11",
			"Daily_12",
			"Daily_13",
			"Daily_14",
			"Daily_15",
			"Daily_16",
			"Daily_17",
			"Daily_18",
			"Daily_19",
			"Daily_20",
			"Daily_21",
			"Daily_22",
			"Daily_23",
			"Daily_24",
			"Daily_25",
			"Daily_26",
			"Daily_27",
			"Daily_28",
			"kafra_08",
			"kafra_09",
			"kafra_01",
			"kafra_02",
			"kafra_03";
end;
}

 

  • 0
Posted

Thanks for replying, I ran a test and it is showing error on line 63

 

    62 :                message strcharinfo(0),"[Login especial]: Não há mais recompensas restantes este mês.";
*   63 :                'c'ontinue;

 

  • 0
Posted

try again on this, i forget i remove the for loop thus the continue should be remove as well.

//===== EinherjarRO Scripts ================================== 
//= Requested 
//===== By: ================================================== 
//= Stolao
//===== Current Version: =====================================
//= 2.1C
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= A reward system for players who play more frequently
//===== Todo =================================================
//= Make Logging out then it continue count
//===== Additional Comments: =================================
//= 2.00 Origional Make
//= 2.01 Fixed Logic Bug
//= 2.02 Fixed Year Multiplier
//= 2.03 Added an IP check
//= 2.04 Split Rewards up
//= 2.05 Move ip check to Daily reward collection
//= 2.06 Added ability to see next day via commands/relogging
//= 2.07 Added Delay
//= 2.08 Moved Delay to none VIP only
//= 2.09 Removed some useless lines
//= 2.0A Removed Menus due to bugs
//= 2.0B Fixed VIP Cutin
//= 2.0C Added it showing previos day cutin
//= 2.0D Added a for loop
//= 2.0E Fixed Ramined logged in time calculation (visual bug)
//= 2.0F Added a F_InsertPlural to "more minute"
//= 2.10 Added a Mac Check
//= 2.11 Changed the IP check to [Sader1992] version
//= 2.12 Enable Bound Type
//= 2.13 Added 'collectreward', 'dailyreward', 'collectdaily' Commands
//= 2.14 Added 'nextreward' Command
//= 2.15 Added Daily Buffs
//= 2.16 Added Exp Rewards
//= 2.17 Removed Reards for Autotraders
//= 2.18 Move Buffs to Daily so VIP wont trigger twice
//= 2.19 Optimized Slightly
//= 2.1A Fixed a bug with VIP getting bonus rewards in normal rewards
//= 2.1B Fixed some documentaion
//= 2.1C Fixed extra '['
//===== Contact Info: ========================================
//= [Stolao] 
//= Email: [email protected]
//============================================================
prontera,5,5,5	script	LOGIN	111,{
OnPCLoginEvent:
	if(!@logintime)
		@logintime = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
OnLoginCmnd:
	.@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH);
	if(.Reset && .@i > #LastDailyReward + 1)
		#DRewardCon = 0;
	.@Size = getarraysize(.Rewards$);
	if(#DRewardCon >= .@Size){
		#LastDailyReward = .@i;
		end;
	}
	sleep2 1000;
	if(#DRewardCon >= .@Size){
		message strcharinfo(0),"[Login especial]: Não há mais recompensas restantes este mês.";
		
	} else if(.@i <= #LastDailyReward){
		message strcharinfo(0),"[Login especial]: Recompensas já coletadas hoje.";
		
	}
	if(.IPCheck){
		query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+getcharip()+"'", .@AccountId);
		.@Size = getarraysize(.@AccountId);
		for(.@i=0; .@i < .@Size; .@i++){
			query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId[.@i]+"' AND `key` = '#LastDailyReward'",.@LastIp2);
			if(.@i <= .@LastIp2){
				message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por IP.";
				
			}
		}
	}
	if(.MacCheck){
		query_sql("SELECT last_unique_id FROM `login` WHERE account_id = "+getcharid(3)+"", .@last_unique_id$);
		query_sql("SELECT account_id FROM `login` WHERE last_unique_id = '"+.@last_unique_id$+"'", .@AccountId2);
		.@Size = getarraysize(.@AccountId2);
		for(.@i=0; .@i < .@Size; .@i++){
			query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId2[.@i]+"' AND `key` = '#LastDailyReward'",.@MacCheck2);
			if(.@i <= .@MacCheck2){
				message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por computador.";
				
			}
		}
	}
	if(.Rest){
		.@time = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
		if(.@time < @logintime + .Rest){
			.@delay = @logintime + .Rest - .@time;
			message strcharinfo(0),"[Login especial]: para coletar recompensas, você deve permanecer logado por "+callfunc("F_InsertPlural",.@delay,"more minute")+".";
			
		}	
	}
	deletearray .@XT$[0],getarraysize(.@XT$);
	.@NextDay = #DRewardCon + 1;
	explode(.@XT$,.Rewards$[.@NextDay],",");
	if(checkvending() & 2 && .Mode & 256){
		message strcharinfo(0),"[Login especial]: Vendedores não podem receber recompensas.";
		end;
	}
	.@Size = getarraysize(.@XT$);
	deletearray .@TT[0],getarraysize(.@TT);
	deletearray .@itms[0],getarraysize(.@itms);
	deletearray .@qnts[0],getarraysize(.@qnts);
	for(.@x = y = 0; .@x < .@Size; .@x++)
		.@TT[.@x] = atoi(.@XT$[.@x]);
	if(.Mode & 1 && (.@TT[4] > 0 || .@vip[4] > 0)){
		.@Size = getarraysize(.@TT);
		for(.@x = 4; .@x <= .@Size - 1 ; .@x += 2){
			.@itms[.@y] = .@TT[.@x];
			.@qnts[.@y] = .@TT[.@x + 1];
			.@y++;
		}
		if(checkweight2(.@itms,.@qnts)){
			for(.@x = 0; .@x < .@y; .@x++){
				if(.Mode & 128)
					getitembound  .@itms[.@x], .@qnts[.@x], .Bound_Mode;
				else	getitem  .@itms[.@x], .@qnts[.@x];
			}
		} else {
			message strcharinfo(0),"[Login especial]: Você não pode carregar os prêmios, use o storage e relogue.";
			
		}
	}
	if(.Mode & 2 && (.@TT[1])){
		#Loyalty += .@TT[1];
		message strcharinfo(0),"[Login especial]: Recebido "+ .@TT[1] +" "+.Points$;
	}
	if(.Mode & 4 && (.@TT[0])){
		zeny += .@TT[0];
		message strcharinfo(0),"[Login especial]: Recebido "+ .@TT[0] +"z";
	}
	if(.Mode & 8 && (.@TT[3] || .@TT[4]))
		getexp .@TT[3], .@TT[4];

	if(.Mode & 16){
		.@Size = getarraysize(.BuffInfo);
		for(.@x = 0; .@x < .@Size; .@x += 4){
			if(.@NextDay == .BuffInfo[.@x + 1])
				sc_start .BuffInfo[.@x], .BuffInfo[.@x + 2] * 60000, .BuffInfo[.@x + 3];
		}
	}
	if(.Mode & 32){
		cutin .Cutins$[#DRewardCon],4;
		soundeffect "complete.wav", 0;
	}
	#DRewardCon++;
	#LastDailyReward = .@i;
	sleep2 1000;
	if(.Mode & 64) {
		cutin .Cutins$[#DRewardCon],4;
	}
	message strcharinfo(0),"[Login especial]: Você coletou sua recompensa diária, por "+callfunc("F_InsertPlural",#DRewardCon,"dia")+" este mês.";
	if(.Mode & 32 || .Mode & 64){
		sleep2 15000;
		cutin "",255;
	}
	end;

OnNextCmnd:
	.@time = gettime(DT_YEAR) * 60 * 24 * 365 + gettime(DT_DAYOFYEAR) * 60 * 24 + gettime(DT_HOUR) * 60 + gettime(DT_MINUTE);
	if(.@time >= @logintime + .Rest){
		message strcharinfo(0),"[Login especial]: sua próxima recompensa está disponível.";
	} else {
		.@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH);
		if(.@i <= #LastDailyReward)
			message strcharinfo(0),"[Login especial]: Sua próxima recompensa estará disponível amanhã.";
		else {
			.@days = (.@time >= @logintime + .Rest) / 60 / 24;
			.@hours = ((.@time >= @logintime + .Rest) / 60) % 24;
			.@mins = (.@time >= @logintime + .Rest) % 60;
			message strcharinfo(0),"[Login especial]: Você tem "+ ((.@days) ? .@days +" Dias " : "") + ((.@hours) ? .@hours +" Horas " : "") + ((.@mins) ? .@mins +" Minutos " : "") +" até sua próxima recompensa.";
		}
		if(.Mode & 32 || .Mode & 64){
			if(.@NextDay >= getarraysize(.Rewards$))
				.@g = 0;
			else	.@g = #DRewardCon + 1;
			cutin .Cutins$[.@g],4;
			soundeffect "complete.wav", 0;
		}
	}
	end;

OnHour00:
	if(gettime(DT_DAYOFMONTH) == 1){
		query_sql("DELETE FROM `acc_reg_num` WHERE `key` = '#DRewardCon' OR `key` = '#LastDailyReward'");
		addrid(0);
		#DRewardCon = #LastDailyReward = 0;
	}
	end;

OnInit:
	// Basic Settings
	//   1: Item | 2: Points | 4: Zeny | 8: Exp
	//   16: Gain Buffs
	//   32: Show Cutins | 64: Show Next Day Cutin
	//   128: Item Rewards Bound
	//   256: No Rewards for Autotraders 
	//     (a bit value, e.g. 3 = Items & Points from Multi)
	.Mode = 1|2|4|16|32|64|128|256;

	// Item Binding Mode
	//	 Bound_Account : Account Bound item
	//	 Bound_Guild   : Guild Bound item
	//	 Bound_Party   : Party Bound item
	//	 Bound_Char    : Character Bound item
	.Bound_Mode = Bound_Account;

	// To disable the command '@loginreward' comment the next lines
	// * Needs extra commands for typos
	bindatcmd("relog","LOGIN::OnLoginCmnd",0,99);
	bindatcmd("collectreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("dailyreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("collectdaily",strnpcinfo(3)+"::OnLoginCmnd",0,99);
	bindatcmd("nextreward",strnpcinfo(3)+"::OnNextCmnd",0,99);

	// Reset days back to 0 on a skipped day.
	// Toggle 
	// [0] = Off
	// [1] = On
	.Reset = 0;

	// .Rest
	// Delay after login to collect rewards
	// In Minutes
	.Rest = 0;

	// Point Name
	.Points$ = "Loyalty Points";

	// Ip check to prevent multi accounts
	// Toggle 
	// [0] = Off
	// [1] = On
	.IPCheck = 0;

	// Consecutive Days Buff
	// Each buff contains 4 variables
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 1
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 2
	//   ...;
	//
	//  Example: 188,7,45,3
	//    -On the 7th day logged in Player gains +3 Str for 45 mins
	//
	//  Type is 188, which references which SC_ to use, SC_INCSTR in this example
	//     -For a full list of SC_ visit the db/const.txt
	//  Days is days buff is applied, in this example 7, so every 7th day, 14,21,28....
	//  Duration is buff duration is Minuits, in this example 45 mins
	//  Rate is buff val1, in this example player gains 3 Str
	setarray .BuffInfo
				,260,2,360,1	// Life Insurance for 360 on 2nd Day
				,198,3,120,10	// +10% Hp for 120 Mins on 3rd Day
				,260,4,360,1	// Life Insurance for 360 on 4th Day
				,196,5,120,25	// +25 Flee for 120 Mins on 5th Day
				,198,6,120,10	// +10% Hp for 120 Mins on 6th Day
				,257,7,240,50	// +50% Exp for 240 Mins on 7th Day
				,260,8,360,1	// Life Insurance for 360 on 8th Day
				,198,9,120,10	// +10% Hp for 120 Mins on 9th Day
				,196,10,120,25	// +25 Flee for 120 Mins on 10th Day

				,9,12,120,10	// +10% Hp for 120 Mins on 12th Day
				,9,14,240,50	// +50% Exp for 240 Mins on 14th Day
				,9,15,120,50	// +25 Flee for 120 Mins on 15th Day
				,198,16,360,10	// Life Insurance for 360 on 16th Day

				,9,18,120,10	// +10% Hp for 120 Mins on 18th Day
				,9,20,120,25	// +25 Flee for 120 Mins on 20th Day
				,9,21,240,50	// +50% Exp for 240 Mins on 21st Day
				,9,22,360,1	// Life Insurance for 360 on 22nd Day

				,9,24,120,10	// +10% Hp for 120 Mins on 24th Day
				,9,25,120,25	// +25 Flee for 120 Mins on 25th Day
				,9,26,360,1	// Life Insurance for 360 on 26th Day
				,9,27,120,10	// +10% Hp for 120 Mins on 27th Day
				,9,28,240,50	// +50% Exp for 240 Mins on 28th Day

				,9,30,120,25;	// +25 Flee for 120 Mins on 30th Day

	// Daily Prize items:
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Day 1
	//   "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc"  // Day 2
	//   ...;
	// Total length of any days string must be 255 or shorter
	setarray .Rewards$[1],
		"0,0,0,0,12016,100",				// Day 1
		"0,0,0,0,28995,1",		// Day 2
		"0,0,0,0,7539,2",		// Day 3
		"0,0,0,0,14601,200",				// Day 4
		"0,0,0,0,12299,100",				// Day 5
		"0,0,0,0,12684,200",		// Day 6
		"0,0,0,0,28996,1",		// Day 7
		"0,0,0,0,14614,300",			// Day 8
		"0,0,0,0,28995,1",			// Day 9
		"0,0,0,0,12786,10",		// Day 10
		"0,0,0,0,12424,150",				// Day 11
		"0,0,0,0,12427,200",				// Day 12
		"0,0,0,0,7539,2",			// Day 13
		"0,0,0,0,28997,1",			// Day 14
		"0,0,0,0,28995,1",				// Day 15
		"0,0,0,0,12418,300",				// Day 16
		"0,0,0,0,12419,300",				// Day 17
		"0,0,0,0,12404,150",		// Day 18
		"0,0,0,0,7539,2",			// Day 19
		"0,0,0,0,12786,10",			// Day 20
		"0,0,0,0,28998,1",		// Day 21
		"0,0,0,0,14591,3",			// Day 22
		"0,0,0,0,12221,50",		// Day 23
		"0,0,0,0,7539,2",				// Day 24
		"0,0,0,0,28995,1",			// Day 25
		"0,0,0,0,14614,300",		// Day 26
		"0,0,0,0,12786,15",				// Day 27
		"0,0,0,0,28999,1";				// Day 28


	// Cutin Array
	//	Shows a cutin before collecting for each date
	//	Start at 0 if showing next day
	setarray .Cutins$,
			"Daily_00",
			"Daily_01",
			"Daily_02",
			"Daily_03",
			"Daily_04",
			"Daily_05",
			"Daily_06",
			"Daily_07",
			"Daily_08",
			"Daily_09",
			"Daily_10",
			"Daily_11",
			"Daily_12",
			"Daily_13",
			"Daily_14",
			"Daily_15",
			"Daily_16",
			"Daily_17",
			"Daily_18",
			"Daily_19",
			"Daily_20",
			"Daily_21",
			"Daily_22",
			"Daily_23",
			"Daily_24",
			"Daily_25",
			"Daily_26",
			"Daily_27",
			"Daily_28",
			"kafra_08",
			"kafra_09",
			"kafra_01",
			"kafra_02",
			"kafra_03";
end;
}

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...