Can anyone help me modify Euphy's Card Trader script to add more card categories like Category 1,2 3 & 4 instead of just having normal and MvP cards?
//===== 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 [email protected],0; [email protected] < getarraysize(@sold_nameid); set [email protected],[email protected]+1)
if (@sold_nameid[[email protected]] > 4000 && @sold_nameid[[email protected]] < 4700) {
if (.Level) {
query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "[email protected]_nameid[[email protected]],[email protected]);
if ([email protected] < .Level) {
dispbottom getitemname(@sold_nameid[[email protected]])+" is under the minimum level.";
continue;
}
}
set [email protected]_id[getarraysize([email protected]_id)], @sold_nameid[[email protected]];
set [email protected]_amt[getarraysize([email protected]_amt)], @sold_quantity[[email protected]];
set [email protected], compare(.MVP$,""[email protected]_nameid[[email protected]]);
mes (([email protected])?" ^FF0000":" ^777777")[email protected]_quantity[[email protected]]+"x "+getitemname(@sold_nameid[[email protected]])+"^000000";
set [email protected]_total, [email protected]_total+(@sold_quantity[[email protected]]*(([email protected])?.Points[1]:.Points[0]));
}
deletearray @sold_nameid[0], getarraysize(@sold_nameid);
deletearray @sold_quantity[0], getarraysize(@sold_quantity);
if ([email protected]_id) {
mes " ^777777(none)^000000";
emotion e_swt;
close;
}
mes " ";
mes "---------- Total: ^0055FF"[email protected]_total+" pt.^000000 -------";
next;
if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) {
mes "[Card Trader]";
mes "Oh, okay...";
emotion e_hmm;
close;
}
for(set [email protected],0; [email protected] < getarraysize([email protected]_id); set [email protected],[email protected]+1)
delitem [email protected]_id[[email protected]],[email protected]_amt[[email protected]];
setd .Points$, getd(.Points$)[email protected]_total;
mes "[Card Trader]";
mes "All done!";
emotion e_ho;
close;
OnBuyItem:
for(set [email protected],0; [email protected] < getarraysize(@bought_nameid); set [email protected],[email protected]+1)
for(set [email protected],0; [email protected] <getarraysize(.Shop); set [email protected],[email protected]+2)
if (@bought_nameid[[email protected]] == .Shop[[email protected]]) {
set [email protected], [email protected]+(.Shop[[email protected]+1]*@bought_quantity[[email protected]]);
break;
}
if ([email protected] > getd(.Points$)) {
mes "[Card Trader]";
mes "You don't have enough Points.";
emotion e_omg;
}
else {
mes "Items purchased:";
mes "-----------------------------------";
for(set [email protected],0; [email protected] < getarraysize(@bought_nameid); set [email protected],[email protected]+1) {
getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]];
mes " ^777777"[email protected]_quantity[[email protected]]+"x "+getitemname(@bought_nameid[[email protected]])+"^000000";
}
mes " ";
mes "---------- Total: ^0055FF"[email protected]+" pt.^000000 -------";
setd .Points$, getd(.Points$)[email protected];
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 [email protected],0; [email protected] < getarraysize(.Shop); set [email protected],[email protected]+2)
npcshopadditem "card_shop",.Shop[[email protected]],.Shop[[email protected]+1];
end;
}
- shop card_shop -1,909:-1
Hi,
Can anyone help me modify Euphy's Card Trader script to add more card categories like Category 1,2 3 & 4 instead of just having normal and MvP cards?
//===== 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 [email protected],0; [email protected] < getarraysize(@sold_nameid); set [email protected],[email protected]+1) if (@sold_nameid[[email protected]] > 4000 && @sold_nameid[[email protected]] < 4700) { if (.Level) { query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "[email protected]_nameid[[email protected]],[email protected]); if ([email protected] < .Level) { dispbottom getitemname(@sold_nameid[[email protected]])+" is under the minimum level."; continue; } } set [email protected]_id[getarraysize([email protected]_id)], @sold_nameid[[email protected]]; set [email protected]_amt[getarraysize([email protected]_amt)], @sold_quantity[[email protected]]; set [email protected], compare(.MVP$,""[email protected]_nameid[[email protected]]); mes (([email protected])?" ^FF0000":" ^777777")[email protected]_quantity[[email protected]]+"x "+getitemname(@sold_nameid[[email protected]])+"^000000"; set [email protected]_total, [email protected]_total+(@sold_quantity[[email protected]]*(([email protected])?.Points[1]:.Points[0])); } deletearray @sold_nameid[0], getarraysize(@sold_nameid); deletearray @sold_quantity[0], getarraysize(@sold_quantity); if ([email protected]_id) { mes " ^777777(none)^000000"; emotion e_swt; close; } mes " "; mes "---------- Total: ^0055FF"[email protected]_total+" pt.^000000 -------"; next; if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) { mes "[Card Trader]"; mes "Oh, okay..."; emotion e_hmm; close; } for(set [email protected],0; [email protected] < getarraysize([email protected]_id); set [email protected],[email protected]+1) delitem [email protected]_id[[email protected]],[email protected]_amt[[email protected]]; setd .Points$, getd(.Points$)[email protected]_total; mes "[Card Trader]"; mes "All done!"; emotion e_ho; close; OnBuyItem: for(set [email protected],0; [email protected] < getarraysize(@bought_nameid); set [email protected],[email protected]+1) for(set [email protected],0; [email protected] <getarraysize(.Shop); set [email protected],[email protected]+2) if (@bought_nameid[[email protected]] == .Shop[[email protected]]) { set [email protected], [email protected]+(.Shop[[email protected]+1]*@bought_quantity[[email protected]]); break; } if ([email protected] > getd(.Points$)) { mes "[Card Trader]"; mes "You don't have enough Points."; emotion e_omg; } else { mes "Items purchased:"; mes "-----------------------------------"; for(set [email protected],0; [email protected] < getarraysize(@bought_nameid); set [email protected],[email protected]+1) { getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]]; mes " ^777777"[email protected]_quantity[[email protected]]+"x "+getitemname(@bought_nameid[[email protected]])+"^000000"; } mes " "; mes "---------- Total: ^0055FF"[email protected]+" pt.^000000 -------"; setd .Points$, getd(.Points$)[email protected]; 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 [email protected],0; [email protected] < getarraysize(.Shop); set [email protected],[email protected]+2) npcshopadditem "card_shop",.Shop[[email protected]],.Shop[[email protected]+1]; end; } - shop card_shop -1,909:-1Link to comment
Share on other sites