gameuser425
Участник
- Сообщения
- 30
- Реакции
- 3
Здравствуйте.
Я только начинаю писать плагины. Для меня всё ново, раньше занимался серверами для другой игры.
Научите пожалуйста меня пользоваться циклами)
Переменная MaxClients это что? Максимальное количество игроков на сервере? Или Самый верхний id игрока который находится сейчас на сервере?
То есть, слотов доступно 65. На сервере было 20 игроков, все ушли, а 20 id остался. И функция MaxClients будет равняться 20-ти и указывать что считать нужно до 20-ти?
Ещё вопрос.
В цикле вероятно нужно проверять находится ли игрок на сервере.
Правильно ли я делаю?
Ещё вопрос.
Почему знающие скриптеры используют в условии цикла
Допустим создал я глобальную переменную.
Теперь мне нужно пересчитать игроков и присвоить какие-то значения этой переменной.
Ну так вот. Почему цикл начинается с 1? Потому что игроки начинаются с 1, а 0 эти типа консоль? Про нулевую ячейку для консоли я где-то вычитал и ни черта не понял...
Если использовать "i <= MaxClients;" то цикл выходит за рамки массива.
Если объявлять массив new blablabla[MAX_PLAYERS +1]; то не много ли ячеек лишних будет? Ячейки же считаются с нуля вроде как. Получается, на сервере доступно 65 слотов... Нулевую ячейку я использовать не буду, да и прибавлю ещё одну что-бы цикл не выходил за рамки...
А можно сделать вот так???
Да и ещё... Почему я первый раз указал MAX_PLAYERS (65), а второй MAX_PLAYERS (64)
Почему в панели управления хостинга я указываю 64 слота, а в игре, в поиске серверов показывает 65 слотов? Резервный слот? Слот "консоли"?
Как правильно указывать мне MAX_PLAYERS в моих скриптах?
Ну и ещё... Есть какие нибудь сообщества? Где можно написать вопрос и пообщаться о нём, узнать больше и вникнуть в тему.
Я только начинаю писать плагины. Для меня всё ново, раньше занимался серверами для другой игры.
Научите пожалуйста меня пользоваться циклами)
Переменная MaxClients это что? Максимальное количество игроков на сервере? Или Самый верхний id игрока который находится сейчас на сервере?
То есть, слотов доступно 65. На сервере было 20 игроков, все ушли, а 20 id остался. И функция MaxClients будет равняться 20-ти и указывать что считать нужно до 20-ти?
for(new i = 1; i <= MaxClients; i++)
Ещё вопрос.
В цикле вероятно нужно проверять находится ли игрок на сервере.
C-подобный:
for(new i = 1; i <= MaxClients; i++)
{
if(IsClientConnected(i))
{
}
}
Ещё вопрос.
Почему знающие скриптеры используют в условии цикла
i <= MaxClients;" Вот так - "for(new i = 1; i <= MaxClients; i++)
Допустим создал я глобальную переменную.
C-подобный:
#define MAX_PLAYERS (65)
new blablabla[MAX_PLAYERS];
Теперь мне нужно пересчитать игроков и присвоить какие-то значения этой переменной.
C-подобный:
for(new i = 1; i <= MaxClients; i++)
{
blablabla = 8;
}
Ну так вот. Почему цикл начинается с 1? Потому что игроки начинаются с 1, а 0 эти типа консоль? Про нулевую ячейку для консоли я где-то вычитал и ни черта не понял...
Если использовать "i <= MaxClients;" то цикл выходит за рамки массива.
Если объявлять массив new blablabla[MAX_PLAYERS +1]; то не много ли ячеек лишних будет? Ячейки же считаются с нуля вроде как. Получается, на сервере доступно 65 слотов... Нулевую ячейку я использовать не буду, да и прибавлю ещё одну что-бы цикл не выходил за рамки...
А можно сделать вот так???
C-подобный:
#define MAX_PLAYERS (64)
new bool:grenade[MAX_PLAYERS];
public OnMapStart()
{
for(new i = 1; i < MaxClients; i++)
{
grenade[i-1] = false;//Для того что-бы использовать нулевую ячейку.
}
}
public void Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new clientid= GetClientOfUserId(GetEventInt(event, "userid"));
GivePlayerItem(clientid, "weapon_hegrenade");
grenade[clientid-1] = true;//Для того что-бы использовать нулевую ячейку.
}
Да и ещё... Почему я первый раз указал MAX_PLAYERS (65), а второй MAX_PLAYERS (64)
Почему в панели управления хостинга я указываю 64 слота, а в игре, в поиске серверов показывает 65 слотов? Резервный слот? Слот "консоли"?
Как правильно указывать мне MAX_PLAYERS в моих скриптах?
Ну и ещё... Есть какие нибудь сообщества? Где можно написать вопрос и пообщаться о нём, узнать больше и вникнуть в тему.
Последнее редактирование модератором: