PDA

Просмотр полной версии : [Вопрос] Как лучше использовать функцию?



Dimon_Fanat
27.06.2018, 12:43
Всем добрый день, начал создавать ганг зоны для сервера, и появился такой вопрос. Как лучше выводить ганг зоны при спавне для всех игроков, или только для 1-го.

В OnPlayerSpawn

Так?


for(new i=0;i < sizeof(ZoneInfo); i++) { GangZoneShowForAll(ZoneInfo[i][gID],GetGangZoneColor(i)); }

Или так лучше?


for(new i=0;i < sizeof(ZoneInfo); i++) { GangZoneShowForPlayer(playerid,ZoneInfo[i][gID],GetGangZoneColor(i)); }

Daniel_Cortez
27.06.2018, 13:42
Смотря, что вы понимаете под "лучше".
Если судить с точки зрения здравого смысла, то, ИМХО, логично показывать гангзоны только бандитам, остальным игрокам они ни к чему. Если же речь о нагрузке на сервер, то она возникает не только от вызова каждой отдельной функции, но и от каждого отправленного пакета, причём нагрузка эта будет как на сам сервер, так и на канал. Посудите сами, что лучше - когда сообщение посылается одному или нескольким игрокам, или когда оно рассылается всем подряд - и помножьте эту разницу на количество гангзон. И это ещё не говоря о том, что необязательно показывать гангзоны при каждом спавне - достаточно сделать их показ только при первом спавне и приёме в банду, а также скрытие при исключении из банды.

Batya_Montes
27.06.2018, 14:30
Смотря, что вы понимаете под "лучше".
Если судить с точки зрения здравого смысла, то, ИМХО, логично показывать гангзоны только бандитам, остальным игрокам они ни к чему. Если же речь о нагрузке на сервер, то она возникает не только от вызова каждой отдельной функции, но и от каждого отправленного пакета, причём нагрузка эта будет как на сам сервер, так и на канал. Посудите сами, что лучше - когда сообщение посылается одному или нескольким игрокам, или когда оно рассылается всем подряд - и помножьте эту разницу на количество гангзон. И это ещё не говоря о том, что необязательно показывать гангзоны при каждом спавне - достаточно сделать их показ только при первом спавне и приёме в банду, а также скрытие при исключении из банды.

Дак можно вообще показать их при коннекте и не надо отслеживать какой раз там спавнится у нас игрок.

Daniel_Cortez
27.06.2018, 16:52
Дак можно вообще показать их при коннекте и не надо отслеживать какой раз там спавнится у нас игрок.
И тогда гангзоны будут показываться неавторизованным игрокам и у каждого появится возможность "подсмотреть" их, просто подключившись с ником какого-нибудь игрока из банды. Если и делать показ не в спавне, то только после авторизации.

DeimoS
02.07.2018, 01:26
Смотря, что вы понимаете под "лучше".
Если судить с точки зрения здравого смысла, то, ИМХО, логично показывать гангзоны только бандитам, остальным игрокам они ни к чему. Если же речь о нагрузке на сервер, то она возникает не только от вызова каждой отдельной функции, но и от каждого отправленного пакета, причём нагрузка эта будет как на сам сервер, так и на канал. Посудите сами, что лучше - когда сообщение посылается одному или нескольким игрокам, или когда оно рассылается всем подряд - и помножьте эту разницу на количество гангзон. И это ещё не говоря о том, что необязательно показывать гангзоны при каждом спавне - достаточно сделать их показ только при первом спавне и приёме в банду, а также скрытие при исключении из банды.

По-моему, в любом случае второй вариант будет лучше (именно оформление цикла, а не то, где он вызывается), ибо первый вариант, во-первых, всячески лишает возможности показывать гангзоны только бандитам, а, во-вторых, даже если гангзоны нужно показывать всем, то это всё равно, как ты уже заметил, будет лишний флуд пакетами.

P.S. Я понял посыл твоего сообщения и ты, по сути, говоришь то же самое, но просто твоё рассуждение про показ бандитам немного уводит от ответа на сам вопрос, как мне кажется :)