Всем привет и по-быстрому - к теме. На сервере есть файл PHP, который генерирует таблицу рекордов. Базу данных подключил, запрос успешно посылается, новые "игроки" вписываются, но последующие запросы от того же имени таблицу не обновляют. В чём проблема? Есть подозрения, что где-то напортачил с переменными. Первоначальная версия шаблона предусматривало работу с двумя переменными, я же добавил ещё две. Пароли и имена изменены, не хочется палить сайт пока.
$connect=mysql_connect ($host,$user,$pass) or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ($highscore_db);
//создадим переменные из тех что были приняты, чтобы было проще к ним обращаться $name=$_GET["name"]; $pixels=$_GET["pixels"]; $squares=$_GET["squares"]; $seconds=$_GET["seconds"];
$action=$_GET["action"];
//эта функция добавляет или обновляет игрока в таблице function modify_table() { //сначало находим ряд в котором имя = заданному игроком имени $query = "SELECT * FROM таблица WHERE name='".$_GET["name"]."'"; $res = mysql_query($query) or die("Couldn't execute $query: ".mysql_error());
//если такого ряда нет - значит игрока еще нет в БД, если есть, значит игрок уже был туда внесен if (mysql_num_rows($res)==0) { //игрока нет - создаем новый ряд с его именем и очками $query = "INSERT INTO таблица VALUES('".$_GET["name"]."',".$_GET["pixels"].",".$_GET["squares"].",".$_GET["seconds"].")"; mysql_query($query) or die("Couldn't execute $query: ".mysql_error()); } //игрок есть - обновляем его результат, если он выше чем тот который записан else { $checker = mysql_fetch_assoc($res); if ($checker[pixels]<$_GET[pixels]) {//обновляем результат $query = "UPDATE таблица SET pixels=".$_GET["pixels"].", squares=".$_GET["squares"].", seconds=".$_GET["seconds"]." WHERE name='".$_GET["name"]."'"; mysql_query($query) or die("Couldn't execute $query: ".mysql_error());} } header("Location: http://мой-сайт.ру/highscore.php?yourname=$_GET[name]"); exit; }
function show_top() { //этой функцией мы выбираем первые 50 рядов по возрастанию очков $query = "SELECT name, pixels, squares, seconds FROM MuSquare ORDER BY pixels, squares, seconds DESC LIMIT 50"; $res = mysql_query($query) or die("Couldn't execute query: ".mysql_error());
//свитч следит за тем какую функцию надо выполнить switch ($action) { case "set": modify_table(); break; case "top": show_top(); break; default: show_top(); break; }
//закрыть соединение, это очень важно! mysql_close(); ?>
</body> </html>
Сообщение отредактировал toby3d - Вторник, 18 Июня 2013, 01:58
Добавлено (15.06.2013, 04:25) --------------------------------------------- Возрадуйтесь же! Теперь ваши результаты будут автоматически отправляться в онлайн-список рекордов на сайте! Ура! Продолжаю работать над вторым режимом игры. Страница покупки/скачки доделана, исправляю мелкие огрехи в дизайне. Думаю над скриптом отображения ТОПовых игроков в самой игре.
Добавлено (16.06.2013, 04:32) --------------------------------------------- Что-то я совсем расщедрился, решил добавить к игре пачку своих саундтреков. Не знаю сколько их будет всего, но как минимум 2 уже дописываются.
И снова всем здравствуйте! Вопрос такой: как создать онлайн-таблицу рекордов на сайте с отправкой данных из игры? Имеются 4 переменных, которые нужно отправить. Таблицу в базе данных уже создал, нужен скрипт составления этой таблицы и включить возможность сортировки по одной или нескольким столбцам, ну и "сигнал" отправки данных на сайт тоже узнать надо.
Помнится, находил похожую тему, но она вела на урок по GameMaker. Плюс объяснения там были непонятные, что и куда прописывать. ОЧЕНЬ надеюсь на ваш развёрнутый ответ! Спасибо!
С добавлением хардкора можно отрезать от игры большую часть потенциальных игроков
"Super Meat Boy" и "Super Hexagon" достаточно хардкорные для неподготовленных игроков, но фанаты у них имеются и достаточно много. Привыкают же.
Добавлено (13.06.2013, 01:22) --------------------------------------------- UPD: Разработку классического режима игры можно считать завершённой. Видео прикрепил в шапку. Начинаю работу над вторым режимом. Ссылка будет на днях, дизайн странички спроектирован.
P.S.: Если прям уж всем так интересно будет, могу в течении пары часов выложить видео второго режима, пускай и не доработанного пока.
Сообщение отредактировал toby3d - Четверг, 13 Июня 2013, 02:05
Спасибо большое! Сам думал в том же направлении, только про боковые части не подумал. P.S.: + смогу поставить только через 3 дня, в связи с ограничениями сайта. :(
Цитата (andarky)
удачи тебе!
Спасибо, и вам тоже удачи!
Добавлено (27.04.2013, 15:25) --------------------------------------------- На днях выйдет новая версия. Из плюшек: столкновения, наличие блоков, простая генерация, полная переозвучка + утилита для обновления.
Добавлено (07.05.2013, 05:51) --------------------------------------------- Поднимаю тему, дабы напомнить, что проект не заброшен и нуждается в фидбэке.
+ Добавил видео геймплея в "шапку".
Добавлено (11.06.2013, 22:51) --------------------------------------------- Поднимаю тему, всё ещё имеются проблемы с генерацией блоков.
Сообщение отредактировал toby3d - Понедельник, 15 Апреля 2013, 13:37
...Ну для динамики и хардкорности можно сделать так, чтобы камера под такт музыки отъезжала\приближалась))
Я сначала колебался над этим вариантом, потому что получится в итоге слишком вырвиглазно. Колеблющийся фон + колеблющаяся камера довольно нереальное для прохождения сочетание, но можно повесить чувствительность камеры в качестве негативного бонуса. Спасибо за идею, добавил в TO-DO.
UPD: Немного странный вопрос: Чего добавить в игру больше? Динамики, хардкора или... Безумия?
Сообщение отредактировал toby3d - Вторник, 11 Июня 2013, 23:25
v1.1.2 Beta (11.04.2014): + Изменён интерфейс главного меню и меню игры + Поправлен баланс в игровом процессе + Добавлена утилита для изменения имени в игре - Исправлен баг с некоторыми визуальными эффектами - Исправлен баг с отправкой данных о рекордах
v1.1 Beta (05.02.2014): + Добавлен экран со всеми рекордами (клик по имени игрока в меню) + Изменён интерфейс DeathScreen + Добавлена утилита конвертирования музыкальных файлов + Клик по ленте в верхнем правом углу откроет утилиту обновлений/смены имени - Исправлен баг с отменой выбора трека в меню - Исправлен баг с отправкой данных о рекордах
v1.0 Beta (03.02.2014): + Релиз первой версии игры
Сообщение отредактировал toby3d - Суббота, 07 Июня 2014, 19:08
И снова здравствуйте! Не сплю уже часов так 25, всё никак не могу ограничить вводимые символы в объект Edit Box. Конкретней: Например, я хочу разрешить игроку ввод ТОЛЬКО цифр или ввод только определённых букв или знаков. Как так сделать-то?
UPD: Ещё было бы прекрасно ограничить значения чисел, например, от 0 до 2500.
P.S.: Прошу не путать с событием "Limit Test Length"! Оно предназначено для ограничения КОЛИЧЕСТВА знаков в поле, например до 140 знаков (как в Твиттере).
Сообщение отредактировал toby3d - Пятница, 24 Мая 2013, 08:31
Приветствую всех форумчан! Уже пару месяцев гложет мысль начать серию видеоуроков по игровым движкам и конструкторам игр. Материалы есть, идеи есть, формат тоже. В следствии чего был создан опрос. Тут уже всё зависит от вас, если вам это интересно - буду делать. И, может быть, будут выпуски полностью завязанные на теориях видеоигр и геймдизайна. Посмотрим. А пока что мне нужен feedback, так что - ваши предложения, темы для видео и прочее прошу оставлять здесь!
P.S.: Модераторы, если я ошибся веткой - прошу меня извинить, ориентировался на координаты этой темы. P.P.S.: Так как этот проект затянулся, то - да, по его фишкам тоже будет отдельный урок. P.P.P.S.: Нет, проект выше не заброшен, я основательно работаю над генерацией уровня. Геймплейное видео прототипа пара-недельной давности - прикреплено там же.
Сообщение отредактировал toby3d - Пятница, 28 Июня 2013, 01:39
Гениально. Просто - гениально. Сил на анимацию и графон для этого дерьма проекта хватит ли? Честно - я б сыграл, если бы ещё элементы хоррора вставил. Чуть-чуть.
А что делать-то нужно? Просто треугольник вокруг шестиугольника летает.
Я пока не могу решить проблему с блоками, которые должны лететь к центру. Треугольник должен обходить блоки - в этом смысл игры. Если треугольник столкнётся с блоком - игра окончится.