16

» WarCraft 3 / как присвоить локальные значения игрока в глобальные переменные?

--где-то тут должна быть конструкция по обращению к нужному игроку
оба кода ниже выдают одинаковый результат -> разные значения zz для двух разных игроков:
(у одного 0 а у второго размер зума)
(тригерит только один игрок чатом)
т.е. не позволяют вывести локальное значение в глобалку
function GetLocalCameraField takes integer i returns integer
local integer j=0
if GetLocalPlayer()==Player(i-1) then
set j = R2I(GetCameraField(CAMERA_FIELD_TARGET_DISTANCE))
return j
endif
endfunction
local integer i=GetPlayerId(GetTriggerPlayer())+1
set zz = GetLocalCameraField(i)
call BJDebugMsg("zz = "+I2S(zz))
function GetLocalCameraField takes integer i returns integer
local integer j=0
if GetLocalPlayer()==Player(i-1) then
set j = R2I(GetCameraField(CAMERA_FIELD_TARGET_DISTANCE))
endif
return j
endfunction
local integer i=GetPlayerId(GetTriggerPlayer())+1
set zz = GetLocalCameraField(i)
call BJDebugMsg("zz = "+I2S(zz))
16

» WarCraft 3 / как присвоить локальные значения игрока в глобальные переменные?

До того момента пока эта переменная не будет использоваться где-то в синх данных
так я её для того и загоняю в переменную, с целью использовать далее глобально с остальными общими данными
Hate:
зачем остальным игрокам необходимо знать зум остальных?
я так захотел
Hate:
еще раз спрашиваю
ещё вопросы? содержимое карманов показывать? 10 раз приседать?
16

» WarCraft 3 / как присвоить локальные значения игрока в глобальные переменные?

так десинк то есть?
если одна глобальная переменная у разных игроков имеет разное значение - это десинх или нет?
Hate:
и зачем другим игрокам знать о зуме других игроков?
то был пример, когда значение переменной локального игрока никто не знает из остальных. будь то зум или иное локальное значение
а если его никто не знает, значит с ним нельзя толком работать
в данном примере - если зум одного игрока нельзя узнать остальным игрокам (а точнее загнать в глобальную переменную) никаким образом - достаточно просто написать "нельзя" в виде ответа
либо если можно - то как?
под "другими игроками" я имею ввиду всю карту в целом. если карта не может загнать значения в глобалки - значит смысла в таких глобалках нет
16

» WarCraft 3 / как присвоить локальные значения игрока в глобальные переменные?

это вы проверяли?
конечно, если запускать функцию через чат и i=GetPlayerId(GetTriggerPlayer())+1, то только у него лично и изменится глобальная переменная, а у остальных кто не писал в чат - у них останется старое значение
16

» WarCraft 3 / Депротект (знаю заеженная тема)

Так я вообще не в курсах о таких вещах как листфайл
уже целых 3 дня прошло с момента создания тобой темы, а ты до сих пор не в курсах?
ты об этом должен быть в курсах ещё ДО открытия j файла (или любого другого)
поэтому твой уровень знания jass тут не играет роли
ты даже ответы в этой теме читаешь через слово
Мне бы хотелось читабельности как и легкости редактирования
оу рили? а другим этого не хочется и охота копаться в ассемблере на перфокартах?
что war3restorer мне предоставил, а остальное это слишком муторно
неужели? муторно? мм
а ты не думал, что открыть карту это не в туалет сходить?
помогите кто в чем сможет
делать за тебя 2 недели работы? а какой тариф в рублях?
16

» WarCraft 3 / Good Jassspy (JASS логер)

если добалять системное время, то логи записанные в разные моменты времени станут несравнимы
да, я уже тоже к этому пришёл через 5 минут после публикации, так что системное время если и нужно, то только между картами а не в строках
некоторый бонусный функционал имеется, если кому-то нужно:
добавлено в шапку, теперь там 3 версии
16

» WarCraft 3 / Как контрить Alt+QQ?

непреднамеренный выход из игры
непреднамеренный
откуда инфа?
16

» WarCraft 3 / как поставить точку в центр экрана?

только синхронизация, но она не шибко быстрая.
можно перевод этого текста?
если загонять в переменную GetCameraTargetPosition - то загонится у всех разное значение
если закавычить в if getlocalplayer - потом загнать в массив переменных - то другие не узнают значение закавыченного игрока, т.к. значение присваивалось только лично у него - что есть десинхрон
то есть нет никакой функции (узнать координаты камеры player X) а есть только своя камера
16

» WarCraft 3 / как поставить точку в центр экрана?

Я совсем не понял что вам нужно =))
вы хотите, чтобы камера двигалась за объектом?
в первом сообщении под "привязка к камере" имелись ввиду координаты GetCameraTargetPosition
по крестьянски это можно назвать "в центре экрана у игрока"
poisoNDealer:
Фреймы.
мы вам перезвоним

