Перейти к содержанию

Card swap to Card Album


Mr.Abysmal

Рекомендуемые сообщения

Доброго времени суток уважаемые форумчане.

Ищу скрипт NPC обмена 10 рандомных карт на 1 карт альбом.

Если есть у кого поделитесь будтье любезны.

Заранее большое спасибо.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

 

Скрытый текст

 


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

prontera,174,168,4    script    Обменник Карт    435,{
    mes "[Card Trader]";
    mes "Привет, "+strcharinfo(0)+"!";
    mes "Чем я могу тебе помочь?";
    next;
    switch(select(" > Информация: > Продажа Карт: > Магазин (^0055FF"+getd(.Points$)+"^000000): > Уйти")) {
    case 1:
        mes "[Card Trader]";
        mes "Если у тебя есть";
        mes "не нужные карты это не значит что им нельзя найти применение";
        mes "продай их мне";
        next;
        mes "[Card Trader]";
        mes "За карты ты будешь получать ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 за простую";
        mes "карту проданную мне, и";
        mes "^0055FF"+.Points[1]+" Points^000000 за МВП карту.";
        mes "Ты сможешь тратить эти очки";
        mes "в моём магазине.";
        next;
        mes "[Card Trader]";
        mes "Учти. Магазин откроется для всего но я вижу если мне пытаются продать не карту!";
        emotion e_cash;
        close;
    case 2:
        mes "[Card Trader]";
        mes "Выбери карты которые желаешь продать";
        if (.Level) {
            mes " ";
            mes "Они должны быть выбиты";
            mes "из монстров уровня";
            mes .Level+" и больше.";
        }
        deletearray @sold_nameid[0],getarraysize(@sold_nameid);
        callshop "card_shop",2;
        npcshopattach "card_shop";
        end;
    case 3:
        mes "[Card Trader]";
        mes "Сейчас у тебя ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"ов.");
        callshop "card_shop",1;
        npcshopattach "card_shop";
        end;
    case 4:
        mes "[Card Trader]";
        mes "*yawn*";
        mes "Увидимся позже.!";
        emotion e_yawn;
        close;        
    }

OnSellItem:
    mes "Карты для продажи:";
    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(Пусто)^000000";
        emotion e_swt;
        close;
    }
    mes " ";
    mes "---------- Всего: ^0055FF"+.@card_total+" pt.^000000 -------";
    next;
    if(select(" > ^0055FFЗавершить обмен...^000000: > ^777777Отмена^000000") == 2) {
        mes "[Card Trader]";
        mes "Эхх Ладно...";
        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 "Готово!";
    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 "У тебя не хватает Очков.";
        emotion e_omg;
    }
    else {
        mes "Предмет покупки:";
        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 "---------- Всего: ^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>
     616,15,12263,25,7088,75,12103,150,13517,30;
    setarray .Points[0],1,100;    // Points per <normal card>,<MVP card>
    set .MVP$,            // List of MVP cards.
      "4121,4123,4128,4131,4132,4134,4135,4137,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

 

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика