Особенности голосования
|
|
SunCreep | Дата: Воскресенье, 05 Июня 2011, 19:20:18 | Сообщение # 1 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Сделал систему голосования,основываясь только на собственных знаниях.Первая система позволяет 4 людям(первая команда) меня имя помогающего им компа.То бишь,если взять доту,то игрок 1,2,3,4,5 могу посовещавшись изменить имя "Sentinel" на "Победители".Всё работает,но есть пара проблем. Скажу,что у меня всё сделано на основе что 4 человека играют,и при этом достаточно 3 голоса на смену.А если играет 2,нужен 1 голос.Если 3 то 2 голоса чтоб сменить имя.Придётся это делать проверкой?И если да,то как.Сравнивать онлайн игроков и при этом включать и выключать нужные и ненужные триггеры?Зная что у меня будет 4 системы голосования,это приведёт к огромному кол-ву триггеров.Может есть способ попроще?Если есть,хотелось бы наработку.Я думаю таковая имеется уже на сайте.
|
|
|
|
Diabfall | Дата: Воскресенье, 05 Июня 2011, 19:25:36 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Делаешь переменную Integer. Забиваешь число игроков каждой стороны. Потом когда идёт голосование, сравнивай число в переменной и число проголосовавших.
Сообщение отредактировал Diabfall - Воскресенье, 05 Июня 2011, 19:28:02 |
|
|
|
DeadJass | Дата: Воскресенье, 05 Июня 2011, 19:26:11 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| SunCreep, сделай переемную с кол-вом игроков и делай так Голосование count число игроков countvote голоса Code if countvote==cout-1 then
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
SunCreep | Дата: Воскресенье, 05 Июня 2011, 19:51:13 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| DeadJass, извини,но я не знаю CS. Diabfall, как их сравнить?Просто вычесть одно из другого.Тогда как мне это поможет?Мне всё равно придётся копировать триггеры и менять условия в количестве голосовавших.Мне бы по подробнее.
|
|
|
|
DeadJass | Дата: Воскресенье, 05 Июня 2011, 19:58:43 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| SunCreep, две переменные. целочисленые одна count другая countvote count - число игроков countvote - число голосов в ходе голосования Условие Если countvote= count -1 То Переименовать Иначе
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
Diabfall | Дата: Воскресенье, 05 Июня 2011, 20:29:09 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Quote (SunCreep) Diabfall, как их сравнить? Твоя нароботка, как я понял работает когда проголосовало 4 игрока? 100% у тебя там есть переменная, которая содержит количество проголосовавших. Создай ещё переменную типа Integer. При инициализации карты забей в неё число играющих игроков. В ходе голосованя сравниваешь Если Integer=(переменной где посдчитаны голоса), то делаешь свои действия... При ливе игроков обновляй переменную Integer т.е. забивай новое число. Quote (DeadJass) Условие Если countvote= count -1 Мож countvote= count?)
|
|
|
|
Mep3aB4uK | Дата: Воскресенье, 05 Июня 2011, 20:31:43 | Сообщение # 7 |
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
| Quote (Diabfall) Мож countvote= count?) нет, если играет 4 игрока, то 3 голоса нужно(то есть -1)
|
|
|
|
Diabfall | Дата: Воскресенье, 05 Июня 2011, 20:40:18 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Quote (Mep3aB4uK) нет, если играет 4 игрока, то 3 голоса нужно(то есть -1) просто не прочитал до конца его текст)
Quote (SunCreep) Скажу,что у меня всё сделано на основе что 4 человека играют,и при этом достаточно 3 голоса на смену.А если играет 2,нужен 1 голос
|
|
|
|
SunCreep | Дата: Воскресенье, 05 Июня 2011, 20:43:38 | Сообщение # 9 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Честно говоря я не чё не понял из ваших слов.Но вы меня направили в правильное русло. Вот мой вариант: Каждые 0.1 я устанавливаю кол-во людей в первой тиме,где игрок 5 их помощник.(на скрине тоже самое со 2 тимой)4 это колво игроков в первой тиме минус все игроки союзники игрока АИ которые играют. Собственно вот оно для двух игровов А далее когда мы знаем что 3 это нужное кол-во голосов.И знаем сколько у нас всего голосующих я делаю так. 3-(4 - кол-во голосующих) При одном игроке работает.У меня после каждого ввода голоса выдаётся сколько голосовало из играющих.У меня было 1/1.В игре при двух должно быть 1/2,при трёх 2/3,ну а при четырёх 3/4. Или мой метод не то?
|
|
|
|
Diabfall | Дата: Воскресенье, 05 Июня 2011, 21:22:30 | Сообщение # 10 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Зачем каждые 0.1 сек.? 1 сек. более чем должно хватить. Вообще можно не проверять во всё время игры...
Сделай просто Int_Name_AI равно (PlayerNomberVoteNameAI-1) как сказал DeadJass
|
|
|
|