|
|
|
|
То ли трубы прорвало, то ли что, но в Jass-коде утечка
|
|
CHLSN | Дата: Понедельник, 03 Января 2011, 12:26:02 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Вот код: Code unit sold = GetSoldUnit() player buy = GetOwningPlayer( sold ) integer p = GetPlayerId( buy ) ... if IsUnitType( sold, UNIT_TYPE_HERO ) then udg_x[p] = sold DisplayTimedTextToPlayer( buy, 0, 0, 10, "Твой героин: " + GetUnitName( udg_x[p] ) ) ... endif Почему-то иногда у меня выводит тупо: "Твой героин: " и всё. Хотя герой был выбран, имя у героя точно есть. Отсюда возникает неработоспособность некоторых триггеров.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Kartoha | Дата: Понедельник, 03 Января 2011, 12:37:25 | Сообщение # 2 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Т.е. у тебя иногда выводится имя, иногда нет? Или вообще никогда не выводится? Это важно.
|
|
|
|
P@d®e | Дата: Понедельник, 03 Января 2011, 12:38:44 | Сообщение # 3 |
6 уровень
Группа: Пользователи
Сообщений: 221
Награды: 0
Репутация: 73
Блокировки:
| попробуй на собтия или условия посмотреть мож там че не то. попробуй без глобалки сделать или сначало выполнить действия с локалкой а потом присваивать в глобалку, а так хз, почему "иногда"
Кому помог поставьте плюсичек.
|
|
|
|
CHLSN | Дата: Понедельник, 03 Января 2011, 12:51:52 | Сообщение # 4 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Kartoha, это вообще ахинея. Я еще по ребагю всех героев, но у меня в редких случаях не выводит сообщение. Сейчас тестил. Выбрал героя. Все триггеры включились - всё норм. Но! Не работал один триггер, где используется глобальная переменная, в которую этот герой заносится (по крайней мере должен). Перезапустил карту - снова попробовал - нормально, работает.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Dreii | Дата: Понедельник, 03 Января 2011, 13:36:11 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| CHLSN, Code local unit s=GetTriggerUnit() local player buy = GetOwningPlayer(s) local integer p=GetPlayerId(buy) if IsUnitType( s,UNIT_TYPE_HERO) then call DisplayTimedTextToPlayer( buy, 0, 0, 10, "Твой герой: " + GetUnitName(s) ) endif set s=null
Вот это работает отлично.тока что проверилДобавлено (03-01-2011, 13:36) --------------------------------------------- Вот тоже работает если герой покупается Code function Trig_hero1_Actions takes nothing returns nothing local unit s=GetSoldUnit() local player buy=GetOwningPlayer(s) local integer p=GetPlayerId(buy) if IsUnitType( s,UNIT_TYPE_HERO) then call DisplayTimedTextToPlayer( buy, 0, 0, 10, "Твой герой: " + GetUnitName(s) ) endif endfunction
//=========================================================================== function InitTrig_hero1 takes nothing returns nothing local integer index=0 set gg_trg_hero1 = CreateTrigger() loop call TriggerRegisterPlayerUnitEvent(gg_trg_hero1, Player(index), EVENT_PLAYER_UNIT_SELL, null) set index = index + 1 exitwhen index == bj_MAX_PLAYER_SLOTS endloop call TriggerAddAction( gg_trg_hero1, function Trig_hero1_Actions ) endfunction
|
|
|
|
CHLSN | Дата: Понедельник, 03 Января 2011, 13:40:26 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Quote (Dreii) unit s=GetTriggerUnit() Если я не ошибаюсь, нет события "Боевая единица Продается" (:D "продается" х)) И ты не понял. Проблема не в выводе имени героя, а в его имении в глобальной переменной. Добавлено (03-01-2011, 13:40) --------------------------------------------- Выводится-то имя безпроблемно. Вот только выводить нечего, если глобалка оказалось каким-то образом пустой О.о
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Kartoha | Дата: Понедельник, 03 Января 2011, 13:46:20 | Сообщение # 7 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| А зачем вообще глобалка? Почему в этом параметре Quote (CHLSN) GetUnitName( udg_x[p] ) вместо udg_x[p] нельзя указать локалку sold?
|
|
|
|
CHLSN | Дата: Понедельник, 03 Января 2011, 13:53:32 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Kartoha Quote (CHLSN) И ты не понял. Проблема не в выводе имени героя, а в его имении в глобальной переменной. Это сообщение имеет две функции: оповестить, какой герой выбран и оповестить, что он удачно оказался в глобальной переменной.Добавлено (03-01-2011, 13:53) --------------------------------------------- Потому что если его не будет в глобалке, половина триггеров будут не работать, и вообще, давать сбои
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
Dreii | Дата: Понедельник, 03 Января 2011, 13:59:44 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| CHLSN, Code globals unit hero=GetSoldUnit() endglobals function Trig_hero1_Actions takes nothing returns nothing local unit s=GetSoldUnit() local player buy=GetOwningPlayer(s) local integer p=GetPlayerId(buy) if IsUnitType( s,UNIT_TYPE_HERO) then set hero=s call DisplayTimedTextToPlayer( buy, 0, 0, 10, "Твой герой: " + GetUnitName(hero) ) endif endfunction
//=========================================================================== function InitTrig_hero1 takes nothing returns nothing local integer index=0 set gg_trg_hero1 = CreateTrigger() loop call TriggerRegisterPlayerUnitEvent(gg_trg_hero1, Player(index), EVENT_PLAYER_UNIT_SELL, null) set index = index + 1 exitwhen index == bj_MAX_PLAYER_SLOTS endloop call TriggerAddAction( gg_trg_hero1, function Trig_hero1_Actions ) endfunction
Добавлено (03-01-2011, 13:59) --------------------------------------------- Глобалка отлично беретт значение s
Сообщение отредактировал Dreii - Понедельник, 03 Января 2011, 13:57:48 |
|
|
|
CHLSN | Дата: Понедельник, 03 Января 2011, 14:01:35 | Сообщение # 10 |
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
| Ок. Я еще посмотрю, возможно ошибка уже исправлена каким-то чудодейственным образом, но если нет, вновь подниму эту тему.
Я в контакте и на warcraft3ft.info. Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
|
|
|
|
P@d®e | Дата: Понедельник, 03 Января 2011, 14:05:02 | Сообщение # 11 |
6 уровень
Группа: Пользователи
Сообщений: 221
Награды: 0
Репутация: 73
Блокировки:
| тогда поверь другие триггеры, где это глобалка используется, мо тама она обнуляется?
Кому помог поставьте плюсичек.
|
|
|
|
|
|
|
|
|
|
|