Делаем NPC с диалогом который выдаёт предмет | Разработка игровых платформ
  1. Доброго времени суток. В связи с появлением спамеров, активация функций новых пользователей (Создавать темы, писать сообщения), теперь будет только после проверки администратором! Для регистрации отписываемся в лс, в вк. vk.com/tehnik777 (Пишем только с реальных страниц)
    Скрыть объявление

Делаем NPC с диалогом который выдаёт предмет

Тема в разделе "Гайды/Мануалы", создана пользователем 1mmortal, 3 янв 2021.

Обсуждение темы Делаем NPC с диалогом который выдаёт предмет в разделе Гайды/Мануалы на форуме zetta-forum.ru.

  1. 1mmortal

    1mmortal Постоялец

    Регистрация:
    2 дек 2016
    Сообщения:
    123
    Симпатии:
    23
    Баллы:
    18
    Адрес:
    https://vk.com/id337388238
    Сайт:
    https://vk.com/id337388238
    function c9010732_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex)
    if TalkIndex == -1 then
    local MsgID = msg.BeginMsgEvent()
    msg.AddMsgEvent(MsgID, 20, 951166) -- Описание главное у NPC
    msg.AddMsgEvent(MsgID, 24, TargetID)
    msg.AddMsgEvent(MsgID, 21, 4)
    msg.AddMsgEvent(MsgID, 1, 951167) -- Кнопка получения предмета
    msg.AddMsgEvent(MsgID, 21, 5)
    msg.AddMsgEvent(MsgID, 1, 100002) -- Отмена
    msg.DispatchRoleMsgEvent(RoleID, MsgID)
    elseif TalkIndex == 4 then
    local a = role.GetRoleItemNum(RoleID, 4400502) -- мы local присваиваем значения "a"
    if a>=5 then -- проверка если "а" меньше или равно 5 то получаем
    role.AddRoleItem(MapID, InstanceID, RoleID, 3070056, 5, -1, 8, 420) -- получаем этот предмет
    role.AddRoleItem(MapID, InstanceID, RoleID, 4080097, 5, -1, 8, 420) -- получаем этот предмет
    role.RemoveFromRole(MapID, InstanceID, RoleID, 4400502, 5, 420) -- а данная команда забирает предмет
    else
    local MsgID = msg.BeginMsgEvent()
    msg.AddMsgEvent(MsgID, 20, 951175) --Тут можно написать не хватает предметов
    msg.AddMsgEvent(MsgID, 24, TargetID)
    msg.AddMsgEvent(MsgID, 21, 25)
    msg.AddMsgEvent(MsgID, 1, 100002) --Отмена
    msg.DispatchRoleMsgEvent(RoleID, MsgID)
    end
    end
    end
    aux.RegisterCreatureEvent(9010732, 7, "c9010732_On_Talk")


    9010732 это айди NPC которого мы берём из Creature_name
    c9010732_On_Talk это названия функции которое используется в начале и в конце :
    function c9010732_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex)
    aux.RegisterCreatureEvent(
    9010732, 7, "c9010732_On_Talk")
     
    akatosch нравится это.
  2. test

    test Постоялец

    Регистрация:
    25 май 2022
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    16
    Приглашаю на форум разработчиков
    MMO MMORPG игровые сервера
    Все самые последние MMO и MMORPG, серверные файлы и многое другое, на PlusGames.ru
    http://forum.plusgames.ru/

    Тема переехала на форум http://forum.plusgames.ru/
     

Поделиться этой страницей