Страница 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
Скинул правильный вариант тебе в личку