respect_gg
offline
Опыт:
3,650Активность: |
jass new gen + SharpCraft
Всем доброго времени суток. Блуждая по буржуйским форумам обнаружил очень интересную программу, точнее некое дополнение к всем известному JNGP, а именно SharpCraft - добавляет движок вашей карты новыми native функциями (на хайве тем называется Custom Natives от TriggerHappy). Ну и в общем решил я совместить эту полезную наработку с нашим JNGP exp2, cjass и т.д. Вроде как все получилось, но все равно меня не совсем устраивает то, что я сделал, ибо я в этом не волоку (в добавлении различных модулей для JNGP). Вот я и подошел к сути вопроса - не мог бы кто то этим заняться? Там как я понял делов то на 5 минут для того, кто в этом разбирается, а народу будет интересно, а для кого то и вовсе полезным.
В общем скидываю все, что я пытался сделать и еще 3 карты примера (так же с хайва), все лежит в архиве.
Вот список всех native функций и некоторые примеры их исполоьзования - ((код jass
native GetMouseX takes nothing returns real
native GetMouseY takes nothing returns real native GetMouseTerrainX takes nothing returns real native GetMouseTerrainY takes nothing returns real native GetMouseUIX takes nothing returns real native GetMouseUIY takes nothing returns real native GetTriggerKey takes nothing returns integer native GetTriggerWheelDelta takes nothing returns integer native GetTriggerKeyString takes nothing returns string native IsMouseOverUI takes nothing returns boolean native IsKeyDown takes integer vkey returns boolean native TriggerRegisterAnyKeyEvent takes trigger whichTrigger, integer state returns nothing native TriggerRegisterAnyMouseEvent takes trigger whichTrigger, integer state returns nothing native TriggerRegisterKeyEvent takes trigger whichTrigger, integer vkey, integer state returns nothing native TriggerRegisterMouseEvent takes trigger whichTrigger, integer vkey, integer state returns nothing native TriggerRegisterMouseWheelEvent takes trigger whichTrigger returns nothing )) ((код jass
scope Mouse initializer onInit
globals private constant integer MOUSE_LEFT = 0 private constant integer MOUSE_RIGHT = 2 private constant integer EVENT_MOUSE_DOWN = 0 private constant integer EVENT_MOUSE_UP = 1 endglobals private function LeftDown takes nothing returns nothing local integer vkey = GetTriggerKey() if (vkey == MOUSE_LEFT) then call BJDebugMsg("Left mouse clicked") elseif (vkey == MOUSE_RIGHT) then call BJDebugMsg("Right mouse clicked") else call BJDebugMsg("Unhandled key " + I2S(vkey)) endif endfunction private function LeftUp takes nothing returns nothing local integer vkey = GetTriggerKey() if (vkey == MOUSE_LEFT) then call BJDebugMsg("Left mouse released") elseif (vkey == MOUSE_RIGHT) then call BJDebugMsg("Right mouse released") else call BJDebugMsg("Unhandled key " + I2S(vkey)) endif endfunction ===========================================================================
private function onInit takes nothing returns nothing local trigger t = CreateTrigger() call TriggerRegisterAnyMouseEvent(t, EVENT_MOUSE_DOWN) call TriggerAddAction(t, function LeftDown) set t = CreateTrigger() call TriggerRegisterMouseEvent(t, MOUSE_LEFT, EVENT_MOUSE_UP) call TriggerRegisterMouseEvent(t, MOUSE_RIGHT, EVENT_MOUSE_UP) call TriggerAddAction(t, function LeftUp) endfunction endscope
)) ((код jass
scope Keyboard initializer onInit
private function KeyDown takes nothing returns nothing call BJDebugMsg(GetTriggerKeyString() + " pressed") endfunction ===========================================================================
private function onInit takes nothing returns nothing local trigger t = CreateTrigger() call TriggerRegisterAnyKeyEvent(t, 0) call TriggerAddAction(t, function KeyDown) endfunction endscope
)) Вот ссылка на сам JNGP (никаких вирусов там нету)
Отредактировано respect_gg, 12.10.2014 в 18:23. |
12.10.2014, 16:44 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Tobi123
offline
Опыт:
7,826Активность: |
respect_gg:
Прямую ссылку на файл и отчет популярного антивируса в студию. Мой аваст заблочил. |
12.10.2014, 20:26 | #2
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
respect_gg
offline
Опыт:
3,650Активность: |
Любой JNGP антивирус блочит если ты не знал, прямую ссылку на что? Я сказал же, это обычный JNGP (здешний), но с некоторым дополнением. МОжешь скачать все отдельно, я дам ссылки, но устанавливать нужно же.
Вот тема на хайве www.hiveworkshop.com/forums/lab-715/custom-jass-natives-requests...
Я лишь вязл оттуда сам sharpcraft и добавил его в здешний jngp
Тему я создал, чтобы люди, которые разбираются в этом, смогли собрать из всего этого (возможно) новый JNGP, но с прикольными плюшками. |
12.10.2014, 20:47 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alexander12
offline
Опыт:
1,452Активность: |
Большой минус, что карта не открывается, у кого нет стороних программ. |
26.10.2014, 13:31 | #4
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Странный Парень
Kicked by Эльрат
offline
Опыт:
716Активность: |
Отличная штука, выйди она лет эдак на десять раньше. |
26.10.2014, 13:43 | #5
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Alexander12
offline
Опыт:
1,452Активность: |
Сделаю как нибудь на выходных, отлов координат мыши через микс (и установка координат), Чтобы работала карта у тех, у кого нету его. |
28.10.2014, 09:30 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nvc123
new status
offline
Опыт:
59,284Активность: |
а ничего что на сайте есть статья про создание нативок? |
08.01.2015, 09:10 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
в vjass пишешь native и он больше не ругается на эту функцию
а как ты её в варе реализуешь - это уже к тебе вопрос |
08.01.2015, 10:55 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|