Сейчас 16:58:05 Понедельник, 27 сентября, 2021 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Ваша любимая раса?
Проголосовало: 177815

Сейчас на сайте
На сайте всего: 1
Гостей: 1
Пользователей: 0

Реклама

Главная » Статьи по WarCraft 3 » Создание карт » Триггеры
Регулируем награду за убийство
В этой статье я хочу поговорить про награду за убийство боевой единицы.
1. Регулирование значений в Редакторе объектов.

В первую очередь, вам необходимо знать, что награда за убийство боевой единицы - случайное значение между (базовым значением + кол-вом костей) и (базовым значением + кол-вом костей * кол-во граней у кости).
В Редакторе объектов у любого воина есть такие поля:



Характеристики - Награда за уничтожение - базовая.
Характеристики - Награда за уничтожение - кол-во граней у кости.
Характеристики - Награда за уничтожение - кол-во костей.


Эти значения определяют призовое золото, которое является случайным числом между (базовым значением + кол-вом костей) и (базовым значением + кол-вом костей * кол-во граней у кости)

Характеристики - Призовая древесина - базовое значение.
Характеристики - Призовая древесина - количество граней.
Характеристики - Призовая древесина - количество кубиков.


Эти значения определяют призовое дерево, которое является случайным числом между (базовым значением + кол-вом кубиков) и (базовым значением + кол-вом кубиков * кол-во граней)

Помня эти правила, вы сможете на свой вкус отредактировать призовое золото и древесину. А теперь приступим к триггерам...
2. Регулирование значений при помощи триггеров.

Для регулирования значений награды триггерно, нам сначала необходимо научиться регулировать встроенную систему - включать и выключать её. Для этого применяется действие:


Оно отключает или включает те значения, что мы регулировали в Редакторе объектов. Допустим, мы не хотим использовать значение Редактора объектов, т.к. его нельзя отловить и хотим всё сделать при помощи триггеров. Тогда придётся сделать такой цикл:

Это отключит движок получения награды.
Теперь мы можем сымитировать этот движок триггерно. Здесь нам поможет такая Jass-функция:
Код
function Bounty takes player whichplayer, integer bounty, real x, real y returns nothing
  local texttag t=CreateTextTag()
  local string s="+"
  call AdjustPlayerStateBJ( bounty, whichplayer, PLAYER_STATE_RESOURCE_GOLD )
  if bounty<0 then
  set s=""
  endif
  call SetTextTagText(t,s+I2S(bounty),0.025)
  call SetTextTagPos(t,x,y, 0.00)
  call SetTextTagColor(t,255,220,0,255)
  call SetTextTagVelocity(t,0,0.03)
  if (GetLocalPlayer()==whichplayer) then
  call SetTextTagVisibility(t,true)
  set s="UI\\Feedback\\GoldCredit\\GoldCredit.mdl"
  else
  call SetTextTagVisibility(t,false)
  set s=""
  endif
  call DestroyEffect(AddSpecialEffect(s,x,y))
  call SetTextTagFadepoint(t,2)
  call SetTextTagLifespan(t,3)
  call SetTextTagPermanent(t,false)
  set t=null
endfunction


Мы можем вставить её в основной код карты, затем вызвать в триггере с событием смерти боевой единицы Custom script:
Код
call Bounty(GetOwningPlayer(GetKillingUnit()),20,GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()))

В таком случае убивающий будет получать по 20 ед. золота за убитую боевую единицу.
Вот и всё по вознаграждениям. Экспериментируйте, и у вас всё получится! Спасибо за внимание.
Просмотров: 6781 Добавил: Duosora Добавлено: 10 Ноября 2010 в 00:10:38
Комментариев: 12 |

Всего комментариев: 121 2 »
28 Мая 2015
12. Samedy... (Samedy_) [Материал]
Спасибо огромное.

10 Июня 2011
Ну как всегда, всё разжевал, всё объяснил, и в рот положил :D
Что от тебя ещё можно ожидать )

10 Февраля 2011
10. Руслан (PingviN112) [Материал]
ваще нечо не понятно

20 Января 2011
9. Ярослав (Toycupo) [Материал]
На русских тригах есть статья?

17 Декабря 2010
<_< попытаюсь сделать

09 Декабря 2010
Да можно сделать это всё в Jass но мне кажется что проще будет сделать это тригером одним.

04 Декабря 2010
6. Никита (‡Flash‡) [Материал]
Простенько но с умом :D

27 Ноября 2010
5. Алексей (EdiTTORR) [Материал]
Щикарная статья! Дуос молодец!

17 Ноября 2010
4. Алексей (Ахил) [Материал]
А так статья норм. ДУОС как всегда молодец)

15 Ноября 2010
3. Михаил (Mihaa) [Материал]
блин не понял статью

1-10 11-12
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа
Логин:
Пароль:

Поиск

Случайная картинка

Случайный файл
[27 Декабря 2008]
[Карты · Melee]
Russian Star Wars v1.3: Battle zone -
  • Автор карты: FIRERANGER-007-
  • Жанр: Melee
  • Версия: 1.3
  • Язык: Английский
  • Кол-во игроков: 1-8
  • Поддержка компьютера: стандартный

  • Новые карты
    [07 Февраля 2016]
    Переезжаем на другой сайт, господа![Dota]
    [18 Октября 2015]
    Duel of Gods PreV[Другое]
    [18 Октября 2015]
    Hero of The Empire v1.18g[RPG]
    [17 Октября 2015]
    Servant War v1.05[Другое]
    [17 Октября 2015]
    Age of Vikings Edited v1.6[Другое]
    [17 Октября 2015]
    Strife of the Champions Beta v1.2[Arena]
    [17 Октября 2015]
    VirusBoll (rus)[Другое]
    [17 Октября 2015]
    Exterminators v1[AoS]
    [17 Октября 2015]
    The Lord Heroes v1.2[Другое]
    [17 Октября 2015]
    Versus heroe Arena 1.0 AI[Arena]

    5 лучших по кол-ву добавленных статей
    [ Duosora ] [ 58 ]
    [ Messenger ] [ 52 ]
    [ Bru ] [ 39 ]
    [ Pand@ ] [ 35 ]
    [ РеКсАр ] [ 27 ]

    Наша кнопка
    Warcraft3FT.info - Всё для Warcraft 3 и DotA

    Другие варианты

    Статистика

    Материалы:
    Новости: 1010
    Файлы: 8668
    Статьи: 680
    Картинки: 8256
    Форум: 30520/954989
    Комментарии: 58094
    Copyright © 2006 - 2021 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
    Хостинг от uCoz