setUserScore

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

setUserScore

Сообщение psix55 »

Как-нибудь можно сделать так чтобы если id в таблице есть, чтобы его SCORE не записывались второй раз, а перезаписывались!

ВОТ :
ЩАС :

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<response list="true">
 <score_info>
  <score>15</score>
  <user_id>1</user_id>
  <user_name>Павел Дуров</user_name>
 </score_info>
 <score_info>
  <score>4</score>
  <user_id>1</user_id>
  <user_name>Павел Дуров</user_name>
 </score_info>
 <score_info>
  <score>2</score>
  <user_id>1</user_id>
  <user_name>Павел Дуров</user_name>
 </score_info>
</response>
А надо так :
было

Код: Выделить всё

<score_info>
  <score>4</score>
  <user_id>5027439</user_id>
  <user_name>Миха Коробков</user_name>
 </score_info>
стало

Код: Выделить всё

<score_info>
  <score>15</score>
  <user_id>5027439</user_id>
  <user_name>Миха Коробков</user_name>
 </score_info>
Хотя бы натолкните на мысль :D :D Дальше сам разберусь))(Если это вообще возможно!)
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

Re: setUserScore

Сообщение psix55 »

Александр!Пожалуйста помогите!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: setUserScore

Сообщение Александр »

psix55 писал(а):Хотя бы натолкните на мысль
Нужно чтобы записывался лучший результат или последний?
Если лучший, то перед записью нового рекорда делай getHighScores. Проверяй есть ли среди рекордов этот ID, если есть, то проверяй лучше ли результат и после этого, если нужно, делай setUserScore.
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

Re: setUserScore

Сообщение psix55 »

Да, лучший!, но от того что я проверю ничего не измениться!, например в таблице у человека 5.6 центов(или что-нибудь другого!), потом он повысил себе центы и получается что новое кол-во центов лучше, сл-но делаем setUserScore и добавляем новое кол-во центов, но не заменяем их!!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: setUserScore

Сообщение Александр »

Как то не подумал...

Ещё вариант, который можно попробовать.
Из описания метода setUserScore:
Вместе с getHighScores использует глобальные переменные 16, 17 и 32 .. 32+max_scores-1 для организации глобальной таблицы рекордов
Используя getVariables проверить переменые начиная с 32 до максимального количества записей рекордов, на наличие ID. И если в какой-то переменной этот ID встретился и рекорд лучше, то сделать putVariable в эту переменную.
VIP
Сообщения: 252
Зарегистрирован: 24 ноя 2009, 18:10

Re: setUserScore

Сообщение VIP »

хм хочу помочь, но не дорос ещё!!!!!
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

Re: setUserScore

Сообщение psix55 »

Спасибо попробую потом если что напишу))
Аватара пользователя
psix55
Модератор
Модератор
Сообщения: 1015
Зарегистрирован: 09 дек 2009, 17:16

Re: setUserScore

Сообщение psix55 »

для опыта запросил 32 переменную(1-й рекорд)

Код: Выделить всё

<response list="true">
 <var_info>
  <key>32</key>
  <value>45027439Миха Коробков</value>
 </var_info>
</response>
вопрос как мне проверить id??, если value равно "45027439Миха Коробков", а не id пользователя!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: setUserScore

Сообщение Александр »

5027439 - это id. Используя функции работы со строками (substr, indexOf), его можно вытащить. Но получиться ли записать обратно нужное значение я не знаю. Из-за этого могут возникнуть проблемы.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: setUserScore

Сообщение bodnar »

используй parseInt() от этой строки получишь число
Ответить