PDA

Просмотр полной версии : [Вопрос] Как сделать



gangzone.ini
18.07.2014, 14:47
Как сделать вот такую штуку(красным отметила):
http://rghost.ru/56958824/image.png
Тексдрав смогу сама наверное, но как сделать функциональность, что бы показывало онлайн правильный.

MR_BEN
18.07.2014, 15:04
мм, циклы проверки

DeimoS
18.07.2014, 18:03
мм, циклы проверки

И как часто вы собираетесь обновлять данные? :)

Делается просто. В начало мода

enum BandInfo
{
GANG_BALLAS = 0,
GANG_GROOVE,
GANG_VAGOS
//И т.д.
}
new band_online[BandInfo];


При загрузке аккаунта (после загрузки фракции) вставляем что-то типа

switch(/*Переменная, хранящая ID фракции*/)
{
case /*ID баллас*/: band_online[GANG_BALLAS]++;
case /*ID грув*/: band_online[GANG_GROOVE]++;
case /*ID вагос*/: band_online[GANG_VAGOS]++;
}
//Отображаем текстдрав с числом бандитов на сервере

И при выходе с сервера

switch(/*Переменная, хранящая ID фракции*/)
{
case /*ID баллас*/: band_online[GANG_BALLAS]--;
case /*ID грув*/: band_online[GANG_GROOVE]--;
case /*ID вагос*/: band_online[GANG_VAGOS]--;
}
//Обновляем текстдрав с числом бандитов на сервере

Всё.
Это если говорить о онлайне в бандах всего, а не тех, кто на капте. Иначе лучше использовать стример от Инкогнито, создав им динамическую зону на месте капта и в коллбэке, вызываемом при входе/выходе в/из динамический зоны, делать то же самое, что я делал сейчас, только переменные чуть изменить под ситуацию

underwoker
18.07.2014, 19:52
И как часто вы собираетесь обновлять данные? :)

Делается просто. В начало мода

enum BandInfo
{
GANG_BALLAS = 0,
GANG_GROOVE,
GANG_VAGOS
//И т.д.
}
new band_online[BandInfo];


При загрузке аккаунта (после загрузки фракции) вставляем что-то типа

switch(/*Переменная, хранящая ID фракции*/)
{
case /*ID баллас*/: band_online[GANG_BALLAS]++;
case /*ID грув*/: band_online[GANG_GROOVE]++;
case /*ID вагос*/: band_online[GANG_VAGOS]++;
}
//Отображаем текстдрав с числом бандитов на сервере

И при выходе с сервера

switch(/*Переменная, хранящая ID фракции*/)
{
case /*ID баллас*/: band_online[GANG_BALLAS]--;
case /*ID грув*/: band_online[GANG_GROOVE]--;
case /*ID вагос*/: band_online[GANG_VAGOS]--;
}
//Обновляем текстдрав с числом бандитов на сервере

Всё.
Это если говорить о онлайне в бандах всего, а не тех, кто на капте. Иначе лучше использовать стример от Инкогнито, создав им динамическую зону на месте капта и в коллбэке, вызываемом при входе/выходе в/из динамический зоны, делать то же самое, что я делал сейчас, только переменные чуть изменить под ситуацию
Вопросик, для чего вы

GANG_BALLAS = 0,
приравниваете к нулю? Мне правда интересно почему.

L0ndl3m
18.07.2014, 19:55
Вопросик, для чего вы

GANG_BALLAS = 0,
приравниваете к нулю? Мне правда интересно почему.

Это тоже самое, что и

for(new i; i < 10; i++)
сравнить с

for(new i = 0; i < 10; i++)

DeimoS
18.07.2014, 20:05
Этим мы указываем в перечислении то, с какого именно числа начать выдавать значения для его членов. То есть, в данном случае значения будут следующие

enum BandInfo
{
GANG_BALLAS = 0,// 0
GANG_GROOVE,// 1
GANG_VAGOS// 2
//И т.д.
}
new band_online[BandInfo];

А если 0 заменить, например, на 15, будет следующее

enum BandInfo
{
GANG_BALLAS = 15,// 15
GANG_GROOVE,// 16
GANG_VAGOS// 17
//И т.д.
}
new band_online[BandInfo];

Если значение не указывать, по дэфолту оно будет равно нулю. Так что в первом случае указывать значение было не обязательно, но так, по-моему, нагляднее

underwoker
19.07.2014, 01:21
Этим мы указываем в перечислении то, с какого именно числа начать выдавать значения для его членов. То есть, в данном случае значения будут следующие

enum BandInfo
{
GANG_BALLAS = 0,// 0
GANG_GROOVE,// 1
GANG_VAGOS// 2
//И т.д.
}
new band_online[BandInfo];

А если 0 заменить, например, на 15, будет следующее

enum BandInfo
{
GANG_BALLAS = 15,// 15
GANG_GROOVE,// 16
GANG_VAGOS// 17
//И т.д.
}
new band_online[BandInfo];

Если значение не указывать, по дэфолту оно будет равно нулю. Так что в первом случае указывать значение было не обязательно, но так, по-моему, нагляднее
Ну про то что изначально при создании, значение равно 0 я знаю. Вот и спросил, зачем приравнивать :)

DeimoS
19.07.2014, 03:32
Ну про то что изначально при создании, значение равно 0 я знаю. Вот и спросил, зачем приравнивать :)

Для наглядности :) Во многих языках новым переменным выдаётся рандомное значение, если не сделать присвоение. Хотя этот факт никак не связан с тем, что я прописал это самое присвоение тут :D