Сохранение денег в приложении

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)

Сохранение денег в приложении

Сообщение Dima22007 » 28 мар 2012, 11:03

Я уже 3 месяца ломаю голову как сохранить игровые деньги пользователя на сервере. Смотрел уроки ведение статистики, не помогло. Ну никак не пойму как сделать чтобы когда пользователь набрал любое колво денег, и когда наново зашел в игру, была такая же сума денег )
Dima22007

 
Автор темы
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Сохранение денег в приложении

Сообщение gaponj88 » 28 мар 2012, 11:21

Dima22007
Да 3 месяца это диагноз. Что тут сложного? Создай базу, создай таблицу, из приложения отправляй очки, PHP скриптом(в котором путь к базе, к таблице)
Отправляй таким образом:
  1.  
  2. var loader:URLLoader = new URLLoader();
  3. var request:URLRequest=new URLRequest('http://твой скрипт.php');
  4. request.method=URLRequestMethod.POST;
  5. var vars:URLVariables = new URLVariables();
  6. vars['scores']=scores;
  7. request.data=vars;
  8. loader.load(request);
  9. loader.addEventListener(Event.COMPLETE, onComplete);
  10. function onComplete(event:Event):void {
  11. result_tf.text=очки записаны;
  12. }

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

 
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26
Благодарил (а): 20 раз.
Поблагодарили: 26 раз.

Re: Сохранение денег в приложении

Сообщение Dima22007 » 28 мар 2012, 11:27

gaponj88 писал(а):Dima22007
Да 3 месяца это диагноз. Что тут сложного? Создай базу, создай таблицу, из приложения отправляй очки, PHP скриптом(в котором путь к базе, к таблице)
Отправляй таким образом:
  1.  
  2. var loader:URLLoader = new URLLoader();
  3. var request:URLRequest=new URLRequest('http://твой скрипт.php');
  4. request.method=URLRequestMethod.POST;
  5. var vars:URLVariables = new URLVariables();
  6. vars['scores']=scores;
  7. request.data=vars;
  8. loader.load(request);
  9. loader.addEventListener(Event.COMPLETE, onComplete);
  10. function onComplete(event:Event):void {
  11. result_tf.text=очки записаны;
  12. }

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


Спасибо, это мне поможет. А вывести точно так же ?
Dima22007

 
Автор темы
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Сохранение денег в приложении

Сообщение gaponj88 » 28 мар 2012, 11:31

  1. var loader:URLLoader = new URLLoader();
  2. var request:URLRequest=new URLRequest('http://твой скрипт_out.php');
  3. request.method=URLRequestMethod.POST;
  4. var vars:URLVariables = new URLVariables();
  5. vars['viewer_id']=viewer_id;
  6. request.data=vars;
  7. loader.load(request);
  8. loader.addEventListener(Event.COMPLETE, onComplete);
  9. function onComplete(event:Event):void {
  10. result_tf.text= loader.data;
  11. }

вытаскивай очки, по uid
Аватара пользователя
gaponj88

 
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26
Благодарил (а): 20 раз.
Поблагодарили: 26 раз.

Re: Сохранение денег в приложении

Сообщение alexei » 28 мар 2012, 11:39

Главное не забывайте проверять авторизацию на сервере.

А так:
Table:
  1. id: int //id base
  2. uid: int //id vkontakte
  3. cash: int // player cash


Сохранение:
Проверяем есть ли запись с таким uid, если да, то обновляем (Update ... where uid=@uid), нет — создаем. (insert ...)

Получение:
Тупой SELECT запрос where uid=@uid.
http://appslessons.com/ — Мой блог посвященный урокам приложений ВКонтакте
Аватара пользователя
alexei
Разработчик
Разработчик
 
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44
Откуда: Rostov-on-Don
Благодарил (а): 5 раз.
Поблагодарили: 54 раз.

Re: Сохранение денег в приложении

Сообщение drcode » 28 мар 2012, 21:54

