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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Регистрация

  • Начало

    Конец


Группа


Сайт


ICQ


Skype


Город


Интересы


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

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

  1. [sCRIPT][NPC] NT Craft Api v1.01 + NPC Это API писалось уже больше года назад, я в него почти не вносил изменений с тех пор, так что может что-то работать не так. Я отлично понимаю, что можно сделать лучше и сейчас бы так и поступил, но интерес к данному API минимален, так что если вас устраивает - используйте, если вас что-то не устраивает, просто пропустите мимо глаз. Так же учтите, что здесь выложена информация об API, а не об NPC. Для примера добавлены и сами NPC - простенький и более сложный вариант с квестами. В Базе API всего несколько предметов, если нужно - добавляйте, я обновляю базу API по мере работы с ней. История изменений 2014.05.18: - Добавлена версия 1.02; - Обновлена информация по новой версии (добавление описания/свойства предмета). Описание API позволяет эмулировать формулы крафта и варки зелий (можно дописать и что-то другое). Основной плюс в том, что можно создавать предметы для крафта доступные только через NPC, или другим классам персонажей иметь доступ к крафту и варке без изменений сорцов. Скачать Craft API v1.02: nt_craft_api.txt (v1.02) Craft API v1.01: nt_craft_api.v1.1.txt (v1.01) Простенький NPC-варки: nt_craft_simple.txt (v1.00) NPC-алхимик с квестами: nt_craft_alchemist.txt (v2.00) Принцип работы API работает на вызовах, которые вы подаёте через стандартный callfunc, каждый вызов требует определённого кол-ва параметров, постараюсь привести все с примерами. Синтаксис: callfunc("alch_func", <номер ключа>, <префикс базы>(, <входящие переменные>)); Для начала стоит рассказать о том, что такое <префикс базы> — каждая база создаваемых предметов имеет определённый префикс, это сделано для хранения различных баз на разные случаи (база может быть и одна). Список ключей и их описание: 0 — инициализация базы, во время её вызова создаются дефолтовые переменные, синтаксис: callfunc("alch_func", 0, <префикс базы в кавычках>); Пример: callfunc("alch_func", 0, "potion"); 1 — добавления элемента в базу, здесь нельзя ошибаться и нужно быть внимательным, т.к. функция требует много переменных, синтаксис: callfunc( "alch_func", 1, <префикс базы в кавычках>, <тип визуальных эффектов>, <показывать кол-во создаваемых предметов> <id создаваемого предмета>, <кол-во создаваемых предметов>, <название в списке создаваемых предметов>, <стоимость зени>, <какую формулу учитываем>, (<id необходимого предмета для создания>, <кол-во этого предмета>,) 0, (идентификатор окончания списка необходимых предметов) "" (дополнительное описание выводимое о предмете, символ # - разделитель строк) ); Пример, добавления Red Potion за 25 зени: callfunc( "alch_func", 1, "potion", 0, .@hide_amount, 501, 1, "", 25, 2, 507, 1, 0, "Отличный напиток#придаёт жизненных сил." ); Теперь нужно рассказать о каждом необходимом параметре: <тип визуальных эффектов>: какой набор визуальных эффектов будет использовать во время крафта предмета, всего есть три набора: 0 - эффекты создания напитков 1 - обычные надписи Success и Failed 2 - эффекты псоздания оружия <показывать кол-во создаваемых напитков>: всё просто, показывать или нет в списке сколько будет создано предметов, 0 - показывать или 1 - скрывать, для удобства сделаны переменные .@hide_amount и .@view_amount. <id создаваемого предмета>: id предмета, который будет создан из списка в item_db.txt, можно указывать любой предмет. <кол-во создаваемых предметов>: какое кол-во будет создано (формула вычисляет только один раз). <название в списке создаваемых предметов>: название предмета, оно будет выводиться только в списке, после создания предмет получит обычное название, если указать пустые кавычки, то имя возьмётся из базы. <стоимость зени>: если указать 0, то требование не будет учитываться. <какую формулу учитываем>: для создания в игре много формул, вот список тех, которые реализованы (вы и сами можете что-то дополнить): 0 - всегда 100% шанс успеха 1 - базовая формула создания напитков (см калькуляторы варки) 2 - формула создания red/yellow/white potion (см калькуляторы варки) 3 - формула создания алкоголя (см калькуляторы варки) 4 - формула создания Bottle Grenade(Fire Bottle)/Acid Bottle/Plant Bottle/Marine Sphere Bottle (см калькуляторы варки) 5 - формула создания Condensed Yellow Potion (см калькуляторы варки) 6 - формула создания Condensed White Potion/Glistening Coat (см калькуляторы варки) 7 - всегда 100% шанс, используется для элементальных свитков 8 - формула крафта Железа (см калькуляторы крафта) 9 - формула крафта Стали (см калькуляторы крафта) 10 - формула крафта Элементальных камней (см калькуляторы крафта) 11 - формула крафта оружия (см калькуляторы крафта) <id необходимого предмета для создания>: id предмета необходимого для производства <кол-во этого предмета>: какое кол-во указанного предмета нужно для производства Эти две строки вы можете повторять много раз (указывая список необходимых предметов для производства). 0 - в конце списка обязателен. Запоминайте порядок добавленных предметов, т.к. это необходимо для будущего построения списка. Отсчёт ведётся от 1. 2 — отрисовка меню выбора предмета для крафта, синтаксис: callfunc("alch_func", 2, <префикс базы в кавычках>, <текст сообщения об отмене>, <array предметов>); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); mes "Вы выбрали элемент: "+.@itemselect; close; Возвращает 0, если был выбрал пункт отмены действия или id из списка, в примере переменную из .@craft_array. 3 — возвращает название выбранного элемента, синтаксис: callfunc("alch_func", 3, <префикс базы в кавычках>, <id выбранного элемента>); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) mes "Выбран пункт отмены."; else mes "Вы выбрали элемент: "+callfunc("alch_func", 3, "potion", .@itemselect); close; 4 — возвращает id-предмета из item_db.txt выбранного элемента, синтаксис: callfunc("alch_func", 4, <префикс базы в кавычках>, <id выбранного элемента>); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) mes "Выбран пункт отмены."; else mes "id-предмета: "+callfunc("alch_func", 4, "potion", .@itemselect); close; 5 — возвращает создаваемое кол-во выбранного элемента, синтаксис: callfunc("alch_func", 5, <префикс базы в кавычках>, <id выбранного элемента>); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) mes "Выбран пункт отмены."; else mes "Вы получите: "+callfunc("alch_func", 5, "potion", .@itemselect)+"шт"; close; 6 — выводит список необходимого для крафта выбранного элемента, синтаксис: callfunc("alch_func", 6, <префикс базы в кавычках>, <id выбранного элемента>); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) mes "Выбран пункт отмены."; else mes "Для создания необходимо:",callfunc("alch_func", 6, "potion", .@itemselect); close; 7 — проверка на наличие всего необходимого для создания выбранного элемента, возвращает 0 - если всё необходимое есть и 1 - если чего-то нехватает, синтаксис: callfunc("alch_func", 7, <префикс базы в кавычках>, <id выбранного элемента>(, <кол-во starcramb>, <id элемента стихии>)); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) { mes "Выбран пункт отмены."; close; } if ( callfunc("alch_func", 7, "potion", .@itemselect) ) { mes "Чего-то нехватает..."; close; } mes "Всё необходимое есть!"; close; Параметры <кол-во starcramb> и <id элемента стихии> необходимы только для крафта оружия (уровень Strong и элемент стихии). Стихии: 0 - Без стихий 1 - Лёд 2 - Земля 3 - Огонь 4 - Ветер 8 — проверка и вывод недостающего для создания выбранного элемента, синтаксис: callfunc("alch_func", 8, <префикс базы в кавычках>, <id выбранного элемента>(, <кол-во starcramb>, <id элемента стихии>)); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) { mes "Выбран пункт отмены."; close; } if ( callfunc("alch_func", 7, "potion", .@itemselect) ) { mes "Нехватает:"; callfunc("alch_func", 8, "potion", .@itemselect) close; } mes "Всё необходимое есть!"; 9 — процесс создания выбранного элемента, возвращает 0 - если создание прошло успешно, 1 - создание не удалось и 2 - если случились проблемы похожие на читорство игрока, синтаксис для варки: callfunc("alch_func", 9, <префикс базы в кавычках>, <id выбранного элемента>, <joblevel>, <int>, <dex>, <luk>, <Skill lvl Learning Potion>, <Skill lvl Pharmacy>); Синтаксис для крафта: callfunc("alch_func", 9, <префикс базы в кавычках>, <id выбранного элемента>, <joblevel>, <dex>, <luk>, <Anvil level>, <Skill lvl Iron create>, <Skill lvl Steel create>, <Skill lvl Element stone create>, <Skill lvl Smith>, <Skill lvl Weaponry>, <Skill lvl Oridecon>, <кол-во starcramb>, <id элемента стихии>); Уровни наковальни: 0 - Anvil 1 - Oridecon Anvil 2 - Golden Anvil 3 - Emperium Anvil 10 — стоимость в Zeny выбранного элемента, синтаксис: callfunc("alch_func", 10, <префикс базы в кавычках>, <id выбранного элемента>); Пример: setarray .@craft_array[0],1,2,3,4; set .@itemselect, callfunc("alch_func", 2, "potion", "^888888 Ничего не нужно, я передумал^000000", .@craft_array); if ( !.@itemselect ) mes "Выбран пункт отмены."; else mes "Стоимость: "+callfunc("alch_func", 10, "potion", .@itemselect)+" Zeny"; close; 11 — проверка на наличие описания к предмету: callfunc("alch_func", 10, <префикс базы в кавычках>, <id выбранного элемента>); 12 — вывод описания к предмету: callfunc("alch_func", 10, <префикс базы в кавычках>, <id выбранного элемента>); Примерное описание работы NPC в следующих постах.
×
×
  • Создать...
Яндекс.Метрика