Jump to content
  • 0

Question

Posted (edited)


OnInit:

// == <itemid><amount><refine><mode>

setarray .tier1[1],12412,10,0,1;

setarray .tier2[1],2371,1,7,1,2523,1,7,1;

setarray .tier3[1],1624,1,9,1;

setarray .tier4[1],5518,1,0,2;

setarray .tier5[1],5518,1,0,1;

setarray .tier6[1],5518,1,0,1;

setarray .tier7[1],5518,1,0,1;

setarray .tier8[1],5518,1,0,1;

setarray .tier9[1],5518,1,0,1;

setarray .tier10[1],5518,1,0,1;

end;


switch(select("[T1] 10,000 or above:[T2] 25,000 or above:[T3] 50,000 or above:[T4] 75,000 or above:[T5] 100,000 or above:[T6] 125,000 or above:[T7] 150,000 or above:[T8] 175,000 or above:[T9] 200,000 or above:[T10] 250,000 or above")){

case 1: callsub S_TierReward,1,10000,.tier1,.tier1[.@i],.tier1[.@i+1],.tier1[.@i+2],.tier1[.@i+3]; break;

case 2: callsub S_TierReward,2,25000,.tier2,.tier2[.@i],.tier2[.@i+1],.tier2[.@i+2],.tier2[.@i+3]; break;

case 3: callsub S_TierReward,3,50000,.tier3,.tier3[.@i],.tier3[.@i+1],.tier3[.@i+2],.tier3[.@i+3]; break;

case 4: callsub S_TierReward,4,75000,.tier4,.tier4[.@i],.tier4[.@i+1],.tier4[.@i+2],.tier4[.@i+3]; break;

case 5: callsub S_TierReward,5,100000,.tier5,.tier5[.@i],.tier5[.@i+1],.tier5[.@i+2],.tier5[.@i+3]; break;

case 6: callsub S_TierReward,6,125000,.tier6,.tier6[.@i],.tier6[.@i+1],.tier6[.@i+2],.tier6[.@i+3]; break;

case 7: callsub S_TierReward,7,150000,.tier7,.tier7[.@i],.tier7[.@i+1],.tier7[.@i+2],.tier7[.@i+3]; break;

case 8: callsub S_TierReward,8,175000,.tier8,.tier8[.@i],.tier8[.@i+1],.tier8[.@i+2],.tier8[.@i+3]; break;

case 9: callsub S_TierReward,9,200000,.tier9,.tier9[.@i],.tier9[.@i+1],.tier9[.@i+2],.tier9[.@i+3]; break;

case 10: callsub S_TierReward,10,250000,.tier10,.tier10[.@i],.tier10[.@i+1],.tier10[.@i+2],.tier10[.@i+3]; break;

}


S_TierReward:

if(#tieramount >= getarg(1)){

// Need to fix this because I want it check the first tier before claiming the next tier.

if ( #tier == getarg(0)){

mes .npcname$;

mes "Please claim first the "+(getarg(0))+" Tier Rewards.";

close;

}

// At this part I can't get any items from above. The for loop is not working please help.

mes .npcname$;

mes "We sent your tier bonus trough our Reward NPC.";

for( set .@i, 1; .@i < getarraysize(getarg(2)); set .@i, .@i + 3 ){

if(getarg(6) == 1){

getitem2 getarg(3),getarg(4),1,getarg(5),0,0,0,0,0;

}else if(getarg(6) == 2){

atcommand "@costumeitem "+getarg(3);

}

}

set #tier,#tier + 1;

if (#tier >= 10){

set #tieramount, #tieramount - getarg(1);

set #tier,0;

}

end;

}else{

mes .npcname$;

mes "Converted Cash Points is not enough.";

close;

}

return;

Edited by gmprestige

3 answers to this question

Recommended Posts

