33

» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.

а что если просто абилы добавить герою? так пробовал, магазины с закреплённой камерой работают?
33

» WarCraft 3 / Система подсчета сыгранных игр

Вот она функция LOAD сделанная 8 раз
раскрыть
код((
globals
integer array cgame
gamecache gc = InitGameCache("cache")
endglobals
function Trig_Init_Actions takes nothing returns nothing
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
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()))) - надо подставлять айди конкретного игрока а не локально... едем дальше...
33

» XGM Конкурсы / Warcraft 3 Custom Maps Contest 2019

nvc123, ногами сможет, когда остальные мертвы появиться например прыжок, и можно будет прыгать на голову и наносить урон, кароче я понял, проект шляпа... И иной вася из 3б и петя с завода под пиво, тыкающие скилы мышкой ничего даже поймут и ливнут на 3й минуте, потому что в карте нет рабочих которыми надо строить...
33

» WarCraft 3 / Система подсчета сыгранных игр

bifurcated, спасибо, сижу разбераюсь вроде работает, по коду не пойму
bifurcated:
Только я не понял как при запуске выводит сообщение заранее то сколько раз игрок загружался если я даже триггер не запускаю
там галочка на инициализацию стоит поэтому стартует
Но ты прелоад по лакал плеера засунул, я тоже изначально так думал сделать, но это же как то странно... щас буду проверять,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
вообще не работает если верить дебагам
quq_CCCP:
кеше N ячеек, по 1 для каждой игрока, записывешь в каждую глобально 0 (любую одинаковую информацию)
где у нас ячейки у кеша? что такое ячейки кеша?
Что вообще делает эта строка? call StoreString(cache, , , val) - помещает локальное значение переменной VAL в кеш, в ячейку empty empty?
native StoreString takes gamecache cache, string missionKey, string key, string value returns boolean
missionKey- ??
Вот я уже весь сайт перерыл, инфы 1% и он в статье про локалплеер
Помогите....
33

» WarCraft 3 / Система подсчета сыгранных игр

потом вызываешь прелоад - глобально, но путь к файлу разный, у всех игроков
Как разный? у всех же игроков путь к преолоаду одинаковый (папка с варом\save\123.txt)
Что за pld файл? час пойду гуглить первый раз слышу
Мемхак есть да толку, уровень ctrc+c ctrl+v
33

» WarCraft 3 / Система подсчета сыгранных игр

так у меня и гейм кеш и прелоад тут, но что-то не так на этапе save я не проверял но возможно load исправно работает, можешь строки кода хоть посмотреть
33

» WarCraft 3 / Система подсчета сыгранных игр

pro100master, извращение это вводить или копировать гигантский код в чат игры, а суть в том чтобы игрок ничего не вводил и + кому надо в 2019 лезть в блокнот и что то редактировать, как тем темболее лезть в карт, темболее наличие каких либо данных в файле будет только усложнят игру.
8gabriel8, прелоад всегда происходит у всех, а асинхронные данные синхронизируется и собираются в массив
33

» WarCraft 3 / Система подсчета сыгранных игр

Вообще локально всё работает и я готов передавать больший объём данных из игры в игру, но в этом нет смысла ибо по сети код не работает даже на такой элементарщине! =(
33

» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.

Jareded, не уверен что эта система работает в мультиплеере, хотя будет хорошо если я ошибаюсь, но в системе используется кликабельный Dgui сделанный на юнитах и скорее всего юниты будут видны другим игрокам, или система вообще не заточена на мультиплеер
А по поводу того что я не могу сейвануть, так у меня просто редактор не пашет, нажатие кнопки Ctrl почему то закрывает редактор даже без карты, всё оч странно
33

» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.

даже по Ctrl+F вылетает, тяжело искать работать, кароче я пасс, но система класс =)
33

» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.

Jareded, открыл без редактора на 126, вижу у тебя 130, в общем система использует крутое DGUI полноценным инвентарём и куклой героя, кароче круто, уж ты смог себе всё это перенести, то осталось найти 1 функцию привязки к герою и готов (если всё правильно перенёс)
8gabriel8, у меня это всё отключено, я только касают контр+S и редактор просто закрывается
33

» XGM Конкурсы / Warcraft 3 Custom Maps Contest 2019

nvc123, да эту карту я знаю, (смотрел видео, хотя и не играл), но играл в такую где надо управлять башней, но я как раз так и хочу сделать, с низким порогом вхождения, максимально всё упростив, чтобы даже нубы без координации тащили, потому что можно даже 1 тащить будет, nvc123, так что, ты отговариваешь меня такое делать? мол идея хорошая но играть не будут....
33

» WarCraft 3 / Код Jaas, изменение кода в уже готовой наработке.

я бы тоже вам помог бы, но у меня редактор вылетает при сохранении, а карта открывается сразу со звёздочкой
33

» XGM Конкурсы / Warcraft III Mini-Game Contest-2018

Я хотел сделать обзор на все карты, выбрав по 3 минуты лучшего момента с каждой, но к сожалению меня в этот день ошарешели, чуть не сняв карту с конкусра, и я передумал, хотя есть видеопрохождение/геймплей каждой карты с конкурса
33

» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!

UrsaBoss, я 5 лет на cJass писал, и даже не знаю об этом, а потом оказалось что надо call set then в каждую дырку писать, ну ничего уже привык XD
33

» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!

PT153, уже всё получилось спасибо, я понял, PT153:
И зачем это лишнее присваивание u = null вначале?
Это пережитки прошлого из cJass где иногда если переменной не приписать нулл, то парсер будет ругаться на несуществующую переменную, я на чистый jass не давно перешёл, много вредных привычек осталось.
И этот код вообще просто огрызок от большой системы, потому что именно здесь у меня вопросы были, но ответ уже дан, всё работает, осталось адаптировать систему под мониторы и готово, мы получили события наведения курсора на панель приказов, я пока даже не знаю зачем мне это
33

» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!

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
33

» Освободители / Освободители

Играли Tovio, 2 раза, в целом было легко и атмосферно, легко даже при условии моего низкого Melee скила, я вот кстати думаю, что чаще всего уровень сложности зависит от уровня игры автора
33

» WarCraft 3 / Не могу одолеть GetLocalPlayer()!!!!!!

UrsaBoss, да это тоже самое только в другой обложке, ок я попробую, сделаю всё что вы написали