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

Premium Account


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

Народ есть у кого нормальны рабочий Premium Account?

прогуглил много чего, но либо ошибка в скрипте либо ещё что... сам писать не умею ещё!

хочу такой премиум акаунт, чтобы за zen или poring coin, можно было купить статус акаунта (id: 1 name: "Super Player") на 7 дней, и потом по истечению время, обратно в обычного (id: 0 name: "Player")

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

А ты что-то предпринимаешь для того, чтобы в один прекрасный момент написать что-нибудь?


prontera,146,166,6 script Premium Account 634,{
// Settings: -----------------------------
set .@Cost, 350; // Cash Points required
set .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.
set .@Time$, "1 month";
// ---------------------------------------

mes "[Premium Account]";
mes "I am the Premium Account seller.";
if( #PremiumUser > gettimetick(2) )
mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
mes "What can I do for you?";
next;

// isPremium() returns 1 if the current user account is premium and it have not expired.
// It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.
// isPremium() is the same as #Premium_Tick > gettimetick(2)

switch( select("Pay for Premium Time:About Premium Account") )
{
case 1:
mes "[Premium Account]";
if( #PremiumUser > gettimetick(2) )
mes "Do you really want to extend your Premium Time?";
else
mes "You do really want to convert your account to premium?";

mes "Premium Time is ^FF0000" + .@Time$ + "^000000";
mes "Value is ^FF0000" + .@Cost + "^000000 Cash Points.";
next;
if( select("Yes:No") == 2 )
{
mes "[Premium Account]";
mes "Come back if you change your mind.";
close;
}

if( #CASHPOINTS < .@Cost )
{
mes "[Premium Account]";
mes "You don't have enough Cash Points.";
close;
}

if( #PremiumUser > gettimetick(2) )
set #PremiumUser, #PremiumUser + .@Time; // Time Extension
else
set #PremiumUser, gettimetick(2) + .@Time; // New premium Account
query_sql "UPDATE `login` SET level = '1' WHERE account_id = "+getcharid(3)+"";
set #CASHPOINTS, #CASHPOINTS - .@Cost;
mes "[Premium Account]";
mes "Congratulations!!..";
mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
next;
mes "To change the status to take effect, please reenter the game.";
close;
case 2:

// Edit this messages to explain your Users about the premium account in your server.
// ----------------------------------------------------------------------------------

mes "[Premium Account]";
mes "With Premium Account you can:";
mes "Use the commands: @mobsearch,";
mes "@cast,@exp,@petrename,@where,";
mes "@changeleader, @packetfilter,";
mes "@autorefresh and other...";
mes " ";
close;
}


OnPCLoginEvent:
if( #PremiumUser > gettimetick(2)) {
// sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;
// sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;
dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";
}
if( #PremiumUser <= gettimetick(2) ) {
dispbottom "Time of Premium Account was ended or you don't pay for this.";
query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";
}
end;
}

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

А ты что-то предпринимаешь для того, чтобы в один прекрасный момент написать что-нибудь?


prontera,146,166,6 script Premium Account 634,{
// Settings: -----------------------------
set .@Cost, 350; // Cash Points required
set .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.
set .@Time$, "1 month";
// ---------------------------------------

mes "[Premium Account]";
mes "I am the Premium Account seller.";
if( #PremiumUser > gettimetick(2) )
mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
mes "What can I do for you?";
next;

// isPremium() returns 1 if the current user account is premium and it have not expired.
// It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.
// isPremium() is the same as #Premium_Tick > gettimetick(2)

switch( select("Pay for Premium Time:About Premium Account") )
{
case 1:
mes "[Premium Account]";
if( #PremiumUser > gettimetick(2) )
mes "Do you really want to extend your Premium Time?";
else
mes "You do really want to convert your account to premium?";

mes "Premium Time is ^FF0000" + .@Time$ + "^000000";
mes "Value is ^FF0000" + .@Cost + "^000000 Cash Points.";
next;
if( select("Yes:No") == 2 )
{
mes "[Premium Account]";
mes "Come back if you change your mind.";
close;
}

if( #CASHPOINTS < .@Cost )
{
mes "[Premium Account]";
mes "You don't have enough Cash Points.";
close;
}

if( #PremiumUser > gettimetick(2) )
set #PremiumUser, #PremiumUser + .@Time; // Time Extension
else
set #PremiumUser, gettimetick(2) + .@Time; // New premium Account
query_sql "UPDATE `login` SET level = '1' WHERE account_id = "+getcharid(3)+"";
set #CASHPOINTS, #CASHPOINTS - .@Cost;
mes "[Premium Account]";
mes "Congratulations!!..";
mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
next;
mes "To change the status to take effect, please reenter the game.";
close;
case 2:

// Edit this messages to explain your Users about the premium account in your server.
// ----------------------------------------------------------------------------------

mes "[Premium Account]";
mes "With Premium Account you can:";
mes "Use the commands: @mobsearch,";
mes "@cast,@exp,@petrename,@where,";
mes "@changeleader, @packetfilter,";
mes "@autorefresh and other...";
mes " ";
close;
}


OnPCLoginEvent:
if( #PremiumUser > gettimetick(2)) {
// sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;
// sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;
dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";
}
if( #PremiumUser <= gettimetick(2) ) {
dispbottom "Time of Premium Account was ended or you don't pay for this.";
query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";
}
end;
}

Спасибо, сейчас попробую.

Я читаю http://ea-support.ws...ola-skriptinga/

также читаю что пишут http://rathena.org/b...m/25-scripting/

по мимо этого использую добрый google , пока ещё не умею писать с нуля, но уже пытаюсь модифицировать готовые скрипты, изучая проблемы, например вот вчера, узнал как добавить открытый чат над НПЦ

OnInit:

waitingroom "Name",0;

end;

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

Была вот такая ошибка...

1.jpg

но я нашёл выход

Заменил :

prontera,146,166,6 script Premium Account 634,{

на

prontera,136,171,6 script Premium Account#mal 864,{

вот только я думаю что, #mal не совсем правильное решение... но работает...

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

а нужно было просто пробел заменить на %ТАБ% =(

Во! спасибо! опять всё элементарое было так близко ) заменил на таб всё теперь хорошо ) буду теперь знать =)

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

То, что ты заменил название и номер спрайта не могло помочь, ибо:

1. Добавление #lol и тому подобное - когда сервер пишет, что такое название НПЦ уже используется (Тогда поможет такое добавление).

2. Номер спрайта, ну тут сам понимаешь.

Удач.

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

Тут по КЭПу:


if( #PremiumUser <= gettimetick(2) ) {
dispbottom "Time of Premium Account was ended or you don't pay for this.";
query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";
}

Т.е. если нет премиума или он истёк - лишний запрос в базу на сброс уровня аккаунта до 0.

Скрипт надо читать, прежде чем публиковать информацию о каких-то БАГах.

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

Тут по КЭПу:
 if( #PremiumUser <= gettimetick(2) ) { dispbottom "Time of Premium Account was ended or you don't pay for this."; query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+""; }

Т.е. если нет премиума или он истёк - лишний запрос в базу на сброс уровня аккаунта до 0. Скрипт надо читать, прежде чем публиковать информацию о каких-то БАГах.

Сказал как отрезал хД)

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

То, что ты заменил название и номер спрайта не могло помочь, ибо:

1. Добавление #lol и тому подобное - когда сервер пишет, что такое название НПЦ уже используется (Тогда поможет такое добавление).

2. Номер спрайта, ну тут сам понимаешь.

Удач.

да с этим разобрался спасибо

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

То, что ты заменил название и номер спрайта не могло помочь, ибо:

1. Добавление #lol и тому подобное - когда сервер пишет, что такое название НПЦ уже используется (Тогда поможет такое добавление).

2. Номер спрайта, ну тут сам понимаешь.

Удач.

да с этим разобрался спасибо

Ну хорошо что разобрался ))) Удачи те чтоб было по меньше проблем с проектом)))))

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

