ужасов, конечно, не будет - просто при удалении юнита не сработают никакие триггеры на то, что он умер или покинул регион, что может ввести в замешательство какие-то системы. В чистой карте проблем не появится.
RMem/WMem - вторая версия, есть еще третья и, скорее всего, последняя
function SetAbilityStringParam2 takes integer id, integer off, string newVal, integer lvl returns boolean
local integer k=GetAbilityUIDefCaching(id)
if k < 1 then
return false
endif
set k=k+off
set k=RMem(k)
if k>0 then
set k=k+lvl*4-4
call AddNewOffsetToRestoreFast(k)
call WMem(k,GetStringAddress(newVal))
return true
endif
return false
endfunction
жасс читает символы один раз, при загрузке, а дальше всё в байткоде и не имеет никакого значения
тестирование нужно запускать в разных тредах, чтобы не было накопительного эффекта, и без циклов, ибо варкрафт как-то суперплохо с ними работает и они сбивают все замеры. пруфы - www.hiveworkshop.com/threads/hashtable-vs-array.289909
у меня под это дело вынесен специальный скрипт, генерирующий две стены
если один из операндов реал, то второе будет автоматом сконвертировано. если операнды не используют точку, то будет работать как с целыми. вызов функции дороже мат. операции.
Откуда у вас такие проблемы с запятыми? Ставьте кавычки, если редактор этого не делает сам.
1023 лимит для почти всех видов описаний, кроме предметов
на заголовки обычно 127 обрубают
итемы 512
да есть нормальная возможность узнавать цену предмета и без мх
function ShoppingGarbage takes nothing returns boolean
if GetItemPlayer(GetFilterItem())==Players[15] then
call RemoveItem(GetFilterItem())
endif
return false
endfunction
function ShoppingClear takes nothing returns nothing
call EnumItemsInRect(ShoppingSquare,Filter(function ShoppingGarbage),null)
endfunction
function GetItemGoldCostById takes integer id returns integer
local integer gold=0
local integer d=0
if id==0 then
return 0
endif
if not HaveSavedInteger(ItemCosts,'GOLD',id) then
set gold=GetPlayerState(Players[15],PLAYER_STATE_RESOURCE_GOLD)
set d=50000
call SetPlayerState(Players[15],PLAYER_STATE_RESOURCE_GOLD,d)
call AddItemToStock(ShoppingUnit,id,1,1)
call IssueImmediateOrderById(ShoppingUnit,id)
set d = d - GetPlayerState(Players[15],PLAYER_STATE_RESOURCE_GOLD)
call SetPlayerState(Players[15],PLAYER_STATE_RESOURCE_GOLD,gold)
call SaveInteger(ItemCosts,'GOLD',id,d)
call ShoppingClear()
else
set d=LoadInteger(ItemCosts,'GOLD',id)
endif
//call echo(GetObjectName(id)+" cost = "+I2S(d))
return d
endfunction
ShoppingUnit стоит в ShoppingSquare и имеет абилку на продажу динамическую предметов, принадлежит 15му игроку, дальше дело техники. Ну и хт для ускорения работы
это доступ к свойствам игрока, это булька, если 1 - игрок расценивается обсом, иначе обычным игроком
у обсов свои плюшки есть, много их, часть вырубается при установке OBS = 0
часть невозможно отключить, если отключать в ходе игры, только во время загрузки полноценная обрубка сработает
rofl знатоки английского в треде. вообще=-то они предупреждают в каждой своей функции с LocalPlayer, что там надо аккуратнее с командами, ибо асинхронный код)
Брейсеры должны быть независимым эффектом, т.е. не саму модель энигмы менять, а создать новую, которая при аттаче окажется на руках и будет двигаться вместе с ними. Если же это невозможно, то ладно, можно и отдельной моделью целиком.
Вместе с ними нужна стилизованная черная дыра, с похожими эффектами, как на картинке. Дыра будет самостоятельным юнитом, модель должна висеть в воздухе слегка.
Предлагаю 500 рублей за брейсеры и 700 за дыру, по банковской карте. skype dracol1ch
Модель энигмы, к которой нужно лепить брейсеры, прикрепил к сообщению.
Какие-то объекты могут создавать зависимости, осовбожегние хендла не значит, что объект чисто удален. В целом это всё уже из области псевдопрограммирования - не стоит волновться о таких мелочах. Create & Destroy работают достаточно хорошо. И да, объекты это все agent
type agent extends handle all reference counted objects
» WarCraft 3 / Сценарий > Параметры карты > "Набор игровых" Это ?
» WarCraft 3 / RemoveUnit или KillUnit?
» WarCraft 3 / Урезание видимости при триггерном воскрешении героя
» WarCraft 3 / RemoveUnit или KillUnit?
» WarCraft 3 / Покупка wc3
» WarCraft 3 / Warcraft 3 Patch 1.29.2
» WarCraft 3 / SetAbilityUbertip под первой версией мемхака=Fatal
» WarCraft 3 / Глючный AddUnitToStock
?
» WarCraft 3 / triggeraction, triggercondition
» WarCraft 3 / Глючный AddUnitToStock
» WarCraft 3 / I2R
тестирование нужно запускать в разных тредах, чтобы не было накопительного эффекта, и без циклов, ибо варкрафт как-то суперплохо с ними работает и они сбивают все замеры. пруфы - www.hiveworkshop.com/threads/hashtable-vs-array.289909
у меня под это дело вынесен специальный скрипт, генерирующий две стены
» WarCraft 3 / I2R
Затраты времени в мат операциях ничтожны по определению
» WarCraft 3 / I2R
» WarCraft 3 / Лимит символов
1023 лимит для почти всех видов описаний, кроме предметов
на заголовки обычно 127 обрубают
итемы 512
» WarCraft 3 / Продажа вещей
» WarCraft 3 / Еще фатал после игры
» WarCraft 3 / Что такое PLAYER_STATE_OBSERVER?
у обсов свои плюшки есть, много их, часть вырубается при установке OBS = 0
часть невозможно отключить, если отключать в ходе игры, только во время загрузки полноценная обрубка сработает
» WarCraft 3 / Простой вопрос по ForceUIKey
» WarCraft 3 / Способности у закопавшихся существ
» WarCraft 3 / Есть ли способ очистить таблицу строк?
» WarCraft 3 / Как сделать, чтобы большие юниты рассталкивали маленьких
» WarCraft 3 / Ещё немного интересных фишек
» WarCraft 3 / Нужна модель? - Вам сюда!
https://i.ytimg.com/vi/NdFyRpAx1N4/maxresdefault.jpg
https://coubsecure-s.akamaihd.net/get/b25/p/coub/simple/cw_timel...
Вместе с ними нужна стилизованная черная дыра, с похожими эффектами, как на картинке. Дыра будет самостоятельным юнитом, модель должна висеть в воздухе слегка.
Модель энигмы, к которой нужно лепить брейсеры, прикрепил к сообщению.
» WarCraft 3 / "Удаляемость" некоторых handle-объектов
» WarCraft 3 / "Удаляемость" некоторых handle-объектов
type agent extends handle all reference counted objects