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

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

Закрытая тема
 
Vitamin

offline
Опыт: 430
Активность:
Вопрос
Всем привет.
Помогите пожалуйста у меня вопрос.
Я создал карту(смотрите вложения)
И сделал там create Unit все бы хорошо было но вопрос вот в чем иногда бывает так что юниты уходят назад то есть я создал области дал им приказы они идут и все бы хорошо но иногда некоторые юниты уходят назад на базу в точку Create Unit где и создавались.Помогите разобраться в чем дело и вот еще вопрос.Некоторые юниты например оживляются с помощью заклинания Скелет как сделать так чтобы эти юниты тоже шли а не просто стояли.
Прикрепленные файлы
Тип файла: w3x War Of Throne.w3x (43.4 Кбайт, 1 просмотров )
Старый 31.05.2012, 14:20
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
Пикать всех юнитов в группу и периодически отправлять в заданную точку, это уже недавно обсуждалось..
Старый 31.05.2012, 14:22
Bornikkeny
Silenced by Bornikkeny
offline
Опыт: 24,410
Активность:
У вас русифицированные триггеры?
Старый 31.05.2012, 14:24
Vitamin

offline
Опыт: 430
Активность:
Я видел что-то подобное на форуме но не совсем понел как именно это сделать можно пример если не трудно я и сам пытался только все бестоку >_<.
Нет перевода у меня нет все по умолчанию
Старый 31.05.2012, 14:35
Bornikkeny
Silenced by Bornikkeny
offline
Опыт: 24,410
Активность:
Могу скинуть ссылку где можно скачать русифицированные триггеры, но это уже ссылка на постороний ресурс...
Старый 31.05.2012, 14:39
Vitamin

offline
Опыт: 430
Активность:
А зачем мне это что насчет то мой проблемы помогите пожалуйста замучился уже =(

Отредактировано Vitamin, 31.05.2012 в 15:00.
Старый 31.05.2012, 14:47
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
Vitamin, могу скинуть только не GUI вариант, но суть проста, помести только что созданных юнитов в некоторую группу, и раз в 1 секунду заставляй их идти в указанную точку, что ту непонятно - Папка отряд, Pikc Every unit....
Конкретно напиши что ты не понял!
Старый 31.05.2012, 14:50
Vitamin

offline
Опыт: 430
Активность:
В редакторе триггеров сделал код вроде по тому что ты написал и конвертировал его в текст посмотри так надо ?
Цитата:
function Trig_Go_Conditions takes nothing returns boolean
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(2) ) ) then
return false
endif
if ( not ( GetUnitCurrentOrder(GetTriggerUnit()) != String2OrderIdBJ("attack") ) ) then
return false
endif
return true
endfunction

function Trig_Go_Actions takes nothing returns nothing
call IssuePointOrderLocBJ( GetTriggerUnit(), "attack", GetRectCenter(gg_rct_Green_Base_0) )
endfunction

//===========================================================================
function InitTrig_Go takes nothing returns nothing
set gg_trg_Go = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Go, 5.00 )
call TriggerAddCondition( gg_trg_Go, Condition( function Trig_Go_Conditions ) )
call TriggerAddAction( gg_trg_Go, function Trig_Go_Actions )
endfunction
Старый 31.05.2012, 15:00
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
Vitamin, где ты выбираеш всех юнитов (ну тех которых тебе надо) в группу, и затем отправляеш весь отряд в точку....
Создай переменную типа group (отряд)....
((код jass
function GoGoCPU takes nothing returns nothing
call IssuePointOrder( GetEnumUnit( ), "attack", 700.05, 700.73 )
endfunction
function Trig_Mobs_AI_Actions takes nothing returns nothing
call ForGroup( udg_CreepsA_Group, function GoGoCPU )
if FirstOfGroup( udg_CreepsA_Group ) == null then
call DisableTrigger( gg_trg_Mobs_AI )
endif
endfunction
===========================================================================
function InitTrig_Mobs_AI takes nothing returns nothing
set gg_trg_Mobs_AI = CreateTrigger( )
call DisableTrigger( gg_trg_Mobs_AI )
call TriggerRegisterTimerEvent( gg_trg_Mobs_AI, 1.50, true )
call TriggerAddAction( gg_trg_Mobs_AI, function Trig_Mobs_AI_Actions )
endfunction
))
только когда ты создаёш мобов, ты должен их занести в группу функцией GroupAddUnit
Старый 31.05.2012, 15:17
Zahanc