Будь аккуратнее что бы запрос не перехватили и циферку не изменили. Создавай перед отправкой хэш этих данных, потом из полученных данных генерируй хэш и проверяй эти 2 хэша на совместимость. Если они будут разные значит где то проблема. Что бы человек не додумался подменить и сам хэш используй секретную переменную.
Аватара пользователя
drcode

 
Сообщения: 80
Зарегистрирован: 16 окт 2011, 00:07
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Сохранение денег в приложении

Сообщение gaponj88 » 28 мар 2012, 22:21

drcode
Ухахахахаха)Ну ты загнул, хеш)))Если он 3 месяца говорит, не может в базу просто цыфры записать, а ты про хеш, и мд5))
Аватара пользователя
gaponj88

 
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26
Благодарил (а): 20 раз.
Поблагодарили: 26 раз.

Re: Сохранение денег в приложении

Сообщение Dima22007 » 29 мар 2012, 12:48

gaponj88 писал(а):drcode
Ухахахахаха)Ну ты загнул, хеш)))Если он 3 месяца говорит, не может в базу просто цыфры записать, а ты про хеш, и мд5))


3 месяца я образно сказал ) Неделю точно парюсь. Про мд5 знаю на actionscript2
Dima22007

 
Автор темы
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Сохранение денег в приложении

Сообщение Dima22007 » 31 мар 2012, 11:04

Вот я пишу код в as
  1. var stat_loader:URLLoader = new URLLoader();
  2.             var stat_request:URLRequest = new URLRequest("http://fish.gamer-rus.net/stat.php");// заменяем на ссылку к вашему скрипту
  3.             stat_request.method = URLRequestMethod.POST;
  4.             // добавление параметров в запрос
  5.             var stat_vars:URLVariables = new URLVariables();
  6.             stat_vars['auth_key'] = LoaderInfo(root.loaderInfo).parameters.auth_key;// auth_key из FlashVars
  7.             stat_vars['viewer_id'] = LoaderInfo(root.loaderInfo).parameters.viewer_id;// ID просматривающего приложение
  8.             stat_vars['money'] = money;
  9.             stat_request.data = stat_vars;
  10.             // выполнение запроса
  11.             stat_loader.load(stat_request);
  12.            
  13.             loader.addEventListener(Event.COMPLETE, onComplete);
  14.             function onComplete(event:Event):void {
  15.                 result_tf.text="очки записаны";


Вот код в php:
  1. <?php
  2. // данные доступа к базе данных
  3. $db_host="localhost";       // обычно не нужно изменять
  4. $db_user="**";      // имя пользователя БД
  5. $db_password="**";      // пароль БД
  6. $db_name = "**";        // имя БД
  7. $table_name = "&&";     // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо
  8.  
  9. // данные приложения
  10. $app_id = '**'; // id приложения
  11. $api_secret = '**'; // защищенный ключ приложения с вкладки платежи
  12.  
  13.  
  14. $auth_key  = $_POST['auth_key'];
  15. $viewer_id = $_POST['viewer_id'];
  16.  
  17. $real_key = md5($app_id."_".$viewer_id."_".$api_secret);
  18. if ($auth_key == $real_key){
  19.     // соединение с БД
  20.     mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
  21.     mysql_select_db($db_name) or die (mysql_error());
  22.     mysql_query("SET NAMES 'utf8'");
  23.  
  24.     // Выполняем запрос: если пользователя с таким id ещё нет в БД, то добавляем, если есть, то обновляем запись, прибавляя одно посещение (`visits` = (`visits`+1))
  25.     $query = 'INSERT INTO `'.$table_name.'` (`uid`, `last_date`) VALUES ("'.$viewer_id.'","'.time().'") ON DUPLICATE KEY UPDATE  `visits` = (`visits`+1), `last_date`="'.time().'";';
  26.     $sql = @mysql_query($query);
  27.     echo "OK";
  28. }
  29. ?>


Что нужно еще написать в php, чтобы деньги сохранялись ?
Dima22007

 
Автор темы
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Сохранение денег в приложении

Сообщение gaponj88 » 31 мар 2012, 11:34

Dima22007
Скинул правильный вариант тебе в личку
Аватара пользователя
gaponj88

 
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26
Благодарил (а): 20 раз.
Поблагодарили: 26 раз.

След.

Вернуться в Создание Flash-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1