мда,
GetCameraTargetPosition то десинхронная
и её координаты никак не передать в значения массива да?
если один двинул камеру, то другие об этом никак не узнают?
16

» WarCraft 3 / как поставить точку в центр экрана?

Принятый ответ
движение камеры осуществлено с помощью так
там похоже на привязку точки к мышке, типа как прицел
я же говорю просто про вывод изображения в центр экрана
похоже, что с этим справится CinematicFadeBJ, потестирую его немного
ещё есть какая-то ShowImage, но там через хендл вроде, а CinematicFadeBJ просто через путь к blp-шке
еще CinematicFilterGenericBJ
интересно было бы найти что-то с опциональным офсетом, но и только в центре - уже хорошо
16

» WarCraft 3 / Депротект (знаю заеженная тема)

кроме 1.26
позвонил куда следует, не покидайте текущее местоположение, за вами уже выехали
16

» WarCraft 3 / Депротект (знаю заеженная тема)

Что я еще делал: пользовался другими депротектами
никакие депротекторы тебе не помогут, когда:
в оригинале HELLHALT v5.0.29 - 668 файлов,
а в твоей ВОССТАНОВЛЕННОЙ карте, которую ты прикрепил - 364 файла.
и пока ты не начнешь такое замечать - можешь вообще темы не создавать. помудохайся сначала месяц и научись готовить листфайл, а потом уже переходи к открытию карты в World Editor'e и всем с этим связанным вопросам
Загруженные файлы
16

» WarCraft 3 / Депротект (знаю заеженная тема)

На вопрос зачем депротектить?
всем, кто задаёт подобные вопросы я бы предложил прикладывать к своим постам скриншоты о прохождении проверки лицушности винды, офиса и софта от Adobe, а также же чеки на каждый трек в mp3-плеере и каждую игру на HDD. надеюсь они не пираты какие-то со дна общества с ворованым варкрафтом
первый вопрос - листфайл от карты у тебя полный или нет?
ничего не видил при загрузке карты, т.e даже слоты - как будто карта мертвая, скорее всего и так, но я не понял почему
то есть сравнение содержимого каталогов у тебя не изобрели? сравни оригинал и после обработки этой прогой. и сравни какие файлы изменены. скорее всего w3i, из-за того что он изменён - она и крашит
брал war3.j, с протектной версии и вшивал в мою (депротект) версию мапы - при загрузке карты (50-70%) - фатал (crash).
j файл ты итак можешь оттуда изъять, отредактировать и назад вшить в оригинал без всяких крашей
16

» WarCraft 3 / Good Jassspy (JASS логер)

Записывает только вызов Jass функций или вообще всё?
вот первая минута стандартной близовской Melee карты на развитие
pastebin.com/8bQJd1Dp 6200 строк
16

» IrInA Host Bot / Обновление коннектора (анонс)

чтобы полноценно оформиться придется с документами возиться
ну возни то там немного - 30 минут заполнить заявление на регистрацию ИП , чек госпошлины и через неделю забрать свидетельство о регистрации + ежемесячная аренда буха (мешка с костями или электронного), другое дело будет ли с магаза что-то капать? хотя судя по ммо дрочильням и прочим донатным браузеркам и телефонным приложухам - среди людей такое популярно. а вот готовы ли картоделы добавлять плюшки за реал в карту, чтобы и самим попилить навар - вот вопрос. если не будет картоделов - то люди даже не узнают что так можно играть. ну а лесю на 12й слот посадить через UjApi, думаю не проблема - автоматом при создании и инициализации карты , а в карте нативка Call AutoAddLesya(12)
и второй вопрос - кто расскажет картоделам о возможностях UjApi ? о каждой из нативок, которых добавляется по сотне каждое обновление. для этого надо написать бы пару статей. чтобы картоделы узнали про новые нативки, узнали что можно НОВОГО и ОФИГЕННОГО сделать в новом редакторе, ну а потом и игрокам показать эти офигенности, которые будут играть в карты
можно даже пару карт портировать с азиатского региона и заменить запросы к их магазам в нашу ирину - это проще чем с нуля пилить крутую карту. ну а увидя возможности редактора и картоделы начнут тянуться
по привлечению людей хз что. может им нравится дроч на ладдер и рейтинг. играют же зачем то они 20 лет в доту и в диабло 2
16

» IrInA Host Bot / Обновление коннектора (анонс)

  1. по поводу голосового чата - зависит от сложности реализации. но очевидно если он будет искаропки, то им будут пользоваться больше и чаще, чем серваками дискорда. ну как в кс 1.6, только там он был реализован на уровне игры, а тут пилить разве что глобальный хоткей и аудиопоток слать не через игру а через коннектор придётся в обход

