Сейчас 03:27:23 Пятница, 24 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Таймер и ForGroup
Таймер и ForGroup
CHLSNДата: Понедельник, 09 Мая 2011, 22:03:41 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Меня интересует, можно ли получить GetExpiredTimer() в функции для ForGroup ?
Каркас кода:
Code
f Group ...
local integer i = GetHandleId( GetExpiredTimer() )
...
endf
f Timer ...
...
call ForGroup( group, f Group )
...
endf
f Trigger ...
local timer t = CreateTimer
call Save<>( HASH, GetHandleId( t ), 0, variable )
call TimerStart( t, timeOut, true, f Group )
set t = null
endf



Грубо говоря, мне нужно каждые Х секунд совершать действие для нововыбранной группы юнитов или единождывыбранной, использующей заранее сохраненные данные в хеш-таблице с уникальным родительским ключом для выполняемого заклинания.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?


Сообщение отредактировал CHLSN - Понедельник, 09 Мая 2011, 22:04:06
 

lawsonДата: Понедельник, 09 Мая 2011, 22:56:43 | Сообщение # 2
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Смотря какие ты действия совершаешь для группы с помошью таймера, если действия с юнитами группы то с помощью таймера нельзя будет, если с самой группой то просто ее загрузи и тогда можно.

Добавлено (09-05-2011, 22:56)
---------------------------------------------
Мне интресно что будет если сделать так


или что будет если сделать так


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Понедельник, 09 Мая 2011, 22:53:10
 

CHLSNДата: Понедельник, 09 Мая 2011, 23:03:04 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
lawson, ты мой вопрос вообще прочитал? Раз нет, то сделай это.



Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

lawsonДата: Понедельник, 09 Мая 2011, 23:53:03 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (CHLSN)
ты мой вопрос вообще прочитал?

Я прочитал перед написанием поста.
Говорю тебе если ты будет производить в функции f Group действия с юнитами то тогда ты не сможешь вызыватьэту функцию таймером, иначе придеться сохранять и загружать группу.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

CHLSNДата: Вторник, 10 Мая 2011, 00:06:10 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
lawson, видимо все-таки не совсем хорошо прочитал:
Quote (CHLSN)
Меня интересует, можно ли получить GetExpiredTimer() в функции для ForGroup ?




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?


Сообщение отредактировал CHLSN - Вторник, 10 Мая 2011, 00:06:42
 

lawsonДата: Вторник, 10 Мая 2011, 12:34:42 | Сообщение # 6
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (CHLSN)
Меня интересует, можно ли получить GetExpiredTimer() в функции для ForGroup ?

Quote (CHLSN)
Грубо говоря, мне нужно каждые Х секунд совершать действие для нововыбранной группы юнитов или единождывыбранной, использующей заранее сохраненные данные в хеш-таблице с уникальным родительским ключом для выполняемого заклинания.

Тогда ты уже определись что тебе нужно!
Отвечу на твой прямой вопрос, прямым ответом. Да можно получить GetExpiredTimer() из этой функции, можно получить из любой функции GetExpiredTimer() если вызывать ее таймером, думаю ты знаешь об этом.
Теперь отвечу на то что зачем тебе это. Если ты будишь производить действия с юнитами этой группы то тогда нельзя.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Вторник, 10 Мая 2011, 12:40:12
 

SirNikolasДата: Вторник, 10 Мая 2011, 12:41:58 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (lawson)
function Adder takes nothing returns nothing
call GroupAddUnit(group, GetEnumUnit)
call ForGroup(g, function Adder)
endfunction
Зацикливание с последующим уничтожением потока => секундный лаг.
Quote (lawson)
function Executer takes nothing returns nothing
call ExecuteFunc("ToExecuter")
endfunction

function ToExecuter takes nothing returns nothing
call Executer()
endfunction

Полное зацикливание => лаги до завершения игры через Диспетчер Задач.


 

lawsonДата: Вторник, 10 Мая 2011, 12:44:40 | Сообщение # 8
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
SirNikolas,
Прикольно. Нодо будет оценить.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Вторник, 10 Мая 2011, 12:45:05
 

SirNikolasДата: Вторник, 10 Мая 2011, 12:47:14 | Сообщение # 9
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Только лучше запускай игру в оконном режиме. А вылет игры без ошибки можно устроить, зациклив триггер:
Code
function Trig_Exit_Actions takes nothing returns nothing
     call TriggerExecute(gg_trg_Exit)
endfunction


 

CHLSNДата: Вторник, 10 Мая 2011, 12:53:29 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
lawson, а по-моему оба предложения отображают один и тот же вопрос -_- Хотя пожалуй проще проверить, будет ли получен Timer из GetExpiredTimer в функции, вызванной в ForGroup, который в свою очередь вызван в функции, вызываемой таймером, чем пытаться получить простой ответ, да или нет.
Тогда скажите мне, как:
Quote (CHLSN)
Грубо говоря, мне нужно каждые Х секунд совершать действие для нововыбранной группы юнитов или единождывыбранной, использующей заранее сохраненные данные в хеш-таблице с уникальным родительским ключом для выполняемого заклинания.
реализовать это.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

H_A_PKДата: Вторник, 10 Мая 2011, 15:13:59 | Сообщение # 11
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (CHLSN)
Грубо говоря, мне нужно каждые Х секунд совершать действие для нововыбранной группы юнитов или единождывыбранной, использующей заранее сохраненные данные в хеш-таблице с уникальным родительским ключом для выполняемого заклинания.

??? мб не понял, а что вешать на таймер новую группу нельзя , на место старой?
Quote (CHLSN)
Меня интересует, можно ли получить GetExpiredTimer() в функции для ForGroup ?

нельзя
проще поводить форгроуп циклом, так оптимизирование


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец


Сообщение отредактировал H_A_PK - Вторник, 10 Мая 2011, 15:14:09
 

CHLSNДата: Вторник, 10 Мая 2011, 16:02:52 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Quote (H_A_PK)
??? мб не понял, а что вешать на таймер новую группу нельзя , на место старой?

В том предложении, которое ты процитировал, нет ни одного слова про таймер...

Хорошо... Попробую объяснить по-другому.
Есть аура. Эта аура срабатывает каждые 3 секунды. Действие ауры: восстановление ( 100% - % маны юнита ) от текущего значения маны этого юнита. Аура живет 12 секунд. Если вызвать эту ауру дважды, эффект от предыдущего вызова и текущего (и последующих) складываются.

Напишите мне такой спелл на JASS, возможно, напишите и ответ на вопрос.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

H_A_PKДата: Вторник, 10 Мая 2011, 16:10:58 | Сообщение # 13
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (CHLSN)
В том предложении, которое ты процитировал, нет ни одного слова про таймер...

Quote (CHLSN)
мне нужно каждые Х секунд совершать действие

таймер чо
Quote (CHLSN)
Есть аура. Эта аура срабатывает каждые 3 секунды. Действие ауры: восстановление ( 100% - % маны юнита ) от текущего значения маны этого юнита. Аура живет 12 секунд. Если вызвать эту ауру дважды, эффект от предыдущего вызова и текущего (и последующих) складываются.

Напишите мне такой спелл на JASS, возможно, напишите и ответ на вопрос.


ничего сложного, писать лень :D ... Дак что ты именно не можешь ? вытащить даные с юнита в форгроупе ?


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

SirNikolasДата: Вторник, 10 Мая 2011, 16:14:38 | Сообщение # 14
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
CHLSN, либо делай перебор юнитов циклом
, либо заноси процент маны владельца ауры в глобальную переменную.


 

CHLSNДата: Вторник, 10 Мая 2011, 16:23:02 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
H_A_PK, не с юнита в ForGroup... T_T, они вытаскиваются с него в функции ForGroup... Вытащить данные с хеш-таблицы в функции для ForGroup...
Корень: Сохранение данных хеш, вызов таймера > Выполнение функции таймера, вызов ForGroup > Выполнение функции ForGroup, загрузка данных хеш, прочие действия с юнитами и с данными.

SirNikolas, да, это пожалуй что-то больше похожее на правду...




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?


Сообщение отредактировал CHLSN - Вторник, 10 Мая 2011, 16:23:21
 

H_A_PKДата: Вторник, 10 Мая 2011, 16:27:28 | Сообщение # 16
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (CHLSN)
Выполнение функции ForGroup, загрузка данных хеш, прочие действия с юнитами и с данными.

Quote (H_A_PK)
нельзя

я же говорил, с таймера в форгроуп ты уже ничего не возьмёшь
Quote (CHLSN)
не с юнита в ForGroup

опечатался, с таймера хотел написать

Добавлено (10-05-2011, 16:27)
---------------------------------------------

Quote (CHLSN)
SirNikolas, да, это пожалуй что-то больше похожее на правду...

Quote (H_A_PK)
проще поводить форгроуп циклом

и чем же меня слушали


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец


Сообщение отредактировал H_A_PK - Вторник, 10 Мая 2011, 16:26:42
 

CHLSNДата: Вторник, 10 Мая 2011, 16:31:10 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Quote (H_A_PK)
и чем же меня слушали

То было до, то было после - логика выполнения любого алгоритма.
H_A_PK, SirNikolas, большое вам спасибо!




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Таймер и ForGroup
  • Страница 1 из 1
  • 1
Поиск:

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