Jump to content
  • 0

Card Trader


Jerson A Tadios

Question


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

I've tried to alter this Card trader script but in the end i failed can someone please help me with this...

here is the original script that i have dl from Euphy

//===== rAthena Script =======================================
//= Card Trader
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1 
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Exchange cards for points.
//============================================================

prontera,165,196,6	script	Card Trader	90,{
	mes "[Card Trader]";
	mes "Hi, "+strcharinfo(0)+"!";
	mes "What can I do for you?";
	next;
	switch(select(" > Information: > Trade in cards: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) {
	case 1:
		mes "[Card Trader]";
		mes "Do you find that you've got";
		mes "useless cards lying around?";
		mes "I'll be glad to take them off";
		mes "your hands!";
		next;
		mes "[Card Trader]";
		mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for each";
		mes "card you give me, and";
		mes "^0055FF"+.Points[1]+" Points^000000 for MVP cards.";
		mes "You can trade those points";
		mes "for items later on.";
		mes "How does that sound?";
		emotion e_cash;
		close;
	case 2:
		mes "[Card Trader]";
		mes "Select the cards you";
		mes "want to trade in.";
		if (.Level) {
			mes " ";
			mes "They must be dropped";
			mes "by monsters of level";
			mes .Level+" and above.";
		}
		deletearray @sold_nameid[0],getarraysize(@sold_nameid);
		callshop "card_shop",2;
		npcshopattach "card_shop";
		end;
	case 3:
		mes "[Card Trader]";
		mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s.");
		callshop "card_shop",1;
		npcshopattach "card_shop";
		end;
	case 4:
		mes "[Card Trader]";
		mes "*yawn*";
		mes "See you later!";
		emotion e_yawn;
		close;		
	}

OnSellItem:
	mes "Cards to sell:";
	mes "-----------------------------------";
	for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
		if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
			if (.Level) {
				query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv);
				if (.@lv < .Level) {
					dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
					continue;
				}
			}
			set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i];
			set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i];
			set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]);
			mes ((.@mvp)?"  ^FF0000":"  ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
			set .@card_total, .@card_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0]));
		}
	deletearray @sold_nameid[0], getarraysize(@sold_nameid);
	deletearray @sold_quantity[0], getarraysize(@sold_quantity);
	if (!.@card_id) {
		mes "  ^777777(none)^000000";
		emotion e_swt;
		close;
	}
	mes " ";
	mes "---------- Total: ^0055FF"+.@card_total+" pt.^000000 -------";
	next;
	if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
		mes "[Card Trader]";
		mes "Oh, okay...";
		emotion e_hmm;
		close;
	}
	for(set .@i,0; .@i<getarraysize(.@card_id); set .@i,.@i+1)
		delitem .@card_id[.@i],.@card_amt[.@i];
	setd .Points$, getd(.Points$)+.@card_total;
	mes "[Card Trader]";
	mes "All done!";
	emotion e_ho;
	close;

OnBuyItem:
	for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
		for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
			if (@bought_nameid[.@i] == .Shop[.@j]) {
				set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
				break;
			}
	if (.@cost > getd(.Points$)) {
		mes "[Card Trader]";
		mes "You don't have enough Points.";
		emotion e_omg;
	}
	else {
		mes "Items purchased:";
		mes "-----------------------------------";
		for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
			getitem @bought_nameid[.@i], @bought_quantity[.@i];
			mes "  ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000";
		}
		mes " ";
		mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------";
		setd .Points$, getd(.Points$)-.@cost;
		emotion e_cash;
	}
	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
	close;

OnInit:
	set .Level,0;   		// Minimum monster level to trade corresponding cards.
	set .Points$,"#Card_Points";	// Variable to store points.
	setarray .Shop[0],		// Card Shop items: <ID>,<point cost>
	  4001,1,4004,1,4033,1,4196,1,4197,25,4054,50,4174,75,4047,100;
	setarray .Points[0],1,5;	// Points per <normal card>,<MVP card>
	set .MVP$,			// List of MVP cards.
	  "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+
	  "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";
	
	npcshopdelitem "card_shop",909;
	for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2)
		npcshopadditem "card_shop",.Shop[.@i],.Shop[.@i+1];
	end;
}
-	shop	card_shop	-1,909:-1

please help me to alter this i just want to make it like this

card trader will only accept MVP cards and MINI boss card and if they trade Rare boss card points is different from the original 5 point each mvp to 10points please help me thank you in advance more powers to rathena.

Link to comment
Share on other sites

12 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

it really works again I owe you much now :) last sir if you remember you also help me about my mvp ladder last thing about that can you put a reset option "for GM USE ONLY" thank you..

HERE'S the code thank you

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
      * ~~~~~~~~  Euphy's MVP Ladder v1.3  ~~~~~~~~ *
      * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
 
prontera,148,170,6	script	MVP Ladder	891,{
	mes "[Rank MVP]";
	mes "Hello.";
	mes "What are you doing here";
	next;
	switch(select("Check Ranking.:My points.:Nothing...")) {
		case 1:
			mes "[Rank MVP]";
			query_sql("SELECT char_id, CAST(`value` AS SIGNED) FROM `char_reg_num` WHERE `key` = 'MVP_Rank' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 20",.@cid,.@value);
			for(set .@i,0; .@i<getarraysize(.@cid); set .@i,.@i+1) {
				query_sql("SELECT `name` FROM `char` WHERE char_id = "+.@cid[.@i]+";",.@j$);
				set .@name$[.@i], .@j$;
			}
			if (!getarraysize(.@cid))
				mes "The rankings are empty.";
			else for(set .@i,0; .@i<getarraysize(.@cid); set .@i,.@i+1)
			mes "["+(.@i+1)+"] "+.@name$[.@i]+" ~ "+.@value[.@i]+" kills";
			close;
			
		case 2:
			mes "[Rank MVP]";
			mes "You killed "+((MVP_Rank)?"^0055FF"+MVP_Rank:"no")+"^000000 MVP"+((MVP_Rank == 1)?".":"s.");
			close;
			case 3:
			close;
	}
 
OnNPCKillEvent:
	if (getmonsterinfo(killedrid,22)) {
		set MVP_Rank, MVP_Rank+1;
	if (MVP_Rank == 1)
		query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(0)+",'MVP_Rank','0',1)");
	else
		query_sql("UPDATE `char_reg_num` SET `value` = '"+MVP_Rank+"' WHERE char_id = "+getcharid(0)+" AND `key` ='MVP_Rank'");
		dispbottom "~ You killed "+MVP_Rank+" MVP"+((MVP_Rank == 1)?"":"s")+". ~";
		dispbottom " ~ Reward: Cash + 1 ~ ";
		set #CASHPOINTS, #CASHPOINTS + 1;
		specialeffect2 313;
	}
	end;
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  387
  • Reputation:   60
  • Joined:  10/08/13
  • Last Seen:  

This lines

    setarray .Points[0],1,5;    // Points per <normal card>,<MVP card>
    set .MVP$,            // List of MVP cards.
     "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+
     "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";

Change to

	setarray .Points[0],1,10;	// Points per <normal card>,<MVP card>
	set .MVP$,			// List of MVP cards.
	  "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+
	  "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

 

This lines

    setarray .Points[0],1,5;    // Points per <normal card>,<MVP card>

    set .MVP$,            // List of MVP cards.

     "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+

     "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";

Change to

    setarray .Points[0],1,10;    // Points per <normal card>,<MVP card>

    set .MVP$,            // List of MVP cards.

     "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+

     "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";

ive try this but  the points just change :(

 

what i want is the card trader will only ACCEPT MVP cards and MINI boss card and if they trade Rare boss card like Beelzebub points is different from the original 5 point each mvp to 10points please help me thank you in advance

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  387
  • Reputation:   60
  • Joined:  10/08/13
  • Last Seen:  

This lines

	for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
		if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
			if (.Level) {
				query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv);
				if (.@lv < .Level) {
					dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
					continue;
				}
			}

change for whatever card you want.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

 

Posted Today, 05:08 PM

This lines

    for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)

        if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {

            if (.Level) {

                query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv);

                if (.@lv < .Level) {

                    dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";

                    continue;

                }

            }

change for whatever card you want.

miss Elsa Mist can you do me a sample i can't get it thank you in advance

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

Posted · Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.
Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.

I've tried to alter this Card trader script but in the end i failed can someone please help me with this...

here is the original script that i have dl from Euphy

//===== rAthena Script =======================================
//= Card Trader
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1 
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Exchange cards for points.
//============================================================

prontera,165,196,6	script	Card Trader	90,{
	mes "[Card Trader]";
	mes "Hi, "+strcharinfo(0)+"!";
	mes "What can I do for you?";
	next;
	switch(select(" > Information: > Trade in cards: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) {
	case 1:
		mes "[Card Trader]";
		mes "Do you find that you've got";
		mes "useless cards lying around?";
		mes "I'll be glad to take them off";
		mes "your hands!";
		next;
		mes "[Card Trader]";
		mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for each";
		mes "card you give me, and";
		mes "^0055FF"+.Points[1]+" Points^000000 for MVP cards.";
		mes "You can trade those points";
		mes "for items later on.";
		mes "How does that sound?";
		emotion e_cash;
		close;
	case 2:
		mes "[Card Trader]";
		mes "Select the cards you";
		mes "want to trade in.";
		if (.Level) {
			mes " ";
			mes "They must be dropped";
			mes "by monsters of level";
			mes .Level+" and above.";
		}
		deletearray @sold_nameid[0],getarraysize(@sold_nameid);
		callshop "card_shop",2;
		npcshopattach "card_shop";
		end;
	case 3:
		mes "[Card Trader]";
		mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s.");
		callshop "card_shop",1;
		npcshopattach "card_shop";
		end;
	case 4:
		mes "[Card Trader]";
		mes "*yawn*";
		mes "See you later!";
		emotion e_yawn;
		close;		
	}

OnSellItem:
	mes "Cards to sell:";
	mes "-----------------------------------";
	for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
		if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
			if (.Level) {
				query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv);
				if (.@lv < .Level) {
					dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
					continue;
				}
			}
			set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i];
			set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i];
			set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]);
			mes ((.@mvp)?"  ^FF0000":"  ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
			set .@card_total, .@card_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0]));
		}
	deletearray @sold_nameid[0], getarraysize(@sold_nameid);
	deletearray @sold_quantity[0], getarraysize(@sold_quantity);
	if (!.@card_id) {
		mes "  ^777777(none)^000000";
		emotion e_swt;
		close;
	}
	mes " ";
	mes "---------- Total: ^0055FF"+.@card_total+" pt.^000000 -------";
	next;
	if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
		mes "[Card Trader]";
		mes "Oh, okay...";
		emotion e_hmm;
		close;
	}
	for(set .@i,0; .@i<getarraysize(.@card_id); set .@i,.@i+1)
		delitem .@card_id[.@i],.@card_amt[.@i];
	setd .Points$, getd(.Points$)+.@card_total;
	mes "[Card Trader]";
	mes "All done!";
	emotion e_ho;
	close;

OnBuyItem:
	for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
		for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
			if (@bought_nameid[.@i] == .Shop[.@j]) {
				set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
				break;
			}
	if (.@cost > getd(.Points$)) {
		mes "[Card Trader]";
		mes "You don't have enough Points.";
		emotion e_omg;
	}
	else {
		mes "Items purchased:";
		mes "-----------------------------------";
		for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
			getitem @bought_nameid[.@i], @bought_quantity[.@i];
			mes "  ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000";
		}
		mes " ";
		mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------";
		setd .Points$, getd(.Points$)-.@cost;
		emotion e_cash;
	}
	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
	close;

