хоткеи на лету уже разобрались как менять (у скиллов)? помоему самое профитное
и немного оффтопа, Лич, а ты реализовал пинги из доты2? ну типа чтоб при пингах на самой карте тож анимация рисовалась (помимо миникарты)
для отслеживания утечек используй количество хендлов (handle) если число неуклонно растёт - есть утекания. поиском поищи, где-то есть пример триггера который будет выводить тебе хэндлы
для того чтоб убрать лишние лаги - можно грузить предварительно. Напрмер абилки (изза них прилично так лагает, при первом создании в самой игре), мы таким образом почти секундный лаг убрали в своей карте.
ну это изврат знатный) я как раз о локе и писал
да и это не удобно в целом, плодить разные архивы, у одних игроков одно, у других другое, прикольно для сингловых ьольше решений, но там и без них плюс минус пофиг
how to send text too all player if hack player detected ?
u need to sync this data, any one to inform other games (i mean other players) that current player uses mh.
One other way is force black screen mask for 99999seconds, disable user controls, enable cinematic mode, if player keeping stacked and disconnected bnet, might he is a hacker.
16GB,
Не проще ли перепилить КФ тогда? понимаешь о чём я?) Конкурс на апдейты уместнее бы смотрелся в таком случае, и контент по уровню явно не хуже можно сделать, и времени меньше потратить.
Загляни несколько раз на стримы ХАЙВа, рано или поздно Твич предложит и другие похожие каналы. Тогда и увидишь, во что сейчас играют.
Я бы не доверял так твичу, в этом плане. Выборка мала имхо, то что стримят, то и смотрят, де факто. Если какой то жанр не стримится, это не значит что он менее популярный. Возможно игровые сессии более короткие и прочий ряд факторов. Смотреть людям мб менее интересно. Но это не связано с количеством реально играющих людей в ту или иную карту. Какие то карты более пригодные к игре, нежели стримингу.
Более реальные показатели: количество реальных игроков, человекочасов в игре, сыгранных игр на боте. Эти показатели на мой взгляд ближе к правде, нежели твич. PrincePhoenix, вот на вскидку пара вариантов
сообщить о том, что идея конкурса имеет изъяны.
не участвовать
10к подели на команду и на 3 месяца работы. ?
По поводу "прикольно" вообще не понял. Для меня смысл игр в фане получаемом от них. К чему эта мелочность и придирки). Рекомендую книгу Теория фана, Костэра, к слову.
Честно, выглядит как конкурс на лучшую переделку из списка 19 карт. (ну или перезапуск) Оригинальными идеями список особо не блещет, опять ТДшки опять прочее. Неужели варик настолько однообразен. Есть же всякие оригинальные идеи.. гранд прикс тот же взять и оживить. 101 Rounds, Platform escape, Murloc Shooter от 16GB, и прочие, да идей собственно куча хороших и оригинальных, далеких от полного раскрытия на движке вара, но вы хотите контент который будет конкурировать с тем что уже и так в довольно неплохом объёме имеется (и жанрах). Не лучше ли было действительно что то прикольное сделать.
Либо запускать конкурс на лучший апдейт существующей мапы (популярной, из тех, что вам интересны как раз), где оцениваться будет работа по попаданию по духу автора, объёму нововведений, пофикшеных багов и прочему.
Да и призовые на мой взгляд неочень. Ибо подели их между победителями (а победить может и командная работа), то на такой срок вообще незначительные деньги. И это в дни когда близзы убивают варик очередными патчами, и интереса к варику у многих скилловых авторов попросту нет.
Всё выше сказанное сугубо моё имхо, с ним не обязательно соглашаться, но я вроде койчего в мапмейкинге смыслю, и даже конкурс карт последний выигрывал, из проводимых тут.
даже если ты пишешь безупречный код... у тебя красивое оформление и ландшафт.... это мало что значит на данном конкурсе...
ту больше упор в идею, её реализацию... и баланс... (последнее похоже будет подвергнуто весьма субъективной оценке...)
Вроде более менее разобрались.
В начале игры происходит лаг, который не дает двигать камеру. Его продолжительность меняется от случая к случаю.
Так же если происходят лаги вызванные происходящим в самой игре (зависит от конкретных решений внутри карты) могут так же появляться
лаги, препятствующие передвижению камеры.
В самом лучшем случае, при просмотре реплея, игра начинается примерно с 2.9 сек (проверялось на пустой melee карте)
Таким образом между концом вступительного игрового лага и началом игры в реплее, есть окно, внутри которого можно расположить проверку. (как уже писал выше, передвижение камеры в реплее не работает, если оно вызывалось до старта реплея, 2.9~)
На 0.101 можно не смотреть (т.к выполняется при инициализации карты, в реплее в том числе)
Немного про SetCameraBounds, проверяет текущее положение камеры и двигает её в установленные границы, но не делает этого, если игра свёрнута, в реплее работает так же, как и в обычной игре.
код на котором остановились
library ReplayLib
struct ReplayLib extends array
readonly static boolean wasPaused = false
readonly static boolean wasReplay = false
readonly static boolean wasMeasured = false
private static real x = 0
private static real y = 0
private static real tx1 = 0
private static real tx2 = 0
private static real newx1 = 0
private static real newx2 = 0
private static real minX = 0
private static real minY = 0
private static real maxX = 0
private static real maxY = 0
private static method onReplayTest2 takes nothing returns nothing
call DestroyTimer(GetExpiredTimer())
set newx2 = GetCameraTargetPositionX()
set wasReplay = (((tx1 != newx1) and (tx2 != newx2)) and (not wasPaused))
set wasMeasured = true
call SetCameraBounds(minX, minY, minX, maxY, maxX, maxY, maxX, minY)
call SetCameraPosition(x, y)
call EnableUserControl(true)
endmethod
// Tests if we are running in a replay
private static method onReplayTest1 takes nothing returns nothing
set newx1 = GetCameraTargetPositionX()
call SetCameraPosition(tx2, y) // Pan camera (doesn't occur near start of replays)
call TimerStart(GetExpiredTimer(), 0.2, false, function thistype.onReplayTest2)
endmethod
private static method onPausedTest takes nothing returns nothing
set wasPaused = (x == GetCameraTargetPositionX())
call SetCameraPosition(tx1, y) // Pan camera (doesn't occur near start of replays)
call TimerStart(GetExpiredTimer(), 0.5, false, function thistype.onReplayTest1)
endmethod
// Schedules the replay test as soon as possible
private static method onInit takes nothing returns nothing
call EnableUserControl(false) // Block users from manually moving the screen
set x = GetCameraTargetPositionX()
set y = GetCameraTargetPositionY()
set tx1 = x + 2
set tx2 = x + 3
set minX = GetCameraBoundMinX()
set minY = GetCameraBoundMinY()
set maxX = GetCameraBoundMaxX()
set maxY = GetCameraBoundMaxY()
call SetCameraBounds(x + 1, y, x + 1, y, tx2, y, tx2, y)
call TimerStart(CreateTimer(), 1.1, false, function thistype.onPausedTest)
endmethod
endstruct
// Returns the outcome of the replay test
function IsReplay takes nothing returns boolean
if (not ReplayLib.wasMeasured) then
call BJDebugMsg("[ReplayLib] Error: used IsReplay() before value was ready.")
endif
return ReplayLib.wasReplay
endfunction
endlibrary
Дак нет, я имею ввиду, что дальше то, только то использовать с такой булей, что может локально без десинков работать, это основное правило работы с асинк данными.
В общем это бОльше от нужд зависит, ну вверху я писал, что мне только с отображением поиграться, так что достаточно).
Основные приёмы как не ловить десинк в примерах по getlocalplayer() описаны
В общем пока такие результаты:
Реплей проигрывается с 5-6 игровой секунды, соответственно если двигать и проверять камеру до 5 секунды, в реплее движения камеры не будет.
Но если игрок долго "залипает" в альтабе, то движения камеры так же может и не быть. Вопрос в том каким образом отловить alt+tab или паузу (isPausedGame).
ну просто GetCameraTargetPositionX() SetCameraPosition() это локальные функции, их можно одновременно для всех игроков запустить спокойно, поправьте если не так)).
ловким движением руки из кода выкидываются циклы, а смысл не меняется.
private function IsInGame takes nothing returns boolean
local integer counter = 1
local real camerax
local real cameray
local real x
local real y
local boolean output
loop
exitwhen counter > 12
if GetLocalPlayer() == Player(counter-1) then
set camerax = GetCameraTargetPositionX()
set cameray = GetCameraTargetPositionY()
endif
set counter = counter + 1
endloop
set counter = 1
call PauseGame(true)
call TriggerSleepAction(0)
loop
exitwhen counter > 12
if GetLocalPlayer() == Player(counter-1) then
call SetCameraPosition(camerax + 1,cameray + 1)
endif
set counter = counter + 1
endloop
call TriggerSleepAction(0)
call PauseGame(false)
set counter = 1
loop
exitwhen counter > 12
if GetLocalPlayer() == Player(counter-1) then
set x = GetCameraTargetPositionX()
if x == camerax + 1 then
set output = true
else
set output = false
endif
call SetCameraPosition(camerax,cameray)
endif
set counter = counter + 1
endloop
return output
endfunction
private function IsInGame takes nothing returns boolean
local integer counter = 1
local real camerax
local real cameray
local real x
local real y
local boolean output
set camerax = GetCameraTargetPositionX()
set cameray = GetCameraTargetPositionY()
call PauseGame(true)
call TriggerSleepAction(0)
call SetCameraPosition(camerax + 1,cameray + 1)
call TriggerSleepAction(0)
call PauseGame(false)
set x = GetCameraTargetPositionX()
set output = (x == camerax)
call SetCameraPosition(camerax,cameray)
return output
endfunction
На афкашеров пофигу, что им лишнее что то показалось, чаще всего такие вовсе не приходят или ливают.
Да не, часто бывает что пока загрузка идёт кто-то может табнуться мессенжеры/вконтачи посмотреть, или музон переключить.. Нельзя так игроков хоронить корявыми решениями)
Но я так понимаю инфа опубликованная по ним уже не актуальна.
В продолжение вопроса есть ещё одна мысль, как работает GetLocalPlayer() при проигрывании реплея?
Например если изначально сделать отображение всей "доп инфы" на старте игры для всех, а затем сразу же локально скрыть её.
awesomesk1ll, Не берут, прописка США нид, так же нид хорошое досье, у нас ни у кого нету необходимого, кроме сомнительной славы читеров\крякеров, модмейкеров, там эффективные менеджеры таких не пускают даже на порог.
Неужели на основании работы не пропишешься.
Хорошее досье, с реальными практическими результатами, включающее в себя читы, кряки, моды и т.д. Это намного лучше чем то что сейчас, похоже что люди вообще не понимают во что лезут и как с этим работать. Ну либо не болеют за игру, раз так запустили..
"Эффективные" менеджеры говоришь, дак надо найти их в соц сетях, деанонимизировать и разнести в пух и прах. То что сейчас творится с нашим любимым вариком их заслуга в том числе.
New Preload protection:
result = Storm_588(Dest, "\\..\\");
if ( !result )
{
result = Storm_588(Dest, "\\..");
if ( !result )
{
result = Storm_588(Dest, "..\\");
if ( !result )
{
result = Storm_588(Dest, "/../");
if ( !result )
{
result = Storm_588(Dest, "/..");
if ( !result )
{
result = Storm_588(Dest, "../");
if ( !result )
{
Это просто прорыв "Classic Developers Team" в части защиты прелоада)))))))))))))))))))
Ред. awesomesk1ll
» WarCraft 3 / Memory Hack
и немного оффтопа, Лич, а ты реализовал пинги из доты2? ну типа чтоб при пингах на самой карте тож анимация рисовалась (помимо миникарты)
Ред. awesomesk1ll
» WarCraft 3 / как найти утечки на jass?
Ред. awesomesk1ll
» WarCraft 3 / Создание текстового файла
да и это не удобно в целом, плодить разные архивы, у одних игроков одно, у других другое, прикольно для сингловых ьольше решений, но там и без них плюс минус пофиг
» WarCraft 3 / Создание текстового файла
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
Спасибо чувак! будем тестить, это всё упрощает).
» WarCraft 3 / Создание текстового файла
» WarCraft 3 / Полноценный Антимапхак.
One other way is force black screen mask for 99999seconds, disable user controls, enable cinematic mode, if player keeping stacked and disconnected bnet, might he is a hacker.
Ред. awesomesk1ll
» WarCraft 3 / Конкурс карт WC3 на 50 000 рублей!
Не проще ли перепилить КФ тогда? понимаешь о чём я?) Конкурс на апдейты уместнее бы смотрелся в таком случае, и контент по уровню явно не хуже можно сделать, и времени меньше потратить.
Ред. awesomesk1ll
» WarCraft 3 / Конкурс карт WC3 на 50 000 рублей!
PrincePhoenix, вот на вскидку пара вариантов
По поводу "прикольно" вообще не понял. Для меня смысл игр в фане получаемом от них. К чему эта мелочность и придирки). Рекомендую книгу Теория фана, Костэра, к слову.
» WarCraft 3 / Конкурс карт WC3 на 50 000 рублей!
Ред. awesomesk1ll
» WarCraft 3 / Конкурс карт WC3 на 50 000 рублей!
» WarCraft 3 / Конкурс карт WC3 на 50 000 рублей!
Ред. awesomesk1ll
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
В начале игры происходит лаг, который не дает двигать камеру. Его продолжительность меняется от случая к случаю.
Так же если происходят лаги вызванные происходящим в самой игре (зависит от конкретных решений внутри карты) могут так же появляться
лаги, препятствующие передвижению камеры.
В самом лучшем случае, при просмотре реплея, игра начинается примерно с 2.9 сек (проверялось на пустой melee карте)
Ред. awesomesk1ll
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
В общем это бОльше от нужд зависит, ну вверху я писал, что мне только с отображением поиграться, так что достаточно).
Реплей проигрывается с 5-6 игровой секунды, соответственно если двигать и проверять камеру до 5 секунды, в реплее движения камеры не будет.
Но если игрок долго "залипает" в альтабе, то движения камеры так же может и не быть. Вопрос в том каким образом отловить alt+tab или паузу (isPausedGame).
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
GetCameraTargetPositionX() возвращает локальное X же?) нафига там цикл вообще.
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
Если я буду выводить реплейную инфу во время игры будет не очень хорошо).
» WarCraft 3 / Система погодных эффектов и тумана
Ред. awesomesk1ll
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
quq_CCCP:
» WarCraft 3 / Есть ли рабочий способ проверки на просмотр replay'я
https://www.hiveworkshop.com/threads/system-needs-work-gamestatu...
Например если изначально сделать отображение всей "доп инфы" на старте игры для всех, а затем сразу же локально скрыть её.
Ред. awesomesk1ll
» WarCraft 3 / Важная информация об обновлении 1.28
Хорошее досье, с реальными практическими результатами, включающее в себя читы, кряки, моды и т.д. Это намного лучше чем то что сейчас, похоже что люди вообще не понимают во что лезут и как с этим работать. Ну либо не болеют за игру, раз так запустили..
"Эффективные" менеджеры говоришь, дак надо найти их в соц сетях, деанонимизировать и разнести в пух и прах. То что сейчас творится с нашим любимым вариком их заслуга в том числе.
» WarCraft 3 / Важная информация об обновлении 1.28
да имхо, если есть тут кто с знанием c/с+, может смело на вакансию откликаться...
» WarCraft 3 / Важная информация об обновлении 1.28