XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Не работает триггер...
Когда юнита выбираешь его удаляет из таверны..... (функция там только одна остольное удаляет так скажем даммиков вокруг таверны...)
Миниатюры
Кликните на картинку для увеличения
Название:  точечный рисунок.JPG
Просмотров: 52
Размер:  118.4 Кбайт  
Старый 18.12.2011, 18:04
MyRtZ

offline
Опыт: 6,530
Активность:
Не понятно почему ты проверяешь по цвету игрока, а не по игроку.
Там создается утечка группы ( ForGroupBJ func ).
У тебя выбранного героя не удаляет из таверны?
Выложил бы код, а не его снимок с высоты птичьего полета
Старый 18.12.2011, 18:22
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
MyRtZ, нет, героя которы вошел в зону
Vadik29 добавил:
function Trig_vibor_____________________u_Actions takes nothing returns nothing
    call RemoveUnitFromAllStock( GetUnitTypeId(GetTriggerUnit()) )
endfunction

//===========================================================================
function InitTrig_vibor_____________________u takes nothing returns nothing
    set gg_trg_vibor_____________________u = CreateTrigger(  )
    call DisableTrigger( gg_trg_vibor_____________________u )
    call TriggerRegisterEnterRectSimple( gg_trg_vibor_____________________u, gg_rct________________007 )
    call TriggerAddAction( gg_trg_vibor_____________________u, function Trig_vibor_____________________u_Actions )
endfunction
Эта часть не работает
Старый 18.12.2011, 18:26
MyRtZ

offline
Опыт: 6,530
Активность:
call DisableTrigger( gg_trg_vibor_____________________u )
Это что за покемон?
Старый 18.12.2011, 18:27
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
MyRtZ, ой это название триггера (русские буквы присутствуют)
Старый 18.12.2011, 18:28
MyRtZ

offline
Опыт: 6,530
Активность:
Я о вызове:
call DisableTrigger( gg_trg_vibor_____________________u )
MyRtZ добавил:
Vadik29:
MyRtZ, ой это название триггера (русские буквы присутствуют)
ТЫ ОТКЛЮЧАЕШЬ ТРИГГЕР, ЕСЛИ ТЫ НЕ ПОНеЛ
Старый 18.12.2011, 18:30
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Короче проще на триггерах будет.....
Юнит вошел в зону "007"
удалить юнита, тип "переключающий юнит" со всех рынков
1 событие 1 действие....
Старый 18.12.2011, 18:31
MyRtZ

offline
Опыт: 6,530
Активность:
скажи мне, ты клоун?
MyRtZ:
Я о вызове:
call DisableTrigger( gg_trg_vibor_____________________u )
MyRtZ добавил:
Vadik29:
MyRtZ, ой это название триггера (русские буквы присутствуют)
ТЫ ОТКЛЮЧАЕШЬ ТРИГГЕР, ЕСЛИ ТЫ НЕ ПОНеЛ
НЕВИДИМОЕ СООБЩЕНИЕ
Старый 18.12.2011, 18:33
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
MyRtZ, чувак я просто конвертировал в текст триггер я хз
Старый 18.12.2011, 18:36
MyRtZ

offline
Опыт: 6,530
Активность:
Vadik29:
MyRtZ, чувак я просто конвертировал в текст триггер я хз
Поставь галочку Включен / Enabled в свойствах триггера.
Старый 18.12.2011, 18:37
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
MyRtZ, непомогае
Старый 18.12.2011, 18:39
MyRtZ

offline
Опыт: 6,530
Активность:
Скинь текущий код триггера
Старый 18.12.2011, 18:40
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:

function Trig_vibor_____________________u_Actions takes nothing returns nothing
    call RemoveUnitFromAllStock( GetUnitTypeId(GetTriggerUnit()) )
endfunction

//===========================================================================
function InitTrig_vibor_____________________u takes nothing returns nothing
    set gg_trg_vibor_____________________u = CreateTrigger(  )
    call TriggerRegisterEnterRectSimple( gg_trg_vibor_____________________u, gg_rct________________007 )
    call TriggerAddAction( gg_trg_vibor_____________________u, function Trig_vibor_____________________u_Actions )
endfunction
Старый 18.12.2011, 18:40
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
FAQ, пункт 2.9
триггер может быть полностью рабочим, проверь, все ли нужные абилы ты выдал
Старый 18.12.2011, 19:01
MyRtZ

