Страница 1 из 2

setUserScore

Добавлено: 09 апр 2010, 18:15
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 Дальше сам разберусь))(Если это вообще возможно!)

Re: setUserScore

Добавлено: 09 апр 2010, 21:33
psix55
Александр!Пожалуйста помогите!

Re: setUserScore

Добавлено: 09 апр 2010, 21:40
Александр
psix55 писал(а):Хотя бы натолкните на мысль
Нужно чтобы записывался лучший результат или последний?
Если лучший, то перед записью нового рекорда делай getHighScores. Проверяй есть ли среди рекордов этот ID, если есть, то проверяй лучше ли результат и после этого, если нужно, делай setUserScore.

Re: setUserScore

Добавлено: 09 апр 2010, 21:52
psix55
Да, лучший!, но от того что я проверю ничего не измениться!, например в таблице у человека 5.6 центов(или что-нибудь другого!), потом он повысил себе центы и получается что новое кол-во центов лучше, сл-но делаем setUserScore и добавляем новое кол-во центов, но не заменяем их!!

Re: setUserScore

Добавлено: 09 апр 2010, 22:10
Александр
Как то не подумал...

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

Re: setUserScore

Добавлено: 09 апр 2010, 22:11
VIP
хм хочу помочь, но не дорос ещё!!!!!

Re: setUserScore

Добавлено: 11 апр 2010, 11:27
psix55
Спасибо попробую потом если что напишу))

Re: setUserScore

Добавлено: 13 апр 2010, 16:29
psix55
для опыта запросил 32 переменную(1-й рекорд)

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

<response list="true">
 <var_info>
  <key>32</key>
  <value>45027439Миха Коробков</value>
 </var_info>
</response>
вопрос как мне проверить id??, если value равно "45027439Миха Коробков", а не id пользователя!

Re: setUserScore

Добавлено: 14 апр 2010, 17:59
Александр
5027439 - это id. Используя функции работы со строками (substr, indexOf), его можно вытащить. Но получиться ли записать обратно нужное значение я не знаю. Из-за этого могут возникнуть проблемы.

Re: setUserScore

Добавлено: 15 апр 2010, 06:33
bodnar
используй parseInt() от этой строки получишь число