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

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

Ответ
 
ManWhoKnows
just another wc3 modmaker
offline
Опыт: 915
Активность:
Пробовал переделать для того чтоб добавить возможность подбирать предметы. Но не выходит блин, никак

Поменял события с канала на ордер, думал это поможет, но всё так же, приказ взять предмет не выходит.
» раскрыть

function IssueOrder takes unit Who,widget Target,real X,real Y returns nothing
if Target == null then
IssuePointOrder(Who,"move",X,Y)
DisplayTextToPlayer(Player(0),0,0,"move")
else
IssueTargetOrder(Who,"attack",Target)
DisplayTextToPlayer(Player(0),0,0,"attack")
endif
endfunction

function IssueOrderItem takes unit Who,widget Target,real X,real Y returns nothing
if Target == null then
IssuePointOrder(Who,"move",X,Y)
DisplayTextToPlayer(Player(0),0,0,"move")
else
IssueTargetOrder( Who, "getitem", Target )
DisplayTextToPlayer(Player(0),0,0,"getitem")
endif
endfunction

function Trig_SmartOrders_Actions takes nothing returns nothing
if GetIssuedOrderIdBJ() != String2OrderIdBJ("smart") {return}
if GetOrderTargetUnit() != null then
IssueOrder(GetTriggerUnit(),GetOrderTargetUnit(),GetOrderPointX(),GetOrderPointY ())
else
IssueOrderItem(GetTriggerUnit(),GetOrderTargetItem(),GetOrderPointX(),GetOrderPo intY())
endif

endfunction

//===========================================================================
function InitTrig_CustomSmartOrders takes nothing returns nothing
call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)

set gg_trg_CustomSmartOrders = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_CustomSmartOrders, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerRegisterAnyUnitEventBJ( gg_trg_CustomSmartOrders, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerAddAction( gg_trg_CustomSmartOrders, function Trig_SmartOrders_Actions )
endfunction
Старый 20.04.2010, 05:58
DioD

offline
Опыт: 45,134
Активность:
нямкайте, вроде всё как и должно быть.
Прикрепленные файлы
Тип файла: w3x FCC.w3x (37.3 Кбайт, 55 просмотров )
Старый 22.04.2010, 15:14
Windrunner
Верь мне!
offline
Опыт: 4,565
Активность:
Спеллы не кастятся почему-то
Старый 22.04.2010, 16:09
ManWhoKnows
just another wc3 modmaker
offline
Опыт: 915
Активность:
Баги:
  1. криво используются предметы (например свиток регенерации после использования отправляет юнита в точку его(юнита) появления),
  2. криво происходит атака - юнит неправильно выбирает цели и расстояния до них

я так понимаю код работает только на одного юнита (?).
Старый 23.04.2010, 02:38
DioD

offline
Опыт: 45,134
Активность:
код работает на негораниченное число юнитов, что касается предметов и ошибок, этот код никто никогда не тестил, так что норм.
Старый 23.04.2010, 03:13
DioD

offline
Опыт: 45,134
Активность:
Полностью исправленная версия.
FCC 12 v 2
DioD добавил:
library FCC initializer INIT
//FullCommandCart

globals

    unit WHO
    destructable DES
    item ITM
    unit UNT
    real X
    real Y
    timer TT = CreateTimer()
    trigger MZ = CreateTrigger()

endglobals

function order takes nothing returns nothing
    if DES != null then
        call IssueTargetOrder(WHO,"smart",DES)
    elseif ITM != null then
        call IssueTargetOrder(WHO,"smart",ITM)
    elseif UNT != null then
        call IssueTargetOrder(WHO,"smart",UNT)
    else
        call IssuePointOrder(WHO,"move",X,Y)
    endif
    call UnitAddAbility(WHO,'A000')
    call EnableTrigger(MZ)
endfunction

function FCC_MAIN takes nothing returns nothing
    if GetIssuedOrderId() != OrderId("smart") then
        return
    endif
    set WHO = GetTriggerUnit()
    set DES = GetOrderTargetDestructable()
    set ITM = GetOrderTargetItem()
    set UNT = GetOrderTargetUnit()
    set X = GetOrderPointX()
    set Y = GetOrderPointY()
    call DisableTrigger(MZ)
    call UnitRemoveAbility(WHO,'A000')
    call TimerStart(TT,0.0,false,function order)
endfunction

function INIT takes nothing returns nothing

    //This calls will block standart command cart buttorns for player 0
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_SHARED_CONTROL, false)

    //this calls will disable attack notifications

    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_HELP_REQUEST, true)
    call SetPlayerAlliance(Player(0), Player(0), ALLIANCE_HELP_RESPONSE, true)
    
    //Remove "share control" message
    
    call ClearTextMessages()
    
