function Trig_Evenload_Actions takes nothing returns nothing
local string s=""
local string data=""
local player p=Player(0)
call Preloader("save\\PreExp.txt") // допустим данные брать не отсюда
set s=GetPlayerName(Player(15)) // а откуда тогда?
if GetLocalPlayer()==p then
call StoreInteger( gc, "GamesCount", "P"+I2S(GetPlayerId(GetLocalPlayer())), S2I(s) ) // поидее вот так я меняю ячейку
endif
call TriggerSyncStart()
if GetLocalPlayer() == p then
call SyncStoredInteger(gc, "GamesCount", "P"+I2S(GetPlayerId(GetLocalPlayer())))
endif
call TriggerSleepAction( 2.00 )
call TriggerSyncReady()
set data=I2S(GetStoredInteger(gc, "GamesCount", "P"+I2S(GetPlayerId(GetLocalPlayer()))))
call BJDebugMsg(data) // показывает красному 1, показывает синему 0
set p=null
endfunction
Даже синхронизация не проходит!! данные разные и ещё чудеса:
где храниться файл кеша? где его ловить как игра узнает что он для конкретной карты? где его путь?
полная ерунда при работе по сети даже когда в сингле гружу, как будто файл прелоада.txt вообще отдельный поиском не нашёл, но даже на 1 машине у фаила save\\PreExp.txt разные данные при работе по сети и при запуске в сингле, я вообще удаляю, а по сети игра считает что он есть и продолжает с него грузить данные!!!
СИНХРОНИЗИРУЕТ! quq_CCCP, нашел ошибку не большую в коде
(GetStoredInteger(gc, "GamesCount", "P"+I2S(GetPlayerId(GetLocalPlayer()))) - надо подставлять айди конкретного игрока а не локально... едем дальше...
nvc123, ногами сможет, когда остальные мертвы появиться например прыжок, и можно будет прыгать на голову и наносить урон, кароче я понял, проект шляпа... И иной вася из 3б и петя с завода под пиво, тыкающие скилы мышкой ничего даже поймут и ливнут на 3й минуте, потому что в карте нет рабочих которыми надо строить...
Только я не понял как при запуске выводит сообщение заранее то сколько раз игрок загружался если я даже триггер не запускаю
там галочка на инициализацию стоит поэтому стартует
Но ты прелоад по лакал плеера засунул, я тоже изначально так думал сделать, но это же как то странно... щас буду проверять,99% десинхрон
и ещё нет синхронизации через гейм кеш.... quq_CCCP, Всё очень сложно, я вчитываюсь в твои сообщения по 20 раз и совершенно не могу понять что мне делать, но звучит так что должно запуститься bifurcated, Проверил, второго игрока не выкинуло! почему? как? ничего не понимаю....
Поставил вар на ноут теперь могу адекватно проверять, у меня ничего не синхронизируется, как будто функция
function SyncString takes player p, string val returns string
if (GetLocalPlayer() == p) then
call StoreString(cache, "", "", val)
endif
call TriggerSyncStart()
if (GetLocalPlayer() == p) then
call SyncStoredString(cache, "", "")
endif
call TriggerSleepAction(2)// меньшнее значение вызывает десинх
call TriggerSyncReady()
return GetStoredString(cache, "", "")
endfunction
кеше N ячеек, по 1 для каждой игрока, записывешь в каждую глобально 0 (любую одинаковую информацию)
где у нас ячейки у кеша? что такое ячейки кеша?
Что вообще делает эта строка? call StoreString(cache, , , val) - помещает локальное значение переменной VAL в кеш, в ячейку empty empty?
потом вызываешь прелоад - глобально, но путь к файлу разный, у всех игроков
Как разный? у всех же игроков путь к преолоаду одинаковый (папка с варом\save\123.txt)
Что за pld файл? час пойду гуглить первый раз слышу
Мемхак есть да толку, уровень ctrc+c ctrl+v
так у меня и гейм кеш и прелоад тут, но что-то не так на этапе save я не проверял но возможно load исправно работает, можешь строки кода хоть посмотреть
pro100master, извращение это вводить или копировать гигантский код в чат игры, а суть в том чтобы игрок ничего не вводил и + кому надо в 2019 лезть в блокнот и что то редактировать, как тем темболее лезть в карт, темболее наличие каких либо данных в файле будет только усложнят игру. 8gabriel8, прелоад всегда происходит у всех, а асинхронные данные синхронизируется и собираются в массив
Вообще локально всё работает и я готов передавать больший объём данных из игры в игру, но в этом нет смысла ибо по сети код не работает даже на такой элементарщине! =(
Jareded, не уверен что эта система работает в мультиплеере, хотя будет хорошо если я ошибаюсь, но в системе используется кликабельный Dgui сделанный на юнитах и скорее всего юниты будут видны другим игрокам, или система вообще не заточена на мультиплеер
А по поводу того что я не могу сейвануть, так у меня просто редактор не пашет, нажатие кнопки Ctrl почему то закрывает редактор даже без карты, всё оч странно
Jareded, открыл без редактора на 126, вижу у тебя 130, в общем система использует крутое DGUI полноценным инвентарём и куклой героя, кароче круто, уж ты смог себе всё это перенести, то осталось найти 1 функцию привязки к герою и готов (если всё правильно перенёс) 8gabriel8, у меня это всё отключено, я только касают контр+S и редактор просто закрывается
nvc123, да эту карту я знаю, (смотрел видео, хотя и не играл), но играл в такую где надо управлять башней, но я как раз так и хочу сделать, с низким порогом вхождения, максимально всё упростив, чтобы даже нубы без координации тащили, потому что можно даже 1 тащить будет, nvc123, так что, ты отговариваешь меня такое делать? мол идея хорошая но играть не будут....
Я хотел сделать обзор на все карты, выбрав по 3 минуты лучшего момента с каждой, но к сожалению меня в этот день ошарешели, чуть не сняв карту с конкусра, и я передумал, хотя есть видеопрохождение/геймплей каждой карты с конкурса
PT153, уже всё получилось спасибо, я понял, PT153:
И зачем это лишнее присваивание u = null вначале?
Это пережитки прошлого из cJass где иногда если переменной не приписать нулл, то парсер будет ругаться на несуществующую переменную, я на чистый jass не давно перешёл, много вредных привычек осталось.
И этот код вообще просто огрызок от большой системы, потому что именно здесь у меня вопросы были, но ответ уже дан, всё работает, осталось адаптировать систему под мониторы и готово, мы получили события наведения курсора на панель приказов, я пока даже не знаю зачем мне это
UrsaBoss, Я ничего не понял, но оно работает!, спасибо
function AddLocalEffect takes string eff, real x, real y, boolean b returns effect
if not b then
set eff = ""
endif
return AddSpecialEffect(eff, x, y)
endfunction
function Trig_TTTT_Actions takes nothing returns nothing
local real x = 0
local real y = 0
local integer k=0
local unit u=null
local boolean b=false
set u=h[0]
if GetLocalPlayer()==Player(0) then
set x=GetMouseX()// координаты мыши на экране у локального игрока
set y=GetMouseY()// !!!!!
if GetUnitAbilityLevel(u,'A001')>=1 and IsUnitSelected(u,GetOwningPlayer(u)) then
if x>=1485 and x<=1485+64 and y>=1000 and y<=1064 then //1920*1080
set b=true
endif
endif
endif
//call BJDebugMsg("1")
call DestroyEffect(AddLocalEffect("war3mapImported\\RedRange.mdl",GetUnitX(u),GetUnitY(u),b)) // вот так работает
set u=null
endfunction
Играли Tovio, 2 раза, в целом было легко и атмосферно, легко даже при условии моего низкого Melee скила, я вот кстати думаю, что чаще всего уровень сложности зависит от уровня игры автора
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
» WarCraft 3 / Система подсчета сыгранных игр
globals
integer array cgame
gamecache gc = InitGameCache("cache")
endglobals
call StoreInteger( gc, "GamesCount", "P0", 0 ) ячейка 1
call StoreInteger( gc, "GamesCount", "P1", 0 ) ячейка 2
call StoreInteger( gc, "GamesCount", "P2", 0 ) ячейка 3
call StoreInteger( gc, "GamesCount", "P3", 0 ) ячейка 4
call StoreInteger( gc, "GamesCount", "P4", 0 ) ячейка 5
call StoreInteger( gc, "GamesCount", "P5", 0 ) ячейка 6
endfunction
- где храниться файл кеша? где его ловить как игра узнает что он для конкретной карты? где его путь?
- полная ерунда при работе по сети даже когда в сингле гружу, как будто файл прелоада.txt вообще отдельный поиском не нашёл, но даже на 1 машине у фаила save\\PreExp.txt разные данные при работе по сети и при запуске в сингле, я вообще удаляю, а по сети игра считает что он есть и продолжает с него грузить данные!!!
СИНХРОНИЗИРУЕТ! quq_CCCP, нашел ошибку не большую в коде(GetStoredInteger(gc, "GamesCount", "P"+I2S(GetPlayerId(GetLocalPlayer()))) - надо подставлять айди конкретного игрока а не локально... едем дальше...
» XGM Конкурсы / Warcraft 3 Custom Maps Contest 2019
» WarCraft 3 / Система подсчета сыгранных игр
bifurcated:
Но ты прелоад по лакал плеера засунул, я тоже изначально так думал сделать, но это же как то странно... щас буду проверять,99% десинхрон
и ещё нет синхронизации через гейм кеш....
quq_CCCP, Всё очень сложно, я вчитываюсь в твои сообщения по 20 раз и совершенно не могу понять что мне делать, но звучит так что должно запуститься
bifurcated, Проверил, второго игрока не выкинуло! почему? как? ничего не понимаю....
Поставил вар на ноут теперь могу адекватно проверять, у меня ничего не синхронизируется, как будто функция
quq_CCCP:
Что вообще делает эта строка? call StoreString(cache, , , val) - помещает локальное значение переменной VAL в кеш, в ячейку empty empty?
Вот я уже весь сайт перерыл, инфы 1% и он в статье про локалплеер
Помогите....
» WarCraft 3 / Система подсчета сыгранных игр
Что за pld файл? час пойду гуглить первый раз слышу
Мемхак есть да толку, уровень ctrc+c ctrl+v
» WarCraft 3 / Система подсчета сыгранных игр
» WarCraft 3 / Система подсчета сыгранных игр
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» WarCraft 3 / Система подсчета сыгранных игр
8gabriel8, прелоад всегда происходит у всех, а асинхронные данные синхронизируется и собираются в массив
» WarCraft 3 / Система подсчета сыгранных игр
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
А по поводу того что я не могу сейвануть, так у меня просто редактор не пашет, нажатие кнопки Ctrl почему то закрывает редактор даже без карты, всё оч странно
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
8gabriel8, у меня это всё отключено, я только касают контр+S и редактор просто закрывается
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
» XGM Конкурсы / Warcraft 3 Custom Maps Contest 2019
» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.
» WarCraft 3 / Как изменить Меню Статистики?
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!
Ред. Берги
» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!
И этот код вообще просто огрызок от большой системы, потому что именно здесь у меня вопросы были, но ответ уже дан, всё работает, осталось адаптировать систему под мониторы и готово, мы получили события наведения курсора на панель приказов, я пока даже не знаю зачем мне это
» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!
» Освободители / Освободители
» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!