Card Seller

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

//===== rAthena Script =======================================

//= Card Seller A-Z


//===== Description: =========================================
//= Sells all cards dropped by mobs, grouped alphabetically.
//= MVP cards are excluded from the list.
//=
//= NOTE: Requires SQL item and mob databases.
//===== Changelogs: ==========================================
//= 1.0 First version [AnnieRuru]
//= 1.1 Minor edits [Euphy]
//= 1.2 Update for monster mode and enchants [Lemongrass]
//============================================================

prontera,155,177,5 script Card Seller 100,{


.@menu$ = getvariableofnpc( .alphabet_menu$, "card_seller_creation" );
if (.@menu$ == "") {
mes "[Card Seller]";
mes "I am sorry, it seems like something went wrong.";
mes "I cannot find any cards in our database at the moment.";
mes "Please contact a game master.";
close;
}
mes "[Card Seller]";
mes "Welcome!";
mes "I can sell you any normal monster card in the game. Would you like to
have a look?";
next;
.@s = select(.@menu$) -1;
close2;
callshop "card_mob#"+ getvariableofnpc( .alphabet$[.@s],
"card_seller_creation" ), 1;
end;
}

- script card_seller_creation -1,{


end;
OnInit:
if (checkre(0)) {
.@mob_db$ = "mob_db_re";
.@item_db$ = "item_db_re";
} else {
.@mob_db$ = "mob_db";
.@item_db$ = "item_db";
}
freeloop 1;

.@string$ = "( `name_aegis` IN ( SELECT DISTINCT `drop1_item` FROM `"


+ .@mob_db$ + "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop2_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop3_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop4_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop5_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop6_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop7_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop8_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop9_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) " +
"OR `name_aegis` IN ( SELECT DISTINCT `drop10_item` FROM `" + .@mob_db$
+ "` WHERE COALESCE(`mode_mvp`,0) = 0 ) )";

.@total = query_sql( "SELECT DISTINCT LEFT( `name_english`, 1 ) AS alphabets


FROM `"+ .@item_db$ +"` WHERE `type` = 'Card' AND " + .@string$ + " ORDER BY
alphabets;", .@alphabet$ );
for ( .@i = 0; .@i < .@total; .@i++ ) {
.@nb = query_sql( "SELECT `"+ .@item_db$ +"`.`id` FROM `"+ .@item_db$
+"` WHERE `type` = 'Card' AND LEFT( `name_english`, 1 ) = '"+ .@alphabet$[.@i] +"'
AND " + .@string$ + " ORDER BY `name_english` LIMIT 128;", .@id );
if (.@nb > 0) {
.alphabet$[.@size_alphabet++] = .@alphabet$[.@i];
.alphabet_menu$ = .alphabet_menu$ + .@alphabet$[.@i] +" Cards:";
npcshopdelitem "card_mob#"+ .@alphabet$[.@i], 501;
for ( .@j = 0; .@j < .@nb; .@j++ ) {
if (getiteminfo(.@id[.@j], ITEMINFO_SUBTYPE) ==
CARD_ENCHANT)// Skip enchants in case someone added them as card drop
continue;
npcshopadditem "card_mob#"+ .@alphabet$[.@i], .@id[.@j],
1000000;
}
}
}
freeloop 0;
end;
}
- shop card_mob#A -1,501:1000
- shop card_mob#B -1,501:1000
- shop card_mob#C -1,501:1000
- shop card_mob#D -1,501:1000
- shop card_mob#E -1,501:1000
- shop card_mob#F -1,501:1000
- shop card_mob#G -1,501:1000
- shop card_mob#H -1,501:1000
- shop card_mob#I -1,501:1000
- shop card_mob#J -1,501:1000
- shop card_mob#K -1,501:1000
- shop card_mob#L -1,501:1000
- shop card_mob#M -1,501:1000
- shop card_mob#N -1,501:1000
- shop card_mob#O -1,501:1000
- shop card_mob#P -1,501:1000
- shop card_mob#Q -1,501:1000
- shop card_mob#R -1,501:1000
- shop card_mob#S -1,501:1000
- shop card_mob#T -1,501:1000
- shop card_mob#U -1,501:1000
- shop card_mob#V -1,501:1000
- shop card_mob#W -1,501:1000
- shop card_mob#X -1,501:1000
- shop card_mob#Y -1,501:1000
- shop card_mob#Z -1,501:1000

You might also like