Сейчас 09:14:54 Среда, 18 декабря, 2024 год
Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я

Меню сайта

Категории

Наш опрос
Какой тип карт вам нравится больше всего?
Проголосовало: 145116

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

Реклама

Главная » Статьи по WarCraft 3 » Создание карт » Jass
MExp отлов полученого опыта героем.
Эта статья посвящена MExp (Massge Exp) то как не труд отловить полученный опыт героем. Да и создать плавающий текст рядом с самим героем видный только ему (а точнее его владельцу;)).
Просто каждую секунду записываем текущий опыт героя на его хендл через хеш таблицу. При записи проверяем его прошлое значение, если есть разница то естественно вернуть её нам. А там уж мы создадим плавающий текст.
[code=jass]
globals
hashtable Mexp_hash = InitHashtable()
endglobals

function act takes nothing returns nothing
local unit u = GetEnumUnit()
local integer a = 0
if IsUnitType(u, UNIT_TYPE_HERO) == true then
set a = LoadInteger(Mexp_hash, GetHandleId(u),1)
if a != GetHeroXP(u) then
set a = GetHeroXP(u) - a
// сдеся делайте что хотите, переменная "а" и есть полученный опыт.
endif
call SaveInteger(Mexp_hash,GetHandleId(u),1,GetHeroXP(u))
endif
set u = null
endfunction

function acionsMexp takes nothing returns nothing
local rect r = GetPlayableMapRect()
local group g = GetUnitsInRectMatching(r, null)
call ForGroup(g, function act)
call GroupClear(g)
call DestroyGroup(g)
set r = null
set g = null
endfunction

function InitTrig_exp takes nothing returns nothing
set gg_trg_exp =CreateTrigger()
call TriggerAddAction(gg_trg_exp, function acionsMexp)
call TriggerRegisterTimerEventPeriodic(gg_trg_exp, 1)
endfunction[/code]

Да и триггер должен называться exp)
author of the article H_A_PK
Просмотров: 1969 Добавил: H_A_PK Добавлено: 19 Августа 2010 в 21:36:01
Комментариев: 2 |

Всего комментариев: 2
30 Мая 2012
Не идея класс , но на статью не тянет 3 !

04 Декабря 2011
1. Александр (Hexing) [Материал]
бред

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

Форма входа

Поиск

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

Случайный файл
[04 Мая 2009]
[Карты · Dota]
DotA Allstars 6.60 Beta 45 -

Очередная бета версия карты Dota Allstars 6.60 под номером 45. Когда же наконец будет оф релиз неизвестно, наверно, даже самому IceFrog'у.

Новые карты
[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 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz