Вообщем, такой трабл, написал первый раз код на создание, пошел тестить с другом, как и ожидалось выдал фатал.
Потом порылся на сайте, нашел решение:
Создать юнита двух одинаковых, но для нашего помеять модель. Так и сделал(понимаю, что у меня будет милион юнитов, но всё же для теста). Юнитов создает, но я не могу к ним обратиться.
В итоге, надо создать юнита для одного игрока, подскажите кто сталкивался.
cdn1.savepice.ru/uploads/2017/9/7/5556f3371d3fb84edc8c6d9f66376e... моя помойка, перелопатил всё, что мог.

Принятый ответ

Можно сделать локально прозрачность, а если и управлять не нужно, то добавить москитов и будет не видимый юнит для других игроков
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
1
7 лет назад
0
Заработало в таком виде, не знаю с чего...
И всё же, есть у кого другой подход? Т.к я еще не проверял на диcинх.
TheNoyl:
Заработало в таком виде, не знаю с чего...
И всё же, есть у кого другой подход? Т.к я еще не проверял на диcинх.
Протестил, дисинх.
Загруженные файлы
0
32
7 лет назад
0
Будет всегда десинх, типы юнитов проверяются практически постоянно, у тебя будет несоответствие типов.
Локально создавать не локальные объекты не получится, будет десинх.
Максимум что можно, это сменить модельку с помощью мемхака.
Всякие там примеры про карты типа мафия, там юнитов создают как куклу, её не трогать ниче делать с ней низя...
1
13
7 лет назад
1
Можно сделать локально прозрачность, а если и управлять не нужно, то добавить москитов и будет не видимый юнит для других игроков
Принятый ответ
0
28
7 лет назад
Отредактирован nvc123
0
ты не правильно создаёшь
вот тебе пример
int rawcode='h000';
unit u;
if(Player(0)==GetLocalPlayer()){
	rawcode='h001';
}
u=CreateUnit(Player(1), rawcode, 0, 0, 0)
т.е. ты должен локально менять равкод и потом создавать юнита для всех игроков
а ты пытаешься локально создать юнита (что вызывает десинк)
0
13
7 лет назад
0
nvc123, А ты сам проверял? Просто я раньше также думал, что если поменяю не хендл, то десинка не будет, но в реальности все по другому получилось. Хотя было давно, может и не так делал.
0
28
7 лет назад
0
Borodach, проверял
если различия между типами только в модельке и нету кривых триггеров которые 1 равкод обрабатывают а другой нет то всё нормально
есть же статья на тему
0
1
7 лет назад
0
quq_CCCP:
Будет всегда десинх, типы юнитов проверяются практически постоянно, у тебя будет несоответствие типов.
Локально создавать не локальные объекты не получится, будет десинх.
Максимум что можно, это сменить модельку с помощью мемхака.
Всякие там примеры про карты типа мафия, там юнитов создают как куклу, её не трогать ниче делать с ней низя...
Мне впринципе не важно, можно и не юнитов использовать.
Главное чтобы были "пустышки" как на закрепе.
nvc123:
ты не правильно создаёшь
вот тебе пример
int rawcode='h000';
unit u;
if(Player(0)==GetLocalPlayer()){
	rawcode='h001';
}
u=CreateUnit(Player(1), rawcode, 0, 0, 0)
т.е. ты должен локально менять равкод и потом создавать юнита для всех игроков
а ты пытаешься локально создать юнита (что вызывает десинк)
Я так и делаю ._.
private integer array MODEL
private function CreateDummy takes integer id, integer did returns nothing
local integer i = 'h004'
local integer l = 0
call KillUnit(DUMMYUNIT[id])
call RemoveUnit(DUMMYUNIT[id])
loop
exitwhen (l == PLAYERCOUNTE)
if (l == 0 and GetLocalPlayer() == Player(id)) then
set i = MODEL[did]//Равкоды моих моделей
endif
set DUMMYUNIT[id] = CreateUnit(Player(l), i, DUMMYx, DUMMYy, FACEDUMMY)
set i = 'h004'
set l = l + 1
endloop
set DUMMYUNIT[id] = bj_lastCreatedUnit
call BJDebugMsg("Dummy: "+GetUnitName(DUMMYUNIT[id])+" player: "+I2S(id))
endfunction
Загруженные файлы
0
28
7 лет назад
Отредактирован nvc123
0
TheNoyl, ты какую то херню делаешь
if (l == 0 and GetLocalPlayer() == Player(id)) then
set i = MODEL[did]//Равкоды моих моделей
endif
нафига этот код в цикле?
я так понял id это номер игрока?
если да то нафига ты циклом для каждого игрока создаёшь юнитов, у тебя лишние юниты получаются
и вообще у тебя твой код работает только для красного игрока
объясни нормально что именно ты хочешь сделать
0
1
7 лет назад
0
nvc123:
TheNoyl, ты какую то херню делаешь
if (l == 0 and GetLocalPlayer() == Player(id)) then
set i = MODEL[did]//Равкоды моих моделей
endif
нафига этот код в цикле?
я так понял id это номер игрока?
если да то нафига ты циклом для каждого игрока создаёшь юнитов, у тебя лишние юниты получаются
и вообще у тебя твой код работает только для красного игрока
объясни нормально что именно ты хочешь сделать
Мне нужны пустышки. Юнит или нет, не важно, просто чтобы каждый игрок видел только свою пустышку.
Я же выше закрепил пикчи.
0
28
7 лет назад
Отредактирован nvc123
0
TheNoyl, что за пустышка?
откуда я знаю что на тех скринах пустышка
пустышкой может быть всё что угодно, начиная с модели героя которого пикаешь и заканчивая рамкой
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.