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

Пишем цыкл на выдачу 60 лвл (Микстура мгновенного роста)

Тема в разделе "Гайды/Мануалы", создана пользователем Zerg, 3 фев 2017.

Обсуждение темы Пишем цыкл на выдачу 60 лвл (Микстура мгновенного роста) в разделе Гайды/Мануалы на форуме zetta-forum.ru.

  1. Zerg

    Zerg Guest

    Данный цикл нужен, если есть необходимость выдавать персонажу сразу определенный лвл при старте. То есть вы создаете итем, при использовании которого персонаж получит тот лвл, который вы укажете в скрипте. Аля "Микстура мгновенного роста" на оффе.

    Код:
    --Микстура мгновенного роста
    function I6600368_Use(MapID, InstanceID, TypeID, TargetID)                 --Объявляем функцию "I6600368_Use" (Использование предмета). Необходимо указать ид вашего предмета вместо "6600368"
        local rolelevel = role.GetRoleLevel(MapID, InstanceID, TargetID)       --Объявляем локальную переменную "rolelevel", которой присваиваем значение уровня вашего персонажа.
            while rolelevel < 60 do                                            --Создаем цикл "while" который будет выполнятся когда данные переменные "rolelevel" будут меньше 60.
                role.AddRoleExp(MapID, InstanceID, TargetID, 1000000)          --Выдаем персонажу 1 000 000 опыта.
                rolelevel = role.GetRoleLevel(MapID, InstanceID, TargetID)     --Снова присваиваем переменной "rolelevel" данные о уровне вашего персонажа. Это необходимо для корректной работы цикла.
            end
        end
    
    
    function I6600368_CanUse(MapID, InstanceID, TypeID, TargetID)             --Объявляем функцию "I6600368_CanUse" (Запрет на использование предмета)
        local lvl = role.GetRoleLevel(MapID, InstanceID, TargetID)            --Объявляем локальную переменную "lvl", которой присваиваем значение уровня вашего персонажа.
        if(lvl > 59) then                                                     --Создаем условие "если" данные в переменной "lvl" больше 59 тогда выполняем следующее:
            return 50, false                                                  --Выводим ошибку 50 <item name="ItemSvrErr50" value="Высокий уровень, нельзя использовать предмет" /> Необходимо добавить в string_table.xml
        end
        return 0,false
    end
    
    aux.RegisterItemEvent(6600368, 1, "I6600368_Use")
    aux.RegisterItemEvent(6600368, 0, "I6600368_CanUse")
    
    

    item_name.xml
    Код:
    <item id="6600368" name="Микстура мгновенного роста" display_type="Опыт" male_icon="tbwp168_2" drop_model="DL02" action_blend="0" desc="Нажмите ПКМ на предмете, чтобы повысить уровень персонажа до 60. Предмет расходуется при применении. Можно использовать на персонаже с 1 по 59 уровень. Применяется исключительно к собственному персонажу."/>
    

    item_proto.xml
    Код:
    <ItemProto id="6600368" Type="1" TypeEx="5" TypeReserved="0" StuffType="0" picktype="7" SpecFunc="0" moveable="0" Level="1" Quality="6" BindType="0" BasePrice="1" MaxUseTimes="1" MaxLapNum="99" NeedBroadcast="0" CanSell="0" DeadLoot="0" ZoneRepType="0" ZoneRepVal="-1" OtherRepType="0" OtherRepVal="-1" TriggerID0="1010000" BuffID0="2000001" CooldownTime="1000" OpType="2" OpDist="0" OpRaduis="0" InterruptMove="0" SexLimit="-1" TargetLimit="1" StateLimit="13631466" VocationLimit="8191" soar_limit="0" can_save="0" DiscardEvent="1" />
    
    Простейший скрипт, новичкам думаю будет полезно.
     
    Последнее редактирование модератором: 16 фев 2017
    Билли Миллиган и 1mmortal нравится это.
  2. test

    test Постоялец

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

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

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