offline
Опыт: 23,017
Активность:
Бред. Откуда взятся TriggerUnit, если в событии истечение времени? Надо так:
bladget добавил:
Vitamin,
quq_CCCP всё правильно говорит, я только привел пример на GUI.
Старый 31.05.2012, 15:19
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
bladget,, Локешены не удаляются,...
[+] 3 пункта от DragonSpirit: 1.1 (ненормативная лексика) зачёркнутый мат всё равно является таковым

Отредактировано DragonSpirit, 31.05.2012 в 15:47.
Старый 31.05.2012, 15:19
Vitamin

offline
Опыт: 430
Активность:
Но есть проблема дело в том что мне это нужно только для тех юнитов которые идут на свою базу то есть назад а остальные юниты у меня идут по строгому пути по областям если так делать то они сбьются также с пути.....И будут идти укорочено а не по областям
Старый 31.05.2012, 15:22
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
С области на область отправляй... чё тут сложного, сколько областей столько и групп юнитов, с одной удалили занесли в другую как они перешли в нужную область...
Старый 31.05.2012, 15:24
Zahanc

offline
Опыт: 23,017
Активность:
Пф, если человек не может даже толком триггер поставить, то о чём вообще говорить? И так сойдет. Был бы вопрос по jass, я бы грамотнее пример привел. Не будьте буквоедами.
Старый 31.05.2012, 15:25
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
bladget, у него будет еще 1 вопрос, почему так начинает лагать, не с того не с сего....
Старый 31.05.2012, 15:32
Vitamin

offline
Опыт: 430
Активность:
народ не злитесь плиз вроде норм сделал ?
Цитата:
function Trig_Go_Func001002 takes nothing returns nothing
call IssuePointOrderLocBJ( GetEnumUnit(), "attack", GetRectCenter(gg_rct_Go_1) )
endfunction

function Trig_Go_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsInRectAll(gg_rct_Green_Blue_base_2), function Trig_Go_Func001002 )
endfunction

//===========================================================================
function InitTrig_Go takes nothing returns nothing
set gg_trg_Go = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Go, 1.50 )
call TriggerAddAction( gg_trg_Go, function Trig_Go_Actions )
endfunction

Вопроса насчет лагов не будет потом что если маленький период таймера ставить то начинаются лаги...
Старый 31.05.2012, 15:33
Zahanc

offline
Опыт: 23,017
Активность:
Вы берете как группу юнитов в области. Это неверно, т. к. юниты могут выйти из неё и где-нибудь потерятся, т. е. стоять тупить или возвращатся.
Сделайте как говорил quq_CCCP - при создании юнитов заносить их в группу и уже с этой группой производить действия.
Старый 31.05.2012, 15:39
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,288
Активность:
Vitamin, перед ForGroupBG выше строчкой напиши set bj_wantDestroyGroup = true
Да и некогда не используй GetRectCenter, GetUnitLoc, GetSpellTargetLoc и тд. таким образом:
((код jass
call IssuePointOrderLocBJ( GetEnumUnit(), "attack", GetRectCenter(gg_rct_Go_1) )
))
юзать всегда нужно только так:
((код jass
set udg_TempPoint = GetRectCenter(gg_rct_Go_1)
call IssuePointOrderLocBJ( GetEnumUnit(), "attack", udg_TempPoint )
call RemoveLocation(udg_TempPoint)
))
вот так правильно, потому что точки нужно удалять....
Старый 31.05.2012, 15:40
Vitamin

offline
Опыт: 430
Активность:
Я не могу понять сюда надо занести то о чем вы говорите?
Старый 31.05.2012, 15:43
Zahanc

offline
Опыт: 23,017
Активность:
Это нужно заносить в код триггера, который приказывает юнитам двигаться.
Старый 31.05.2012, 15:47
Закрытая тема

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

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

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

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



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