|
|
|
|
[Наработка]: Имя для героя
|
|
War-Cry | Дата: Пятница, 04 Декабря 2009, 22:31:41 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| О чем наработка? Вы вводите в чате имя своего героя, оно появляется над ним. Если имя было введено, то над героем выводится что ты написал. Плюсы: + Можно использовать для мультиплеера + Инициализируется 1 строчкой + Идет на всех версиях вара + Обсолютно без утечек Установка: Копируем этот код в кустом скрипт карты, создаем 3 массивных переменные: u - юнит, name - строка, tt - плавающий текст Code function MoveName takes nothing returns nothing local integer i = 1 loop exitwhen i > 12 if udg_tt[i] != null then call SetTextTagPosUnit(udg_tt[i],udg_u[i],0) endif set i = i + 1 endloop set i = 0 endfunction function CreateName takes nothing returns nothing local integer pid = GetPlayerId(GetTriggerPlayer()) + 1 if udg_name[pid] == "" then if GetEventPlayerChatString() != "" then set udg_name[pid] = GetEventPlayerChatString() set udg_tt[pid] = CreateTextTag() call SetTextTagText(udg_tt[pid],"|c00FF0000"+udg_name[pid]+"|r",10 * 0.023 / 10) call SetTextTagPosUnit(udg_tt[pid],udg_u[pid],0) call DisplayTextToPlayer(GetTriggerPlayer(),1,1,"|c0000FF00Имя принято|r") else call DisplayTextToPlayer(GetTriggerPlayer(),1,1,"|c00FF0000Имя не должно быть пустым|r") endif else call SetTextTagText(udg_tt[pid],"|c00FF0000"+udg_name[pid]+"|r: "+GetEventPlayerChatString(),10 * 0.023/10) call TriggerSleepAction(10) call SetTextTagText(udg_tt[pid],"|c00FF0000"+udg_name[pid]+"|r",10 * 0.023 / 10) endif set pid = 0 endfunction function InitTT takes nothing returns nothing local timer t = CreateTimer() call TimerStart(t,0.01,true,function MoveName) set t = null endfunction function InitNameForPlayer takes integer id returns nothing local trigger t = CreateTrigger() local player p = Player(id-1) call DisplayTextToPlayer(p,1,1,"|c00FF8000Введите имя|r") call TriggerRegisterPlayerChatEvent( t, p, "", true ) call TriggerAddAction(t,function CreateName) set t = null endfunction В инициализации карты ставим код Запуск: Там где надо будет задать имя указываем в переменной u юнита, для которого выбираем имя, id массива - это номер игрока(начиная с 1) затем после этого ставим код Code call InitNameForPlayer(id) вместо id - номер игрока(начиная с 1) все очень просто))))!
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
Сообщение отредактировал War-Cry - Пятница, 04 Декабря 2009, 22:38:57 |
|
|
|
MaHBe | Дата: Пятница, 04 Декабря 2009, 22:52:12 | Сообщение # 2 |
7 уровень
Группа: Проверенные
Сообщений: 260
Награды: 2
Репутация: 138
Блокировки:
| Очень хорошая наработка!
|
|
|
|
Pa3apT | Дата: Пятница, 04 Декабря 2009, 23:34:18 | Сообщение # 3 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| War-Cry, SetTextTagPosUnit полюбому вызывает утечку локи, представте себе что каждые 0,1 сек у вас будет 12 утечек. Заменяй SetTextTagPosUnit на SetTextTagPos. Дальше лень код смотреть было, но уверен есть ещё утечки Добавлено (04-12-2009, 23:33) --------------------------------------------- Если ты тот кингсель с хгма, то знай, я тя и тут достану хД Лана, не обращай внимания, эт я так :) Добавлено (04-12-2009, 23:34) ---------------------------------------------
Quote + Обсолютно без утечек Тока щас прочитал хДДДД Отжёг-отжёг...
|
|
|
|
War-Cry | Дата: Суббота, 05 Декабря 2009, 12:02:30 | Сообщение # 4 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| он самый)))) Pa3apT, опять же говорю тебе и тут, что не 12 раз! А именно столько, сколько текс тагов существует, перед перемещением я проверяю существует ли этот текст таг. И если использовать SetTextTagPos , то придется еще использовать 2 функции GetUnitX и GetUnitY))))
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
Pa3apT | Дата: Суббота, 05 Декабря 2009, 13:11:56 | Сообщение # 5 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| War-Cry, то есть ты думаешь что внутри SetTextTagPosUnit не вызывается энто? Энто ещё хорошо что вызывается, там моги и локи ещё юзать...
|
|
|
|
War-Cry | Дата: Суббота, 05 Декабря 2009, 16:38:34 | Сообщение # 6 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| Pa3apT, SetTextTagPosUnit это нативка
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
Pa3apT | Дата: Воскресенье, 06 Декабря 2009, 11:05:49 | Сообщение # 7 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| War-Cry, и?
|
|
|
|
nikikin | Дата: Воскресенье, 06 Декабря 2009, 11:18:51 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 5397
Награды: 3
Репутация: 1805
Блокировки:
| Pa3apT, и этим все сказано, так что она не вызывает утечек
|
|
|
|
Pa3apT | Дата: Воскресенье, 06 Декабря 2009, 11:31:30 | Сообщение # 9 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| nikikin, ахахахаахахаххаахаххаах лолз хДДДДДДД То что нативка ещё ни о чём не говорит... Quote Устранена небольшая утечка при использовании функций GroupEnum. Строка из change лога 1,24с патча, а GroupEnum тоже нативка...
|
|
|
|
Gotman | Дата: Воскресенье, 06 Декабря 2009, 11:56:32 | Сообщение # 10 |
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 1
Блокировки:
| Автор молодец
Фанат Никикина ГОТИКА: Пути Богов
|
|
|
|
War-Cry | Дата: Воскресенье, 06 Декабря 2009, 13:12:53 | Сообщение # 11 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| Pa3apT, а я и неиспользую GroupEnum! Тотже аргумент могу привести и для GetUnitX и GetUnitY, а так же для других нативок! Добавлено (06-12-2009, 13:12) --------------------------------------------- получается что бы ты не писал все равно есть утечки)))))
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
Pa3apT | Дата: Воскресенье, 06 Декабря 2009, 13:21:27 | Сообщение # 12 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| Ты понимаешь что дохрена даже мб и нативок, которые работают с локами имеют утечкки?
|
|
|
|
Сорнемус | Дата: Воскресенье, 06 Декабря 2009, 13:48:14 | Сообщение # 13 |
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
| War-Cry, ты сначала разузнай что такое утечки, какие бывают опасны, какие нет, а потом спорь с джассером, ок?
|
|
|
|
shamaniko | Дата: Воскресенье, 06 Декабря 2009, 17:15:03 | Сообщение # 14 |
3 уровень
Группа: Проверенные
Сообщений: 63
Награды: 0
Репутация: 31
Блокировки:
| хорошая статья попробую в деле)
|
|
|
|
War-Cry | Дата: Воскресенье, 06 Декабря 2009, 17:38:18 | Сообщение # 15 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| Сорнемус, Мля насмешил)))))))) ты думаешь я какой то ламер?????
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
Сорнемус | Дата: Воскресенье, 06 Декабря 2009, 17:45:37 | Сообщение # 16 |
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
| War-Cry, судя по тому, что ты говоришь, то да.
|
|
|
|
War-Cry | Дата: Воскресенье, 06 Декабря 2009, 18:10:40 | Сообщение # 17 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| Сорнемус, блин и из-за чего спорим???? то что 120 раз в секунду двигаем 12 тагов при 12 игроках???? дочево докатились))) А как же система DGUI там каждые 0.01 сек двигаем до нескольких десятков юнитов и текстагов)))) в общем кому надо пускай меняют. Я придерживаюсь своего мнения, и никто меня не переубедит!
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
Сорнемус | Дата: Воскресенье, 06 Декабря 2009, 21:10:56 | Сообщение # 18 |
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
| War-Cry, РаЗарТ сказал что у тебя утечка в функции SetTextTagPosUnit, а ты сказал что утечки нету ибо функция, видите-ли нативка (очень уважительная причина xD).
Сообщение отредактировал Сорнемус - Воскресенье, 06 Декабря 2009, 21:11:34 |
|
|
|
War-Cry | Дата: Воскресенье, 06 Декабря 2009, 21:29:51 | Сообщение # 19 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| Сорнемус, а чем не уважительная?
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
Сорнемус | Дата: Воскресенье, 06 Декабря 2009, 21:36:32 | Сообщение # 20 |
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
| War-Cry, оужас, даже спорить не хочу.
|
|
|
|
Pa3apT | Дата: Понедельник, 07 Декабря 2009, 00:09:25 | Сообщение # 21 |
8 уровень
Группа: Проверенные
Сообщений: 653
Награды: 0
Репутация: 166
Блокировки:
| War-Cry, с чего ты взял что native != утечки?
|
|
|
|
War-Cry | Дата: Понедельник, 07 Декабря 2009, 19:08:49 | Сообщение # 22 |
6 уровень
Группа: Проверенные
Сообщений: 164
Награды: 0
Репутация: 33
Блокировки:
| Pa3apT, а с чего ты взял что native == утечка? native - это вбитая в движок вара функция, которая основывается на свойствах объектов, а не на других параметрах. Я уж не думаю что в близарде такие лохи чтобы каждая нативка была с утечкой)
Мой проект World of Fariell War-Cry самый гениальный картостроитель, а вы все просто никто.... Это так, смиритесь с этим, ©
|
|
|
|
|
|
|
|
|
|
|