- 263 - HeroesWorld-

:
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

5 - ( ) Heroes of Might and Magic V. .

263 263
 
#3931
13.07.2024, 20:34
  #3931
^
Gerter
 
  Gerter
📖
: 16.07.2012
: -
: 834
pegn0ly#9113
 :  -  : `     `  2018 ` (  HoMM V)` 
: 1
: 16.07.2012
: -
: 834
pegn0ly#9113
 :  -  : `     `  2018 ` (  HoMM V)` 
: 1
Re:

Ну если глянуть код DialogBox'а, то можно предположить, что проблема в использовании GetCurrentPlayer там. TalkBox ожидает первым аргументом не номер игрока, а его filter. Для 1 и 2 игрока фильтр равен номеру, но для 3+ нет. Поэтому, вероятно, и работает только для двух первых игроков. Если проблема в этом, то решением будет обернуть первый аргумент DialogBox'а - GetPlayerFilter(GetCurrentPlayer())
__________________
.
.
Gerter
#3932
13.07.2024, 21:09
  #3932
^
green belly
 
  green belly
📖
: 14.06.2024
: 11
: 14.06.2024
: 11
Re:

Попробовал поменять местами 1 с 3 объектами, код оставил прежним.

Было так:
первый игрок = объект "1"
второй игрок = объект "2" и т.д.
3 игрок и 3 объект и так до 8 не работали

Стало так:
первый игрок касается объекта "3" и все работает
третий игрок касается объекта "1" и не работает.

Значит код верный и работает для всех 8 функций.

Получается дело в номере игрока - для 2 игроков работает, для 6 нет.
Придется отказаться от классной задумки бонуса на усмотрение игрока человека(((

 



Добавлено через 28 минут
GerterНу если глянуть код DialogBox'а, то можно предположить, что проблема в использовании GetCurrentPlayer там. TalkBox ожидает первым аргументом не номер игрока, а его filter. Для 1 и 2 игрока фильтр равен номеру, но для 3+ нет. Поэтому, вероятно, и работает только для двух первых игроков. Если проблема в этом, то решением будет обернуть первый аргумент DialogBox'а - GetPlayerFilter(GetCurrentPlayer())
Прописал получение фильтра, все заработало, благодарю 
green belly
#3933
13.07.2024, 22:05
  #3933
^
Gerter
 
  Gerter
📖
: 16.07.2012
: -
: 834
pegn0ly#9113
 :  -  : `     `  2018 ` (  HoMM V)` 
: 1
: 16.07.2012
: -
: 834
pegn0ly#9113
 :  -  : `     `  2018 ` (  HoMM V)` 
: 1
Re:

сразу бы хотел предупредить, что если собираешься юзать талкбоксы в мультиплеере по сети, то лучше сразу отказаться от этой идеи, т.к. эта функция ломает сейвы в мультике.
__________________
.
.
Gerter
#3934
13.07.2024, 22:17
  #3934
^
 
📖
: 23.04.2019
: 98
: 23.04.2019
: 98
Re:

green belly

Попробовал поменять местами 1 с 3 объектами, код оставил прежним.

Было так:
первый игрок = объект "1"
второй игрок = объект "2" и т.д.
3 игрок и 3 объект и так до 8 не работали

Стало так:
первый игрок касается объекта "3" и все работает
третий игрок касается объекта "1" и не работает.

Значит код верный и работает для всех 8 функций.

Получается дело в номере игрока - для 2 игроков работает, для 6 нет.
Придется отказаться от классной задумки бонуса на усмотрение игрока человека(((

 



Добавлено через 28 минут
Прописал получение фильтра, все заработало, благодарю 
 
У всех функций которые называются ....BoxForPlayers аргумент на id игрока работает странно. 1 игрок = 1, 2 игрок = 2, 3 игрок = 4, 4 игрок = 8, 5 игрок = 16, 6 игрок = 32, 7 игрок = 64, 8 игрок = 128. Насчет последних 2 не уверен, проверял только для 6 игроков. 
__________________
: , , , .
: , , , .
#3935
14.07.2024, 17:27
  #3935
^
Jack_of_shadows
 
  Jack_of_shadows
📖
: 08.09.2013
: 521
:  -  :    2015-  (  HoMMV) 
: 1
: 08.09.2013
: 521
:  -  :    2015-  (  HoMMV) 
: 1
Re:

Долгий 
У всех функций которые называются ....BoxForPlayers аргумент на id игрока работает странно. 1 игрок = 1, 2 игрок = 2, 3 игрок = 4, 4 игрок = 8, 5 игрок = 16, 6 игрок = 32, 7 игрок = 64, 8 игрок = 128. Насчет последних 2 не уверен, проверял только для 6 игроков. 

Это битовая маска, чтобы можно было выводить одинаковое сообщение сразу для нескольких игроков. Например если нужно для 1, 3 и 5, то можно передать PLAYERFLT_1 + PLAYERFLT_3 + PLAYERFLT_5.
__________________
- HoMM5:

HoMM5:
- HoMM5:

HoMM5:
Jack_of_shadows
263 263

« | »




GMT +4, : 22:45.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. ()

     Top.Mail.Ru