Поиск по сайту

Результаты поиска по тегам 'warper'.

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

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

Тип публикаций




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

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

  1. [NPC] Very Advanced Warper v2

    [NPC] Very Advanced Warper v2 Осторожнее с настройками данного варпера, так же варпер весьма «тяжёлый» — использует много переменных, есть несколько циклов, размер которых зависит от внесённых по указанному направлению целей перемещения. Описание Данный Варпер полностью универсален, позволяет создавать сложные схемы перемещения, взымать различную оплату (купоны, зени, предмет(ы)). Варпер указывает цены (перемещение может быть и бесплатным, о чём игроку будет сообщено), предлагает направления, а так же сообщает чего именно нехватает для перемещения и в каком кол-ве. Скачать Сам NPC: nt_warper.txt NPC не будет работать без вот этого: nt_extra.txt Настройка, добавление направлений Скрипт достаточно сложный, поэтому принцип работы мы обсуждать не будем (кому интересно внутри достаточно много комментариев). Давайте поговорим о создание направлений и целей для перемещения. Для начала определимся с некоторыми терминами, важный термин — Маркер направления. Всего может быть 5 направлений (запомните, это чертовски важно). Маркер направления — это символ-идентификатор (любой принимаемый символ скриптами). Текстовые значения для меню направлений задаются в скрипте: set .menu_name_waycity$[[email protected]_waycity], "В город"; set .menu_name_waycity$[[email protected]_waydun], "В подземелье"; set .menu_name_waycity$[[email protected]_wayvip], "Особые места"; set .menu_name_waycity$[[email protected]_wayvip2], "Бесплатное перемещение"; set .menu_name_waycity$[[email protected]_wayvip3], "За предметы"; Можете заменить на свои значения, это делается только в одном месте и безболезненно. В скрипте есть define для ID-направлений — их менять нельзя, это временные переменные, созданные для удобства создания целей для перемещения. Вот их список: set [email protected]_waycity, 1; // ID перемещения в город set [email protected]_waydun, 2; // ID перемещения в подземелье set [email protected]_wayvip, 3; // ID перемещения в vip set [email protected]_wayvip2, 4; // ID перемещения в vip set [email protected]_wayvip3, 5; // ID перемещения в vip Каждый NPC имеет 5 разных маркеров, которые и определяют доступные перемещения для игрока. Рассмотрим имя NPC: alberta,113,53,5 duplicate(nt_wrp) Телепортация#00000_02 124 У любого NPC есть понятие «Скрытое имя», в указанном примере оно: «00000_02» — последние «_02» всего лишь порядковый номер NPC (кстати, будет лучше, если для каждого NPC они не будут совпадать, указывать их можно не только цифрами, но и буквами), а вот первые пять символов — это и есть Маркер направления. Данный маркер определяет с каким именно списком целей нужно работать. Каждый маркер — один символ! <[email protected]_waycity><[email protected]_waydun><[email protected]_wayvip><[email protected]_wayvip2><[email protected]_wayvip3> Раз заговорили о настройках NPC, то важно будет ещё сказать, что можно указать имя NPC отображаемое в диалогах и минимальный базовый уровень для работы с NPC. // Имя NPC отображаемое в диалогах set .npc_name$, "Сервис Телепортации"; // Минимальный базовый уровень необходимые для телепортации set .wrp_min_baselvl, 18; Вы можете менять эти значения на своё усмотрение. Теперь перейдём к самому важному — создание целей для перемещения. Пример: callsub L_AddWarpPoint, [email protected]_waycity, "0:(p|1),1:(p|1)", "Alberta", "alberta", 116, 56; За добавления цели отвечает функция L_AddWarpPoint, её параметры для использования: — ID-направления ([email protected]_waycity/[email protected]_waydun/[email protected]_wayvip/[email protected]_wayvip2/[email protected]_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, [email protected]_waydun, "0:(p|5;),1:(z|5000),3:(4001|1|Карта Поринга)", "Муравьиный ад", "cmd_fild08", 320, 356; Но, можно и вот так: callsub L_AddWarpPoint, [email protected]_waydun, "0:(p|5;)", "Муравьиный ад", "cmd_fild08", 320, 356; callsub L_AddWarpPoint, [email protected]_waydun, "1:(z|5000)", "Муравьиный ад", "cmd_fild08", 320, 356; callsub L_AddWarpPoint, [email protected]_waydun, "3:(4001|1|Карта Поринга)", "Муравьиный ад", "cmd_fild08", 320, 356; Что ж, думаю будет уместен хороший сложный пример, давайте сделаем перемещение в Московию из Пронтеры и телепортацию на территорию Московии из самого города, укажем разные цены и сделаем, невозможным перемещение из Пронтеры на карту с мобами Московии, а вернуться в Пронтеру будет возможно только из Московии: // Цели перемещения // В Московии можно попасть из Пронтеры, но и с mosk_fild02 (сделаем за зени) callsub L_AddWarpPoint, [email protected]_waycity, "0:(p|6),2:(z|1500)", "Moskovia", "moscovia", 223, 184; callsub L_AddWarpPoint, [email protected]_waycity, "1:(p|5)", "Prontera", "prontera", 156, 183; // Данж доступен только из московии (Маркер 1) callsub L_AddWarpPoint, [email protected]_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. Если вы не понимаете зачем это нужно, то используйте стандартного Варпера, если для вас это сложно, то пишите простые скрипты. Это универсальный Варпер, если нужно помочь с созданием схем направления, то можете обращаться, попробуем решить вашу проблему вместе.