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

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

Ответ
 
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
Tobi123

offline
Опыт: 7,826
Активность:
respect_gg:
Вот ссылка на сам JNGP (никаких вирусов там нету)
Прямую ссылку на файл и отчет популярного антивируса в студию. Мой аваст заблочил.
Старый 12.10.2014, 20:26
respect_gg

offline
Опыт: 3,650
Активность:
Любой JNGP антивирус блочит если ты не знал, прямую ссылку на что? Я сказал же, это обычный JNGP (здешний), но с некоторым дополнением. МОжешь скачать все отдельно, я дам ссылки, но устанавливать нужно же.
Я лишь вязл оттуда сам sharpcraft и добавил его в здешний jngp
Тему я создал, чтобы люди, которые разбираются в этом, смогли собрать из всего этого (возможно) новый JNGP, но с прикольными плюшками.
Старый 12.10.2014, 20:47
Alexander12

offline
Опыт: 1,452
Активность:
Большой минус, что карта не открывается, у кого нет стороних программ.
Старый 26.10.2014, 13:31
Странный Парень
Kicked by Эльрат
offline
Опыт: 716
Активность:
Отличная штука, выйди она лет эдак на десять раньше.
Старый 26.10.2014, 13:43
Alexander12

offline
Опыт: 1,452
Активность:
Сделаю как нибудь на выходных, отлов координат мыши через микс (и установка координат), Чтобы работала карта у тех, у кого нету его.
Старый 28.10.2014, 09:30
nvc123
new status
offline
Опыт: 59,284
Активность:
а ничего что на сайте есть статья про создание нативок?
Старый 08.01.2015, 09:10
ScorpioT1000
Работаем
offline
Опыт: отключен
в vjass пишешь native и он больше не ругается на эту функцию
а как ты её в варе реализуешь - это уже к тебе вопрос
Старый 08.01.2015, 10:55
Ответ

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

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

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

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



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