OnInit:
	set .Level,0;   		// Minimum monster level to trade corresponding cards.
	set .Points$,"#Card_Points";	// Variable to store points.
	setarray .Shop[0],		// Card Shop items: <ID>,<point cost>
	  4001,1,4004,1,4033,1,4196,1,4197,25,4054,50,4174,75,4047,100;
	setarray .Points[0],1,5;	// Points per <normal card>,<MVP card>
	set .MVP$,			// List of MVP cards.
	  "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+
	  "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";
	
	npcshopdelitem "card_shop",909;
	for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2)
		npcshopadditem "card_shop",.Shop[.@i],.Shop[.@i+1];
	end;
}
-	shop	card_shop	-1,909:-1

please help me to alter this i just want to make it like this

card trader will only ACCEPT MVP cards and MINI boss card and if they trade Rare boss card points is different from the original 5 point each mvp to 10points please help me thank you in advance more powers to rathena.

Link to comment

  • Group:  Developer
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  1443
  • Reputation:   337
  • Joined:  10/17/12
  • Last Seen:  

Posted · Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.
Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.

please don't post multiple of the same topic, and i believe someone has already helped you here

Link to comment

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

Posted · Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.
Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.

i didn't get it I do apologies about that sorry can you please help me?

Link to comment

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

Posted · Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.
Hidden by Emistry, November 7, 2015 - Merged + Hide duplicated content.

've tried to alter this Card trader script but in the end i failed can someone please help me with this...

here is the script

//===== rAthena Script =======================================
//= Card Trader
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1 
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Exchange cards for points.
//============================================================

prontera,165,196,6	script	Card Trader	90,{
	mes "[Card Trader]";
	mes "Hi, "+strcharinfo(0)+"!";
	mes "What can I do for you?";
	next;
	switch(select(" > Information: > Trade in cards: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) {
	case 1:
		mes "[Card Trader]";
		mes "Do you find that you've got";
		mes "useless cards lying around?";
		mes "I'll be glad to take them off";
		mes "your hands!";
		next;
		mes "[Card Trader]";
		mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for each";
		mes "card you give me, and";
		mes "^0055FF"+.Points[1]+" Points^000000 for MVP cards.";
		mes "You can trade those points";
		mes "for items later on.";
		mes "How does that sound?";
		emotion e_cash;
		close;
	case 2:
		mes "[Card Trader]";
		mes "Select the cards you";
		mes "want to trade in.";
		if (.Level) {
			mes " ";
			mes "They must be dropped";
			mes "by monsters of level";
			mes .Level+" and above.";
		}
		deletearray @sold_nameid[0],getarraysize(@sold_nameid);
		callshop "card_shop",2;
		npcshopattach "card_shop";
		end;
	case 3:
		mes "[Card Trader]";
		mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s.");
		callshop "card_shop",1;
		npcshopattach "card_shop";
		end;
	case 4:
		mes "[Card Trader]";
		mes "*yawn*";
		mes "See you later!";
		emotion e_yawn;
		close;		
	}

OnSellItem:
	mes "Cards to sell:";
	mes "-----------------------------------";
	for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
		if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
			if (.Level) {
				query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv);
				if (.@lv < .Level) {
					dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
					continue;
				}
			}
			set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i];
			set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i];
			set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]);
			mes ((.@mvp)?"  ^FF0000":"  ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
			set .@card_total, .@card_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0]));
		}
	deletearray @sold_nameid[0], getarraysize(@sold_nameid);
	deletearray @sold_quantity[0], getarraysize(@sold_quantity);
	if (!.@card_id) {
		mes "  ^777777(none)^000000";
		emotion e_swt;
		close;
	}
	mes " ";
	mes "---------- Total: ^0055FF"+.@card_total+" pt.^000000 -------";
	next;
	if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
		mes "[Card Trader]";
		mes "Oh, okay...";
		emotion e_hmm;
		close;
	}
	for(set .@i,0; .@i<getarraysize(.@card_id); set .@i,.@i+1)
		delitem .@card_id[.@i],.@card_amt[.@i];
	setd .Points$, getd(.Points$)+.@card_total;
	mes "[Card Trader]";
	mes "All done!";
	emotion e_ho;
	close;