не, он живой, теперь по другому называется
а ссывочку на конкурента?
Kokomi:
Мы планируем сместить акцент с поиска лобби на поиск карты. Грубо говоря вам не придется искать хост с картой - у вас будет список карт, а хост найдется/создастся сам
о, так и было на нетизе кста
только успех многих фич действительно зависит от количества аудитории. если три игрока онлаен, то новые фичи никто не оценит и не будет пользоваться ими. как тут писали, что многие не знают про game.dll , я даже больше скажу - в 2к23 году на форуме асикапа была тема с вопросом "а что такое ирина" (и её там быстренько закрыли от коментов)
16

» IrInA Host Bot / Обновление коннектора (анонс)

Kokomi:
  1. так что? теперь картоделы могут пилить карты с магазином за реал и автосохранением ачивок и бафов на серваке ирины? если ты играл на китайском нетизе пока он не умер или на корейском m16 и понимаешь о чём я
  2. если запускать варик через кнопку "запустить игру" из коннектора - то коннектор выступает как ланчер? если да - тогда было бы неплохо камерахак вшить. как на нетизе было - ползунок с высотой камеры. ну или KP_MINUS KP_PLUS
  3. /follow по нику не планируется?
  4. еще можно добавить автоудаление игр из списка майнера, когда игра заканчивается, чтобы вручную не очищать
  5. вообще, если появился GUI то можно бесконечно пилить новые фичи, пока руки не отсохнут. а если он не просто коннектор, но еще и ланчер - то можно писать фичи, пока руки совсем не отвалятся, ну или склеить с WFE как ты правильно заметил. другой вопрос - как набрать аудиторию и увеличить её хотя бы раза в 3-4? позвать соседей если только. почему на iccup 5-10 тысяч игроков а на ирине 300-800 ? вот вопрос. когда ирина была на асикапе - это были золотые времена, и любая захощенная карта заполнялась за 10 секунд до фула на випке
16

» WarCraft 3 / Как написать код на Jass

столько ответов и ни одного с кодом
но он не работает
потому что там не хватает
globals
leaderboard udg_HandleBoard = null

function main takes nothing returns nothing
call InitTrig_HandleCounter()
endfunction
16

» WarCraft 3 / Оптимизация jass кода

код "Проверка" при добавлении в j файл не работает
не хватает:
globals
leaderboard udg_HandleBoard = null

function main takes nothing returns nothing
call InitTrig_HandleCounter()
endfunction
вот верный полный код
только надо строку из "function main" перенести в свою main функцию на карте
globals
leaderboard udg_HandleBoard = null

function HandleCounter_Update takes nothing returns nothing
   local integer i = 0
   local integer id
   local location array P
   local real result=0
   loop
      exitwhen i >= 50
      set i = i + 1
      set P[i] = Location(0,0)
      set id = GetHandleId(P[i])
      set result = result + (id-0x100000)
   endloop
   set result = result/i-i/2
   loop
      call RemoveLocation(P[i])
      set P[i] = null
      exitwhen i <= 1
      set i = i - 1
   endloop
   call LeaderboardSetItemValue(udg_HandleBoard,0,R2I(result))
endfunction

function HandleCounter_Actions takes nothing returns nothing
   set udg_HandleBoard = CreateLeaderboard()
   call LeaderboardSetLabel(udg_HandleBoard, "Handle Counter")
   call PlayerSetLeaderboard(GetLocalPlayer(),udg_HandleBoard)
   call LeaderboardDisplay(udg_HandleBoard,true)
   call LeaderboardAddItem(udg_HandleBoard,"Handles",0,Player(0))
   call LeaderboardSetSizeByItemCount(udg_HandleBoard,1)
   call HandleCounter_Update()
   call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)
endfunction

function InitTrig_HandleCounter takes nothing returns nothing
   call TimerStart(CreateTimer(),0,false,function HandleCounter_Actions)
endfunction

function main takes nothing returns nothing
call InitTrig_HandleCounter()
endfunction
16

» WarCraft 3 / как уничтожить все таймер-диалоги timerdialog ?

вот нашел инфу по вопросу в 1 ом сообщении
Игровые объекты
Мы рассмотрели переменные, и как их обнулять, переменная - это ссылка на определенный игровой объект, но обнуление переменной не значит, что удаляется и объект по ссылке из переменной, объект нужно удалять отдельно (ДО(!) обнуления переменой) с помощью специальной функции. т.к. иначе после обнуление переменной ссылка на объект потеряется, и его нельзя будет удалить.
16

» WarCraft 3 / Карта откатилась :(

Как так? Можно как то вернуть 4 месяца жизни?
как можно работать 4 месяца над картой, но не иметь папку с сотней релизных рабочих версий 0.1 0.2 0.3 ... 1.1 1.2
или тем более не залить карту куда то ни разу
как это работает?