Posted (edited)
prontera,113,86,4	script	Donate Manager	790,{
mes .npcname$;
mes "What can I do for you?";
next;
switch(select("Convert Credits to Cash Points"+((.tierpromo == 1)?":[^ff0000Promo^000000] Tiered Spender":"")+""+((getgmlevel() == 100)?":[^ff0000Reset^000000] Tier Points":"")+"")) {

case 1:
	query_sql("SELECT `balance` FROM `cp_credits` WHERE `account_id` = '"+getcharid(3)+"'",.@balance);
	mes .npcname$;
	mes "^ff0000Account Information^000000";
	mes "Total Credits: ^FF0000"+.@balance+"^000000";
	mes "Total Cash Points: ^FF0000"+#CASHPOINTS+"^000000";
	mes "       ";
	mes "^00FF00Do you really want to covert your credits to Cash Points?^000000";
next;
	switch(select("Yes:No.")){

	case 1:
		mes .npcname$;
		mes "^ff0000Account Information^000000";
		mes "Total Credits: ^FF0000"+.@balance+"^000000";
		mes "Total Cash Points: ^FF0000"+#CASHPOINTS+"^000000";
		mes "       ";
		mes "^0000FFChoose the amount you wanted to convert.^000000";
		next;
		switch(select("10,000 CP + 1 Day VIP:20,000 CP + 3 Days VIP:40,000 CP + 7 Days VIP:Others")){


		
		case 1:
		set .@credits,10000;
		set .@day,1;
		goto process;
		end;
		
		case 2:
		set .@credits,20000;
		set .@day,3;
		goto process;
		end;
		
		case 3:
		set .@credits,40000;
		set .@day,7;
		goto process;
		end;
		
		case 4:
		mes .npcname$;
		mes "^ff0000Account Information^000000";
		mes "Total Credits: ^FF0000"+.@balance+"^000000";
		mes "Total Cash Points: ^FF0000"+#CASHPOINTS+"^000000";
		mes "       ";
		mes "^0000FFInput the amount you wanted to convert.^000000";
		next;
		input .@credits;
		goto process;
		end;
		}
		process:
		if(.@credits < 1){goto Invalid;}
		if(.@credits > .@balance){goto C_enough;}
		atcommand "@cash "+(.@credits + .@bonus)+"";
		if(.@day){
		atcommand "@vip "+.@day+"d "+strcharinfo(0);
		}
		query_sql "update `cp_credits` set `balance` = `balance` - "+ .@credits +" where `account_id` = '"+getcharid(3)+"'";
		mes .npcname$;
		mes "Thank you for using this service.";
		set #tieramount, #tieramount + .@credits;
		close;
	
	case 2:
		goto Thanks;
		end;
	}
	
		case 2:
		mes .npcname$;
		mes "Donate and covert your credits now. Have a chance to get free items depending to the credits amount you converted this month. The more credits you convert the coolest items you will get.";
		mes "       ";
		next;
		switch(select("Open a tier:Tiers Reward List")){
		
		
		case 1:
		mes .npcname$;
		mes "Converted Credits: "+#tieramount+"";
		next;
		switch(select("[T1] 10,000 or above:[T2] 25,000 or above:[T3] 50,000 or above:[T4] 75,000 or above:[T5] 100,000 or above:[T6] 125,000 or above:[T7] 150,000 or above:[T8] 175,000 or above:[T9] 200,000 or above:[T10] 250,000 or above")){
		case 1: callsub S_TierReward,1,10000,.tier1,.tier1[.@i],.tier1[.@i+1],.tier1[.@i+2],.tier1[.@i+3]; break;
		case 2: callsub S_TierReward,2,25000,.tier2,.tier2[.@i],.tier2[.@i+1],.tier2[.@i+2],.tier2[.@i+3]; break;
		case 3: callsub S_TierReward,3,50000,.tier3,.tier3[.@i],.tier3[.@i+1],.tier3[.@i+2],.tier3[.@i+3]; break;
		case 4: callsub S_TierReward,4,75000,.tier4,.tier4[.@i],.tier4[.@i+1],.tier4[.@i+2],.tier4[.@i+3]; break;
		case 5: callsub S_TierReward,5,100000,.tier5,.tier5[.@i],.tier5[.@i+1],.tier5[.@i+2],.tier5[.@i+3]; break;
		case 6: callsub S_TierReward,6,125000,.tier6,.tier6[.@i],.tier6[.@i+1],.tier6[.@i+2],.tier6[.@i+3]; break;
		case 7: callsub S_TierReward,7,150000,.tier7,.tier7[.@i],.tier7[.@i+1],.tier7[.@i+2],.tier7[.@i+3]; break;
		case 8: callsub S_TierReward,8,175000,.tier8,.tier8[.@i],.tier8[.@i+1],.tier8[.@i+2],.tier8[.@i+3]; break;
		case 9: callsub S_TierReward,9,200000,.tier9,.tier9[.@i],.tier9[.@i+1],.tier9[.@i+2],.tier9[.@i+3]; break;
		case 10: callsub S_TierReward,10,250000,.tier10,.tier10[.@i],.tier10[.@i+1],.tier10[.@i+2],.tier10[.@i+3]; break;
		}

		S_TierReward:
			if(#tieramount >= getarg(1)){
								
			if ( #tier == .tier[1]){ 
				mes .npcname$; 
				mes "Please claim first the "+(.tier[1]-1)+" Tier Rewards.";
				close;
			}
			
				mes .npcname$; 
				mes "We sent your tier bonus trough our Reward NPC."; 
				for( set .@i, 1; .@i < getarraysize(getarg(2)); set .@i, .@i + 3 ){
					if(getarg(6) == 1){
						getitem2 getarg(3),getarg(4),1,getarg(5),0,0,0,0,0;
					}else if(getarg(6) == 2){
						atcommand "@costumeitem "+getarg(3);
					}
				}
				set #tier,#tier + 1;
				if (#tier >= 10){
				set #tieramount, #tieramount - getarg(1);
				set #tier,0;
				}
				end;

			}else{ 
			mes .npcname$; 
			mes "Converted Cash Points is not enough.";
			close;
			}
		return;
		
		case 2:
		mes "[^0000ff TIER 1 ^000000]";
		for( set .@i, 1; .@i < getarraysize(.tier1); set .@i, .@i + 4 ){
			mes ""+((.tier1[.@i+2] >= 1)?"+"+.tier1[.@i+1]+" ":"")+""+getitemname(.tier1[.@i])+" ["+getitemslots(.tier1[.@i])+"] x "+.tier1[.@i+1]+"";
		}
		mes "   ";
		mes "[^0000ff TIER 2 ^000000]";
		for( set .@i, 0; .@i < getarraysize(.tier2); set .@i, .@i + 4 ){
			mes ""+((.tier2[.@i+2] >= 1)?"+"+.tier2[.@i+2]+" ":"")+""+getitemname(.tier2[.@i])+" ["+getitemslots(.tier2[.@i])+"] x "+.tier2[.@i+1]+"";
		}
		mes "   ";
		mes "[^0000ff TIER 3 ^000000]";
		for( set .@i, 0; .@i < getarraysize(.tier3); set .@i, .@i + 4 ){
			mes ""+((.tier3[.@i+2] >= 1)?"+"+.tier3[.@i+2]+" ":"")+""+getitemname(.tier3[.@i])+" ["+getitemslots(.tier3[.@i])+"] x "+.tier3[.@i+1]+"";
		}
		mes "   ";
		mes "[^0000ffTIER 4 ^000000]";
		for( set .@i, 0; .@i < getarraysize(.tier4); set .@i, .@i + 4 ){
			if(.tier4[.@i+3] == 1){
				mes ""+((.tier4[.@i+2] >= 1)?"+"+.tier4[.@i+2]+" ":"")+""+getitemname(.tier4[.@i])+" x "+.tier4[.@i+1]+"";
			}else if(.tier4[.@i+3] == 2){
				mes ""+((.tier4[.@i+2] >= 1)?"+"+.tier4[.@i+2]+" ":"")+"Costume's "+getitemname(.tier4[.@i])+" x "+.tier4[.@i+1]+"";
			}
		}
		mes "   ";
		mes "[^0000ff TIER 5 ^000000]";
		for( set .@i, 0; .@i < getarraysize(.tier5); set .@i, .@i + 4 ){
			if(.tier5[.@i+3] == 1){
				mes ""+((.tier5[.@i+2] >= 1)?"+"+.tier5[.@i+2]+" ":"")+""+getitemname(.tier5[.@i])+" x "+.tier5[.@i+1]+"";
			}else if(.tier5[.@i+3] == 2){
				mes ""+((.tier5[.@i+2] >= 1)?"+"+.tier5[.@i+2]+" ":"")+"Costume's "+getitemname(.tier5[.@i])+" x "+.tier5[.@i+1]+"";
			}
		}
		close;
		}
		case 3:
		mes .npcname$;
		mes "Tier Points has been reset.";
		query_sql "DELETE FROM `global_reg_value` WHERE `str`='#tieramount'";
		query_sql "DELETE FROM `global_reg_value` WHERE `str`='#tier1'";
		query_sql "DELETE FROM `global_reg_value` WHERE `str`='#tier2'";
		query_sql "DELETE FROM `global_reg_value` WHERE `str`='#tier3'";
		query_sql "DELETE FROM `global_reg_value` WHERE `str`='#tier4'";
		end;

}
Thanks:
		mes .npcname$;
		mes "I respect your decision. Please try my service again";
		close;
		
C_enough:
	mes .npcname$;
	mes "Sorry but you don't have enough credits.";
	close;

	
Invalid:
	mes .npcname$;
	mes "Invalid Input.";
	close;
	
OnInit:

// == <itemid><amount><refine>
setarray .tier1[1],12412,10,0,1;

setarray .tier2[1],2371,1,7,1,2523,1,7,1;

setarray .tier3[1],1624,1,9,1;

setarray .tier4[1],5518,1,0,2;

setarray .tier5[1],5518,1,0,1;

setarray .tier6[1],5518,1,0,1;

setarray .tier7[1],5518,1,0,1;

setarray .tier8[1],5518,1,0,1;

setarray .tier9[1],5518,1,0,1;

setarray .tier10[1],5518,1,0,1;
		
set .npcname$,"[Donate Manager]"; 
set .creditstocash,0;
set .tierpromo,1;
set .creditrate,3000;
set .zenyrate,35000000;
set .maximumzeny,2000000000;
end;

}

Can you please fix it all.

Edited by gmprestige

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...