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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 10 из 10«128910
Модератор форума: PUVer, SirNikolas, Ty3uK 
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [ВАЖНО] Jass: Полезные функции
[ВАЖНО] Jass: Полезные функции
bubliqДата: Понедельник, 20 Август 2012, 11:01:01 | Сообщение # 226
2 уровень
Группа: Пользователи
Сообщений: 24
Награды: 0
Репутация: -12
Блокировки:
Quote (Ty3uK)
на хайве и видел такие трюки с иф зен для абилок

На самом деле, открою тайну, OrderIssue - тоже через if then нужно юзать, недавно столкнулся с таким неприятным багом, что дамми юнит (невидимка создаваемый на секунду), при попытке атаки по врагу, не просто не атаковал его когда тот неуязвимый, но и перекидывался на ближайшего соседа, что просто ломало всю концепцию спелла.

Выход: заюзал через if, при возвращении false - уничтожал Dummy очищал стэк.
 

HexingДата: Вторник, 28 Август 2012, 15:29:59 | Сообщение # 227
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
Немного оптимизации.
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.

немного продолжил, до конца доделать - сил нет


 

SirNikolasДата: Среда, 29 Август 2012, 07:13:35 | Сообщение # 228
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Hexing, я выложил те константы, которые можно безопасно заменять на null. Если ты вместо PLAYER_COLOR_BLUE напишешь null, это будет интерпретировано как PLAYER_COLOR_RED.

 

HexingДата: Среда, 29 Август 2012, 13:05:23 | Сообщение # 229
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
Hexing, я выложил те константы, которые можно безопасно заменять на null. Если ты вместо PLAYER_COLOR_BLUE напишешь null, это будет интерпретировано как PLAYER_COLOR_RED.

а это где-то используется? в смысле лично я никогда не использую playercolor, так какая разница?


 

SirNikolasДата: Среда, 29 Август 2012, 13:33:38 | Сообщение # 230
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Я про то, что с твоими дефайнами код приобретает совсем другой смысл. Это как
Code
define true = (GetRandomInt(0, 1) == 1)
- компилятор проглотит, а исполняться будет непонятно как.


 

HexingДата: Среда, 29 Август 2012, 14:53:55 | Сообщение # 231
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
Я про то, что с твоими дефайнами код приобретает совсем другой смысл. Это как
Code
define true = (GetRandomInt(0, 1) == 1)
- компилятор проглотит, а исполняться будет непонятно как.

вы намекаете что код карты как то использует эти значения? если да, то вы правы
а речь то об оптимизации, и как я уже сказал я обнуляю только то что не использую, даже будь то true, разве это плохо? не стоит забывать что это не язык программирования как таковой, а скриптовый язык движка


 

SirNikolasДата: Среда, 29 Август 2012, 16:16:21 | Сообщение # 232
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Не понимаю. Даже если ты их не используешь, зачем делать код нерабочим?

 

HexingДата: Среда, 29 Август 2012, 17:19:54 | Сообщение # 233
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
Не понимаю. Даже если ты их не используешь, зачем делать код нерабочим?

за тем же, зачем делали это и вы, для уменьшения объёма используемой памяти


 

SirNikolasДата: Среда, 29 Август 2012, 17:23:03 | Сообщение # 234
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
С теми дефайнами, которые я предложил (а точнее, Bribe) любая карта будет работать так же, как без них. С вашими же все цвета игроков станут красными.

Добавлено (29 Августа 2012, 17:23:03)
---------------------------------------------
PLAYER_COLOR_RED == null, но PLAYER_COLOR_BLUE != null.


 

HexingДата: Среда, 29 Август 2012, 17:30:06 | Сообщение # 235
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (SirNikolas)
С теми дефайнами, которые я предложил (а точнее, Bribe) любая карта будет работать так же, как без них. С вашими же все цвета игроков станут красными.
Добавлено (29 Августа 2012, 17:23:03)
---------------------------------------------
PLAYER_COLOR_RED == null, но PLAYER_COLOR_BLUE != null.

да ведь вы упускаете суть, плэерколоры бесполезны, и т.н. "цена" быстродействия равна нулю, я ведь не говорю использовать это всюду, но лично мне не нужен playercolor(даже не догадываюсь где его использовать), так почему бы его не обнулить(в моём случаи), и уверен найдутся те кто солидарен со всем перечисленным, ну а те кто по каким-то причинам использует эти переменные, само собой поступают не оптимально, что выходит за рамки поставленной задачи - оптимизация


 

SirNikolasДата: Вторник, 15 Июль 2014, 21:51:39 | Сообщение # 236
Группа: Модераторы
Сообщений: 6557
Награды: 1
Репутация: 1784
Блокировки:
Функция, дающая возможность перебрать строку посимвольно, поскольку некоторые символы (в частности, русские буквы) занимают в памяти два байта. Пример использования:

Как известно, StringLength("Строка!") == 13, поскольку кириллица занимает два байта, а латиница и знаки пунктуации - по одному. Эта функция вычисляет реальную длину строки: Utf8Length("Строка!") == 7.

Немного функций для работы с хексом и цветами.

Функция, заливающая текст градиентом (переливающимся цветом). Строка с текстом не должна содержать цветовых кодов.


 

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

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