Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.11.2009, 18:34
AlexsWulf вне форума Посмотреть профиль Отправить личное сообщение для AlexsWulf Найти все сообщения от AlexsWulf
  № 1  
Ответить с цитированием
AlexsWulf

Регистрация: Oct 2008
Адрес: Воронеж
Сообщений: 75
По умолчанию Как правильно работать с рейтингом?

День добрый.
Добрался наконец в приложении до рейтинга.
Читаю документацию вижу два метода для работы "getHighScores, setUserScore".
Как выяснилось setUserScore сколько раз пользователь приложения вызвал столько раз и записал сервер. Хотя я надеялся что он сам проверит и если рекорд у этого пользователя есть то просто перезапишет его не добавляя новую запись.

Решил перед вызовом setUserScore проверить есть ли данный пользователь в рейтинге и если есть то перезаписать через putVariable.
Но смущает меня один момент. Если после того как я проверю что пользователь есть в рейтинге но еще не успею перезаписать данные. Какой либо другой пользователь вытеснит первого из таблицы рекордов. Получиться что я перезапишу чужие данные.

Подскажите как правильно решить данную проблему? Или она у меня надуманная и проблемы нет?

Заранее благодарю за ответ.

Старый 28.11.2009, 19:03
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Как выяснилось setUserScore сколько раз пользователь приложения вызвал столько раз и записал сервер.
Насколько я понял, сервер запишет только в том случае, если рекорд больше наименьшего рекорда в таблице (наименьший при этом вытеснится), или, если она заполнена не полностью. А id текущего пользователя в расчет не принимается, и заносится лишь для информации.

Чтобы сделать такой рейтинг, как вы хотите, видимо, нужно на своем сервере логику реализовывать. Иначе, действительно, может получиться, что перезапишутся чужие данные.

зы: Можно попробовать сохранять в global_vars свой рейтинг.


Последний раз редактировалось udaaff; 28.11.2009 в 19:05.
Старый 28.11.2009, 19:17
AlexsWulf вне форума Посмотреть профиль Отправить личное сообщение для AlexsWulf Найти все сообщения от AlexsWulf
  № 3  
Ответить с цитированием
AlexsWulf

Регистрация: Oct 2008
Адрес: Воронеж
Сообщений: 75
Хм. Да сейчас таблица заполнена не полностью.
А не получиться так что даже если она заполниться он вытеснит все рекорды кроме одного игрока?
например в результате получим
111 - user1
112 - user1
113 - user1
114 - user1
и.д.

Я не знаю как я хочу сделать рейтинг. Это мое первое приложение. Просто нужно видеть рекорды например 20 пользователей приложения.

Старый 28.11.2009, 19:44
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от AlexsWulf Посмотреть сообщение
Хм. Да сейчас таблица заполнена не полностью.
А не получиться так что даже если она заполниться он вытеснит все рекорды кроме одного игрока?
например в результате получим
111 - user1
112 - user1
113 - user1
114 - user1
и.д.
Если таблица рекордов заполняется так, как я предполагаю, то вполне может получиться.
И global_vars вас, видимо, не спасут, может получиться та же ситуация, как вы описывали.
Я тоже сейчас создаю тестовое приложение, и как раз, заморачивался с рейтингом юзеров. Логику реализовал на своем серваке PHP(amf) + MySQL, надо обращайтесь.

Старый 28.11.2009, 22:54
AlexsWulf вне форума Посмотреть профиль Отправить личное сообщение для AlexsWulf Найти все сообщения от AlexsWulf
  № 5  
Ответить с цитированием
AlexsWulf

Регистрация: Oct 2008
Адрес: Воронеж
Сообщений: 75
Большое спасибо.
Да видно без стороннего сервера с базой данных тут не обойтись.
Но если он будет зачем тогда вообще какие то переменные хранить на сервере Вконтакте.

Старый 28.11.2009, 23:00
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Чтобы свой сервер не нагружать.

Старый 29.11.2009, 13:46
xdoom вне форума Посмотреть профиль Отправить личное сообщение для xdoom Найти все сообщения от xdoom
  № 7  
Ответить с цитированием
xdoom
 
Аватар для xdoom

Регистрация: Apr 2008
Адрес: black sea
Сообщений: 137
Отправить сообщение для xdoom с помощью MSN Отправить сообщение для xdoom с помощью Skype™
api vk это по большей степени только работа с балансом и выдёргивание инфы о друзьях и юзвере.. это моё впечатление )

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

с global_vars идея вполне неплоха, но я всё же сделал в своей базе =)

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:40.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.