|
|
|
|
[ВАЖНО] Общалка кодеров
|
|
SirNikolas | Дата: Понедельник, 27 Января 2014, 08:43:51 | Сообщение # 326 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата Melodia ( ) кинжал можно кликнуть на себя и герой тпшнется хп куда, всегда в разную точку Нет, он блинкнется в позицию кинжала. А позиция предмета, находящегося в инвентаре героя - это позиция, в которой он лежал перед подбором.
|
|
|
|
Bibo | Дата: Понедельник, 27 Января 2014, 14:49:40 | Сообщение # 327 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| А-а-а-а, так вот о чем ты, дескать, как в новых дотах "Двойное нажатие применяет на себя"
Сообщение отредактировал Bibo - Понедельник, 27 Января 2014, 14:50:18 |
|
|
|
Melodia | Дата: Понедельник, 27 Января 2014, 14:50:36 | Сообщение # 328 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Bibo ( ) как в новых дотах Я додумался до этого раньше килфрога, но кто поверит?
|
|
|
|
Overkills | Дата: Пятница, 31 Января 2014, 19:02:12 | Сообщение # 329 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Цитата Melodia ( ) но кто поверит Конечно же твой боевой дух.
|
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 11:35:13 | Сообщение # 330 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Можно ли как-то задать индекс группе All players В смысле, если я хочу обратиться к группа(игрок с номером) Так вот можно ли задать номер так, что ты обратишься не к 1 игроку а к all players?
|
|
|
|
Bibo | Дата: Понедельник, 03 Февраля 2014, 13:00:00 | Сообщение # 331 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Ты хочешь сказать, нечто вроде Player(all players)? Дескать, одновременно ко всем сразу? Тогда нет.
Сообщение отредактировал Bibo - Понедельник, 03 Февраля 2014, 13:00:36 |
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 13:02:53 | Сообщение # 332 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Ну написал функцию, чтобы 1 строчкой заставлять текст всплывать. Награда за убийство например, исчезающая и видная только убийце. Но вот я хочу использовать ту же функцию для отображения текста всем игрокам. function tix takes real ang, real fad, real dur, real dal, string tex, location Poso, real rr, real gg, real bb, real fs, real tp, integer pg returns nothing call CreateTextTagLocBJ( tex, Poso, 0, fs, rr, gg, bb, tp ) call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false ) call SetTextTagLifespanBJ( GetLastCreatedTextTag(), dur ) call SetTextTagFadepointBJ( GetLastCreatedTextTag(), fad ) call SetTextTagVelocityBJ( GetLastCreatedTextTag(), dal, ang ) call ShowTextTagForceBJ( false, GetLastCreatedTextTag(), GetPlayersAll() ) call ShowTextTagForceBJ( true, GetLastCreatedTextTag(), udg_Player[pg] ) endfunction
|
|
|
|
Bibo | Дата: Понедельник, 03 Февраля 2014, 13:05:36 | Сообщение # 333 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| В таком случае можно просто добавить проверку, если функция вместо конкретного игрока получает значение NULL(то бишь нет игрока), то вывести сообщение всем игрокам.
Сообщение отредактировал Bibo - Понедельник, 03 Февраля 2014, 13:05:55 |
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 13:06:07 | Сообщение # 334 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Тока если брать ещё логическую и если она false - то не прятать текст. =\ Добавлено (03 Февраля 2014, 13:06:07) ---------------------------------------------
Цитата Bibo ( ) В таком случае можно просто добавить проверку, если функция вместо конкретного игрока получает значение NULL(то бишь нет игрока) Я нипанимат(
|
|
|
|
Bibo | Дата: Понедельник, 03 Февраля 2014, 13:08:19 | Сообщение # 335 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Melodia ( ) function tix takes real ang, real fad, real dur, real dal, string tex, location Poso, real rr, real gg, real bb, real fs, real tp, integer pg returns nothing call CreateTextTagLocBJ( tex, Poso, 0, fs, rr, gg, bb, tp ) call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false ) call SetTextTagLifespanBJ( GetLastCreatedTextTag(), dur ) call SetTextTagFadepointBJ( GetLastCreatedTextTag(), fad ) call SetTextTagVelocityBJ( GetLastCreatedTextTag(), dal, ang ) call ShowTextTagForceBJ( false, GetLastCreatedTextTag(), GetPlayersAll() ) call ShowTextTagForceBJ( true, GetLastCreatedTextTag(), udg_Player[pg] ) endfunction Откуда ты взял эту коллекцию бж? Тут становится непонятно, то ли ты на гуях пытаешься извращаться, то ли жасс такой плохой получается.
|
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 13:26:15 | Сообщение # 336 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Bibo ( ) Откуда ты взял эту коллекцию бж? Правка - конвертировать в текст)))))00
|
|
|
|
Bibo | Дата: Понедельник, 03 Февраля 2014, 13:35:28 | Сообщение # 337 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Melodia ( ) конвертировать в текст
Ты собираешься его через Custom Script задействовать? Может тогда я тебе что-нибудь более приличное напишу?
Сообщение отредактировал Bibo - Понедельник, 03 Февраля 2014, 13:35:42 |
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 13:45:27 | Сообщение # 338 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Bibo ( ) Ты собираешься его через Custom Script задействовать? Вообще-то уже давно использую. Вместо борозды действий - одна длиннющая строчка, в которой без бутылки не разберёшься)). Цитата Bibo ( ) Может тогда я тебе что-нибудь более приличное напишу? А оно короче будет?) Давай!
|
|
|
|
Bibo | Дата: Понедельник, 03 Февраля 2014, 14:24:20 | Сообщение # 339 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Цитата Melodia ( ) А оно короче будет? Ну это уже всецело от твоих нужд зависит. Возможность масштабирования обязательна? Тексттаг должен крепится над точкой или над юнитом? А так же скорость его смерти и движения, можно сделать такую же как у крит. удара(то бишь не изменяемую), это опять же сэкономит тебе место.
Сообщение отредактировал Bibo - Понедельник, 03 Февраля 2014, 14:25:15 |
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 14:32:32 | Сообщение # 340 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Всё нужно. Если бы было ненужно - я бы не писал в функции этого. ._. Добавлено (03 Февраля 2014, 14:32:32) --------------------------------------------- Единственное, что не нужно - отступ по Z, поэтому там постоянная. Цитата Melodia ( ) call CreateTextTagLocBJ( tex, Poso, 0, fs, rr, gg, bb, tp )
|
|
|
|
Bibo | Дата: Понедельник, 03 Февраля 2014, 15:05:28 | Сообщение # 341 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Тогда в этом мало смысла Код function tix takes real ang, real fad, real dur, real dal, string tex, location Poso, real rr, real gg, real bb, real fs, real tp, integer pg returns nothing Могу посоветовать убрать переменные rr, gg и bb, а цвет текста задавать hex-ом. Что касательно отображения текста игрокам, даже просто изменив эту функцию, тебе придется пройтись по всем местам где ты ее ранее использовал.
|
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 15:08:33 | Сообщение # 342 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата Bibo ( ) Что касательно отображения текста игрокам, даже просто изменив эту функцию, тебе придется пройтись по всем местам где ты ее ранее использовал. Ну да.
|
|
|
|
SirNikolas | Дата: Понедельник, 03 Февраля 2014, 16:47:08 | Сообщение # 343 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| [code=jass]function AddTextTagPoint takes string text, real textHeight, real x, real y, real angle, real speed, real fadepoint, real lifespan, force displayTo returns nothing local texttag t = CreateTextTag() call SetTextTagText(t, text, textHeight) call SetTextTagPos(t, x, y, .0) call SetTextTagVelocity(t, speed * .000554688 * Cos(angle), speed * .000554688 * Sin(angle)) call SetTextTagFadepoint(t, fadepoint) call SetTextTagPermanent(t, false) call SetTextTagLifespan(t, lifespan) call SetTextTagVisibility(t, IsPlayerInForce(GetLocalPlayer(), displayTo)) set t = null endfunction[/code]Если нужно показывать всем игрокам, передать bj_FORCE_ALL_PLAYERS как displayTo, если одному - bj_FORCE_PLAYER[zero_based_index]. Следует учитывать, что для того, чтобы получить "высоту" текста, нужно "размер" (который используется в GUI) умножить на .0023 Углы измеряются, разумеется, в радианах.
|
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 18:10:13 | Сообщение # 344 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Как быдло скажу, что разницы не вижу, ещё и в радианах писать и чета вычислять.
|
|
|
|
SirNikolas | Дата: Понедельник, 03 Февраля 2014, 18:53:13 | Сообщение # 345 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| [code=jass]function AddTextTagPointBJ takes string text, real size, real x, real y, real angleDeg, real speed, real fadepoint, real lifespan, force displayTo returns nothing call AddTextTagPoint(text, size * .0023, x, y, angleDeg * .0174533, speed, fadepoint, lifespan, displayTo) endfunction[/code]Добавлено (03 Февраля 2014, 18:53:13) ---------------------------------------------
Цитата Melodia ( ) разницы не вижу Насколько я помню, изначально вопрос был в том, как адаптировать функцию для работы как с группами, так и с одиночными игроками.
|
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 19:18:17 | Сообщение # 346 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата SirNikolas ( ) Насколько я помню, изначально вопрос был в том, как адаптировать функцию для работы как с группами, так и с одиночными игроками. Точно Верно. Спасибо. Правда я уже переправил, сорри.
function tix takes real ang, real fad, real dur, real dal, string tex, location Poso, real rr, real gg, real bb, real fs, real tp, integer pg returns nothing call CreateTextTagLocBJ( tex, Poso, 0, fs, rr, gg, bb, tp ) call SetTextTagPermanentBJ( GetLastCreatedTextTag(), false ) call SetTextTagLifespanBJ( GetLastCreatedTextTag(), dur ) call SetTextTagFadepointBJ( GetLastCreatedTextTag(), fad ) call SetTextTagVelocityBJ( GetLastCreatedTextTag(), dal, ang ) if pg>0 then call ShowTextTagForceBJ( false, GetLastCreatedTextTag(), GetPlayersAll() ) call ShowTextTagForceBJ( true, GetLastCreatedTextTag(), udg_Player[pg] ) endif endfunction
|
|
|
|
SirNikolas | Дата: Понедельник, 03 Февраля 2014, 19:32:03 | Сообщение # 347 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Ужас.
|
|
|
|
Волчачка | Дата: Понедельник, 03 Февраля 2014, 19:45:48 | Сообщение # 348 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| SirNikolas, ага. Согласен. Ещё бы переделать "function tix" под "function MegaTextTagSBJ". Super Blizzard Jass от NatureKid aka Melodia
Сообщение отредактировал Волчачка - Понедельник, 03 Февраля 2014, 19:47:02 |
|
|
|
Melodia | Дата: Понедельник, 03 Февраля 2014, 19:57:13 | Сообщение # 349 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Цитата SirNikolas ( ) Ужас. ненаю, зато не загорождает экран 8 или 9 строк, просто 1 кска. call tix (GetRandomDirectionDeg(), 3, 4, 101, "+"+I2S(udg_Bounty), udg_PP[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] , 70, 70, 100, 10, 15, GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ())))Добавлено (03 Февраля 2014, 19:57:13) --------------------------------------------- в минимальном виде вообще ничего страшного call tix (90, 3, 4, 101, "мой текст", udg_PP[1] , 70, 70, 100, 10, 15, 1)
|
|
|
|
SirNikolas | Дата: Понедельник, 03 Февраля 2014, 20:32:19 | Сообщение # 350 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата Волчачка ( ) Ещё бы переделать "function tix" под "function MegaTextTagSBJ". Угу. Melodia, вот я совершенно не телепат. И я уже 10 часов не могу понять, что такое "tix".
|
|
|
|
|
|
|
|
|
|
|