OnBuyItem:
	for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
		for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2)
			if (@bought_nameid[.@i] == .Shop[.@j]) {
				set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]);
				break;
			}
	if (.@cost > getd(.Points$)) {
		mes "[Card Trader]";
		mes "You don't have enough Points.";
		emotion e_omg;
	}
	else {
		mes "Items purchased:";
		mes "-----------------------------------";
		for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
			getitem @bought_nameid[.@i], @bought_quantity[.@i];
			mes "  ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000";
		}
		mes " ";
		mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------";
		setd .Points$, getd(.Points$)-.@cost;
		emotion e_cash;
	}
	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
	close;

OnInit:
	set .Level,0;   		// Minimum monster level to trade corresponding cards.
	set .Points$,"#Card_Points";	// Variable to store points.
	setarray .Shop[0],		// Card Shop items: <ID>,<point cost>
	  4001,1,4004,1,4033,1,4196,1,4197,25,4054,50,4174,75,4047,100;
	setarray .Points[0],1,5;	// Points per <normal card>,<MVP card>
	set .MVP$,			// List of MVP cards.
	  "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4236,"+
	  "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407";
	
	npcshopdelitem "card_shop",909;
	for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2)
		npcshopadditem "card_shop",.Shop[.@i],.Shop[.@i+1];
	end;
}
-	shop	card_shop	-1,909:-1

please help me to alter this i just want to make it like this

card trader will only ACCEPT MVP cards and MINI boss card and if they trade Rare boss card points is different from the original 5 point each mvp to 10points please help me thank you in advance.

 

 

Link to comment

  • Group:  Content Moderator
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  639
  • Reputation:   596
  • Joined:  11/25/11
  • Last Seen:  

This is the THIRD thread you open with the same subject.
You were already being helped here, and also opened this after.

And now, a third one, this is NOT the correct way to ask for help. -_-
By the way... *sigh*

To set it to 10 points, find:

	setarray .Points[0],1,5;	// Points per <normal card>,<MVP card>

And change to:
 

	setarray .Points[0],1,10;	// Points per <normal card>,<MVP card>

Done.

As for it to only accept MVP Cards, find:

	for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
		if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
			if (.Level) {
				query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv);
				if (.@lv < .Level) {
					dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level.";
					continue;
				}
			}
			set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i];
			set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i];
			set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]);
			mes ((.@mvp)?"  ^FF0000":"  ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
			set .@card_total, .@card_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0]));
		}

And change to:
 

	for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1)
		if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) {
			set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]);
			if (!.@mvp) {
				continue;
			}
			set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i];
			set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i];
			mes ((.@mvp)?"  ^FF0000":"  ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000";
			set .@card_total, .@card_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0]));
		}

It may works, I'm not entirely sure, it's untested.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  10/28/15
  • Last Seen:  

ill try this right away i do apologies about my action coz i really need it XD sorry noob here  /sry


123_zpssjkyokli.png

sir this is the situation when i put a normal monster card ex "Thief bug card" it stock on this section no close button   :( how can i add close button on that?

Edited by Jerson A Tadios
Link to comment
Share on other sites


  • Group:  Content Moderator
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  639
  • Reputation:   596
  • Joined:  11/25/11
  • Last Seen:  

Actually, It seems to be a bug of the OnSellItem.

Find:

	if (!.@card_id) {
		mes "  ^777777(none)^000000";
		emotion e_swt;
		close;
	}

Change:

	if (!.@card_id) {
		mes "  ^777777(none)^000000";
		emotion e_swt;
		next;
		close;
	}

With a next it'll works.

Edited by Haziel
Link to comment
Share on other sites

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.

×
×
  • Create New...