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

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

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

offline
Опыт: 740
Активность:
Ссылаемся к функции
Как ссылатся к функции, которая находится в одном блоке триггера, из второго блока триггера. Например:
1 блок============================
function first takes ................. retrun ......
local ......
call .......
set .......
endfunction
.
.
.
2 блок=============================
function second takes ............. return ........
local ......
call first(..)
вот как раз тут и идет ссылка (как это реализовать?)
set....
endfunction
.
.
.
Старый 22.05.2011, 19:07
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
vfinsider, так и пиши =) Но не факт что будет работать. Лучше это все реализовывать через библиотеки на vJass
Старый 22.05.2011, 19:09
Nekit1234007

offline
Опыт: 11,916
Активность:
Используйте библиотеки vJass'a
library first
	function first ...
endlibrary

library second requires first
	function second ...
		call first(...)
		...
endlibrary
Старый 22.05.2011, 19:10
vfinsider

offline
Опыт: 740
Активность:
library first
function first ...
endlibrary
library second requires first
function second ...
call first(...)
...
endlibrary.
Пашет когда это в одном блоке написано. А я хочу все часто использумеые функции загнать все в один блок а походу ссылатся на них из других блоков ну что не заграможать весь код одними повторениями одних и тех же действий.
Старый 22.05.2011, 19:21
Nekit1234007

offline
Опыт: 11,916
Активность:
Вы проверили, прежде чем написать это?
Старый 22.05.2011, 19:35
Doc

offline
Опыт: 63,163
Активность:
library FUNCTIONS_I_ALWAYS_USE

	function distcord ...
	function anglecord ...
	function fuckme ...
endlibrary

scope ACTIONS_LOL

function NyanCat
call distcord
call anglecord
call fuckme
endfunction

endscope
Старый 22.05.2011, 21:27
vfinsider

offline
Опыт: 740
Активность:
Как вы думаете последние версии доты писалась на vjass? Имхо больше нету способов реализовать ссылку к функциям находящиеся в отдельном блоке?
vfinsider добавил:
Кстати сколько не пытался скачать не качает vJass. В чем дело может кто нить скинуть загрузить свой vJass, или дать ссылку где можно скачать?
Старый 23.05.2011, 00:20
Doc

offline
Опыт: 63,163
Активность:
что за бред, вжасс не добавляет новых фич, все это реализуемо на стандарте, тот код, что выше вызывается кодом, что ниже, вжасс просто перемещает код библиотеки выше остального. сжасс не переделанный компилятор сжасс, это вообще не компилятор, а препроцессор.
Старый 23.05.2011, 00:41
FKoFF
Venomancer 89lvl. Europe
offline
Опыт: 5,975
Активность:
бредотема какая то, что мешает так и написать? по факту можешь триггер отдельный сделать, пихнуть его в самый верх, назвать, напирмер, "Libs_Ur_Lib", и туда загнать все свои функции для удобного использования..
Старый 23.05.2011, 04:56
vfinsider

offline
Опыт: 740
Активность:
Ссылаемся к функции 2
1 блок============================
function first takes ................. retrun ......
local ......
call .......
set .......
endfunction
.
.
.
2 блок=============================
function second takes ............. return ........
local ......
call FIRST(..)
вот как раз тут и идет ссылка (как это реализовать?)
set....
endfunction
.
.
Это два разных блока!!! Т.е не находтся в одномо место. А при проверке карты компилятор пишет что функции "first" не сущетсвует хоть тот блок в котором находится функция "first" находится ВЫШЕ и ВКЛЮЧЕНА. Пробовал писать специально на чистой карте - такой способ не возможен. В чем может быть причина, или такое практическа не возможно?
[+] замечание от Hanabishi: Дубль темы. Нельзя чтоли попросить старую открыть?
Старый 24.05.2011, 19:50
Clamp
Lost in space
offline
Опыт: 71,258
Активность:
код обоих блоков сюда, полюбому у тебя регистр неверно стоит где нибудь.
Старый 24.05.2011, 20:03
vfinsider

offline
Опыт: 740
Активность:
Всмысле регистр?
p.s Пожалуйста приведи пример в карте или хоть тут, буду благодарен.
vfinsider добавил:
Ну вот например. Тоже не пашет.
В ОДНОМ БЛОКЕ==========================
function Trig_qwe1_Actions takes unit u returns nothing
call KillUnit( u)
endfunction
function InitTrig_qwe1 takes nothing returns nothing
endfunction
В ДРУГОМ БЛОКЕ==========================
function Trig_qwe2_Actions takes nothing returns nothing
call Trig_qwe1_Actions( GetTriggerUnit() )
endfunction
function InitTrig_qwe2 takes nothing returns nothing
set gg_trg_qwe2 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_qwe2, gg_rct_000 )
call TriggerAddAction( gg_trg_qwe2, function Trig_qwe2_Actions )
endfunction

Отредактировано vfinsider, 25.05.2011 в 17:11.
Старый 25.05.2011, 16:50
vfinsider

offline
Опыт: 740
Активность:
В ОДНОМ БЛОКЕ==========================
function Trig_qwe1_Actions takes unit u returns nothing
call KillUnit( u )
endfunction
function InitTrig_qwe1 takes nothing returns nothing
endfunction
В ДРУГОМ БЛОКЕ==========================
function Trig_qwe2_Actions takes nothing returns nothing
call Trig_qwe1_Actions( GetTriggerUnit() )
ПИШЕТ ЧТО НЕТУ ТАКОЙ ФУНКЦИИ "Trig_qwe1_Actions"
endfunction
function InitTrig_qwe2 takes nothing returns nothing
set gg_trg_qwe2 = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_qwe2, gg_rct_000 )
call TriggerAddAction( gg_trg_qwe2, function Trig_qwe2_Actions )
endfunction
да это не влияет он даже не дошла до этой функции
а пример как раз тот которые нужен чтоб показать в чем ошибка
Старый 25.05.2011, 17:09
Doc

offline
Опыт: 63,163
Активность:
vfinsider, ну помести верхний код в library.
Старый 25.05.2011, 17:17
vfinsider

offline
Опыт: 740
Активность:
без vjass можно?
Старый 25.05.2011, 17:24
Doc

offline
Опыт: 63,163
Активность:
помести в custom code.
Старый 25.05.2011, 17:27
vfinsider

offline
Опыт: 740
Активность:
Не совсем понятно напиши пример
Старый 25.05.2011, 17:35
Doc

offline
Опыт: 63,163
Активность:
сверху списка триггеров иконка карты, нажми на нее - открывшееся поле для кода - custom code.
Старый 25.05.2011, 17:40
vfinsider

offline
Опыт: 740
Активность:
Гениально как всегда просто. Вот какой мне ответ был нужен. Огромное спасибо.
Старый 25.05.2011, 17:50
Закрытая тема

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

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

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

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



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