//register event for channel hit
    call TriggerRegisterAnyUnitEventBJ( MZ, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
    call TriggerRegisterAnyUnitEventBJ( MZ, EVENT_PLAYER_UNIT_ISSUED_ORDER )
    call TriggerRegisterAnyUnitEventBJ( MZ, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
    call TriggerAddAction( MZ, function FCC_MAIN )
endfunction
endlibrary
Прикрепленные файлы
Тип файла: w3x FCC 12 v 2.w3x (37.4 Кбайт, 88 просмотров )
Старый 25.04.2010, 13:51
ManWhoKnows
just another wc3 modmaker
offline
Опыт: 915
Активность:
Атака всё равно косячная (карту не качал, просто вставил две новые строки в скрипт). Сам не пойму отчего вообще такое.
И ещё, использование единых глобалок допускает глюки в мультиплеере (понимаю что с таймером по другому не сделаешь, можно сделать из глобалок массивы и разделить по игрокам, думаю даже если у одного игрока будет несколько фкк юнитов, то врядтли он успеет отдать каждому разные приказы за ->0.0 sec).
Старый 25.04.2010, 17:07
Ksan

offline
Опыт: 13,248
Активность:
DioD, ты можешь на словах обьяснить на чем основывается твоя система? Как ты приказы отдаешь - куда иконки дел?
Старый 02.05.2010, 12:54
Doc

offline
Опыт: 63,163
Активность:
Ksan, просто убирает контроля от красного игрока самого себя. Приказы отлавливаться продолжают при этом.
Старый 02.05.2010, 13:05
Ksan

offline
Опыт: 13,248
Активность:
DoctorGester, то бишь приказы для нейтрального отлавливаются? оО
Старый 02.05.2010, 13:24
Sacred_V

offline
Опыт: 540
Активность:
Возникли ложности с наработкой просьба разбирающихся помочь ниже история проблемы и мой вопрос.
Ребята решил использовать данную наработку скачал её, запустил всё круто, но начал переносить к себе и ничего не вышло. Залез покопаться в оригинале и выяснилось, что при малейшем изменении карты( к примеру где нибудь в углу карты сменить текстурки всего лишь 1 квадратик и даже вернув всё на свои места командой отмены) триггер перестаёт работать. Выключается, а если запустить с игнорированием ошибки, то при загрузке выкидывает в главное меню. Саму ошибку в триггере он описывает примерно так "Не удолось инициализировать функцию integer FCC". Как же запустить триггер на своей карте чтобы он работал?
Сам не имею представление в чём дело но смею предположить:
  1. у меня не хватает какого либо софта.
  2. У меня версия вара 1.24.d (если не ошибаюсь, та что сейчас последняя или предпоследняя)
Старый 31.05.2010, 08:33
Clamp
Lost in space
offline
Опыт: 71,158
Активность:
Sacred_V, скачать JNGP
Старый 31.05.2010, 08:41
Sacred_V

offline
Опыт: 540
Активность:
Clamp, Спс обязательно проверю когда с работы вернусь.
Старый 31.05.2010, 10:39
Sacred_V

offline
Опыт: 540
Активность:
Может кто нибудь помочь с вот такой проблемой:
Миниатюры
Кликните на картинку для увеличения
Название:  Ошибка.jpg
Просмотров: 101
Размер:  55.8 Кбайт  
Старый 06.06.2010, 02:19
DioD

offline
Опыт: 45,134
Активность:
какой же ты бот то...
тебе сказали что надо сделать.
Старый 06.06.2010, 16:55
Sacred_V

offline
Опыт: 540
Активность:
Не помогает. Ты сам проверь а потом возмущайся.
Старый 06.06.2010, 18:49
RunixMing47
А жаль...
offline
Опыт: 1,919
Активность:
Скачал - ничего не понял
RunixMing47 добавил:
Sacred_V, JGNP качаеш и просто на все становится пох, все начинает работать и это окно ерора просто ничего не делает
Старый 11.06.2010, 17:37
Sacred_V

offline
Опыт: 540
Активность:
Да проблема в том что качал я JGNP и экспериментальную и норм версию и джасс и утилиты и всё в пере мешку. Но видимо нужно голову приложить..
Как только сессию закрою так и разберусь)
Старый 11.06.2010, 20:30
Ответ

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

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

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

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



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