Показано с 51 по 60 из 151
Тема: Фича или чит?
-
04.03.2010 17:14 #51Первые шаги
- Регистрация
- 01.03.2010
- Сообщений
- 7
-
04.03.2010 17:16 #52
-
04.03.2010 17:36 #53Неопределившийся
- Регистрация
- 12.08.2009
- Адрес
- Эстония
- Сообщений
- 216
-
04.03.2010 17:38 #54Первые шаги
- Регистрация
- 25.01.2010
- Сообщений
- 8
Бред, вот простейшая и несбалансированная функция rand()
@RandInt:
push ebx
xor ebx.ebx
imul edx, [ebx+RandSeed], $08088405
inc edx
mov [ebx+RandSeek], edx
mul edx
mov eax,edx
pop ebx
ret
Подсчитайте количество тактов процессора
Это же какой должен быть процессор чтобы не справиться? 386?
Еще учтите то что функция рандома постоянно выполняется, для выдавания того же разброса урона по мобам.
Все случайно, и считается на сервере)Information must be free!
А я живу в лесу
-
04.03.2010 17:54 #55
Как то летом в нубо локе около ГМ, южнее тайной деревни нашел коричневый краситель... Вокруг на километр никого не было...
Надавно в 69 сходили, с 3х боссов 2 фиола и форма шкуры быка) Все это мне попало, хоть подбирал и не я=) ВКР превзошел сам себя))Топайте на мой сайт!)))
-
04.03.2010 23:20 #56Развивающийся
- Регистрация
- 19.01.2009
- Сообщений
- 20
А теперь подсчитайте количество игроков, операций производимых ими... Это сколько параллельных процессов должно происходить? Там не супер компьютеры стоят. Тем более кроме рандома у серверов есть и другие задачи... (выложить ассемблерный код очень умно, но к сожалению я такой функции лет пять точно не видел, немного устаревшая инфа по моему)))))
-
04.03.2010 23:36 #57
В последнее время стала замечать, что даже при рандомном распределении лута, кто подобрал, тому лут и достается...за некоторым исключением)))
Ранее того не помню О___оВега друид 78 - off
Вега присточка 64+ - on
-
05.03.2010 10:25 #58
Повторюсь - все критически важные (да и просто важные) вычисления ведутся на сервере
Лут - в том числе. А "изменения состояния предмета" как вы назвали - сохраняются в базе данных. Если дать возможность ВСЕМ клиентам напрямую записывать в БД результаты - то возникнет куча взаимоблокировок и полный хаос с целостностью (кто то посчитал, но не успел передать и отвалился, например).
Насчёт флая.
Сразу ремарка - это не обсуждение читов.
Раньше работало так: клиент просто сообщал серверу текущие координаты, примерно как "нахожусь в точке xxx,yyy,zzz". ВСЁ, этого было достаточно - все проверки (а может ли игрок находиться в этой точке) выполнялись ПО клиента, что легко обходилось.
Теперь это работает так: клиент сообщает "Иду в точку xxx,yyy,zzz", на что сервер может ответить "Ок, твои новые координаты xxx, yyy, zzz" или "Неа, нифига подобного" или ответ может просто не дойти (потерялся). В последних двух случаях клиент "откидывает" вас на последнюю подтверждённую точку - думаю все это видели.
Все эти технологии далеко не новы, и используются например в том же проекте Mangos, в котором я когда то принимала участие...
Куда-куда ты собрался содержимое регистра переслать? По случайному адресу?mov [ebx+RandSeek], edx
-
05.03.2010 12:22 #59Первые шаги
- Регистрация
- 25.01.2010
- Сообщений
- 8
Люди, вы хоть читаете то что я написал? "простейшая и несбалансированная функция rand()", я набросал ее так навскидку, кстати если не ошибаюсь в делфи именно такой код. Кроме рандома у сервера несомненно много задач, но это одна из важнейших! Это и урон по мобам, игрокам, количество упавших монеток и много другого...т.е. это одна из приоритетных задач сервера, и уверен люди писавшие его грамотно решили и проблему оптимизации и постоянного вызова...
И для этого не нужно миллионы параллельных процессов, простой 2 ядерный проц без проблем обсчитает все.
Amylyn, а вам религия не позволяет определить переменную RandSeek?Information must be free!
А я живу в лесу
-
06.03.2010 23:30 #60Развивающийся
- Регистрация
- 28.01.2010
- Сообщений
- 27
По моим наблюдениям: если есть разница в уровне, то лут будет(при некоторых условиях) делиться неравномерно.
Последний раз редактировалось tmp111; 06.03.2010 в 23:34.





