FatalBlade
offline
Опыт:
7,398Активность: |
Десинхронизация - помимо GetLocalPlayer
У меня в карте почему то при её запуске по инету, у всех кроме Хоста вылетает. Насколько я понимаю это Десинхронизация. Я тщательно проверил свой код, и убедился что нету ничего что создаётся локально через GetLocalPlayer(). Но что ещё может вызывать десинк? Какие действия. Возможно ли это изза того что в РО есть юнит у которого есть около 70 абилок, который создаётся и сразу удаляется (это для прелода) ? Или же это изза функции call ShowUnit(...)? Или причина совсем другая? |
28.03.2012, 17:46 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
FatalBlade, попробуй закоментить потенциально опасные функции и проверить |
28.03.2012, 18:16 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
alexprey:
Вот именно... А какие функции мне считать потенциально опасными? |
28.03.2012, 18:34 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
для начала все c GetLocalPlayer() |
28.03.2012, 18:59 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
Faion:
Проверял. Ничего локально не создаётся. Всё по правилам. Я выявил триггер который вызывает десинк. Вот он:
» Код
Отредактировано FatalBlade, 28.03.2012 в 20:34. |
28.03.2012, 20:02 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
чтож вы нам мозги то парите, а ? |
28.03.2012, 20:49 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MpW
offline
Опыт:
50,187Активность: |
вырежи вот этот кусок из триггера и посмотри
Код:
если да, выкидывает, то проверяй из-за какого действия выкидывает таким же методом, выкинь сначало одно действие, потом второе. И короч проверь все функции. Отредактировано Steal nerves, 28.03.2012 в 21:18. |
28.03.2012, 20:50 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
да, потому что ShowUnit вызывает десинк, юзай
SetUnitVertexColor(255,255,255,0)
и на этот эвент отменять выделение, тока так |
28.03.2012, 21:01 | #8
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Черт, ты помог с 1 проблемой, я все думал, как удобнее локально хайдить юнитов. Совсем забыл про эту функцию. |
28.03.2012, 21:25 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
ScorpioT1000:
Всмысле? отменять определённый тип юнитов в условие? А это разве можно делать локально? |
28.03.2012, 21:26 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alpha
offline
Опыт:
7,387Активность: |
Принцип ясен |
28.03.2012, 21:26 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
FatalBlade:
Да. Хендлы же не затрагиваются. |
28.03.2012, 21:33 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
alpha:
А вот эта строка не будет делать десинк? Просто заранее, ещё до этого блока, написано вот это:
|
28.03.2012, 21:36 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
SelectUnit вот какраз обязательно надо делать внутри GetLocalPlayer |
28.03.2012, 21:37 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alpha
offline
Опыт:
7,387Активность: |
Да возьми ты популярные жирные карты, раздэпротекть, посмотри код и узнай.
Карты как книги перед носом, а ты шатаешь форум |
28.03.2012, 21:37 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
вот смотрите что близзы вам в BJ написали:
|
28.03.2012, 21:39 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
ScorpioT1000:
Да я не об этом))) Знаю что надо внутри. Просто как я понял, в данном случае нельзя выбирать юнита, который был локально скрыт/показан для другого. Отсюда и десинк. Если так, то любое выбирание юнита, будь то триггерно, или же вручную игроком в игре, приведёт к десинку. Я правильно понял? FatalBlade добавил:
ScorpioT1000: Вот тут можно поточнее? Если у меня например есть такой триггер
Он будет вызывать десинк? 'ngme' - совершенно не связанный с продавцами юнит. udg_AA[1] - тоже не связанный с продавцами юнит. В принципе этот триггер вообще не связан ни с чем из выше-написанного, но его регулирует событие EVENT_PLAYER_UNIT_SELECTED. |
28.03.2012, 22:04 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Нельзя скрывать/показывать юнита локально омфг. Это не визуальное изменение. |
28.03.2012, 22:21 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FatalBlade
offline
Опыт:
7,398Активность: |
И ещё вопрос. Вот я сделал всё это с помощью SetUnitVertexColor(...). Но теперь я могу случайно выбрать не своего продавца, а кого то другого. Как мне сделать что бы для какого то игрока, данный юнит был не выбираем. Я же не могу локально дать юниту способность Москиты =)) |
28.03.2012, 22:47 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Деселект делай, по другому никак. И полностью скрыть тоже вроде бы никак. |
28.03.2012, 23:27 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|