То, что ты заменил название и номер спрайта не могло помочь, ибо:

1. Добавление #lol и тому подобное - когда сервер пишет, что такое название НПЦ уже используется (Тогда поможет такое добавление).

2. Номер спрайта, ну тут сам понимаешь.

Удач.

да с этим разобрался спасибо

Ну хорошо что разобрался ))) Удачи те чтоб было по меньше проблем с проектом)))))

Спасибо) с каждым днём изучаю чтото новое)))

всё благодоря вашим советам и естественно гуглу :D главное чаще задавать ему вопросы)))

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

  • 5 месяцев спустя...

А ты что-то предпринимаешь для того, чтобы в один прекрасный момент написать что-нибудь?


prontera,146,166,6 script Premium Account 634,{
// Settings: -----------------------------
set .@Cost, 350; // Cash Points required
set .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.
set .@Time$, "1 month";
// ---------------------------------------

mes "[Premium Account]";
mes "I am the Premium Account seller.";
if( #PremiumUser > gettimetick(2) )
mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
mes "What can I do for you?";
next;

// isPremium() returns 1 if the current user account is premium and it have not expired.
// It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.
// isPremium() is the same as #Premium_Tick > gettimetick(2)

switch( select("Pay for Premium Time:About Premium Account") )
{
case 1:
mes "[Premium Account]";
if( #PremiumUser > gettimetick(2) )
mes "Do you really want to extend your Premium Time?";
else
mes "You do really want to convert your account to premium?";

mes "Premium Time is ^FF0000" + .@Time$ + "^000000";
mes "Value is ^FF0000" + .@Cost + "^000000 Cash Points.";
next;
if( select("Yes:No") == 2 )
{
mes "[Premium Account]";
mes "Come back if you change your mind.";
close;
}

if( #CASHPOINTS < .@Cost )
{
mes "[Premium Account]";
mes "You don't have enough Cash Points.";
close;
}

if( #PremiumUser > gettimetick(2) )
set #PremiumUser, #PremiumUser + .@Time; // Time Extension
else
set #PremiumUser, gettimetick(2) + .@Time; // New premium Account
query_sql "UPDATE `login` SET level = '1' WHERE account_id = "+getcharid(3)+"";
set #CASHPOINTS, #CASHPOINTS - .@Cost;
mes "[Premium Account]";
mes "Congratulations!!..";
mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
next;
mes "To change the status to take effect, please reenter the game.";
close;
case 2:

// Edit this messages to explain your Users about the premium account in your server.
// ----------------------------------------------------------------------------------

mes "[Premium Account]";
mes "With Premium Account you can:";
mes "Use the commands: @mobsearch,";
mes "@cast,@exp,@petrename,@where,";
mes "@changeleader, @packetfilter,";
mes "@autorefresh and other...";
mes " ";
close;
}


OnPCLoginEvent:
if( #PremiumUser > gettimetick(2)) {
// sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;
// sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;
dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";
}
if( #PremiumUser <= gettimetick(2) ) {
dispbottom "Time of Premium Account was ended or you don't pay for this.";
query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";
}
end;
}

Добрый день!

Во-первых спасибо! Мне очень понравился ваш скрипт.

Немогли бы вы помочь пожалуиста переделать его с кэша на ТЦГ? ID7227. Я учусь скриптить но этот скрипт слишком сложный для меня пока что.

Благодарю!

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

Добрый день!

Во-первых спасибо! Мне очень понравился ваш скрипт.

Немогли бы вы помочь пожалуиста переделать его с кэша на ТЦГ? ID7227. Я учусь скриптить но этот скрипт слишком сложный для меня пока что.

Благодарю!


prontera,146,166,6 script Premium Account 634,{
// Settings: -----------------------------
set .@Cost, 10; // TCG required
set .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.
set .@Time$, "1 month";
// ---------------------------------------
mes "[Premium Account]";
mes "I am the Premium Account seller.";
if( #PremiumUser > gettimetick(2) )
mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
mes "What can I do for you?";
next;
// isPremium() returns 1 if the current user account is premium and it have not expired.
// It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.
// isPremium() is the same as #Premium_Tick > gettimetick(2)
switch( select("Pay for Premium Time:About Premium Account") )
{
case 1:
mes "[Premium Account]";
if( #PremiumUser > gettimetick(2) )
mes "Do you really want to extend your Premium Time?";
else
mes "You do really want to convert your account to premium?";
mes "Premium Time is ^FF0000" + .@Time$ + "^000000";
mes "Value is ^FF0000" + .@Cost + "^000000 TCG.";
next;
if( select("Yes:No") == 2 )
{
mes "[Premium Account]";
mes "Come back if you change your mind.";
close;
}
if( countitem(7227) < .@Cost )
{
mes "[Premium Account]";
mes "You don't have enough TCG.";
close;
}
if( #PremiumUser > gettimetick(2) )
set #PremiumUser, #PremiumUser + .@Time; // Time Extension
else
set #PremiumUser, gettimetick(2) + .@Time; // New premium Account
query_sql "UPDATE `login` SET level = '1' WHERE account_id = "+getcharid(3)+"";
delitem 7227, .@Cost;
mes "[Premium Account]";
mes "Congratulations!!..";
mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
next;
mes "To change the status to take effect, please reenter the game.";
close;
case 2:
// Edit this messages to explain your Users about the premium account in your server.
// ----------------------------------------------------------------------------------
mes "[Premium Account]";
mes "With Premium Account you can:";
mes "Use the commands: @mobsearch,";
mes "@cast,@exp,@petrename,@where,";
mes "@changeleader, @packetfilter,";
mes "@autorefresh and other...";
mes " ";
close;
}

OnPCLoginEvent:
if( #PremiumUser > gettimetick(2)) {
// sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;
// sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;
dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";
}
if( #PremiumUser <= gettimetick(2) ) {
dispbottom "Time of Premium Account was ended or you don't pay for this.";
query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";
}
end;
}

Стыдно должно быть, 2 строчки не заменить.

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

  • 5 месяцев спустя...

Добрый день!

Во-первых спасибо! Мне очень понравился ваш скрипт.

Немогли бы вы помочь пожалуиста переделать его с кэша на ТЦГ? ID7227. Я учусь скриптить но этот скрипт слишком сложный для меня пока что.

Благодарю!


prontera,146,166,6 script Premium Account 634,{
// Settings: -----------------------------
set .@Cost, 10; // TCG required
set .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.
set .@Time$, "1 month";
// ---------------------------------------
mes "[Premium Account]";
mes "I am the Premium Account seller.";
if( #PremiumUser > gettimetick(2) )
mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
mes "What can I do for you?";
next;
// isPremium() returns 1 if the current user account is premium and it have not expired.
// It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.
// isPremium() is the same as #Premium_Tick > gettimetick(2)
switch( select("Pay for Premium Time:About Premium Account") )
{
case 1:
mes "[Premium Account]";
if( #PremiumUser > gettimetick(2) )
mes "Do you really want to extend your Premium Time?";
else
mes "You do really want to convert your account to premium?";
mes "Premium Time is ^FF0000" + .@Time$ + "^000000";
mes "Value is ^FF0000" + .@Cost + "^000000 TCG.";
next;
if( select("Yes:No") == 2 )
{
mes "[Premium Account]";
mes "Come back if you change your mind.";
close;
}
if( countitem(7227) < .@Cost )
{
mes "[Premium Account]";
mes "You don't have enough TCG.";
close;
}
if( #PremiumUser > gettimetick(2) )
set #PremiumUser, #PremiumUser + .@Time; // Time Extension
else
set #PremiumUser, gettimetick(2) + .@Time; // New premium Account
query_sql "UPDATE `login` SET level = '1' WHERE account_id = "+getcharid(3)+"";
delitem 7227, .@Cost;
mes "[Premium Account]";
mes "Congratulations!!..";
mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
next;
mes "To change the status to take effect, please reenter the game.";
close;
case 2:
// Edit this messages to explain your Users about the premium account in your server.
// ----------------------------------------------------------------------------------
mes "[Premium Account]";
mes "With Premium Account you can:";
mes "Use the commands: @mobsearch,";
mes "@cast,@exp,@petrename,@where,";
mes "@changeleader, @packetfilter,";
mes "@autorefresh and other...";
mes " ";
close;
}

OnPCLoginEvent:
if( #PremiumUser > gettimetick(2)) {
// sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;
// sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;
dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";
}
if( #PremiumUser <= gettimetick(2) ) {
dispbottom "Time of Premium Account was ended or you don't pay for this.";
query_sql "UPDATE `login` SET level = '0' WHERE account_id = "+getcharid(3)+"";
}
end;
}

Стыдно должно быть, 2 строчки не заменить.

Сделал Проверку на админа Теперь Гм акк не сбивается. Кому нужно могу выложить

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

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