Сейчас 12:19:18 Суббота, 27 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Как избежать фаталов при SetUnitXY
[Вопрос] Как избежать фаталов при SetUnitXY
NaturekidДата: Суббота, 29 Декабря 2012, 20:15:46 | Сообщение # 26
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Extremator, ну эт ясно.
Цитата (Naturekid)
при юзании location всё норм при выходе за пределы карты

но
Цитата (Naturekid)
чем автостоп при смене локации и + утечки и лишние переменные.

всё бы ничего, но автостоп в некоторых случая совсем неуместен. Например тот же форс стаф.
По окончанию движени надо кликать снова, а это не радует, не щёлкнешь вовремя убегая - побежит назад, отработав часть расстояния от заклинания в обратную сторону.


 

Ty3uKДата: Суббота, 29 Декабря 2012, 22:24:41 | Сообщение # 27
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Вообще, возможно я конечно не прав, но проще написать функцию SetUnitPositionEx, в которой и делать проверку на координаты. Таким образом не нужен JassHelper. Ну а если уже делать при помощи JassHelper'а, то можно заюзать hook на свою функцию, тем самым упростив жизнь гуишнику :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Воскресенье, 30 Декабря 2012, 09:14:03 | Сообщение # 28
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (Ty3uK)
Ну а если уже делать при помощи JassHelper'а, то можно заюзать hook на свою функцию, тем самым упростив жизнь гуишнику
И? Хукнутая функция все равно будет вызвана после хукающей.


 

Ty3uKДата: Воскресенье, 30 Декабря 2012, 10:13:23 | Сообщение # 29
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Что-то помнится мне, мануал говорит, что хукнутая функция заменяется на сам крючок. Разве нет?

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Воскресенье, 30 Декабря 2012, 10:27:33 | Сообщение # 30
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Как видишь, нет.
Код
globals
    //JASSHelper struct globals:
    trigger array st___prototype2
    unit f__arg_unit1
    real f__arg_real1
    real f__arg_real2
endglobals

function sc___prototype2_execute takes integer i,unit a1,real a2,real a3 returns nothing
    set f__arg_unit1=a1
    set f__arg_real1=a2
    set f__arg_real2=a3

    call TriggerExecute(st___prototype2[i])
endfunction

function sc___prototype2_evaluate takes integer i,unit a1,real a2,real a3 returns nothing
    set f__arg_unit1=a1
    set f__arg_real1=a2
    set f__arg_real2=a3

    call TriggerEvaluate(st___prototype2[i])
endfunction

function h__SetUnitPosition takes unit a0, real a1, real a2 returns nothing
    //hook: UserSetUnitPosition
    call sc___prototype2_evaluate(1,a0,a1,a2)
    call SetUnitPosition(a0,a1,a2)
endfunction

//processed hook: hook SetUnitPosition UserSetUnitPosition
function UserSetUnitPosition takes unit u,real x,real y returns nothing
endfunction

function test takes nothing returns nothing
    call h__SetUnitPosition(null, .0, .0)
endfunction

//All initializer functions called in proper order:
function sa___prototype2_UserSetUnitPosition takes nothing returns boolean
    call UserSetUnitPosition(f__arg_unit1,f__arg_real1,f__arg_real2)
    return true
endfunction

function jasshelper__init1380 takes nothing returns nothing
    set st___prototype2[1]=CreateTrigger()
    call TriggerAddAction(st___prototype2[1],function sa___prototype2_UserSetUnitPosition)
    call TriggerAddCondition(st___prototype2[1],Condition(function sa___prototype2_UserSetUnitPosition))
endfunction


 

Ty3uKДата: Воскресенье, 30 Декабря 2012, 11:35:50 | Сообщение # 31
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Мда. Все больше не понимаю Векса и люблю Адика.

Добавлено (30 Декабря 2012, 11:35:50)
---------------------------------------------
Хотя что это я. В теории все правильно, ведь хук - отлов запуска функции. Но все равно как-то не очень.
Да и столько говнокода получается, что дефайны религиознее.


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Как избежать фаталов при SetUnitXY
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz