[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 9«123489»
Модератор форума: connect 
pff.clan.su - Форум » Игра NFK » NFK [R2] » nfkLive (Альтернатива NFK PLANET)
nfkLive
coolantДата: Пн, 2009-09-21, 16:22 | Сообщение # 11
Админ
Группа: Администраторы
Сообщений: 1109
Награды: 11
Статус: Offline
Набросал по быстрому, как примерно должна выглядеть бд статистики для ffa, дуелей. Дальше ее можно усложнять, добавлять всякие награды, вести подробную статистику, статистику по коммандным играм, кланвары и тд.
С этой схемой можно уже просматривать каждый матч, кто на нем играл, сколько набрал фрагов, смертей и другая статистика по конкретному игроку. Так же можно составить запрос для отображения суммарной статистики игрока по всем матчам.

Таблицы бд на pro2d.ru

Прикрепления: 1578083.png(11Kb)
 
connectДата: Пн, 2009-09-21, 17:13 | Сообщение # 12
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
Enforcer Нифига себе проще surprised

Не забываем также, что:
1) на одном компе может быть несколько разных пользователей
2) один пользователь может быть на нескольких компах

 
EnforcerДата: Пн, 2009-09-21, 20:15 | Сообщение # 13
Инжинер
Группа: Модераторы
Сообщений: 1161
Награды: 9
Статус: Offline
Гдеб он нибыл придется вводить тогда свой Логин и пароль...

 
connectДата: Пн, 2009-09-21, 21:58 | Сообщение # 14
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
И это нормально. Ты выбираешь сервер из веббраузера, логично было бы сделать логин там же
 
connectДата: Сб, 2009-09-26, 00:55 | Сообщение # 15
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
Немножко примеров кода:
Code
function nfkLive_Register(HostName_, MapName_ : string; Players_, MaxPlayers_, GameType_ : byte ) : boolean;
begin
BNET_LOBBY_SSID := newSSID;
       MainForm.NMHTTP1.body := ROOTDIR+'\system\ht.dat';
       MainForm.NMHTTP1.Get(
              'http://conn.ee/nfk/live/?action=register'
              +'&hostname='+HostName_
              +'&serverIP='+MainForm.GlobalIP
              +'&dedicated='+BoolToStr(OPT_SV_DEDICATED, true)
              +'&mapName='+MapName_
              +'&gameType='+inttostr(GameType_)
              +'&playerCount='+inttostr(Players_)
              +'&playerMax='+inttostr(MaxPlayers_)
              +'&timeLimit='+inttostr(MATCH_TIMELIMIT)
              +'&ssid='+BNET_LOBBY_SSID
          );
       sleep(500);
       BNET_AU_LIST.LoadFromFile(ROOTDIR+'\system\ht.dat');
       if BNET_AU_LIST[0] = 'OK' then
              addmessage('nfkLive: Server registered')
       else begin addmessage('nfkLive: ERROR! '+BNET_AU_LIST[0]); exit; end;
      result:= true;
end;

23:44:40: вот регалка нового сервака в нвклив
23:44:58: можно даже проверять, что ответил сервер
23:48:00: а на серваке лежит index.php
23:48:27: где прописано if $_GET[action] == 'register'
23:48:48: и дальше перегоняет параметры в mysql запрос
23:50:43: на время, пока сервер соединен с нфклив у него есть ssid (session id) грубо говоря сгенерированный ключ, с которым он может обновлять данные о своей записи (смена карты, кол-во игроков, и в том числе удаление из списка при выходе)
23:52:23: с каждым обновлением инфы, продлевается скрок службы этого ключа.. если сервак какое-то время не обновлял инфу - ключ устаревает и он автоматически перестает отображаться в списке активных серваков, на случай внезапного прерывания соединения

 
connectДата: Вт, 2009-09-29, 10:21 | Сообщение # 16
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
В последние дни, моя активность на форуме снизилась, однако это не означает, что проект R2 заброшен. На самом деле он делает рывок.

Код работы с Планетой заменен на Live. Переход осуществлен примерно на 80%. Пункт "Connect to NFK Planet" заменен на "Connect to NFK[R2]Live" и уже способен выводить списки доступных nfkLive серверов. Так же можно создавать эти сервера и просматривать их список с интернет сайта.

Для тех, кто может удивиться, почему я этим сейчас занимаюсь, поясню: таким образом я отдыхаю от погони за багами, но обязательно к ним вернусь.

 
connectДата: Ср, 2009-09-30, 00:12 | Сообщение # 17
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
Сделано: Сервера обновляют информацию о своем состоянии (количество игроков, карта, тип игры) и уже готовы отсылать статистику в конце матча. Для последнего в ближайшие дни будет введена система учетных записей.
 
connectДата: Чт, 2009-10-01, 16:58 | Сообщение # 18
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
Зашли в тупик при отправке статистики игрока. Выдает ошибки. Курим. Думаем.
 
connectДата: Пт, 2009-10-02, 16:11 | Сообщение # 19
Активный участник
Группа: Модераторы
Сообщений: 204
Награды: 1
Статус: Offline
coolant нашел баг в запросе, двигаемся дальше.

Клонировал дизайн QuakeLive, пока никакого функционала, но и это было не тривиальной задачей. Теперь можно разрезать на движок.
Пример: http://conn.ee/nfk/live/index3.php

 
coolantДата: Пт, 2009-10-02, 19:49 | Сообщение # 20
Админ
Группа: Администраторы
Сообщений: 1109
Награды: 11
Статус: Offline
Quote (connect)

лол, id будет в шоке biggrin
 
pff.clan.su - Форум » Игра NFK » NFK [R2] » nfkLive (Альтернатива NFK PLANET)
Страница 2 из 9«123489»
Поиск: