Автор: Jamo: Дата: 06.10.2010
Дайте пожалуйсто НПЦ премиум.. всё перегуглил ... аж сломаные аки от файл обмеников нашёл а такова нпц нету=(
Автор: Jamo: Дата: 06.11.2010
я не знаю как сие чудо поставить=(
Автор: DiS[IP]: Дата: 06.11.2010
[FONT=Lucida Console]И что же ты не знаешь?Какой нахрен сайт,когда это скрипт.
Тебе нужно сделать запрос в базу,таблицы и etc указаны в скрипте,поставь пару функций их названия также указаны в скрипте и все.
Если для тебе это анриал и мегатрудно юзай такого премиума и не парься:
//===== eAthena Script =======================================
// Premium System
//===== Автор ================================================
// Ravya, Empty(F4nT; FenX)
//===== Текущая версия =======================================
// 1.6
//===== Совместимость ========================================
// Any Athena SQL
//===== Описание =============================================
// ТОЛЬКО ДЛЯ SQL ВЕРСИЙ АФИНЫ.
// Делает игрока премиумом на нужное число месяцев.
// ГМ уровни: 1 - Премиум
//===== Изменения ============================================
// 1.0 - Первый релиз.
// Премиум не спадает автоматически. [Ravya]
// 1.1 - Установлен период действия Премиум/СП.
// Игроки с ГМ 0 || > 20, игнорируются. [Empty]
// 1.2 - Теперь нельзя оплатить Премиум/СП на 0 периодов.
// Спасибо Zerkaln1y. [Empty]
// 1.2b - Исправлен баг с продлением Премиума/СП.
// Теперь нельзя продлить на 0 периодов. [Empty]
// 1.3 - Добавлена конвертация из Премиума в СП.
// Конвертация проходит по формуле:
// (пол цены за СП + цена за премиум)
// Теперь все цены устанавливаются в 2х переменных:
// $@PricePrem $@PriceSP [Empty]
// 1.3b - Выводится анонс при входе.
// Если игрок платны, то ему выводится сообщение о том,
// что он платный и количество оставшихся дней. [Empty]
// 1.4 - Изменена структура снятия дней оплаты.
// Исправлен баг со снятием оплаты - теперь оплата
// снимается даже если чар оффлайн,
// или вечно онлайн. [Empty]
// 1.5 - Поставлены ограничения.
// Теперь нельзя оплатить/продлить/конвертировать
// премиум/СП меньше чем на 1 период и больше чем на
// 12 периодов. (Спасибо aanda) [Empty]
// 1.6 - Изменения в структуре скрипта. Функциональная часть
// Вынесена отдельно. Изменена система времени.
// Теперь используются конкретные даты. [F4nT]
//============================================================
prontera,165,180,5 script Premium NPC 878,{
set @PricePrem, 500000000;
if(#Premium > 0) {
mes "[Premium NPC]";
mes "Здраствуйте ^800000"+strcharinfo(0)+"^000000.Что желаете?";
next;
switch(select("Продлить ^0000FFПремиум^000000","Остаток периода","Ничего")) {
case 1:
mes "[Premium NPC]";
mes "Пожалуйста, введите число месяцев, на которое вы хотите оплатить премиум аккаунт.";
input @PremMonth;
next;
if(@PremMonth < 1) set @PremMonth, 1;
if(@PremMonth > 12) set @PremMonth, 12;
set @NeededZeny, @PricePrem*@PremMonth;
mes "[Premium NPC]";
mes "Выбрано месяцев: ^008080"+@PremMonth+"^000000";
mes "Необходимо денег: ^FF0000"+@NeededZeny+"^000000";
next;
mes "[Premium NPC]";
mes "Вы согласны?";
next;
if(select("Да","Нет")==1) {
if(Zeny < @NeededZeny) {
mes "[Premium NPC]";
mes "Я сделаю вас ^0000FFПремиумом^000000 только тогда, когда вы принесёте мне нужную сумму!";
close;
}
set Zeny,zeny-@NeededZeny;
query_sql "SELECT FROM_UNIXTIME("+#Premdate+") + INTERVAL "+@PremMonth+" MONTH",@premdate$;
query_sql "SELECT UNIX_TIMESTAMP('"+@premdate$+"')",@premtimetick;
set #Premdate, @premtimetick;
mes "[Premium NPC]";
mes "Поздравляю вас, вы продлили ^0000FFПремиум^000000.";
mes "Период вашей оплаты истекает: ^FF8040"+@premdate$+"^000000";
close;
} else {
mes "[Premium NPC]";
mes "Возвращайтесь если я понадоблюсь.";
close;
}
break;
case 2:
query_sql "SELECT FROM_UNIXTIME("+#Premdate+")",@premdate$;
mes "[Premium NPC]";
mes "Ваш статус: ^0000FFПремиум^000000";
mes "Окончиние оплаты: ^FF8000"+@premdate$+"^000000";
close;
break;
case 3:
close;
break;
}
}
mes "[Premium NPC]";
mes "Здравствуйте, я могу сделать вас ^0000FFПремиумом^000000.";
next;
mes "[Premium NPC]";
mes "Вы хотите стать ^0000FFПлатным^000000 игроком?";
next;
switch(select("Стать ^0000FFПремиумом^000000","Нет, спасибо")) {
case 1:
mes "[Premium NPC]";
mes "Итак, вы решили стать ^0000FFПремиумом^000000.";
mes "Стоимость данной услуги ^FF0000"+@PricePrem+" Zeny за 1 месяц^000000.";
next;
MenuMakePrem:
switch(select("Я согласен","Можно поподробнее","Нет, спасибо.")) {
case 1:
mes "[Premium NPC]";
mes "Пожалуйста, введите число месяцев, на которое вы хотите оплатить премиум.";
input @PremMonth;
next;
if(@PremMonth < 1) set @PremMonth, 1;
if(@PremMonth > 12) set @PremMonth, 12;
set @NeededZeny, @PricePrem*@PremMonth;
mes "[Premium NPC]";
mes "Выбрано месяцев: ^008080"+@PremMonth+"^000000";
mes "Необходимо денег: ^FF0000"+@NeededZeny+"^000000";
next;
mes "[Premium NPC]";
mes "Вы согласны?";
next;
if(select("Да","Нет")==1) {
if(Zeny < @NeededZeny) {
mes "[Premium NPC]";
mes "Я сделаю вас ^0000FFПремиумом^000000 только тогда, когда вы принесёте мне нужную сумму!";
close;
}
set Zeny,zeny-@NeededZeny;
query_sql "SELECT '"+gettimestr("%Y-%m-%d",11)+"' + INTERVAL "+@PremMonth+" MONTH",@premdate$;
query_sql "SELECT UNIX_TIMESTAMP('"+@premdate$+"')",@premtimetick;
set #Premdate, @premtimetick;
query_sql "UPDATE `login` SET level=1 WHERE account_id='"+getcharid(3,strcharinfo(0))+"'";
atcommand "@reloadgmdb";
mes "[Premium NPC]";
mes "Поздравляю вас, вы оплатили ^0000FFПремиум^000000.";
mes "Период вашей оплаты истекает: ^FF8040"+@premdate$+"^000000";
close;
} else {
mes "[Premium NPC]";
mes "Возвращайтесь если я понадоблюсь.";
close;
}
break;
case 2:
mes "[Premium Maker]";
mes "^0000FFПремиуму^000000 доступны бонусы и команды,не доступные обычным игрокам.";
next;
goto MenuMakePrem;
end;
break;
case 3:
close;
break;
}
break;
case 2:
close;
break;
}
}
//===== eAthena Script =======================================
//= Global Script. Operates when User is loged in game.
//===== By: ==================================================
//= eA Dev
//===== Compatible With: =====================================
//= Any Athena
//============================================================
- script OnPCLoginEvent -1{
OnPCLoginEvent:
//===== Payment System =======================================
if(getgmlevel() < 20) {
if(#Premdate != 0 && #Premdate <= gettimetick(2)) {
query_sql "UPDATE `login` SET level=0 WHERE account_id='"+getcharid(3,strcharinfo(0))+"'";
atcommand "@reloadgmdb";
set #Premdate, 0;
announce "Ваш статус: Бесплатный | Оплата аккаунта у [Premium NPC]`a",3;
} else {
query_sql "SELECT FROM_UNIXTIME("+#Premdate+")",@premdate$;
announce "Ваш статус: Платный | Оплата заканчивается: "+@premdate$,3;
}
}
end;
}
//============================================================
Автор: Jamo: Дата: 06.16.2010
Спасибо Dis[IP], очень помог!