Сейчас 05:33:01 Четверг, 17 июля, 2014 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 9 из 10«1278910»
Модератор форума: PUVer, SirNikolas, Ty3uK 
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Jass: Полезные функции
[ВАЖНО] Jass: Полезные функции
newbee-beeДата: Суббота, 02 Июнь 2012, 21:17:06 | Сообщение # 201
5 уровень
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 12
Блокировки:
Понубить разрешите?
Разве собственные функции можно вызывать только если они в коде карте? Т.е. если они просто в триггере без событий, то их нельзя вызывать?
 

Ty3uKДата: Суббота, 02 Июнь 2012, 21:23:36 | Сообщение # 202
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
если триггер выше всех, то можно
можно еще либу сделать для таких функций


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

newbee-beeДата: Суббота, 02 Июнь 2012, 21:41:12 | Сообщение # 203
5 уровень
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 12
Блокировки:
Quote (Ty3uK)
если триггер выше всех, то можно

Был выше всех, но при попытке вызова функции выдавал, что не объявленная функция
Quote (Ty3uK)
можно еще либу сделать для таких функций

А вот тут поподробнее
 

Ty3uKДата: Суббота, 02 Июнь 2012, 22:33:46 | Сообщение # 204
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
vjass
Code
library Funcs
     function test takes nothing returns nothing
     endfunction
endlibrary

либа вставляется выше всего кода, сразу после глобалок

Добавлено (02 Июнь 2012, 22:33:46)
---------------------------------------------
но для этого нужен жнгп
да и чем тебя не устраивает нестандартный код карты?


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

newbee-beeДата: Воскресенье, 03 Июнь 2012, 11:46:36 | Сообщение # 205
5 уровень
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 12
Блокировки:
Quote (Ty3uK)
да и чем тебя не устраивает нестандартный код карты?

Просто если этих функций много, то это ведь громоздко, много проще использовать триггеры, которые содержат только функции. Имхо, конечно
 

Ty3uKДата: Воскресенье, 03 Июнь 2012, 16:44:57 | Сообщение # 206
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
тогда ты вынужден юзать жнгп

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

newbee-beeДата: Воскресенье, 03 Июнь 2012, 18:02:31 | Сообщение # 207
5 уровень
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 12
Блокировки:
Quote (Ty3uK)
тогда ты вынужден юзать жнгп

Он есть, итак его юзаю, просто хотел узнать есть ли варианты как использовать функции без нестандартного кода.
В принципе вроде удовлетворен ответом
 

DreiiДата: Воскресенье, 03 Июнь 2012, 18:57:34 | Сообщение # 208
10 уровень
Группа: Проверенные
Сообщений: 4992
Награды: 0
Репутация: 603
Блокировки:
Тузик иди готовься к матану=)

 

