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

FreakyL0L

Очередь
  • Постов

    21
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Сообщения, опубликованные FreakyL0L

  1. Вот вам Хилер с эффектами,а так же распознаёт вещи и чинит сломаные.

    prontera,149,189,6	script	Доктор	834,10,10,{

    OnTouch:
    while(getbrokenid(1))
    repair(1);
    percentheal 100,100;
    specialeffect2 42;
    sc_start SC_BLESSING,300000,10;
    specialeffect2 37;
    sc_start SC_INCREASEAGI,300000,10;
    sc_start SC_MAGNIFICAT,300000,5;
    sc_start SC_ANGELUS,300000,10;
    emotion 21;
    getinventorylist;
    for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1){
    if(@inventorylist_identify[.@i]==1) continue;
    delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
    getitem @inventorylist_id[.@i],1;
    }
    }

    Вот ваш варпер :

    http://paste.pocoo.org/raw/454390/

    • Upvote 1
    • Downvote 3
  2. Ахиреть,мне нуб какой-то - поставил,что за втф? Нубяры тупорылые ) НАОТА НА ЭТОМ ФОРУМЕ НИ КТО,А С РУС-ЕА МОЖНО БЫЛО ВЗЯТЬ ТЕМЫ,ТОТ КТО ПОСТАВИЛ - НУБЯРА!11 :) Я кончил.

    А то что админы этого форума тупо слизали идею,все давным давно знают :(

  3. //       _________________________________________________________________________________ 
    // // Скрипт арены by FreakyL0L \\
    // // v1.0 - Первый релиз. \\
    // // v1.1 - Поправлен Нпц,добавлен Waitingroom //
    // // v1.2 - Добавлены новые мапфлаги. //
    // \\ ICQ 571-657-735 | Skype freestil4ik //
    // \\_______________________________________________________________________________//


    // Показываем сколько игроков на аренах.
    - script oninit -1,{
    OnInit:
    delwaitingroom;
    waitingroom "| "+(getmapusers("guild_vs1"))+" |,| "+(getmapusers("guild_vs5"))+" |,| "+(getmapusers("guild_vs4"))+" |",0;
    }


    prontera,142,173,6 script Арена 105,{


    // Совсем маленький конфиг :

    set .npc$, "[Мастер]"; // Имя НПЦ;


    mes .npc$;
    mes "На какую арену вы хотите попасть?";
    switch(select("Арена 1х1 | "+(getmapusers("guild_vs1"))+"/2 |","Обычная Арена | "+(getmapusers("guild_vs5"))+"/50 |","Арена без Хила | "+(getmapusers("guild_vs4"))+"/50 |")) {

    case 1:


    if(getmapusers("guild_vs1") >= 2) { next; mes .npc$; mes "Арена полная!"; }
    next;
    mes .npc$;
    mes "Хотите телепортироваться?";
    if(select("Да","Нет") == 2) { next; mes .npc$; mes "Пока"; close; }
    sc_end SC_ASSUMPTIO;
    warp "guild_vs1",0,0;
    close;

    case 2:


    if(getmapusers("guild_vs5") >= 50) { next; mes .npc$; mes "Арена полная!"; }
    next;
    mes .npc$;
    mes "Хотите телепортироваться?";
    if(select("Да","Нет") == 2) { next; mes .npc$; mes "Пока"; close; }
    sc_end SC_ASSUMPTIO;
    warp "guild_vs5",0,0;
    close;

    case 3:
    if(getmapusers("guild_vs4") >= 50) { next; mes .npc$; mes "Арена полная!"; }
    next;
    mes .npc$;
    mes "Хотите телепортироваться?";
    if(select("Да","Нет") == 2) { next; mes .npc$; mes "Пока"; close; }
    sc_end SC_ASSUMPTIO;
    warp "guild_vs4",0,0;
    close;
    }
    }

    //\\ ::МапФлаги:: //\\

    //\\ ::Арена 1х1:: //\\
    guild_vs1 mapflag pvp on
    guild_vs1 mapflag nowarp
    //\\ ::Обычная Арена:: //\\
    guild_vs5 mapflag pvp on
    guild_vs5 mapflag nowarp
    //\\ ::Арена без Хила:: //\\
    guild_vs4 mapflag pvp on
    guild_vs4 mapflag nowarp
    guild_vs4 mapflag noicewall
    guild_vs4 mapflag restricted 7

    Убераем возможность использования яг на арене.

    Открываем item_noequip.txt

    и в конец добавляем :

    //PVP Arena by FreakyL0L
    607,7
    608,7

    Чтобы не вылезали Warning'и надо в conf/mapflag/gvg.txt

    Убрать строчки :

    guild_vs1	mapflag	gvg
    guild_vs4 mapflag gvg
    guild_vs5 mapflag gvg

    Ребят пользуйтесь? Поставьте спасибку,не жмоттесь.

    • Upvote 9
    • Downvote 1
  4. Гайд от Amstaff'a :

    Данный патчер отличается тем, что не использует открытые конфиги и чтобы сделать патч и даже сам патчер надо воспользоваться некоторыми предоставленными тулзами (есть в архиве с патчером). Щас и сам попробую сделать такой патчер… распаковал… скажем в папку ‘patcher’. Принимаюсь за процесс:

    -> заходим в папку ./patcher/tools

    -> как я понял, нам надо создать запаковать в ехе – локальный конфиг + скин. Локальный конфиг – config.ini. Папка с скином – images.

    -> рассмотрим config.ini :

    // Thor Patcher Internal Config File
    // Note: любое значение оставленное пустым примет значение по умолчанию
    // True = 1
    // False = 0
    // Заметка: можно писать 1 или True (that's why I put "=")
    [URL]
    //base_url - все, кроме patch_file'a будет считываться отсюда
    //Путь должен оканчиваться знаком /
    //
    // Пример:
    // http://domain.com/patch/
    // NOT
    // http://domain.com/patch
    //
    base_url=http://amstaff.su/thor-patcher/
    //notice_file - [Relative Address]
    //notice_file = notice.html => base_url+notice_file = http://domain.com/patch/notice.html
    notice_file=notice.html
    //core_file - [Relative Address]
    //этот внутренние конфиг файл, который хранит в себе то, что требуется,
    //но хранится он на веб-сервере
    core_file=main.ini
    //TimeOut - timeout коннект в секундах
    //0 по умолчанию, не меняйте, если вы не знаете что это
    TimeOut=0
    //=============================
    // Файлы ниже хранятся на локальном диске (в папке с патчером)
    //=============================
    [Local]
    //status_file - [Relative Address]
    //файл для хранения разной информации, например номер последнего скачанного патча
    status_file=server.dat
    //grf_file - [Relative Address]
    //я думаю, что здесь все понятно
    grf_file=server.grf
    //client_file - [Relative Address]
    //exe для запуска клиента
    client_file=game.exe
    //параметры для запуска клиента - [Self Explained]
    client_parameter=-1sak1
    //---------------------------------------------------------------------------------
    //
    // Ниже продвинутые настройки, если вы не хотите настраивать дальше, можете просто
    // выйти
    //
    //---------------------------------------------------------------------------------
    //=============================
    // Custom Skin controls
    //=============================
    [Skin]
    //windows_autosize - 1 = размер окна будет автоматически подстраиваться под контент
    windows_autosize=true
    //windows_mode - Как окно будет представлено?
    // None - с рамкой
    // Single - нельзя изменить размеры окна
    // Sizeable - размеры можно изменять
    window_style=none
    // Ширина и высота окна
    // windows_autosize устанвите в 0, если хотите, чтобы работало
    // Min: 1 Max: 10000
    window_width=
    window_height=
    // если включить, то пользователь сможет передвигать окно, нажав на фоновую картинку
    // рекомендовано для окон без рамки
    window_handle_move=true
    // Картинка для фона (Не считывает из папки с патчером, а записывается в exe)
    // Поддерживаемые форматы : jpg bmp
    // Заметка : патчер определяет формат картинки по формату файла.
    background_file=images/bg.bmp
    //Новая progress bar, используется картинка
    //ВНИМАНИЕ: высокая нагрузка на CPU
    NewProgressBar=False
    //Картинка для progress bar (только, если NewProgressBar включени; BMP, JPG, PNG поддерживаются)
    ProgressBar_back=
    ProgressBar_front=
    // размер progress bar? (только, если NewProgressBar отключена)
    progress_bar_width=
    progress_bar_height=
    // Расположение progress bar
    progress_bar_left=
    progress_bar_top=
    //Определите цвет progress bar
    //используйте шестнадцетиричные цифры RGB [eg. #4C7D7E]
    //Цвет для фона progress_bar
    progress_bar_backcolor=
    progress_bar_backcolor_end=
    //цвет для "фасада" progress bar.
    progress_bar_barcolor=
    progress_bar_barcolor_end=
    // Ширина статус сообщения (показывает текущий статус)
    status_width=
    // тип прижатия текста (align)
    // Left , Center , Right
    status_alignment=center
    // Position
    status_left=
    status_top=
    //Цвет текста, в шестнедцетиричной системе RGB [eg. #123456]
    status_color=
    // настройки notice (News box? Mini web browser? you name it)
    notice_width=
    notice_height=
    notice_left=
    notice_top=
    // Для кнопки `start`
    start_normal=images/start1.png
    start_hover=images/start2.png
    start_down=images/start3.png
    start_left=
    start_top=
    // для кнопки `exit`
    exit_normal=images/Exit1.png
    exit_hover=images/Exit2.png
    exit_down=images/Exit3.png
    exit_left=
    exit_top=
    // для кнопки `cancel`
    cancel_normal=images/Exit1.png
    cancel_hover=images/Exit2.png
    cancel_down=images/Exit3.png
    cancel_left=
    cancel_top=
    // Как много своих кнопок вы хотите создать?
    // Можно создать 0-255 своих кнопок
    buttons=0
    // - Свои кнопки -
    // создание кнопок очень легкое. Формат: buttonN_<тип>,где N-номер кнопки,
    // а `тип` рассмотрим ниже. Не забудьте, что все картинки будут упакованы в патчер
    // _normal - адрес картинки кнопки в обычном состоянии
    //button1_normal=
    // _hover - адрес картинки, когда пользователь навел на кнопку
    //button1_hover=
    // _down - адрес картинки, когда пользователь нажмет на кнопку
    //button1_down=
    // _left/_top - позиция кнопки
    //button1_left=
    //button1_top=
    // _mode - мод для кнопки (или что будет делать, когда нажмете)
    // 0 = открыть ссылку
    // 1 = запустить программу
    // 2 = сообщение
    // 3 = скрыть окно
    // 4 = закрыть патчер
    // 5 = клон кнопки `start`
    //button1_mode=
    // _action - зависит от того, какой `_mod` вы выбрали
    // ex. _mode = 0 , _action=http://google.com
    // откроется ссылка
    //button1_action=
    // Параметры для кнопки - Используется только в _mod=5
    //button1_parameter=
    [BGM]
    //фоновая музыка, оставьте пустым, если хотите выключить (mp3/mid/wav)
    bgm=
    //зациклить воспроизведение музыки (повтор)
    BGMLoop=False
    //звук фоновой музыкы (1-100)
    // рекомендовано: 40-60
    // Default: 50
    Volume=50
    //Note: это отключить опцию bgm!
    // при выборе данной опции музыка будет выбрана рандомно
    //eg. BGM/
    BGMDir=
    [Misc]
    //включите эту опцию, если хотите, чтобы можно было запустить игру, если была ошибка в подключении
    Continue On Connection Fail=False
    //Как будет названо окно патчера?
    Title=Thor Patcher
    //Включите эту опцию, если хотите сделать такой эффект при перемещении окна как и в RO
    // (полу-прозрачный эффект)
    Fadeondrag=false

    Данный патчер отличается тем, что не использует открытые конфиги и чтобы сделать патч и даже сам патчер надо воспользоваться некоторыми предоставленными тулзами (есть в архиве с патчером). Щас и сам попробую сделать такой патчер… распаковал… скажем в папку ‘patcher’. Принимаюсь за процесс:

    -> заходим в папку ./patcher/tools

    -> как я понял, нам надо создать запаковать в ехе – локальный конфиг + скин. Локальный конфиг – config.ini. Папка с скином – images.

    -> рассмотрим config.ini :

    // Thor Patcher Internal Config File

    // Note: любое значение оставленное пустым примет значение по умолчанию

    // True = 1

    // False = 0

    // Заметка: можно писать 1 или True (that's why I put "=")

    //base_url - все, кроме patch_file'a будет считываться отсюда

    //Путь должен оканчиваться знаком /

    //

    // Пример:

    // http://domain.com/patch/'>http://domain.com/patch/

    // NOT

    // http://domain.com/patch

    //

    base_url=http://amstaff.su/thor-patcher/

    //notice_file - [Relative Address]

    //notice_file = notice.html => base_url+notice_file = http://domain.com/patch/'>http://domain.com/patch/notice.html

    notice_file=notice.html

    //core_file - [Relative Address]

    //этот внутренние конфиг файл, который хранит в себе то, что требуется,

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

    core_file=main.ini

    //TimeOut - timeout коннект в секундах

    //0 по умолчанию, не меняйте, если вы не знаете что это

    TimeOut=0

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

    // Файлы ниже хранятся на локальном диске (в папке с патчером)

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

    [Local]

    //status_file - [Relative Address]

    //файл для хранения разной информации, например номер последнего скачанного патча

    status_file=server.dat

    //grf_file - [Relative Address]

    //я думаю, что здесь все понятно

    grf_file=server.grf

    //client_file - [Relative Address]

    //exe для запуска клиента

    client_file=game.exe

    //параметры для запуска клиента - [self Explained]

    client_parameter=-1sak1

    //---------------------------------------------------------------------------------

    //

    // Ниже продвинутые настройки, если вы не хотите настраивать дальше, можете просто

    // выйти :)

    //

    //---------------------------------------------------------------------------------

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

    // Custom Skin controls

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

    [skin]

    //windows_autosize - 1 = размер окна будет автоматически подстраиваться под контент

    windows_autosize=true

    //windows_mode - Как окно будет представлено?

    // None - с рамкой

    // Single - нельзя изменить размеры окна

    // Sizeable - размеры можно изменять :)

    window_style=none

    // Ширина и высота окна

    // windows_autosize устанвите в 0, если хотите, чтобы работало

    // Min: 1 Max: 10000

    window_width=

    window_height=

    // если включить, то пользователь сможет передвигать окно, нажав на фоновую картинку

    // рекомендовано для окон без рамки

    window_handle_move=true

    // Картинка для фона (Не считывает из папки с патчером, а записывается в exe)

    // Поддерживаемые форматы : jpg bmp

    // Заметка : патчер определяет формат картинки по формату файла.

    background_file=images/bg.bmp

    //Новая progress bar, используется картинка

    //ВНИМАНИЕ: высокая нагрузка на CPU

    NewProgressBar=False

    //Картинка для progress bar (только, если NewProgressBar включени; BMP, JPG, PNG поддерживаются)

    ProgressBar_back=

    ProgressBar_front=

    // размер progress bar? (только, если NewProgressBar отключена)

    progress_bar_width=

    progress_bar_height=

    // Расположение progress bar

    progress_bar_left=

    progress_bar_top=

    //Определите цвет progress bar

    //используйте шестнадцетиричные цифры RGB [eg. #4C7D7E]

    //Цвет для фона progress_bar

    progress_bar_backcolor=

    progress_bar_backcolor_end=

    //цвет для "фасада" progress bar.

    progress_bar_barcolor=

    progress_bar_barcolor_end=

    // Ширина статус сообщения (показывает текущий статус)

    status_width=

    // тип прижатия текста (align)

    // Left , Center , Right

    status_alignment=center

    // Position

    status_left=

    status_top=

    //Цвет текста, в шестнедцетиричной системе RGB [eg. #123456]

    status_color=

    // настройки notice (News box? Mini web browser? you name it)

    notice_width=

    notice_height=

    notice_left=

    notice_top=

    // Для кнопки `start`

    start_normal=images/start1.png

    start_hover=images/start2.png

    start_down=images/start3.png

    start_left=

    start_top=

    // для кнопки `exit`

    exit_normal=images/Exit1.png

    exit_hover=images/Exit2.png

    exit_down=images/Exit3.png

    exit_left=

    exit_top=

    // для кнопки `cancel`

    cancel_normal=images/Exit1.png

    cancel_hover=images/Exit2.png

    cancel_down=images/Exit3.png

    cancel_left=

    cancel_top=

    // Как много своих кнопок вы хотите создать?

    // Можно создать 0-255 своих кнопок

    buttons=0

    // - Свои кнопки -

    // создание кнопок очень легкое. Формат: buttonN_<тип>,где N-номер кнопки,

    // а `тип` рассмотрим ниже. Не забудьте, что все картинки будут упакованы в патчер

    // _normal - адрес картинки кнопки в обычном состоянии

    //button1_normal=

    // _hover - адрес картинки, когда пользователь навел на кнопку

    //button1_hover=

    // _down - адрес картинки, когда пользователь нажмет на кнопку

    //button1_down=

    // _left/_top - позиция кнопки

    //button1_left=

    //button1_top=

    // _mode - мод для кнопки (или что будет делать, когда нажмете)

    // 0 = открыть ссылку

    // 1 = запустить программу

    // 2 = сообщение

    // 3 = скрыть окно

    // 4 = закрыть патчер

    // 5 = клон кнопки `start`

    //button1_mode=

    // _action - зависит от того, какой `_mod` вы выбрали

    // ex. _mode = 0 , _action=http://google.com

    // откроется ссылка

    //button1_action=

    // Параметры для кнопки - Используется только в _mod=5

    //button1_parameter=

    [bGM]

    //фоновая музыка, оставьте пустым, если хотите выключить (mp3/mid/wav)

    bgm=

    //зациклить воспроизведение музыки (повтор)

    BGMLoop=False

    //звук фоновой музыкы (1-100)

    // рекомендовано: 40-60

    // Default: 50

    Volume=50

    //Note: это отключить опцию bgm!

    // при выборе данной опции музыка будет выбрана рандомно

    //eg. BGM/

    BGMDir=

    [Misc]

    //включите эту опцию, если хотите, чтобы можно было запустить игру, если была ошибка в подключении

    Continue On Connection Fail=False

    //Как будет названо окно патчера?

    Title=Thor Patcher

    //Включите эту опцию, если хотите сделать такой эффект при перемещении окна как и в RO

    // (полу-прозрачный эффект)

    Fadeondrag=false

    -> настроили как захотели (я мало менял конфиги, потом успею с ними поиграться smile.gif ) И для примера использую свою adata.grf от старого сервера.

    -> дальше запаковываем с помощью программы-утилиты Config_Packer.exe. [ Заходим в программу -> Browse-> выбираем файл ./patcher/Patcher/Thor.exe -> нажимаем на кнопку Pack! ]. Вот и все, ваш патчер готов, пора приняться за другие настройки… давайте продолжим с тем, что должно быть на веб-сервере…

    -> давайте рассмотрим содержимое папки ./patcher/Web (по названию сразу все понятно). Все что вам будет нужно: main.ini (файл настроек, указанный в локальном конфиге), notice.html (файл, который будет показываться в браузере патчера), plist.txt (список с патчами, указанный в main.ini), папка, в которой содержатся патчи (указывается в main.ini и только если используете HTTP протокол.)

    -> перед тем, как все закачать на веб-сервер, настроим main.ini:

    //Thor Patcher remote config file
    [Main]
    //разрешить патчиться пользователям?
    allow=true
    //Разрешить ли патчеру запусать игру, не смотря ни на что?
    Force_Start=false
    /Если нет, то какое сообщение выводить?
    policy_msg=Сервер отдыхает, обождите
    // file_url -все патчи будут лежать по этой сслыке
    // This config entry will override the one in embed config.
    // o HTTP:
    // http://domain.com/dir/
    // o FTP:
    // ftp://domain.com/dir/
    // o с [Password] [Port]
    // ftp://username:password@domain.com:port/dir
    // для HTTP
    file_url=http://amstaff.su/thor-patcher/patches/
    // для FTP
    // file_url=ftp://amstaff.su/pub/mypatches/
    [Patch]
    //используйте утилиту CheckSum, чтобы сделать хэш для client & patcher
    // используется для того, чтобы не подменили ехе-шник и держать его обновленным
    // (хотите отключить? оставьте поля пустыми)
    ClientSum=
    PatcherSum=
    // пока сам не разобрался в этом, извините )
    //This is compressed file for patcher & client update
    // To make these work, ClientSum and/or PatcherSum can't be empty
    // Note: these files should put same place as patch file (file_url in internal config)
    //Relative address, not FULL URL!
    ClientPath=
    PatcherPath=
    // файл со списком патчей
    PatchList=plist.txt
    [Stars]
    // укажите сюда количество ваших клиентов-клонов (скорее всего, когда делали кнопкис модами запуска программ)
    clients=0
    // _sum - checksum, используйте утилиту CheckSum .
    //client1_sum=
    // _Name - имя исполняемого файла
    //client1_Name=
    // _Path - путь к файлу [Compressed]
    //client1_Path=
    [Misc]
    // Установите лимит фрагментации, как только он будет достигнут, патер попросит
    // пользователя сделать дефрагментацию
    FragmentLimit=50

    Данный патчер отличается тем, что не использует открытые конфиги и чтобы сделать патч и даже сам патчер надо воспользоваться некоторыми предоставленными тулзами (есть в архиве с патчером). Щас и сам попробую сделать такой патчер… распаковал… скажем в папку ‘patcher’. Принимаюсь за процесс:

    -> заходим в папку ./patcher/tools

    -> как я понял, нам надо создать запаковать в ехе – локальный конфиг + скин. Локальный конфиг – config.ini. Папка с скином – images.

    -> рассмотрим config.ini :

    // Thor Patcher Internal Config File

    // Note: любое значение оставленное пустым примет значение по умолчанию

    // True = 1

    // False = 0

    // Заметка: можно писать 1 или True (that's why I put "=")

    //base_url - все, кроме patch_file'a будет считываться отсюда

    //Путь должен оканчиваться знаком /

    //

    // Пример:

    // http://domain.com/patch/'>http://domain.com/patch/

    // NOT

    // http://domain.com/patch

    //

    base_url=http://amstaff.su/thor-patcher/

    //notice_file - [Relative Address]

    //notice_file = notice.html => base_url+notice_file = http://domain.com/patch/'>http://domain.com/patch/notice.html

    notice_file=notice.html

    //core_file - [Relative Address]

    //этот внутренние конфиг файл, который хранит в себе то, что требуется,

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

    core_file=main.ini

    //TimeOut - timeout коннект в секундах

    //0 по умолчанию, не меняйте, если вы не знаете что это

    TimeOut=0

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

    // Файлы ниже хранятся на локальном диске (в папке с патчером)

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

    [Local]

    //status_file - [Relative Address]

    //файл для хранения разной информации, например номер последнего скачанного патча

    status_file=server.dat

    //grf_file - [Relative Address]

    //я думаю, что здесь все понятно

    grf_file=server.grf

    //client_file - [Relative Address]

    //exe для запуска клиента

    client_file=game.exe

    //параметры для запуска клиента - [self Explained]

    client_parameter=-1sak1

    //---------------------------------------------------------------------------------

    //

    // Ниже продвинутые настройки, если вы не хотите настраивать дальше, можете просто

    // выйти :)

    //

    //---------------------------------------------------------------------------------

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

    // Custom Skin controls

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

    [skin]

    //windows_autosize - 1 = размер окна будет автоматически подстраиваться под контент

    windows_autosize=true

    //windows_mode - Как окно будет представлено?

    // None - с рамкой

    // Single - нельзя изменить размеры окна

    // Sizeable - размеры можно изменять :)

    window_style=none

    // Ширина и высота окна

    // windows_autosize устанвите в 0, если хотите, чтобы работало

    // Min: 1 Max: 10000

    window_width=

    window_height=

    // если включить, то пользователь сможет передвигать окно, нажав на фоновую картинку

    // рекомендовано для окон без рамки

    window_handle_move=true

    // Картинка для фона (Не считывает из папки с патчером, а записывается в exe)

    // Поддерживаемые форматы : jpg bmp

    // Заметка : патчер определяет формат картинки по формату файла.

    background_file=images/bg.bmp

    //Новая progress bar, используется картинка

    //ВНИМАНИЕ: высокая нагрузка на CPU

    NewProgressBar=False

    //Картинка для progress bar (только, если NewProgressBar включени; BMP, JPG, PNG поддерживаются)

    ProgressBar_back=

    ProgressBar_front=

    // размер progress bar? (только, если NewProgressBar отключена)

    progress_bar_width=

    progress_bar_height=

    // Расположение progress bar

    progress_bar_left=

    progress_bar_top=

    //Определите цвет progress bar

    //используйте шестнадцетиричные цифры RGB [eg. #4C7D7E]

    //Цвет для фона progress_bar

    progress_bar_backcolor=

    progress_bar_backcolor_end=

    //цвет для "фасада" progress bar.

    progress_bar_barcolor=

    progress_bar_barcolor_end=

    // Ширина статус сообщения (показывает текущий статус)

    status_width=

    // тип прижатия текста (align)

    // Left , Center , Right

    status_alignment=center

    // Position

    status_left=

    status_top=

    //Цвет текста, в шестнедцетиричной системе RGB [eg. #123456]

    status_color=

    // настройки notice (News box? Mini web browser? you name it)

    notice_width=

    notice_height=

    notice_left=

    notice_top=

    // Для кнопки `start`

    start_normal=images/start1.png

    start_hover=images/start2.png

    start_down=images/start3.png

    start_left=

    start_top=

    // для кнопки `exit`

    exit_normal=images/Exit1.png

    exit_hover=images/Exit2.png

    exit_down=images/Exit3.png

    exit_left=

    exit_top=

    // для кнопки `cancel`

    cancel_normal=images/Exit1.png

    cancel_hover=images/Exit2.png

    cancel_down=images/Exit3.png

    cancel_left=

    cancel_top=

    // Как много своих кнопок вы хотите создать?

    // Можно создать 0-255 своих кнопок

    buttons=0

    // - Свои кнопки -

    // создание кнопок очень легкое. Формат: buttonN_<тип>,где N-номер кнопки,

    // а `тип` рассмотрим ниже. Не забудьте, что все картинки будут упакованы в патчер

    // _normal - адрес картинки кнопки в обычном состоянии

    //button1_normal=

    // _hover - адрес картинки, когда пользователь навел на кнопку

    //button1_hover=

    // _down - адрес картинки, когда пользователь нажмет на кнопку

    //button1_down=

    // _left/_top - позиция кнопки

    //button1_left=

    //button1_top=

    // _mode - мод для кнопки (или что будет делать, когда нажмете)

    // 0 = открыть ссылку

    // 1 = запустить программу

    // 2 = сообщение

    // 3 = скрыть окно

    // 4 = закрыть патчер

    // 5 = клон кнопки `start`

    //button1_mode=

    // _action - зависит от того, какой `_mod` вы выбрали

    // ex. _mode = 0 , _action=http://google.com

    // откроется ссылка

    //button1_action=

    // Параметры для кнопки - Используется только в _mod=5

    //button1_parameter=

    [bGM]

    //фоновая музыка, оставьте пустым, если хотите выключить (mp3/mid/wav)

    bgm=

    //зациклить воспроизведение музыки (повтор)

    BGMLoop=False

    //звук фоновой музыкы (1-100)

    // рекомендовано: 40-60

    // Default: 50

    Volume=50

    //Note: это отключить опцию bgm!

    // при выборе данной опции музыка будет выбрана рандомно

    //eg. BGM/

    BGMDir=

    [Misc]

    //включите эту опцию, если хотите, чтобы можно было запустить игру, если была ошибка в подключении

    Continue On Connection Fail=False

    //Как будет названо окно патчера?

    Title=Thor Patcher

    //Включите эту опцию, если хотите сделать такой эффект при перемещении окна как и в RO

    // (полу-прозрачный эффект)

    Fadeondrag=false

    -> настроили как захотели (я мало менял конфиги, потом успею с ними поиграться smile.gif ) И для примера использую свою adata.grf от старого сервера.

    -> дальше запаковываем с помощью программы-утилиты Config_Packer.exe. [ Заходим в программу -> Browse-> выбираем файл ./patcher/Patcher/Thor.exe -> нажимаем на кнопку Pack! ]. Вот и все, ваш патчер готов, пора приняться за другие настройки… давайте продолжим с тем, что должно быть на веб-сервере…

    -> давайте рассмотрим содержимое папки ./patcher/Web (по названию сразу все понятно). Все что вам будет нужно: main.ini (файл настроек, указанный в локальном конфиге), notice.html (файл, который будет показываться в браузере патчера), plist.txt (список с патчами, указанный в main.ini), папка, в которой содержатся патчи (указывается в main.ini и только если используете HTTP протокол.)

    -> перед тем, как все закачать на веб-сервер, настроим main.ini:

    //Thor Patcher remote config file

    [Main]

    //разрешить патчиться пользователям?

    allow=true

    //Разрешить ли патчеру запусать игру, не смотря ни на что?

    Force_Start=false

    /Если нет, то какое сообщение выводить?

    policy_msg=Сервер отдыхает, обождите

    // file_url -все патчи будут лежать по этой сслыке

    // This config entry will override the one in embed config.

    // o HTTP:

    // http://domain.com/dir/

    // o FTP:

    // ftp://domain.com/dir/

    // o с [Password] [Port]

    // ftp://username:password@domain.com:port/dir

    // для HTTP

    file_url=http://amstaff.su/thor-patcher/patches/

    // для FTP

    // file_url=ftp://amstaff.su/pub/mypatches/

    [Patch]

    //используйте утилиту CheckSum, чтобы сделать хэш для client & patcher

    // используется для того, чтобы не подменили ехе-шник и держать его обновленным

    // (хотите отключить? оставьте поля пустыми)

    ClientSum=

    PatcherSum=

    // пока сам не разобрался в этом, извините )

    //This is compressed file for patcher & client update

    // To make these work, ClientSum and/or PatcherSum can't be empty

    // Note: these files should put same place as patch file (file_url in internal config)

    //Relative address, not FULL URL!

    ClientPath=

    PatcherPath=

    // файл со списком патчей

    PatchList=plist.txt

    [stars]

    // укажите сюда количество ваших клиентов-клонов (скорее всего, когда делали кнопкис модами запуска программ)

    clients=0

    // _sum - checksum, используйте утилиту CheckSum .

    //client1_sum=

    // _Name - имя исполняемого файла

    //client1_Name=

    // _Path - путь к файлу [Compressed]

    //client1_Path=

    [Misc]

    // Установите лимит фрагментации, как только он будет достигнут, патер попросит

    // пользователя сделать дефрагментацию

    FragmentLimit=50

    -> думаю, что содержимое файла plist.txt вам понятно, если что, там на первом месте номер патча, на втором имя файла;

    -> закачиваю все содержимое по адресу `amstaff.su/thor-patcher`. Создаю там папку patches. И уже готовлюсь кидать туда патчи…

    -> перед этим займемся главной .grf. Как сказали она должна быть версии 0Ч200. Давайте же её такой и сделаем. Качаем программу grf tool. [ запускаем программу -> Open -> выбираем нужную .grf (я выбрал adata.grf) -> в `GRF Version` выбираем 0x200 -> жмем Repack ]. Вот и все, наша .grf готова.

    -> начинаем делать свой первый патч smile.gif Для этого запускаем ./patcher/Tools/ThorMaker.exe и дальше смотрим что же у нас есть…

    -> после этого закачиваем полученный .thor файл на сервер, который вы указали в конфигах

    -> после этого запускаем ваш патчер и все должно работат

    • Upvote 2
    • Downvote 1
  5. ___________________________________

    //Спасибо,воспльзуюсь :) \\

    //Место мыла,лучше капчу вставить ;) \\

    \\____________________________________//

    Эмм...

    Попробовал сделать 2 акка,с паролями 1234

    В базу залился видно MD5 пароль...Можно как-то исправитЬ?)

    ----

    Убрал МД5 у себя)

    Хочу спросить,почему даже если пишешь с большой,оно пишет всё равно с маленькой?! :o

    Рега супер :)

    • Downvote 1
  6. Открываем .../src/map/atcommand.c, находим функцию atcommand_storage и в ней после:


    if (sd->npc_id || sd->vender_id || sd->state.trading || sd->state.storage_flag)
    return -1;

    добавляем:


    if (map[sd->bl.m].flag.gvg || map[sd->bl.m].flag.pvp)
    {
    clif_displaymessage(fd, "На WoE или PvP нельзя использовать @storage!");
    return -1;
    }

    Сохраните изменения и проведите компиляцию сервера.

    • Upvote 3
    • Downvote 2
  7. //---Авто-Эвент RFYL.---//
    //---Скрипт написал aN00B1s (ICQ: 722-45-30)---//

    //---Объявление об эвенте.---//

    - script announce_rfyl -1,{

    //---Время, когда эвент будет начинаться.---//

    OnClock1030:
    OnClock1530:
    OnClock2030:



    //---Аннонс Эвента + проверки.---//

    announce "Эвент 'Убеги от монстра' начнётся через 3 минуты!",0;
    killmonsterall "quiz_01";
    sleep 50000;
    announce "В Пронтере появился НПС 'Убеги от монстра'!",0;
    enablenpc "Убеги от монстра";
    sleep 10000;
    announce "Эвент 'РФУЛ' начнётся через 2 минуты!",0;
    sleep 60000;
    announce "Эвент 'РФУЛ' начнётся через 1 минуту!",0;
    sleep 30000;
    mapannounce "quiz_01","Через 30 секунд будет запущен монстр!",0;
    sleep 25000;
    announce "Эвент 'РФУЛ' начнётся через -5-",0;
    sleep 1000;
    announce "Эвент 'РФУЛ' начнётся через -4-",0;
    sleep 1000;
    announce "Эвент 'РФУЛ' начнётся через -3-",0;
    sleep 1000;
    announce "Эвент 'РФУЛ' начнётся через -2-",0;
    sleep 1000;
    announce "Эвент 'РФУЛ' начнется через -1-",0;
    sleep 1000;
    announce "Эвент 'Убеги от монстра' начался, пусть победит сильнейший!",0,0x00FF00;
    monster "quiz_01",42,369,"Убийца",1640,1;
    disablenpc "Убеги от монстра";
    initnpctimer;
    end;

    OnTimer5000: // Каждые 5 секунд проверка на количество игроков + аннонс.
    if ( getmapusers("quiz_01") == 0 )
    {
    killmonsterall "quiz_01"; // Если всех убили - эвент заканчивается.
    announce "Эвент 'РФУЛ' закончился, так как игроков на Эвенте нет.",0;
    disablenpc "Киса";
    stopnpctimer;
    end;
    }
    else if ( getmapusers("quiz_01") > 1 )
    {
    mapannounce "quiz_01",getmapusers("quiz_01") +" игрока(ов) всё ещё находятся на Эвенте.",0,0x00FF00; // Если 2+ игроков на эвенте - аннонс.
    initnpctimer;
    end;
    }
    initnpctimer;
    end;



    //---Выкидывание игрока с Эвента после смерти и проверка на победителя.---//

    OnPCDieEvent:
    getmapxy .@maprfyl$,.@xrfyl,.@yrfyl,0;
    if ( .@maprfyl$ == "quiz_01") {
    sleep2 1;
    warp "prontera",156,223;
    atcommand "@alive "+ strcharinfo(0);
    dispbottom "К сожалению, Вы проиграли...";
    }
    sleep2 1000;
    if ( .@maprfyl$ == "quiz_01" && getmapusers("quiz_01") == 1 ) {
    killmonsterall "quiz_01";
    mapannounce "quiz_01","Поздравляю, Вы выиграли, подойдите пожалуйста к Кисе.",0;
    enablenpc "Киса";
    stopnpctimer;
    end;
    }
    end;
    }



    //---Выигрыш.---//

    quiz_01,42,369,3 script Киса 876,{
    if (sex == 1) { // Мальчик.
    announce "В 'РФУЛе' победил "+ strcharinfo(0) +"! Поздравляем его!",0;
    }
    else { // Остальные (девочка).
    announce "В 'РФУЛе' победила "+ strcharinfo(0) +"! Поздравляем её!",0;
    };
    getitem 7227,1; // Можно поставить свой приз.
    warp "prontera",156,223;
    sleep2 250;
    disablenpc "Киса";
    end;
    }



    //---Регистрация на Эвент.---//

    prontera,147,147,3 script Убеги от монстра 736,{
    mes "[^0000FFУбеги от монстра^000000]";
    mes "Вы хотите попасть на Эвент '^FF0000Убеги от монстра^000000'?";
    next;
    switch(select("Да","Нет")) {
    case 1:
    if (checkriding()) { // Проверка на Пеко-Пеко.
    mes "[^0000FFУбеги от монстра^000000]";
    mes "Пожалуйста, снемите Пеко Пеко.";
    close;
    }
    sc_end SC_ALL;
    percentheal 100,100;
    warp "quiz_01",42,369;
    end;
    break;

    case 2:
    mes "[^0000FFУбеги от монстра^000000]";
    mes "Хорошо, приходите, когда захотите.";
    close;
    break;
    }
    OnInit: // При запуске сервера убераем НПС.
    disablenpc "Убеги от монстра";
    disablenpc "Киса";
    end;
    }



    //---МапФлаги.---//

    quiz_01 mapflag pvp off
    quiz_01 mapflag noteleport
    quiz_01 mapflag nosave SavePoint
    quiz_01 mapflag nowarp
    quiz_01 mapflag noreturn
    quiz_01 mapflag nomemo
    quiz_01 mapflag nowarpto
    quiz_01 mapflag noskill
    quiz_01 mapflag pvp noparty
    quiz_01 mapflag restricted 5 // Не забывайте добавить зелья, которые нельзя кушать и спид потионы в db/item_noequip.txt

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