Jump to content
  • 0
Sign in to follow this  
dhaisuke

Daily Rewards Help

Question

Hi Guys how to add another items for daily rewards? i'm getting error

 

//===== EinherjarRO Scripts ================================== 
//= Daily Prize, OnPCLoginEvent
//===== By: ================================================== 
//= Stolao
//===== Current Version: ===================================== 
//= 1.59
//===== Compatible With: ===================================== 
//= rAthena SVN
//===== Description: ========================================= 
//= A reward system for players who play more frequently
//===== Comments: ============================================
//= Maybe Make .MinWait an array mins,days,weeks,months,years;
//===== Additional Comments: =================================
//= For Older See Forums
//= 1.51 Changed set .@g formula and move lower into script
//= 1.52 Replace all disbottom -> message
//= 1.53 Changed Format to Include minuets instead of just hours
//= 1.54 Made Time till next rewards display dynamic
//= 1.55 Changed a forgotten  .PointType$ -> getd(.@TT[1])
//= 1.56 changed .@XT -> .@XT$
//= 1.57 Added Atoi where nessisary
//= 1.58 Fixed a swapped .@x and .@x+1
//= 1.59 Serveral Edit Undocumented to fix
//===== Contact Info: ========================================
//= [Stolao] 
//= Email: [email protected]
//============================================================
-	script	LOGIN	-1,{
OnWhisperGlobal:
OnLoginCmnd:
OnPCLoginEvent:
	sleep2 1000 + .Rest * 120000;
	set .@i, (gettime(7) * 365 * 24 * 60) + (gettime(8) * 24 * 60) + (gettime(3) * 60) +gettime(2);
	if(.@i >= (#LastDailyReward + .MinWait)){
		if(.@i < #LastDailyReward + .MaxWait){	set #DRewardCon, #DRewardCon + 1;
		} else {	set #DRewardCon, 1;	}
		set .@g, (#DRewardCon > getarraysize(.Rewards$)) ? (getarraysize(.Rewards$)-1) : #DRewardCon;
		explode(.@XT$,.Rewards$[.@g],"|");
		for(set .@x,0; .@x < getarraysize(.@XT$); set .@x,.@x + 1){
			set .@TT[.@x], atoi(.@XT$[.@x]);
		}
		if(.Mode & 1 && .@TT[4]){	//[Note]: I need to figure out a checkweight for all items tired atm lol, for now ill leave it missing
			for(set .@x,4; .@x < getarraysize(.@TT); set .@x,.@x + 2){	getitem  .@TT[.@x], .@TT[.@x+1];	message strcharinfo(0),"Recived "+  .@TT[.@x+1] +" "+ getitemname(.@TT[.@x]);	}
		}
		if(.Mode & 2){
			if(.@TT[0]){	set Zeny,Zeny + .@TT[0];	message strcharinfo(0),"Recived "+ .@TT[0] +"z";	}
			if(.@TT[1]){	setd getd(.Points$[0]),getd(.Points$[0]) + .@TT[1];	message strcharinfo(0),"Recived "+ .@TT[1] +" "+.Points$[1];	}
		}
		if(.Mode & 4 && (.@TT[3] || .@TT[4])) getexp .@TT[3], .@TT[4];
		if(.Mode & 8){
			for(set .@x,0; .@x < getarraysize(.BuffInfo); set .@x,.@x + 4){
				if(#DRewardCon % .BuffInfo[.@x + 1] == 0)
					sc_start .BuffInfo[.@x], .BuffInfo[.@x + 2] * 60000, .BuffInfo[.@x + 3];
			}
		}
		message strcharinfo(0),"You have collected your daily reward, for "+#DRewardCon+" day"+((#DRewardCon > 1)?"s":"")+" in a row.";
		//===============Display of pic's with day highlighted.=======================
		cutin .Pic$[.@g],4;
		//============================================================================
		set #LastDailyReward, .@i;
		
	} else {
		set .@days,(#LastDailyReward + .MinWait - .@i)/60/24;
		set .@hours,((#LastDailyReward + .MinWait - .@i)/60)%24;
		set .@mins,(#LastDailyReward + .MinWait - .@i)%60;
		message strcharinfo(0),"You have "+ ((.@days) ? .@days +":Days " : "") +""+ ((.@hours) ? .@hours +":Hours " : "") +""+ ((.@mins) ? .@mins +":Minutes " : "") +"till your next reward";
	}
end;
OnInit:
	//Basic Settings
	//   1: Item | 2: Points | 4: Exp  
	//   8: Gain Buffs Every X Consecutive Days logged in
	// (a bit value, e.g. 3 = Items & Points from Multi)
	set .Mode,1;

	//To Enable @ Command '@loginreward' unslash next lines
	// * Needs extra commands for typos
	bindatcmd("relog"	,"LOGIN::OnLoginCmnd",0,99);

	//Minimum Minuets Between Collecting Daily Reward
	//   Day: 22*60 - 24*60
	//   Week: 10080
	set .MinWait,1;

	//Minuets Before Lose Consecutive Daily Reward
	//   Day: 48*60 - 50*60
	//   Week: 20160
	set .MaxWait,3000;

	//Number of mins after logging before collecting prize
	set .Rest,0;

	//Point Type
	//   [0] Points earned
	//   [1] Point name in mes
	setarray .Points$,"#KAFRAPOINTS","K-Points";

	// Consecutive Days Buff
	// Each buff contains 4 variables (32 Total Max)
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 1
	// <Type>,<Days>,<Duration>,<Rate>, // Buff 2
	//   ...;
	//
	//  Example: 188,7,45,3
	//    -Every 7th consecutive 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 strength, in this example player gains 3 Str
	setarray .BuffInfo	,260,2,360,1	// Life Insurance for 360 Mins Every 2nd Day
				,198,3,120,10	// +10% Hp for 120 Mins Every 3th Day
				,196,5,120,25	// +25 Flee for 120 Mins Every 5th Day
				,257,7,240,50;	// +50% Exp for 240 Mins Every 7th Day

	// Daily Prize items (max 128 days):
	//   "<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
	// * If players login longer than the last set
	//   day, they will keep getting the last prize.
	setarray .Rewards$,
		"100",					// Day 1: 100 Zeny
		"0|0|0|0|501|5",			// Day 2: 5 Red Potion
		"0|0|0|0|503|5|506|5";			// Day 3: 5 White Potion + 5 Green Potion	
		"0|0|0|0|503|5|506|5";
		
	setarray .Pic$,
	"tutorial01", //pic with day1 highlighted
	"tutorial02", //pic with day2 highlighted
	"tutorial03"; //pic with day3 highlighted
end;
}

 


Sorry Solve.

post-1574-0-83045800-1484809222_thumb.png

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.