Ty3uKДата: Воскресенье, 03 Июнь 2012, 19:09:54 | Сообщение # 209
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
чуствую математику я напишу ахово
хотя у меня на нее есть "белый билет" (:


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Среда, 06 Июнь 2012, 09:52:57 | Сообщение # 210
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Немного оптимизации.
Code
define {
    PLAYER_COLOR_RED = null
    PLAYER_GAME_RESULT_VICTORY = null
    ALLIANCE_PASSIVE = null
    VERSION_REIGN_OF_CHAOS = null
    ATTACK_TYPE_NORMAL = null
    DAMAGE_TYPE_UNKNOWN = null
    WEAPON_TYPE_WHOKNOWS = null
    PATHING_TYPE_ANY = null
    MAP_CONTROL_USER = null
    MAP_PLACEMENT_RANDOM = null
    MAP_LOC_PRIO_LOW = null
    MAP_DENSITY_NONE = null
    MAP_DIFFICULTY_EASY = null
    MAP_SPEED_SLOWEST = null
    PLAYER_SLOT_STATE_EMPTY = null
    SOUND_VOLUMEGROUP_UNITMOVEMENT = null
    GAME_STATE_DIVINE_INTERVENTION = null
    PLAYER_STATE_GAME_RESULT = null
    UNIT_STATE_LIFE = null
    AI_DIFFICULTY_NEWBIE = null
    PLAYER_SCORE_UNITS_TRAINED = null
    EVENT_GAME_VICTORY = null
    LESS_THAN = null
    UNIT_TYPE_HERO = null
    ITEM_TYPE_PERMANENT = null
    CAMERA_FIELD_TARGET_DISTANCE = null
    BLEND_MODE_NONE = null
    BLEND_MODE_DONT_CARE = null
    RARITY_FREQUENT = null
    TEXMAP_FLAG_NONE = null
    EFFECT_TYPE_EFFECT = null
    SOUND_TYPE_EFFECT = null
}
Составитель списка - Bribe.


 

Ty3uKДата: Среда, 06 Июнь 2012, 15:39:33 | Сообщение # 211
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
и что это дает?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Среда, 06 Июнь 2012, 17:01:27 | Сообщение # 212
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Замену констант нулем, небольшой выигрыш в производительности.

 

Ty3uKДата: Среда, 06 Июнь 2012, 17:04:17 | Сообщение # 213
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
серьезно? :0
а из-за чего не знаешь?


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 21 Июнь 2012, 14:12:09 | Сообщение # 214
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Из-за отсутствия обращения к оперативной памяти.

Небольшая системка, позволяющая кое-где не юзать периодики.
Code
library_once Time {
    private constant timer T = CreateTimer();

    define {
        Time_Mark() = Time_##Mark();
        Time_Mark(r) = (Time_Mark() - (r));
    }

    public real Mark() {
        return TimerGetElapsed(T);
    }

    callback onInit() {
        TimerStart(T, 9000., true, null);
    }
}


 

Ty3uKДата: Четверг, 21 Июнь 2012, 14:17:53 | Сообщение # 215
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, можно поинтересоваться, а для чего это?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 21 Июнь 2012, 15:06:14 | Сообщение # 216
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Позволяет определить время, прошедшее между двумя событиями.

 

bubliqДата: Вторник, 10 Июль 2012, 00:49:58 | Сообщение # 217
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: -12
Блокировки:
Абсолютно бесполезная библиотека, также как и абсолютное бесполезный выигрыш по времени при обращение к КОНСТАНТАМ. Если значение Null - то идёт обращение к 0 ячейке памяти пустой, в любом случае. Константа же, задаёт обращение к ячейке памяти например 0x99999. В общем, тупите братец.
 

Ty3uKДата: Вторник, 10 Июль 2012, 08:13:15 | Сообщение # 218
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
на хайве замеры по скорости делают, это не пустые буквы

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

bubliqДата: Четверг, 12 Июль 2012, 18:06:04 | Сообщение # 219
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: -12
Блокировки:
Quote (Ty3uK)
на хайве замеры по скорости делают, это не пустые буквы

Это пустые буквы. Наносекунду, которую ты получишь, никто не увидит. Даже играя в доту ты не увидешь там конструкций по типу
if UnitAddAbility then
UnitRemoveAbility
endif
Оно быстрее надёжнее, но ОНО не НУЖНО, потому что полученная скорость от этих скриптов - минимальная. Посмотри тот же код TcX - который обрабатывается множество раз.

В общем что я тут распинаюсь, вам нужно псевдооптимизация которая не даст никакого видимого эффекта даже на слабейших машинах ;)
 

Ty3uKДата: Пятница, 13 Июль 2012, 15:16:46 | Сообщение # 220
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
тсх написан грамотно, не надо
да и пиши как хочешь, я не мешаю


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Суббота, 14 Июль 2012, 22:37:25 | Сообщение # 221
10 уровень
Группа: Проверенные
Сообщений: 1895
Награды: 0
Репутация: 430
Блокировки:
bubliq, я смотрю у вас богатый опыт разработки, линк на проект плз в студию

Добавлено (14 Июль 2012, 22:37:25)
---------------------------------------------

Quote (Ty3uK)
серьезно? :0
а из-за чего не знаешь?

у флоатов запятая бтв решает целый такт :D


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL


Сообщение отредактировал Faion - Суббота, 14 Июль 2012, 22:35:52
 

Ty3uKДата: Суббота, 14 Июль 2012, 23:21:44 | Сообщение # 222
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
lol

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

FaionДата: Понедельник, 16 Июль 2012, 14:24:49 | Сообщение # 223
10 уровень
Группа: Проверенные
Сообщений: 1895
Награды: 0
Репутация: 430
Блокировки:
В общем, для хомячков и чайников проясню на счет этого:
Quote (bubliq)
if UnitAddAbility then
UnitRemoveAbility
endif
Оно быстрее надёжнее, но ОНО не НУЖНО, потому что полученная скорость от этих скриптов - минимальная. Посмотри тот же код TcX - который обрабатывается множество раз.


Думаю многие знают что ТСХ достаточно старый проект, который разрабатывался до 1.24. Так вот, раньше попытка удалению абилки которой нету у юнита приводило к фаталу. Это касается и многих других моментов. Так же подчеркну, что есть ситуации которые требуют проверок, в противном случае будут существенные потери в производительности(Те кто работал достаточно с МБ думаю сталкивались с подобным моментом).


О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас.
My Project: Nindogatari
MAL
 

bubliqДата: Понедельник, 30 Июль 2012, 17:18:11 | Сообщение # 224
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: -12
Блокировки:
Quote (Faion)
В общем, для хомячков и чайников проясню на счет этого:
Quote (bubliq)
if UnitAddAbility then
UnitRemoveAbility
endif
Оно быстрее надёжнее, но ОНО не НУЖНО, потому что полученная скорость от этих скриптов - минимальная. Посмотри тот же код TcX - который обрабатывается множество раз.

Думаю многие знают что ТСХ достаточно старый проект, который разрабатывался до 1.24. Так вот, раньше попытка удалению абилки которой нету у юнита приводило к фаталу. Это касается и многих других моментов. Так же подчеркну, что есть ситуации которые требуют проверок, в противном случае будут существенные потери в производительности(Те кто работал достаточно с МБ думаю сталкивались с подобным моментом).


дада, фаталы, ага. Можно хоть десять несуществующих абилок было удалять, кому ты тут несёшь.

Ну и по фактам. Мне не нужно, давать ссылки на проекты. Мне достаточно знать что вы страдает хернёй.

1. Оптимизация ваша не даёт вообще никакого выигрыша в FPS даже при 100 тактах в секунду.
2. Чтобы в карте не лагало, нужно просто грамотно запрелоадить нужные тебе данные. Не более.
3. Оптимизация многих моментов достигается достаточно умным распределением загрузки. Например динамичным подгружением героев. (что в принципе реализовано в доте, что позволяет карте на сильных машинах грузиться не более 3 секунд)

итд. вот в этом направлении должна идти оптимизация, а не попытки с экономить наносекунды, которые ВООБЩЕ погоды не делают. Делать нужно на конечного пользователя, а не для самоудовлетворения.

что в принципе и отличает качество наработок хайва и wc3c.net где в принципе (во втором) не смотрят на мелкие аспекты по типу давайте и тут выиграем милисекунду, и вполне нормой считается там абуз того Table (что просто надстройка над хэштаблицей для удобства кодинга)
 

Ty3uKДата: Воскресенье, 19 Август 2012, 21:32:02 | Сообщение # 225
Группа: Ветераны
Сообщений: 6175
Награды: 2
Репутация: 1617
Блокировки:
на хайве и видел такие трюки с иф зен для абилок dunno

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Jass: Полезные функции
Страница 9 из 10«1278910»
Поиск:

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