offline
Опыт: 6,530
Активность:
Делай на подобии такого:
function a_Actions takes nothing returns nothing
    local integer i
    if IsUnitType(GetEnteringUnit(),UNIT_TYPE_HERO) then
        set i = GetUnitTypeId(GetEnteringUnit())
        call SetPlayerTechMaxAllowed(Player(0),i,0)
        call SetPlayerTechMaxAllowed(Player(1),i,0)
        call SetPlayerTechMaxAllowed(Player(2),i,0)
        call SetPlayerTechMaxAllowed(Player(3),i,0)
        call SetPlayerTechMaxAllowed(Player(4),i,0)
        call SetPlayerTechMaxAllowed(Player(5),i,0)
        call SetPlayerTechMaxAllowed(Player(6),i,0)
        call SetPlayerTechMaxAllowed(Player(7),i,0)
        call SetPlayerTechMaxAllowed(Player(8),i,0)
        call SetPlayerTechMaxAllowed(Player(9),i,0)
        call SetPlayerTechMaxAllowed(Player(10),i,0)
        call SetPlayerTechMaxAllowed(Player(11),i,0)
    endif
endfunction

//===========================================================================
function InitTrig_a takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterEnterRectSimple(t,gg_rct_aten)
    call TriggerAddAction(t,function a_Actions)
    set t = null
endfunction
Работает
Старый 18.12.2011, 19:25
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
можн она гуи это оформить буду очень благодарен)
Старый 19.12.2011, 01:44
MyRtZ

offline
Опыт: 6,530
Активность:
Vadik29:
можн она гуи это оформить буду очень благодарен)
Да тут Jass имеет примитивный вид.
Ты же занимаешься триггерами, т.е кодом карты. Так учись наконец
В общем дело такое, выполняй все по пунктам в строгой последовательности:
  • Открыл редактор карт;
  • Открыл свою популярную карту;
  • Открыл редактор триггеров своей популярной карты;
  • Создал триггер под названием "UnitLimit";
  • Перевел триггер в текст (в Jass-код);
  • Удалил весь код триггера;
  • Внес в нее Jass-код выложенный ниже:
function a_Actions takes nothing returns boolean
    local integer i
    if IsUnitType(GetEnteringUnit(),UNIT_TYPE_HERO) then
        set i = GetUnitTypeId(GetEnteringUnit())
        call SetPlayerTechMaxAllowed(Player(0),i,0)
        call SetPlayerTechMaxAllowed(Player(1),i,0)
        call SetPlayerTechMaxAllowed(Player(2),i,0)
        call SetPlayerTechMaxAllowed(Player(3),i,0)
        call SetPlayerTechMaxAllowed(Player(4),i,0)
        call SetPlayerTechMaxAllowed(Player(5),i,0)
        call SetPlayerTechMaxAllowed(Player(6),i,0)
        call SetPlayerTechMaxAllowed(Player(7),i,0)
        call SetPlayerTechMaxAllowed(Player(8),i,0)
        call SetPlayerTechMaxAllowed(Player(9),i,0)
        call SetPlayerTechMaxAllowed(Player(10),i,0)
        call SetPlayerTechMaxAllowed(Player(11),i,0)
    endif
    return false
endfunction

function InitTrig_UnitLimit takes nothing returns nothing
    local region a = CreateRegion()
    set gg_trg_UnitLimit = CreateTrigger()
    call RegionAddRect(a,gg_rct________________007)
    call TriggerRegisterEnterRegion(gg_trg_UnitLimit,a,null)
    call TriggerAddCondition(gg_trg_UnitLimit,Condition(function a_Actions))
    set a = null
endfunction
Всё, больше ничего не требуется.
В коде мы получаем ссылку на триггер "gg_trg_UnitLimit" (UnitLimit на GUI), для операций над триггером(выкл./вкл. и тд).
Область сделана как ты писал gg_rct________________007 (на GUI это вроде Область 007).
Не переименовывай ее
В коде также создан фильтр, так что убираются с таверн только юниты типа "герой".
MyRtZ добавил:
Если пример непонятен и успех не найден после выполнения действий по пунктам, то это не мои проблемы.
Старый 19.12.2011, 11:25
LuNa_aDa
Trolling For Ever
offline
Опыт: 12,610
Активность:
Снова все стремятся к изврату с тучей излесс кода, зачем?
((код jass
Событие:
Unit - A unit Sells a unit
Условие:
Твое условие
Действие:
Твое действие
call SetPlayerTechMaxAllowed(GetOwningPlayer(GetSoldUnit()),'HERO',0)
))
Старый 19.12.2011, 11:32
MyRtZ

offline
Опыт: 6,530
Активность:
LuNa_aDa:
Снова все стремятся к изврату с тучей излесс кода, зачем?
Если useless, то тут только useless for player говоря твоим языком. Прекрасно ориентируюсь в Jass и автора подстрекаю научится им пользоватся
Снова все стремятся к изврату
Ну тут неистовый изврат
Старый 19.12.2011, 11:35
LuNa_aDa
Trolling For Ever
offline
Опыт: 12,610
Активность:
MyRtZ:
Ну тут неистовый изврат
В чем? В том, что я заменил твои 12 строк на 1?
Старый 19.12.2011, 11:47
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 15:48.