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

Поиск сообщества

Показаны результаты для тегов 'warper'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Русскоязычная поддержка эмуляторов Athena l ea-support.ws
    • Новости
    • Правила и FAQ
    • Жалобы
    • Список серверов
  • Установка сервера
    • Сервер
    • Гайды
    • Вопросы, ошибки и баги
    • Хостинг
  • Кодинг
    • Скриптинг
    • SRC
  • Клиент
    • Модификации для клиента
    • Клиент
  • WEB
    • Панели управления
    • PHP скрипты
  • Доска объявлений
    • Совместные проекты / поиск партнёров
    • Запросы
    • Услуги
  • Остальное
    • События в мире Ragnarok
    • Развлечения
    • Корзина
    • Black List

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Сайт


ICQ


Skype


Город


Интересы


Название сервера

Найдено: 1 результат

  1. [NPC] Very Advanced Warper v2 Осторожнее с настройками данного варпера, так же варпер весьма «тяжёлый» — использует много переменных, есть несколько циклов, размер которых зависит от внесённых по указанному направлению целей перемещения. Описание Данный Варпер полностью универсален, позволяет создавать сложные схемы перемещения, взымать различную оплату (купоны, зени, предмет(ы)). Варпер указывает цены (перемещение может быть и бесплатным, о чём игроку будет сообщено), предлагает направления, а так же сообщает чего именно нехватает для перемещения и в каком кол-ве. Скачать Сам NPC: nt_warper.txt NPC не будет работать без вот этого: nt_extra.txt Настройка, добавление направлений Скрипт достаточно сложный, поэтому принцип работы мы обсуждать не будем (кому интересно внутри достаточно много комментариев). Давайте поговорим о создание направлений и целей для перемещения. Для начала определимся с некоторыми терминами, важный термин — Маркер направления. Всего может быть 5 направлений (запомните, это чертовски важно). Маркер направления — это символ-идентификатор (любой принимаемый символ скриптами). Текстовые значения для меню направлений задаются в скрипте: set .menu_name_waycity$[.@def_waycity], "В город"; set .menu_name_waycity$[.@def_waydun], "В подземелье"; set .menu_name_waycity$[.@def_wayvip], "Особые места"; set .menu_name_waycity$[.@def_wayvip2], "Бесплатное перемещение"; set .menu_name_waycity$[.@def_wayvip3], "За предметы"; Можете заменить на свои значения, это делается только в одном месте и безболезненно. В скрипте есть define для ID-направлений — их менять нельзя, это временные переменные, созданные для удобства создания целей для перемещения. Вот их список: set .@def_waycity, 1; // ID перемещения в город set .@def_waydun, 2; // ID перемещения в подземелье set .@def_wayvip, 3; // ID перемещения в vip set .@def_wayvip2, 4; // ID перемещения в vip set .@def_wayvip3, 5; // ID перемещения в vip Каждый NPC имеет 5 разных маркеров, которые и определяют доступные перемещения для игрока. Рассмотрим имя NPC: alberta,113,53,5 duplicate(nt_wrp) Телепортация#00000_02 124 У любого NPC есть понятие «Скрытое имя», в указанном примере оно: «00000_02» — последние «_02» всего лишь порядковый номер NPC (кстати, будет лучше, если для каждого NPC они не будут совпадать, указывать их можно не только цифрами, но и буквами), а вот первые пять символов — это и есть Маркер направления. Данный маркер определяет с каким именно списком целей нужно работать. Каждый маркер — один символ! <.@def_waycity><.@def_waydun><.@def_wayvip><.@def_wayvip2><.@def_wayvip3> Раз заговорили о настройках NPC, то важно будет ещё сказать, что можно указать имя NPC отображаемое в диалогах и минимальный базовый уровень для работы с NPC. // Имя NPC отображаемое в диалогах set .npc_name$, "Сервис Телепортации"; // Минимальный базовый уровень необходимые для телепортации set .wrp_min_baselvl, 18; Вы можете менять эти значения на своё усмотрение. Теперь перейдём к самому важному — создание целей для перемещения. Пример: callsub L_AddWarpPoint, .@def_waycity, "0:(p|1),1:(p|1)", "Alberta", "alberta", 116, 56; За добавления цели отвечает функция L_AddWarpPoint, её параметры для использования: — ID-направления (.@def_waycity/.@def_waydun/.@def_wayvip/.@def_wayvip2/.@def_wayvip3) — Работа со стоимостью Макера направлений — Название цели для пункта меню — Название карты (из map_index.txt) — Координата X — Координата Y Стоимость задётся очень просто: "<Маркер направления для данного ID-направления><тип стоимости>)|<стоимость>|<только для предметов - название предмета>;...<>" Тип стоимости: z — зени p — кафра купоны <id предмета> — предмет, который необходим, так же к данной записи добавляется параметр с названием, если указать '-', то имя будет браться из базы Если ничего не указывать в стоимости, то перемещение будет бесплатно! (Например: "0:()") Несколько примеров, для понимания: "0:(p|1;z|500;909|20|-)" В данном примере стоимость по Маркеру 0 составит: 1 кафра купон, 500 зени и 20 Jellopy (всё вместе, а не что-то по отдельности или что-то из перечисленного) Более сложный пример "0:(p|5;),1:(z|5000),3:(4001|1|Карта Поринга)" В этом примере видно, что можно указывать стоимость сразу для нескольких маркеров разделённых ',', но вы можете и вызывать для каждого маркера отдельно функцию — оба способа обрабатываются корректно, пример всё в одном: callsub L_AddWarpPoint, .@def_waydun, "0:(p|5;),1:(z|5000),3:(4001|1|Карта Поринга)", "Муравьиный ад", "cmd_fild08", 320, 356; Но, можно и вот так: callsub L_AddWarpPoint, .@def_waydun, "0:(p|5;)", "Муравьиный ад", "cmd_fild08", 320, 356; callsub L_AddWarpPoint, .@def_waydun, "1:(z|5000)", "Муравьиный ад", "cmd_fild08", 320, 356; callsub L_AddWarpPoint, .@def_waydun, "3:(4001|1|Карта Поринга)", "Муравьиный ад", "cmd_fild08", 320, 356; Что ж, думаю будет уместен хороший сложный пример, давайте сделаем перемещение в Московию из Пронтеры и телепортацию на территорию Московии из самого города, укажем разные цены и сделаем, невозможным перемещение из Пронтеры на карту с мобами Московии, а вернуться в Пронтеру будет возможно только из Московии: // Цели перемещения // В Московии можно попасть из Пронтеры, но и с mosk_fild02 (сделаем за зени) callsub L_AddWarpPoint, .@def_waycity, "0:(p|6),2:(z|1500)", "Moskovia", "moscovia", 223, 184; callsub L_AddWarpPoint, .@def_waycity, "1:(p|5)", "Prontera", "prontera", 156, 183; // Данж доступен только из московии (Маркер 1) callsub L_AddWarpPoint, .@def_waydun, "1:(p|2)", "Moskovia Field", "mosk_fild02", 197, 247; // Разместим NPC по местам prontera,161,193,5 duplicate(nt_wrp) Телепортация#00000_17 124 moscovia,220,191,5 duplicate(nt_wrp) Телепортация#11000_44 124 mosk_fild02,194,252,4 duplicate(nt_wrp) Телепортация#22000_43 124 Схема, телепортироваться из Пронтеры можно только в Московию за 6 купонов (зачем Варперу в Пронтере портить в Пронтеру?), из Московии в город — Пронтеру за 5 купонов или в данж ("Moskovia Field") за 2 купона, с "Moskovia Field" можно попасть в город Московию за 1500 зеней. Примечание У меня используется cutin, который не стандартный, если у вас клиент будет крешится, то удалите все строки с cutin. Если вы не понимаете зачем это нужно, то используйте стандартного Варпера, если для вас это сложно, то пишите простые скрипты. Это универсальный Варпер, если нужно помочь с созданием схем направления, то можете обращаться, попробуем решить вашу проблему вместе.
×
×
  • Создать...
Яндекс.Метрика