Я думаю так . Достаточно хранить только order_id, больше ничего не нужно придумывать - дал монет = записал order_id куда угодно только его и все = перед тем как давать монеты проверил есть ли такой order_id записанный ранние.
Примерно так:
$result = mysql_query("SELECT * FROM $table_name WHERE orders='$order_id'");// Выбираем все поля где поле orders равно $order_id$myrow = mysql_fetch_array($result);//все это в массив...if($myrow){//Если нашлось то- ничего не делаем :D }else{//Если нет- даем монет и записываем что мы давали уже, с помощью order_id на то они его и придумали :D result = "UPDATE $table_name2 SET money='$addmoney' WHERE idvk='$receiver_id'";result = "INSERT INTO $table_name (order) VALUES ('$order_id')";}
Могут быть ошибки, но суть вроде передана
Вопрос у меня такой: Сколько хранить эти ордера в своей базе? Спасибо.
Для меня этот пример удивителен тем, что он заработал сразу и без ошибок) Но есть вопрос:
Вот у меня игра (весьма масштабная), но написана в кадрах. И за задумкой, этот код должен быть в двох разных кадрах. Можно ли это как-то организовать?
Оло-ло! В кадрах, обычно, если объявляеш переменную, а в другом с ней что-то делаеш, то не работает (или вообще не компилируеться). А тут... это не действует!! Можете пояснить почему и как так? Есть смутные догадки, что это потому что извне взаимодействие идёт, но хотелось бы услышать мнение профессионала.
import flash.display.Sprite;import flash.events.*;import vk.APIConnection;import vk.events.*; //Переменные var api_id:Number; var viewer_id:Number; var sid:String; var secret:String;//Заполняем переменные даннымиvar flashVars:Object = stage.loaderInfo.parameters as Object;api_id = flashVars['api_id'];viewer_id = flashVars['viewer_id'];sid = flashVars['sid'];secret = flashVars['secret']; var VK:APIConnection = new APIConnection(flashVars);
намного лучше писать в классах...=)
вот кстати моя функция для локального теста и для залитого на хост...
и да, getProfiles лучше не использовать... она просто для совместимости существует...
public var api_id:String;public var viewer_id:String;public var sid:String;public var secret:String;public var auth_key:String;public var flashVars:Object; public var VK:APIConnection;//....код....private function setFlashVars():void { flashVars = this.stage.loaderInfo.parameters as Object; if(!flashVars["api_id"]) { // для локального теста... flashVars["api_id"] = "xxx"; flashVars["viewer_id"] = "xxx"; flashVars["sid"] = "xxx"; flashVars["secret"] = "xxx"; flashVars["auth_key"] = "xxx"; } api_id = flashVars["api_id"]; viewer_id = flashVars["viewer_id"]; sid = flashVars["sid"]; secret = flashVars["secret"]; auth_key = flashVars["auth_key"];}//.....код.....VK = new APIConnection(flashVars); // создаем класс вк
а подскажите, пожалуйста, как поступить, если нужно в отдельном классе все это организовать? Вот, например, есть отдельный класс, там прописан внешний вид окошка с кучками золота (эти кучки играют роль кнопок), так вот когда пытаюсь добавить в этот класс данный код, выходит что stage теперь нужно передавать как аргумент при создании класса? выдает ошибки и после сборки просто пустое окно, там не создаются больше тот интерфейс с кучками..помогите, пожалуйста