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

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

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

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

Добавлено: 28 мар 2012, 11:21
gaponj88
Dima22007
Да 3 месяца это диагноз. Что тут сложного? Создай базу, создай таблицу, из приложения отправляй очки, PHP скриптом(в котором путь к базе, к таблице)
Отправляй таким образом:

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

 var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://твой скрипт.php');request.method=URLRequestMethod.POST;var vars:URLVariables = new URLVariables();vars['scores']=scores;request.data=vars;loader.load(request);loader.addEventListener(Event.COMPLETE, onComplete);function onComplete(event:Event):void {result_tf.text=очки записаны;}
таким же образом выводи очки, читай разбирайся, если ты малейшего представления не имеешь, тебе уже никто не поможет

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

Добавлено: 28 мар 2012, 11:27
Dima22007
gaponj88 писал(а):Dima22007
Да 3 месяца это диагноз. Что тут сложного? Создай базу, создай таблицу, из приложения отправляй очки, PHP скриптом(в котором путь к базе, к таблице)
Отправляй таким образом:

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

 var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://твой скрипт.php');request.method=URLRequestMethod.POST;var vars:URLVariables = new URLVariables();vars['scores']=scores;request.data=vars;loader.load(request);loader.addEventListener(Event.COMPLETE, onComplete);function onComplete(event:Event):void {result_tf.text=очки записаны;}
таким же образом выводи очки, читай разбирайся, если ты малейшего представления не имеешь, тебе уже никто не поможет
Спасибо, это мне поможет. А вывести точно так же ?

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

Добавлено: 28 мар 2012, 11:31
gaponj88

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

var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://твой скрипт_out.php');request.method=URLRequestMethod.POST;var vars:URLVariables = new URLVariables();vars['viewer_id']=viewer_id;request.data=vars;loader.load(request);loader.addEventListener(Event.COMPLETE, onComplete);function onComplete(event:Event):void {result_tf.text= loader.data;}
вытаскивай очки, по uid

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

Добавлено: 28 мар 2012, 11:39
alexei
Главное не забывайте проверять авторизацию на сервере.

А так:
Table:

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

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

Получение:
Тупой SELECT запрос where uid=@uid.

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

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

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

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

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

Добавлено: 29 мар 2012, 12:48
Dima22007
gaponj88 писал(а):drcode
Ухахахахаха)Ну ты загнул, хеш)))Если он 3 месяца говорит, не может в базу просто цыфры записать, а ты про хеш, и мд5))
3 месяца я образно сказал ) Неделю точно парюсь. Про мд5 знаю на actionscript2

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

Добавлено: 31 мар 2012, 11:04
Dima22007
Вот я пишу код в as

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

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

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

<?php// данные доступа к базе данных$db_host="localhost";       // обычно не нужно изменять$db_user="**";      // имя пользователя БД$db_password="**";      // пароль БД$db_name = "**";        // имя БД$table_name = "&&";     // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо // данные приложения$app_id = '**'; // id приложения$api_secret = '**'; // защищенный ключ приложения с вкладки платежи  $auth_key  = $_POST['auth_key'];$viewer_id = $_POST['viewer_id']; $real_key = md5($app_id."_".$viewer_id."_".$api_secret);if ($auth_key == $real_key){    // соединение с БД    mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());    mysql_select_db($db_name) or die (mysql_error());    mysql_query("SET NAMES 'utf8'");     // Выполняем запрос: если пользователя с таким id ещё нет в БД, то добавляем, если есть, то обновляем запись, прибавляя одно посещение (`visits` = (`visits`+1))    $query = 'INSERT INTO `'.$table_name.'` (`uid`, `last_date`) VALUES ("'.$viewer_id.'","'.time().'") ON DUPLICATE KEY UPDATE  `visits` = (`visits`+1), `last_date`="'.time().'";';    $sql = @mysql_query($query);    echo "OK";}?>
Что нужно еще написать в php, чтобы деньги сохранялись ?

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

Добавлено: 31 мар 2012, 11:34
gaponj88
Dima22007
Скинул правильный вариант тебе в личку