Назад

Bloody Branch Maker & Reset For 1k Level & TCG Card Buy/Seller

Автор: DiS[IP]: Дата: 05.02.2009

Выложу еще 3 своих работы :)

1)Оптимизированный квест на блуди бранчи:

// ===========================================================
// = - [НПС] 'Злой Дух'
// ===========================================================
// = - Cкрипт написал DiS[IP]
// ===========================================================
// = - Desc:Квест на ББ(Bloody Branch)
// ===========================================================
// = - Версия:1.2
// ===========================================================
// 1.0 - Начальная версия
// 1.1 - Добавлена возможность ввода кол-ва получаемых веток
// 1.2 - Небольшая оптимизация
// ===========================================================
// = - Если вы хотите разместить где-либо этот скрипт,то не
// = - забывайте указывать копирайты,уважайте чужой труд.
// ===========================================================

// НПС

prontera,143,159,5 script Злой Дух 802,{
callfunc "bloody_branch";
end;
}

// Функция 'bloody_branch'

function script bloody_branch {
set .npc$,"[Злой Дух]";
mes .npc$;
mes "Я злой дух!Я знаю зачем ты здесь!Тебе нужны кровавые ветки?!";
next;
switch(select("Да,сделай немного веток...","Нее,я тут случайно...")){
case 1:
set @branchid,12103; // ID 12103 - BB
set @zeny,200000; // Цена необходимая для создания 1-ого BB
set @dbranch,countitem(604); // ID 604 - DB
set @vflower,countitem(7510); // ID 7510 - Valhalla Flower
goto Branch;
Branch:
mes .npc$;
mes "Я сделаю тебе ветку,но ты мне должен принести:10 DB,1 Valhalla Flower,200 000 Zeny!";
next;
mes .npc$;
mes "Введи сколько сделать тебе веток!Я могу за раз сделать только 999 веток!";
next;
input @ammount;
if(@ammount<=0){
mes .npc$;
mes "Вводи нормальное число,а!";
close;
}
if(@ammount>999){
mes .npc$;
mes "Эй,слушай вводи число поменьше,я же написал сколько делать могу за 1 раз!";
close;
}
if(Zeny<@zeny*@ammount){
mes .npc$;
mes "Эмм,у тебя не хватает денег!Я за бесплатно работать не собираюсь!";
close;
}
if(countitem(604)<10*@ammount || countitem(7510)<1*@ammount){
mes .npc$;
mes "У тебя нехватает цветков или веток!";
close;
}
set #bbranch,@dbranch+@vflower;
delitem 604,10*@ammount;
delitem 7510,1*@ammount;
getitem @branchid,@ammount;
set Zeny,Zeny-@zeny*@ammount;
mes .npc$;
mes "Держи свои тупые ветки и убирайся отсюда!";
close;
case 2:
mes .npc$;
mes "Ну и проваливай отсюда!";
next;
percentheal -100,100;
close;
}
}
2)Ресет для серверов с 1000-ым лвлом,с возможностью брать доп.очки

/// ===========================================================
// = - [НПС] 'Ресет'
// ===========================================================
// = - Cкрипт написал DiS[IP]
// ===========================================================
// = - Desc:Сброс скиллов/статов для сервера с 1000-ым лвлом
// ===========================================================
// = - Версия:1.3
// ===========================================================
// 1.0 - Начальная версия
// 1.1 - Появилась возможность брать добавочные стат поинты
// 1.2 - Исправлены мелкие баги.Финальная версия.
// ===========================================================
// = - Eсли вы хотите разместить где-либо этот скрипт,то не
// = - забывайте указывать копирайты,уважайте чужой труд.
// ===========================================================

// НПС

prontera,160,174,5 script Ресет 906,{
set @price,100000; //Полный сброс(статы,скиллы) будет стоит в 1.5 раза больше
if(BaseLevel == 999){
mes "[Ресет]";
mes "Привет,"+strcharinfo(0)+"!Желаете скинуть скилы или статы или все вместе?";
mes "Вот цены на мои услуги:";
mes "^FF0000Статы: ^000000"+@price+"z.";
mes "^FF0000Скилы: ^000000"+@price+"z.";
mes "^FF0000Все: ^000000"+@price/2*3+"z.";
mes "Выбрали что для вас сделать?";
switch(select("^FF0000Скинуть статы^000000","^FF0000Скинуть скилы^000000","^FF0000Все вместе^000000","Взять добавку")){
case 1:
resetstatus;
set StatusPoint,0;
atcommand strcharinfo(0)+":@stpoint 65000";
set #b_point, 1;
mes "^FF0000СНе забудьте взять добавку 37343 очков.^000000"; //Хе,это подсказка когда сбросился
set Zeny,Zeny-@price;
close;
case 2:
resetskill;
set Zeny,Zeny-@price;
close;
case 3:
resetskill;
resetstatus;
set StatusPoint,0;
atcommand strcharinfo(0)+":@stpoint 65000";
set #b_point, 1;
mes "Не забудьте взять добавку 37943 очков."; //Хе,это подсказка когда сбросился
set Zeny,Zeny-@price/2*3;
mes "Не забудьте взять добавку "+#b_point+" очков."; //Хе,это подсказка когда сбросился
close;
case 4:
// Вот и добавление потерянных очков
//set StatusPoint,StatusPoint+#b_point; 37943
if(#b_point == 1){
atcommand strcharinfo(0) + ":@stpoint 37943";
set #b_point, 0;
mes "Такс,держите свои очки)Больше не теряйте!";
} else {
mes "У вас нет оставленных очков!";
}
default:
close;
}
} else {
// Если персонаж не достиг 999 уровня
mes "Ты еще молод.Приходи ко мне когда подрастешь до 999.Буду ждать!";
close;
}
close;
}
3)НПС 'TCG Dealer',который покупает и продает TCG карты.

// ===========================================================
// = - [НПС] TCG Dealer
// ===========================================================
// = - Скрипт написал DiS[IP]
// ===========================================================
// = - Desc:Покупка/Продажа TCG карт.
// ===========================================================
// = - Версия: 1.0
// ===========================================================
// 1.0 - Начальная версия
// ===========================================================
// = - Если вы хотите разместить где-либо этот скрипт,то не
// = - забывайте указывать копирайты,уважайте чужой труд.
// ===========================================================

// НПС

prontera,165,152,5 script TCG Dealer 903,{
set .npc$,"[TCG Dealer]";
set @price,2000000;
mes .npc$;
mes "Привет,"+strcharinfo(0)+"!Я продаю TCG карты,а так же покупаю их.";
mes "Интересует?Цена - 2 кк!";
if(countitem(7227)==0) goto buy;
if(select("Купить:Продать")==1) goto buy;
else goto sell;
buy:
mes .npc$;
mes "Я продам тебе карточку за 2 кк.Согласен?";
if(select("Купить:Я передумал") == 1){
if(Zeny < @price){
mes .npc$;
mes "А где деньги то?Приходи когда будет нужная сумма!";
close;
}
getitem 7227,1;
set Zeny,Zeny-@price;
close;
}
sell:
mes .npc$;
mes "Я куплю у тебя карточку за 1кк.Согласен?";
if(select("Продать:Я передумал") == 1){
if(countitem(7227)<1){
mes .npc$;
mes "А где карточка то?Приходи когда будет!";
close;
}
delitem 7227, 1;
set Zeny,Zeny+1000000;
close;
}
}

Автор: : Дата: 01.01.1970