Назад

Рандом бонус + ресет

Автор: mepro: Дата: 06.08.2009

Вознила такая идея, хачу поставить на серв нпц бонусера каторый дает рандомный бонус, например 3к-5к статпоинтов, и ресетера каторый при ресете дает не только базовые 7к статпоинтов(на 255 лвл) а еще и бонус.
Если комуто интересно то эту идею видел на АвангардРо, при достижении макс лвл можна получить бонус и об этом бонусе идет анонс, типа "Игрок *** получил бонус 48935!"
Так вот если у кавота есть сие чудо или кто знает как его осуществить помогите пожалуста.

Автор: nomn: Дата: 06.08.2009

реализованно немного в более умной форме у себя на сервере.

Автор: Sanasol: Дата: 06.08.2009

Щас сделаю то что тебе надо. примерно.

Автор: mepro: Дата: 06.08.2009

@Мяфкиш я твой скрипт ставил уже тока там баг какойта, там пишет если бонус = 1 то выдает месагу мол ты уже получал бонус, я взял первым чаром бонус без проблем, захожу на 2, пишет мол я уже получил бонус=\

Автор: Мяфк: Дата: 06.08.2009

Хз, я в скриптах не очень, возможно переменая бонус привязывается к аккаунту, щас тебе Санасол напишет :)

Автор: Gira: Дата: 06.08.2009

- script bonus -1,{
OnPCBaseLvUpEvent:
if ( BaseLevel > 98 )
set StatusPoint, StatusPoint + rand(99,201);

end;
}

вот хз откуда подедактируй и и все=)

Автор: mepro: Дата: 06.08.2009

такой тоже видел и юзал, но всеже я настолько придирчивый что мне нужен и ресетер каторый дает именно тот бонус каторый игрок полчил=\

Автор: Sanasol: Дата: 06.08.2009

хватит флудить щас напишу сказал же =)

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

// ===========================================================

// = - Ресет

// ===========================================================

// = - Скрипт написан Dis[IP]'ом

// ===========================================================

// = - Работает на всех версиях еА

// ===========================================================

// = - Desc:Сброс скиллов/статов

// ===========================================================

// = - Версия скрипта 1.3

// ===========================================================

// 1.0 - Первая версия

// 1.1 - Появилась возможность брать добавочные стат поинты

// 1.2 - Небольшая оптимизация

// 1.3 - Финальная версия

// ===========================================================

// = - Если вы хотите разместить где-либо этот скрипт,то не

// = - забывайте указывать копирайты,уважайте чужой труд

// ===========================================================



prontera,160,174,5    script    Reset NPC    906,{



    set @price, 1000; //Эм,все сразу будет стоить в 1,5 раза больше.    



    if(BaseLevel == 254)

    {

    

    mes "[Reset NPC]";

    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 7000";



        set #b_point, 1;

        mes "^FF0000СНезабудь взять добавку рандомную добавку от 3к до 5к очков.^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 7000";



        set #b_point, 1;

        mes "Незабудь взять добавку рандомную добавку от 3к до 5к очков."; //Хе,это подсказка когда сбросился

        set zeny, zeny - @price /2 * 3;

        mes "Незабудь взять добавку " + #b_point + " очков."; //Хе,это подсказка когда сбросился

        close;

    case 4:

        // вот и рандомная добавка

        if(#b_point == 1)

        {

        set StatusPoint, StatusPoint + rand(3000,5000)

        set #b_point, 0;

            mes "Такс,держи свои очки)Больше не теряй)";

        } else {

            mes "У тебя нет оставленных очков";

        }

    default:

        close;

    }

    } else {

                // Если персонаж не достиг 254 уровня

        mes "Ты еще молод.Приходи ко мне когда подрастешь до 254.Буду ждать!";

        close;

    }

    close;

}

Автор: Мяфк: Дата: 06.08.2009

Оффтоп: А вот в чём ошибка в этом скрипте ? set Bonus причесляется к аккаунту или чару?

prontera,147,193,5    script    Бонус стат    743,{
if($Bonus == 1) goto L_po;
mes "Привет я могу тебе дать бонус 5к стат поинтов";
mes "Тебе нужен 255 уровень!";
mes "Получить бонус ты сможеш один раз!";
menu "Давай бонус",-,"Уйти",L_q;
if(BaseLevel < 255) goto mal;
atcommand "@stpoint +5000";
set $Bonus, 1;
close;
L_po:
mes "Ты уже получал бонус!";
close;
mal:
mes "Ты ещё не 255 уровень!";
close;
L_q:
close;
}

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

В данном случае неправильно выбрана переменная.Простой сет устанавливается на персонажа.Сет с # на аккаунт.А тут вообще на хз что.

Автор: mepro: Дата: 06.08.2009

тобиш любая переменная пустая типа bonus/b_point/b_stat или чето в этом роде привязываецца к чару?
и второй вопрос а как сделать чтоб ресетер давал именно тот бонус который был получен в самый первый раз?

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

К аккаунту.То что ты просил я написал.Остальное додумывай сам и читай доки.На какой-то параметр ставим еще одну переменную,в начале скрипта делаем на нее проверку и выдаем определенные очки.

Автор: mepro: Дата: 06.08.2009

мм, спасибо, попробую

Автор: Sanasol: Дата: 06.08.2009

Вот скриптек. Резет + Бонус.
Когджа получаешь макс уровень в моем случаем 254 Подходишь к НПЦ дает бонус на рандом от 1000 до 5000.
При слежующих образениях к НПЦ работает как простой резетер и дает бонус полученный на макс уровне. когда скидываешь статы или стат + скилл

Автор: mepro: Дата: 06.10.2009

Опа, в точности то что я имел ввиду, ткнул спасибку=)