0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

А можно сами макросы то показать?
scope FireStomp initializer Init
Я вот например не вижу функции инит - убиваете читаемость.
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

Ну он писал, что это сырые сборки, и просил потестить их. Если что - с главной можно скачать более стабильную дев.
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

по идее жассхелпер работает после адика, думаешь он бы не заметил отсутствие функции?
adicParser -> jassHelper -> adicOptimizer.
Кинул багрепорт адику ;)
Коллбеки это обалденно. Зачет огромнейший адольфу.
Мне тоже понравилось)
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

Master_chan, Сейчас на фидбеке часто светиться Адольф, напишите там о реквесте, и желательно также покажите нерабочие макросы, может он и исправит.
Некрон71, Ну правильно все, ключевое слово optional используется оптимизатором, и указывает, что данная функция не будет вызываться через ExecuteFunc.
DotaMaster666 добавил:
Вот кстати интересный пост с фидбека
  • Added callback functions:
// This is not a substitute for  initializing libraries,
// because you can not specify which of these
// functions will be called earlier.
//
// Also it will be called after all libs and scopes init.
callback onInit () {
    printf ("Hello World!")
}

// Be called on every spells cast.
callback onUnitSpellCast () {
    printf ("foo")
}

// Be called on 'AHfs' spell cast.
callback onUnitSpellCast ('AHfs') {
    printf ("bar")
}
// (? arg name) - optional arg

onInit                  ()
onUnitAttacked          ()
onUnitDeath             ()
onUnitDecay             ()
onUnitIssuedOrder       (?int order_id)
onUnitIssuedPointOrder  (?int order_id)
onUnitIssuedTargetOrder (?int order_id)
onHeroLevel             ()
onHeroSkill             (?int skill_id)
onUnitSpellChannel      (?int abill_id)
onUnitSpellCast         (?int abill_id)
onUnitSpellEffect       (?int abill_id)
onUnitSpellFinish       (?int abill_id)
onUnitSpellEndcast      (?int abill_id)
onGameLoad              ()
onGameSave              ()
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

Скачать стабильную версию, использовать инсталятор, руками заменить исполняемый файл. Ругается на небольшую функцию в языке интерпритаторе, которая вводит в возможности редактора создание меню с эмуляцией radiobutton. Альтернатива - убрать связанное с этим, принципе это не критично.
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

Интересный пост на фидбеке от самого Адольфа

1.4.2.21

+ for and forp loops
+ for loop to pick units
+ reworked locals variables processing
+ /alf flag - automaticle flush locals (without "flush locals" instruction)
+ in functions static variable
+ fixed bug with locals, declared in "static if" block
+ and more in next stable release!
Sample of code:
unit fx () {
    real x, y, r
    unit pal = CreateUnit (Player(0), 'Hpal', 0., 0., 0.)
    for (unit u; UnitsInRange(x, y, r)) {
        KillUnit (u)
    }
    for (unit u; UnitsInRange(x, y, r)) {
        for (unit t; UnitsInRange(x, y, r)) {
            KillUnit (t)
        }
    }
    return pal
}

nothing fx () {
    static int i = 0
    for (int i = 0; i < 16; i++) {}
    forp (int i = 0; i < 16; i++) {}
    for (int i = 0; i < 16) {}
    forp (int i = 0; i < 16) {}
    for (int i = 0) {}
}
Also recommend to edit exehack.lua:
-- cJass#1
have_ah = grim.exists("adichelper\\adichelper.exe")
if have_ah then
	ah_menu = wehack.addmenu("cJass")
	ah_enable = TogMenuEntry:New(ah_menu,"Enable AdicParser",nil,true)
	ah_enableopt = TogMenuEntry:New(ah_menu,"Enable AdicOptimizer",nil,true)

	-- Flags

	wehack.addmenuseparator(ah_menu)

	ah_opt_remove = TogMenuEntry:New(ah_menu,"Remove unused code",nil,true)
	ah_alf_flag = TogMenuEntry:New(ah_menu,"Locals auto flush",nil,true)
	ah_igno_cjbj = TogMenuEntry:New(ah_menu,"Compile for default cj and bj",nil,true)

	-- Game version switch
	wehack.addmenuseparator(ah_menu)

	ah_version = MenuEntryGroup:New(ah_menu,"Game version switch")

	ah_ver23m = SwitchMenuEntry:New(ah_version,"Compile for game version 1.23")
	ah_ver24m = SwitchMenuEntry:New(ah_version,"Compile for game version 1.24+",true)

	-- Updater items

	wehack.addmenuseparator(ah_menu)

	if (grim.getregpair(confregpath,"First launch passed") ~= "yes") then
		ah_firstlaunch = true
	end

	if ah_firstlaunch then
		if (wehack.runprocess2("AdicHelper\\AHupdate.exe /ask") == 6) then
			ah_enableupdate = true
		end

		grim.setregstring(confregpath,"First launch passed","yes")
		if ah_enableupdate then
			grim.setregstring(confregpath,"Enable AutoUpdate","on")
		else
			grim.setregstring(confregpath,"Enable AutoUpdate","off")
		end
	end

	ah_enableupdate = TogMenuEntry:New(ah_menu,"Enable AutoUpdate",nil,false)

	if ah_enableupdate.checked then
		wehack.execprocess("adichelper\\AHupdate.exe /silent")
	end

	ah_update = MenuEntry:New(ah_menu,"Check for updates now", function() wehack.execprocess("adichelper\\AHupdate.exe") end)
	ah_updateopt = MenuEntry:New(ah_menu,"AutoUpdate settings", function() wehack.runprocess2("adichelper\\AHupdate.exe /options") end)

	-- About box

	wehack.addmenuseparator(ah_menu)
	ah_aboutm = MenuEntry:New(ah_menu,"About AdicHelper ...",function() wehack.execprocess("adichelper\\adichelper.exe") end)

end
-- /cJass#1

-- cJass#2
	if have_ah and ah_enable.checked then
		cmdline = "AdicHelper\\AdicHelper.exe"
		if ah_version.checked == 1 then
			cmdline = cmdline .. " /v23"
		else
			cmdline = cmdline .. " /v24"
		end
		if jh_debug.checked then
			cmdline = cmdline .. " /dbg"
		end
		if ah_alf_flag.checked then
			cmdline = cmdline .. " /alf"
		end
		if ah_igno_cjbj.checked then
			cmdline = cmdline .. " /ibj=\"0\" /icj=\"0\""
		end
		cmdline = cmdline .. " /mappars=\"" .. mappath.."\""
		adicresult = wehack.runprocess2(cmdline)
		if adicresult == 1 then
			mapvalid = false
			return
		end
	end
-- /cJass#2
1
6
13 лет назад
1

» Музыка и Звук / RocK

Дес от блека не отличаю
С этого надо было начинать) Сейчас найду картинку эту, ага, вот.
0
6
13 лет назад
0

» WarCraft 3 / Библиотека функций

bb:Вы обсуждаете бред: null это 0 для handle, который указывает, что объекта нет; для скалярного числового типа, где 0 - вполне легальное значение использовать null совершенно бессмысленно, более того это может ломать логику кода.
0
6
13 лет назад
0

» Музыка и Звук / RocK

А можно вопрос кто такие говнари я что то не доехал, это все кто слушает Кипелова?
Говнари
0
6
13 лет назад
0

» Музыка и Звук / RocK

Они вообщем-то изначально были подколкой в сторону блэкарей)
Ну так и есть по сути то, надо будет самому послушать как нибудь.
Sabaton слушаю с огромным удовольствием, группа хорошая.
0
6
13 лет назад
0

» Музыка и Звук / RocK

Как тогда туда попали AC\DC и прочие добрые старые группы?
0
6
13 лет назад
0

» Музыка и Звук / RocK

Корн как то странно затесался в иконы рока у Вас...
0
6
13 лет назад
0

» Музыка и Звук / Black Metal/Death Metal

Ничего так, техничненько.
0
6
13 лет назад
0

» WarCraft 3 / Библиотека функций

Функция не рабочая - видно же что будет всегда срабатывать условие выхода из второго цикла (b == 0). Я вообще не пойму, мои посты никто не видит? Я же тут описал, как это должно быть сделано.
0
6
13 лет назад
0

» Музыка и Звук / RocK

Я считаю dragonforce слишком переоцененной группой. При вобщем то неплохой технике, демонстрируемой на студийных работах (ходят слухи, что в живую они лажают) их музыка совершенно не интересна. Happy метал для гламурных металистов. Мне их приводили в пример, как не надо играть power и метал вообще.
0
6
13 лет назад
0

» WarCraft 3 / XGM Spell Contest 3 завершён!

помоему несправедливо 2 и 3 место=\ были куда шикарнее спеллы
Например?
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

cJass display syntax error because it process textmacros like #define instruction - you cannot use in textmacros or defines unclossed library or scope (and also closed, but unopened, in cJass you may use private define, so it must process scope and library before define and textmacro).
Try it:
//! textmacro itemstacking takes itemA, itemB, type
scope stack$type$ initializer I
// ...
Or it:
scope stacka initializer I
//! runtextmacro itemstacking("'desc'","'I007'")
endscope // remove endscope instruction in textmacro
How it look in cJass style:
#define itemstacking (itemA, itemB, id) = {
    scope stack##id initializer Init {
        private boolean f () {
            unit mu = GetManipulatingUnit()
            integer inve = 0 // GetInventoryHero(mu, itemB)
            item itm = null
            if inve != 6 {
                itm = null //GetItemHero(mu, itemB)
                SetItemCharges(itm, GetItemCharges(itm)+1)
            } else {
                UnitAddItemById(mu, itemB)
            }
            mu = null
            return false
        }
        
        private nothing Init () {
            // GT_AddItemAcquiredAction(function f, itemA)
        }
    }
}

itemstacking ('desc', 'I007', a)
itemstacking ('desc', 'I007', b)
It compiled as
function stacka___f takes nothing returns boolean
local unit mu=GetManipulatingUnit()
local integer inve=0
local item itm=null
if inve!=6 then
set itm=null
call SetItemCharges(itm,GetItemCharges(itm)+1)
else
call UnitAddItemById(mu,0x49303037)
endif
set mu=null
return false
endfunction
function stacka___Init takes nothing returns nothing
endfunction
function stackb___f takes nothing returns boolean
local unit mu=GetManipulatingUnit()
local integer inve=0
local item itm=null
if inve!=6 then
set itm=null
call SetItemCharges(itm,GetItemCharges(itm)+1)
else
call UnitAddItemById(mu,0x49303037)
endif
set mu=null
return false
endfunction
function stackb___Init takes nothing returns nothing
endfunction
0
6
13 лет назад
0

» WarCraft 3 / cJass - дополнение к языку JASS

As I know u can't change style of cJass syntax highlighting. Project HORUS (highlight cJass syntax in TESH) is unofficial addon to it (TESH autors miss their sources -_-), VanDamm (HORUS autor) can't find, where this style is changed.
0
6
13 лет назад
0

» Музыка и Звук / RocK

Про то, что он быстрый кстати брехня вроде как, по крайней мере в книге рекордов Гиннеса его имя или фамилия не упоминается.
0
6
13 лет назад
0

» Музыка и Звук / RocK

изначально ты доказывал, что он НЕ быстрый.
Я доказывал, что в SlipKnot нет быстрого барабанщика, собственно достаточно послушать их "музыку", что бы понять это.
DotaMaster666 добавил:
У вас аргументов не больше, чем у оппозиции)
Есть еще хороший аргумент о нетрадиционной сексуальной ориентации и принадлежности матери к самой древней профессии, надеюсь до него не дойдет.
0
6
13 лет назад
0

» Музыка и Звук / RocK

Но вот незадача: он делает 32 удара в секунду.
Пруф.
не знаешь как писать - не суди о картине
Вот яйцо, но не смейте о нем что то говорить, там круглое ли оно, сколько весит - пока сами не снесете с десяток таких.