вин7 + хром 109.0.5414.120 - работает, скачивается
теперь вместо ярко-зеленых прямоугольников стоят бледно розовые
по хексу (в том месте где прописывается цветопогода) - в прошлой первой версии было 11 D9 33 FF, сейчас стало FF 33 D9 11
в остальных (нецветопогодных) местах файлы идентичные
goodlyhero: Она отрезается условием, но полный перебор с проверкой этой штуки все равно происходит
добавил группу в расчёт по X, количество коллизий сократилось ещё на треть, фпс остался примерно таким же,
макс количество коробок в -box3 режиме выросло на 10%
конечный код:
Открыть
function UnitIndex takes unit u returns integer
local integer i=1
loop
exitwhen i>PLAYER_MAXINUM+Stage_BoxsCount
if u==OrangeMushroom[i] then
set u=null
return i
endif
set i=i+1
endloop
set u=null
return 0
endfunction
function MushroomMoving_Collision takes integer i,real x,real y returns integer
local integer j=1
local real otherx
local real othery
local group G = CreateGroup()
local unit u=null
call GroupEnumUnitsInRange(G, x,y, 128, null)
loop
set u = FirstOfGroup(G)
exitwhen u==null
if u!=OrangeMushroom[i] then
set j=UnitIndex(u)
if (GetPlayerSlotState(GetOwningPlayer(OrangeMushroom[j]))==PLAYER_SLOT_STATE_PLAYING or j>PLAYER_MAXINUM) and WhetherCollision[j]==0 and LevelClearState[j]==false then
if MB_Frame_On==1 then
set MB_CollisionX = MB_CollisionX+1
endif
set otherx=GetUnitX(OrangeMushroom[j])
set othery=GetUnitY(OrangeMushroom[j])
if ContainsCoords(otherx-64,othery-64,otherx+64,othery+64,x,y)==true then
if GetUnitTypeId(OrangeMushroom[i])!='orai' and GetUnitTypeId(OrangeMushroom[j])!='orai' then
if LeftArrow[Frame_MainPlayer]==true and Acceleration[Frame_MainPlayer]<=0 then
set WhetherCollision[j]=-1
elseif RightArrow[Frame_MainPlayer]==true and Acceleration[Frame_MainPlayer]>=0 then
set WhetherCollision[j]=1
else
set WhetherCollision[j]=0
endif
endif
set u=null
call DestroyGroup(G)
set G=null
return j
endif
endif
endif
call GroupRemoveUnit(G, u)
endloop
call DestroyGroup(G)
set G=null
return 0
endfunction
function MushroomMoving_CollisionCheck takes integer i,real x,real y returns boolean
local integer j=1
local real otherx
local real othery
local group G = CreateGroup()
local unit u=null
call GroupEnumUnitsInRange(G, x,y, 128, null)
loop
set u = FirstOfGroup(G)
exitwhen u==null
if u!=OrangeMushroom[i] then
set j=UnitIndex(u)
if (GetPlayerSlotState(GetOwningPlayer(OrangeMushroom[j]))==PLAYER_SLOT_STATE_PLAYING or j>PLAYER_MAXINUM) and LevelClearState[j]==false then
if MB_Frame_On==1 then
set MB_CollisionY = MB_CollisionY+1
endif
set otherx=GetUnitX(OrangeMushroom[j])
set othery=GetUnitY(OrangeMushroom[j])
if ContainsCoords(otherx-64,othery-64,otherx+64,othery+64,x,y)==true then
if PropellyCondition==true then
if GetUnitTypeId(OrangeMushroom[j])!='orai' then
set u=null
call DestroyGroup(G)
set G=null
set Frame_MainPlayerY=j
return false
endif
else
set u=null
call DestroyGroup(G)
set G=null
set Frame_MainPlayerY=j
return false
endif
endif
endif
endif
call GroupRemoveUnit(G, u)
endloop
call DestroyGroup(G)
set G=null
return true
endfunction
а может есть какая-нибудь абилка невидимости без изменения прозрачности юнита?
чтобы убрать конкретного юнита с миникарты, но оставить его вид таким же
и еще так и не было инфы про "спец значок" и каким кодом это можно сделать
nazarpunk: который только в 111 хроме появился, так что обнови бразер
понели вас, перезвоним, оставайтися на линии
разговор на эту тему между нами уже был в теме про томл, так что ответы знаю заранее
а парсинг текста теперь хорошо работает, видит названия переменных любые и даже без gg_rct_
накачу виртуалку за часик
Alan_Gu: Так блпЛаб и отображает твоею .пнг чисто
только нужно нажать на галочку "отобразить прозрачность".
так это понятно, это отображено в шапке на пиках 4 и 5
это же альфа канал - он и определяет прозрачность
Alan_Gu: Тот же пейнт отобразит ее просто белым цветом
пеинт вообще не умеет работать с прозрачностью
и при пересохранении в png вообще удаляет альфа кана и заливает белым
а не "просто отобразит белым"
Alan_Gu: А всякие артефакты как у тебя на первом скрине возникают, когда программа пытается заполнить прозрачную область.
Но это уже зависит от формата изображения и софта, где просматривается изображение - как я думаю.
это не артефакты лол
это не рандом
просто BLP LAB чуть ли не единственная прога которая показывает цвет этого альфа канала, остальные проги тупо прозрачное показывают
у каждого пикселя есть или нету альфа канал, а также есть цвет этого альфа канала
у меня это зависит от конкретных программ
пик 1 и пик 2 я могу легко сделать - заранее пересохраняя в определенных программах
и знаю какой цвет получится, просто потому что у них по дефолту альфа каналу придается свой цвет (черный или белый)
ну это как футболка разного цвета не перестаёт быть футболкой
нужно чтобы True Color был
вот я и спрашиваю какой софт умеет менять цвет альфа канала, при этом не теряя саму прозрачность или режим цветности картинки
Alan_Gu: максимум, чего я добился это вот:
В фотошопе сделал. Залил фон синим цветом и добавил альфа-маску там, где раньше была прозрачность и экспортировал обратно.
а можно более подробный гайд всего этого дела? шо жать там и в какой очередности?
с фотошопом вообще странное дело - почему он не показывает слой прозрачности, который есть там изначально при открытии картинки
а позволяет только создать свой новый альфа канал без отображения уже имеющегося альфа канала
это настораживает
после ресейва исходника в фотошопе выглядит забавно
МрачныйВорон: xgm.guru/p/wc3/187447/comments/view/345848 call GroupEnumUnitsInRange(g, x, y, 400., f) ловит всех юнитов, находящихся в радиусе от точке, но москитов не ловит call GroupEnumUnitsInRangeCounted(g, x, y, 400., f, 4) аналогична GroupEnumUnitsInRange, но берет определенное кол-во юнитов. Москитов не ловит call GroupEnumUnitsInRangeOfLoc(g, loc,400., f) аналогична GroupEnumUnitsInRange. Москитов не ловит. call GroupEnumUnitsInRangeOfLocCounted(g, loc,400., f, 4) аналогична GroupEnumUnitsInRangeCounted. Москитов не ловит. call GroupEnumUnitsInRect(g,bj_mapInitialPlayableArea ,f1) ловит всех юнитов в области. Москитов не ловит. call GroupEnumUnitsInRectCounted(g,bj_mapInitialPlayableArea ,f1, 4) ловит определенное кол-во юнитов в области. Москитов не ловит. call GroupEnumUnitsSelected(g,GetTriggerPlayer(),f) ловит юнитов. выделенным игроком. Москитов. очевидно. не ловит.
call GroupEnumUnitsOfPlayer(g,GetTriggerPlayer(),f1) ловит всех-всех юнитов игрока на карте. Москитов ловит нормально.
call GroupEnumUnitsOfType(g,"Peasant", f) ловит всех-всех юнитов с этим именем. Нужно писать английский аналог название (например работник = Peasant). Ловит москитов.
call GroupEnumUnitsOfTypeCounted(g,"Peasant", f, 4) ловит опреденное кол-во юнитов группу. Ловит Москитов.
а разрабы не додумались на кнопку "Save As" брать изначальный путь картинки?
то есть им норм каждый раз весь путь с нуля писать в пустое поле, да? и папку и новое имя да? это удобно должно быть?
и если проект закрыт и не обновляется - то почему исходники не выложены?
а если таких ректов 200 ?
давай я тебе скину карту и список координат, а ты мне вернёшь карту с уже созданными ректами в WE по этому списку
идёт? тебе же это раз плюнуть вроде
а потом ещё пару раз, для карт с другим номером vерсии карты
имелось ввиду, что в j файле погода идёт отдельными строками, а не в координатных =Rect() строках, которые юзер будет вставлять на сайт:
а цвет вообще хранится только в w3r файле и нигде больше, т.е. восстановить цвет после удаления w3r никак не получится:
set gg_rct_Rect4 = Rect( 896.0, 1280.0, 1440.0, 1920.0 )
set we = AddWeatherEffect( gg_rct_Rect4, 'RAhr' )
лучше будет, если ты его таким и оставишь (с правым окном)
потому как я себе тоже делал подобный парсер чисел, чтобы сравнивать изменения координат при смене версий карты
после обфускации кода по названиям переменных уже не сравнить, а остаётся только по конкретным 4-х числовым координатам сравнивать
(т.е. нужда в переводе j-текста в обычные числа тоже есть)
ещё можно второй вид представления добавить вида "Rect1\t1111,0\t2222,0\t3333,0\t4444,0" чтобы список был максимально числовым с табуляцией без лишнего текста
тогда получится два инструмента в одном - и w3r конвертор, и обработчик координат из j файла
потестил, парсер прекрасный, обрабатывает даже без пробелов и числа без нулей после точки вида:
set gg_rct_Rect001 = Rect(3071.,1536.,3200.,1664.)
если кнопку "скачать" передвинуть направо под список minX minY, то будет интуитивно понятнее, что качаешь что-то обработанное
а если она слева - то как будто качаешь что-то своё, которое сам вставил необработанное
nazarpunk: я так понимаю, что ты хочешь из взломанной карты вернуть ректы в WE?
да, исходника карты у меня нету
а нужно это для визуального отображения, потому как w3r влияет только на отображение в WE и не влияет на исполнение j файла (поэтому протекторы и удаляют w3r собственно)
благо в формате =Rect() нет ни погоды, ничего - можно занулить всё и оставить только 4 координаты и имя, и номер порядковый
nazarpunk: Каким образом такой рект интерпретировать:
если будет инструмент-конвертер хотя бы для чистых числовых координат,
то такой рект (или много ректов в цикле) можно автоматом просчитать и вывести через прелоад в текстовик в виде готовых чисел и сразу скормить их на сайт
в WE тоже нельзя задать переменные в координаты ректа, и в w3r чистые цифры, поэтому перевод из букав в цифры ложится на картодела
а легкий способ по переводу я уже указал
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
теперь вместо ярко-зеленых прямоугольников стоят бледно розовые
в остальных (нецветопогодных) местах файлы идентичные
Ред. host_pi
» WarCraft 3 / Как можно оптимизировать этот код с 2D коллизиями?
макс количество коробок в -box3 режиме выросло на 10%
» WarCraft 3 / После запуска программы world editor не открывается
» World of WarCraft / Blizzard анонсировала сразу три дополнения для World of Warcraft
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
Ред. host_pi
» WarCraft 3 / какие свойства есть у абилки 'Aloc' и чем их воспроизвести?
чтобы убрать конкретного юнита с миникарты, но оставить его вид таким же
» WarCraft 3 / [WarCraft III] Jass identifier renamer
Ред. host_pi
» WarCraft 3 / каким софтом можно редактировать цвет прозрачного альфа слоя?
векторная маска xgm.guru/files/100/316064/comments/520550/ps_mask.png
т.е. по классике всю картинку фотошоп завандалил и поменял пиксели
белый и черный альфа канал (2 и 3 пик из шапки)
но белый тоже завандаленный получается - там белый абрис формируется (виден при добавлении на карту)
черный xgm.guru/files/100/316064/comments/520550/as_black.png
белый xgm.guru/files/100/316064/comments/520550/cap-white.png
-
ps_resave.png
Полный списокРед. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
а 111й вышел в марте 2к23
график выхода версий
(6й рект Область005 на картинке для сравнения дефолтного цвета)
даже сам преобразовал неверные числа в верные по делителю 32 (100 в 96, 500 в 512 итд)
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
разговор на эту тему между нами уже был в теме про томл, так что ответы знаю заранее
а парсинг текста теперь хорошо работает, видит названия переменных любые и даже без gg_rct_
накачу виртуалку за часик
Ред. host_pi
» WarCraft 3 / каким софтом можно редактировать цвет прозрачного альфа слоя?
это же альфа канал - он и определяет прозрачность
и при пересохранении в png вообще удаляет альфа кана и заливает белым
а не "просто отобразит белым"
это не рандом
просто BLP LAB чуть ли не единственная прога которая показывает цвет этого альфа канала, остальные проги тупо прозрачное показывают
у каждого пикселя есть или нету альфа канал, а также есть цвет этого альфа канала
у меня это зависит от конкретных программ
пик 1 и пик 2 я могу легко сделать - заранее пересохраняя в определенных программах
и знаю какой цвет получится, просто потому что у них по дефолту альфа каналу придается свой цвет (черный или белый)
ну это как футболка разного цвета не перестаёт быть футболкой
НО ТОЛЬКО в режиме палитры, а в пнг палитра максимум 256 цветов
что отобразится на качестве картинки
вот я и спрашиваю какой софт умеет менять цвет альфа канала, при этом не теряя саму прозрачность или режим цветности картинки
с фотошопом вообще странное дело - почему он не показывает слой прозрачности, который есть там изначально при открытии картинки
а позволяет только создать свой новый альфа канал без отображения уже имеющегося альфа канала
это настораживает
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
с дизайна кнопки орнул, топ
Ред. host_pi
» WarCraft 3 / какие свойства есть у абилки 'Aloc' и чем их воспроизвести?
» WarCraft 3 / какие свойства есть у абилки 'Aloc' и чем их воспроизвести?
Ред. host_pi
» WarCraft 3 / какие свойства есть у абилки 'Aloc' и чем их воспроизвести?
Ред. host_pi
» WarCraft 3 / каким софтом можно редактировать цвет прозрачного альфа слоя?
Ред. host_pi
» WarCraft 3 / BLP Laboratory (blplab)
то есть им норм каждый раз весь путь с нуля писать в пустое поле, да? и папку и новое имя да? это удобно должно быть?
Ред. host_pi
» WarCraft 3 / каким софтом можно создать w3r файлы из координат?
давай я тебе скину карту и список координат, а ты мне вернёшь карту с уже созданными ректами в WE по этому списку
идёт? тебе же это раз плюнуть вроде
Ред. host_pi
» WarCraft 3 / каким софтом можно создать w3r файлы из координат?
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
а цвет вообще хранится только в w3r файле и нигде больше, т.е. восстановить цвет после удаления w3r никак не получится:
потому как я себе тоже делал подобный парсер чисел, чтобы сравнивать изменения координат при смене версий карты
после обфускации кода по названиям переменных уже не сравнить, а остаётся только по конкретным 4-х числовым координатам сравнивать
(т.е. нужда в переводе j-текста в обычные числа тоже есть)
ещё можно второй вид представления добавить вида "Rect1\t1111,0\t2222,0\t3333,0\t4444,0" чтобы список был максимально числовым с табуляцией без лишнего текста
тогда получится два инструмента в одном - и w3r конвертор, и обработчик координат из j файла
Ред. host_pi
» WarCraft 3 / каким софтом можно создать w3r файлы из координат?
а если она слева - то как будто качаешь что-то своё, которое сам вставил необработанное
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
а нужно это для визуального отображения, потому как w3r влияет только на отображение в WE и не влияет на исполнение j файла (поэтому протекторы и удаляют w3r собственно)
благо в формате =Rect() нет ни погоды, ничего - можно занулить всё и оставить только 4 координаты и имя, и номер порядковый
Ред. host_pi
» WarCraft 3 / каким софтом можно создать w3r файлы из координат?
когда у тебя есть только координаты и ты выбираешь:
- либо по ним вручную мышкой рисовать ректы в WE
- либо сидеть ковырять хексы ради одной карты
- либо забить и как и раньше вписывать координаты в j файл, без отображения областей в WE
кстати гуишников тоже много, и мало кто из них сидит на чём то более продвинутом - значит ли это, что продвинутое нинужна?Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта
то такой рект (или много ректов в цикле) можно автоматом просчитать и вывести через прелоад в текстовик в виде готовых чисел и сразу скормить их на сайт
в WE тоже нельзя задать переменные в координаты ректа, и в w3r чистые цифры, поэтому перевод из букав в цифры ложится на картодела
а легкий способ по переводу я уже указал
Ред. host_pi
» XGM Team / Онлайн-инструменты для геймдев и моддинг арта