sotA

Card swap to Card Album

2 сообщения в этой теме

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

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

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

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

0

Поделиться сообщением


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

 

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

 

//===== 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

 

1

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас