Сейчас 18:08:41 Суббота, 20 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » И снова нужна помощь
И снова нужна помощь
windrunnerДата: Пятница, 07 Августа 2009, 13:08:29 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
Code

function move_text takes nothing returns nothing
local unit u
local texttag t
set t = LoadTextTagHandle(udg_hash,1,2)
set u = LoadUnitHandle(udg_hash,1,3)
call SetTextTagPosUnit(t, u, 0)
endfunction

Ето действие запускается каждые 0.05 сек
Мне нужно что бы функция лишь 1 раз взяла
Code

set t = LoadTextTagHandle(udg_hash,1,2)
set u = LoadUnitHandle(udg_hash,1,3)

А не каждый запуск етого действия
Тоесть чтобы после 1 запуска действие фактический превращается в действие вида
Code

function move_text takes nothing returns nothing
local unit u
local texttag t
call SetTextTagPosUnit(t, u, 0)
endfunction

Как ето сделать?


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD


Сообщение отредактировал windrunner - Пятница, 07 Августа 2009, 13:13:01
 

ЭллесарДата: Пятница, 07 Августа 2009, 17:00:14 | Сообщение # 2
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Не совсем понял )) может тебе в глабалку занести а не в локалку ?

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

windrunnerДата: Пятница, 07 Августа 2009, 17:35:35 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
Не мне именно так и надо потому что при попытке сделать все с глобалками была проблема
Вот весь тригер
Code

function move_text takes nothing returns nothing
local unit u
local texttag t
set t = LoadTextTagHandle(udg_hash,1,2)
set u = LoadUnitHandle(udg_hash,1,3)
call SetTextTagPosUnit(t, u, 0)
endfunction

function Actions takes nothing returns nothing
     local trigger tr = CreateTrigger()
     local unit u
     local texttag t
     local timer v = CreateTimer()
     set udg_hash = InitHashtable()
     set u = GetTriggerUnit()
     call CreateTextTagUnitBJ( GetUnitName(GetTriggerUnit()), u, 0, 10, 100, 100, 100, 0 )
     set t = bj_lastCreatedTextTag
     call TriggerRegisterTimerEventPeriodic( tr, 0.05 )
     call TriggerAddAction( tr, function move_text)
     call SaveTextTagHandle(udg_hash,1,2,t)
     call SaveUnitHandle(udg_hash,1,3,u)
     call TimerStart(v,.01,true,function move_text)
     call TriggerSleepAction(4.)
     call TimerStart(v,.01,false,function move_text)
     loop
     exitwhen udg_i == 40
     call DestroyTextTag(t)
     set t = null
     endloop
     call DestroyTimer(v)
     set v = null
endfunction

function InitTrig_vvod takes nothing returns nothing
     local trigger t = CreateTrigger(  )
     call TriggerRegisterUnitInRangeSimple( t, 200.00, gg_unit_hkni_0000 )
     call TriggerAddAction( t, function Actions )
     set t = null
endfunction

тоесть тут создается триг там создается действие в ето действие с помощью таблиц заносятся данные и в тригер делается событие каждые 0.05 секунд
все работает НО
Если к юниту gg_unit_hkni_0000 подойдет кто нить еще тогда в таблицу занесется другие данные и за 1 юнитом текст не двигается поетому мне надо чтобы 1 раз передалось с помощью таблицы а патом все работало бещ повторного считывания из таблицы
З.Ы оптимизацией пока не занимался мне пока важнее чтобы сама функция работала


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD
 

MalfattoДата: Четверг, 13 Августа 2009, 13:00:27 | Сообщение # 4
Группа: Модераторы
Сообщений: 3806
Награды: 7
Репутация: 2425
Блокировки:
Только переменные. Ставь глобальную переменную и условие
 

LipokillerДата: Четверг, 13 Августа 2009, 16:13:11 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 288
Награды: 0
Репутация: 67
Блокировки:
ребят... всем привет.. у меня проблема... А именно нужна помощь в триггерах. Короче запара в том, что не могу сделать таблицу рекордов и настроить её на то, чтобы та команда которая быстрее наберёт определённое кол-во очков - победит. Ещё запара с дуэлем, и скилами из доты... если готовы помочь, то ответьте пожалуйста.

Добавлено (13-08-2009, 16:13)
---------------------------------------------
ааа... забыл... ещё проблема в том, что после 5-го уровня на мобах, левел не идёт...


Моё:
Третий День (2012) (скачать)
New Epic Map (2015) (в разработке)
Наработки:
Пользовательская система дуэлей (скачать)
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » И снова нужна помощь
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz