Добавлен
ребята дайте ссылку на статью где все bj можно заменить?

Принятый ответ

я хочу в коде гуй заменить все бж на обычные нативки с помощью кастом скрипта
А опыта в программировании хватит?
но я не нашел polarprojectionbj
Плохо искали


код хоть чуть чуть быстрее идти будет не так ли?
Проще всего сделать так
IssuePointOrderLocBJ = IssuePointOrderLoc
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
19
4 года назад
2
Похожие вопросы:

ответ
Это какие-то извращения у вас там.
Bj можно раскрыть и увидеть, что там происходит присваивание нового юнита глобалке bj_lastCreatedUnit.
Нужно сразу присваивать локалке нового юнита и не использовать эти ваши bj_lastCreatedUnit:
local unit u
u = CreateUnitAtLoc (GetTriggerPlayer(), 'hfoo', location, bj_UNIT_FACING)
ответ
IMinBJ
IMaxBJ
RMinBJ
RMaxBJ
ответ
Sergey105, цвет все правильно, было проблема это SetTextTagVelocity так как там у bj было еше 3 локальные данные для косинуса и углы... поэтому лишь поставил SetTextTagVelocityBJ и сработал....
ответ
XGM Bot:
Похожие вопросы:

ответ
вопервых ты в 1 и ту же ячейку пытаешся записать 2 значения (location и integer)
во вторых ты создаёш область по кординатам а следующей строчкой находиш эти же кординаты с помощью функций
в 3 ты сохранял точку в хэш и сразу же удалял её
и в 4 ты не инициализировал хэш
function Trig_SlayerUlt_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A00V'
endfunction
function Ultaction takes nothing returns nothing
local timer st = GetExpiredTimer()
local integer sid = GetHandleId(st)
local unit su = LoadUnitHandle (udg_Hash, sid, 0)
if IsUnitType(GetEnumUnit(), UNIT_TYPE_STRUCTURE) == false and IsUnitEnemy( GetEnumUnit(), GetOwningPlayer(su)) == true then
call UnitDamageTargetBJ( su, GetEnumUnit(), 210.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endif
set su = null
endfunction
function UltimateRun takes nothing returns nothing
local timer st = GetExpiredTimer()
local integer sid = GetHandleId(st)
local unit su = LoadUnitHandle (udg_Hash, sid, 0)
local integer suid = GetHandleId(su)
local location suloc = LoadLocationHandle(udg_Hash, sid, 1)
local effect sueff = LoadEffectHandle (udg_Hash, sid, 2)
local real x = GetLocationX( suloc )
local real y = GetLocationY( suloc )
local rect surect = Rect( x - 600.00*0.5, y - 600.00*0.5, x + 600.00*0.5, y + 600.00*0.5 )
local location random = Location (GetRandomReal(x-600*.5,x+600*.5), GetRandomReal (y-600*.5, y+600*.5))
local integer sc = LoadInteger (udg_Hash, sid, 10)
call SetUnitPositionLoc( su, random )
call SetUnitAnimation( su, "attack" )
call AddSpecialEffectLocBJ( random, "Abilities\\Spells\\Human\\Thunderclap \\ThunderClapCaster.mdl" )
call DestroyEffectBJ ( GetLastCreatedEffectBJ() )
call AddSpecialEffectLocBJ( random, "Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl" )
call DestroyEffectBJ ( GetLastCreatedEffectBJ() )
call ForGroupBJ ( GetUnitsInRangeOfLocAll(250.00, suloc), function Ultaction )
set bj_wantDestroyGroup=true
call SaveInteger(udg_Hash,sid,10,sc + 1)
if sc >= 10 then
call SetUnitPositionLoc( su, suloc )
call DestroyEffectBJ( sueff )
call SetUnitPathing( su, true )
call SetUnitInvulnerable( su, false )
call PauseUnitBJ( false, su )
call SetUnitVertexColorBJ( su, 100, 100, 100, 0.00 )
call PauseTimer(st)
call DestroyTimer(st)
call FlushChildHashtable(udg_Hash, sid)
endif
set suloc = null
set random = null
set st = null
set su = null
set sueff = null
endfunction
function Trig_SlayerUlt_Actions takes nothing returns nothing
local timer st = CreateTimer()
local integer sid = GetHandleId(st)
local unit su = GetTriggerUnit()
local integer suid = GetHandleId(su)
local location suloc = GetUnitLoc(su)
local effect sueff
local real x=GetUnitX(su)
local real y=GetUnitY(su)
call AddSpecialEffectTargetUnitBJ ( "hand right", su, "Abilities\\Weapons \\PhoenixMissile\\Phoenix_Missile.mdl" )
set sueff = GetLastCreatedEffectBJ()
call SetUnitPathing( su, false )
call SetUnitInvulnerable( su, true )
call PauseUnitBJ( true, su )
call SetUnitVertexColorBJ( su, 100, 100, 100, 50.00 )
call SaveUnitHandle(udg_Hash, sid, 0, su)
call SaveAgentHandle(udg_Hash, sid, 1, suloc)
call SaveAgentHandle(udg_Hash, sid, 2, sueff)
call SaveAgentHandle(udg_Hash, suid, 0, st)
call SaveInteger (udg_Hash, sid, 10, 1)
call TimerStart( st, .3, true, function UltimateRun )
set suloc = null
set st = null
set su = null
set sueff = null
endfunction
===========================================================================
function InitTrig_SlayerUlt takes nothing returns nothing
set gg_trg_SlayerUlt = CreateTrigger ( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ ( gg_trg_SlayerUlt, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition ( gg_trg_SlayerUlt, Condition( function Trig_SlayerUlt_Conditions ) )
call TriggerAddAction ( gg_trg_SlayerUlt, function Trig_SlayerUlt_Actions )
endfunction
ответ
Steal nerves:
filterGetUnitsOfTypeIdAll - фильтр, вместо него должно быть написано либо null или Condition( function XXX) Короче зачем нужен фильтр? Фильтр при выборе всех юнитов сразу отсеивает не нужных, если по условию не подходит, то выкидывает.. Вам сразу достается готовая группа с нужными юнитами
А в качестве переменных используй GetFilterUnit, GetFilterPlayer. На гуи по-другому называют MatchingUnit
где XXX - название функции, эта функция возвращает boolean (то есть истину или ложь)
вбей в поиск названии функции, может найдешь ответ
например выделяем все здания UNIT_TYPE_STRUCTURE, а те, кто не является зданием отсеиваем
function XXX takes nothing returns boolean
    return IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE)
endfunction
насчет статьи не видел, это придет с пониманием. Главное начать. Сначала тупо конверт, и оптимизация. А дальше можешь сам
что у тебя там не работает скидывай сюда

ответ
range * Cos(a * bj_DEGTORAD)
должно получится так:
a = Atan2(endfly_y - GetUnitY(suriken), endfly_x - GetUnitX(suriken))
SetUnitX(suriken, GetUnitX(suriken) + 20.00 * Cos(a))
SetUnitY(suriken, GetUnitY(suriken) + 20.00 * Sin(a))

1
27
4 года назад
1
что ты хочешь заменить? что ты задумал?
0
29
4 года назад
Отредактирован nazarpunk
0
Самый лучший способ заменить BJ - не использовать BJ.
Подменять BJ я начал здесь, но там сыро как в подвале и до стабильного релиза Reforget так и останется.
0
27
4 года назад
Отредактирован MpW
0
скорее всего ты хочешь посмотреть bj-функции и их заменить так? вроде в архиве игры лежит bj файлик, там все bj-функции, глобалки и прочее. Есть еще библиотека функции в jngp, или посмотри в интернете
просто перепиши функцию с утечками и там где лишнее используется, и все. а те что и так норм используются можно оставить, не все bj-обертки плохи
0
7
4 года назад
Отредактирован nazarpunk
0
я хочу в коде гуй заменить все бж на обычные нативки с помощью кастом скрипта, посмотрел common.j там все есть я правильно меняю? но я не нашел polarprojectionbj

вообщем чтобы понятно было я тупо заменил это
call IssuePointOrderLocBJ( udg_MoveKeyPickedUnitMui[udg_IntegerMoveKeyMui[0]], "move", udg_PointPickedUnitMoveKeyMuiOffs1[udg_IntegerMoveKeyMui[0]] )
на это
call IssuePointOrderLoc( udg_MoveKeyPickedUnitMui[udg_IntegerMoveKeyMui[0]], "move", udg_PointPickedUnitMoveKeyMuiOffs1[udg_IntegerMoveKeyMui[0]] )
код хоть чуть чуть быстрее идти будет не так ли?
0
29
4 года назад
Отредактирован nazarpunk
0
я хочу в коде гуй заменить все бж на обычные нативки с помощью кастом скрипта
А опыта в программировании хватит?
но я не нашел polarprojectionbj
Плохо искали


код хоть чуть чуть быстрее идти будет не так ли?
Проще всего сделать так
IssuePointOrderLocBJ = IssuePointOrderLoc
Загруженные файлы
Принятый ответ
0
7
4 года назад
0
NazarPunk:
я хочу в коде гуй заменить все бж на обычные нативки с помощью кастом скрипта
А опыта в программировании хватит?
но я не нашел polarprojectionbj
Плохо искали


код хоть чуть чуть быстрее идти будет не так ли?
Проще всего сделать так
IssuePointOrderLocBJ = IssuePointOrderLoc
ну я видел polar projection bj но в x y не разбираюсь
а можете подсказать
если я хотя бы одну строчку бж заменяю IssuePointOrderLocBJ = IssuePointOrderLoc например вот так
то код чуть чуть быстрее будет?
0
26
4 года назад
0
не заметите разницы
0
7
4 года назад
0
ну вот я за год освоил полностью гуй еще один год с помощью этих кастом скриптов освою джасс и даст Бог еще за 1 год освою и луа))
0
26
4 года назад
Отредактирован Hate
0
насколько я могу судить, вам еще далеко до освоения гуи полностью. а жасс изучается не с кастом скриптом
и кстати, лучше не фокусироваться на плохох практиках а переходить к нормальным сразу
0
7
4 года назад
0
Hate:
не заметите разницы
на милисекунды хоть быстрее идти будет?))
0
26
4 года назад
0
Ельнур:
Hate:
не заметите разницы
на милисекунды хоть быстрее идти будет?))
будет, но какая разница если это не в каком нибудь блоке где тонна операций?
0
7
4 года назад
0
Hate:
Ельнур:
Hate:
не заметите разницы
на милисекунды хоть быстрее идти будет?))
будет, но какая разница если это не в каком нибудь блоке где тонна операций?
ну если разница будет то надо обьязательно заменить так можно хоть привыкнуть к кастом скриптам и потихоньку учиться джассу
0
26
4 года назад
0
очень сомнительный способ учиться джассу используя гуи
1
19
4 года назад
1
BJ - это скриптовый файл варика, хранится по пути Scripts/Blizzard.j. Расширение j говорит, что это Jass. Если допустить ошибку в BJ, то при попытке запустить карту через сражение, у тебя не появится лобби, тобишь ты не сможешь выбрать расы, слоты и т.д. Ты всё ещё хочешь узнать, как заменить BJ?
p.s просто импортируешь по пути Scripts/Blizzard.j
Чтобы оставить комментарий, пожалуйста, войдите на сайт.