Уроки по созданию браузерной игры
|
|
vohakisa | Дата: Четверг, 08 Апреля 2010, 15:14 | Сообщение # 101 |
был не раз
Сейчас нет на сайте
| Знаю в firebird 1.5 можно было писать формулы по которым в поле таблицы считало значение. Например в некое поле ALLPRICE прописывалось значение умножения поля COUNT и PRICE, то есть формула выглядела так (COUNT*PRICE). Вопрос состоит в том, можно ли в phpmyadmin сделать также? То есть я хочу чтобы поле LIFE в таблице USERS считалось по формуле (ATK*10). Или это всё придётся делать скриптами в коде?
|
|
| |
Assasin | Дата: Четверг, 08 Апреля 2010, 19:48 | Сообщение # 102 |
web-coder
Сейчас нет на сайте
| Quote (vohakisa) это всё придётся делать скриптами в коде
|
|
| |
СтИн | Дата: Воскресенье, 11 Апреля 2010, 23:55 | Сообщение # 103 |
уже был
Сейчас нет на сайте
| Спасибо, урок первый усвоил
Ну вот, вас только познакомили, а ты уже на него с ножом!
|
|
| |
boks199 | Дата: Пятница, 16 Апреля 2010, 22:16 | Сообщение # 104 |
был не раз
Сейчас нет на сайте
| [color=blue][size=10]Хочу создать браузерную игру нужный программисы и художники пишите в скайп tigr1993.(идей много)
хочу создать игрк
|
|
| |
Andreyker | Дата: Понедельник, 19 Апреля 2010, 01:54 | Сообщение # 105 |
был не раз
Сейчас нет на сайте
| Delete
Сообщение отредактировал Andreyker - Понедельник, 19 Апреля 2010, 18:08 |
|
| |
xxx09 | Дата: Суббота, 24 Апреля 2010, 14:16 | Сообщение # 106 |
был не раз
Сейчас нет на сайте
| Assasin, пожалуйста, дай свои контакты (скайп, эл.почту) есть предложение.
|
|
| |
Kventin | Дата: Понедельник, 26 Апреля 2010, 09:16 | Сообщение # 107 |
почетный гость
Сейчас нет на сайте
| Ошибка SQL-запрос: CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; Ответ MySQL: #1007 - Can't create database 'testgame'; database exists [ Назад ] Ошибка SQL-запрос: INSERT INTO `phpmyadmin`.`pma_history` (`username`, `db`, `table`, `timevalue`, `sqlquery`) VALUES ('root', '', '', NOW(), 'CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;CREATE DATABASE testgame DEFAULT CHARACTER SET cp[...] Ответ MySQL: #1146 - Table 'phpmyadmin.pma_history' doesn't exist вот выбивает когда пытаюсь создать базу
|
|
| |
wernher | Дата: Понедельник, 26 Апреля 2010, 09:44 | Сообщение # 108 |
Only God is Perfect
Сейчас нет на сайте
| Сначала надо создать базу командой: CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; Потом создать создать таблицу Например: /* таблица инвентаря */ CREATE TABLE `inventar` ( id_inv bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */ name_object CHAR(64), atk_up INT(2), def_up INT(2), lov_up INT(2), life_up INT(4), PRIMARY KEY (`id_inv`) /* Показываем что уникальным номером у нас являеться id_msg */ ) TYPE=MyISAM; И только потом добавлять в таблицу значения командой INSERT INTO Вообще, прежде чем делать свои браузерные игры, я бы посоветовал подучить мат. часть прочитав книгу "PHP 5 для чайников": http://creation-game.isgreat.org/index.php?module=Forum&do=ShowTopic&id=3
|
|
| |
Gasheg | Дата: Четверг, 06 Мая 2010, 20:42 | Сообщение # 109 |
был не раз
Сейчас нет на сайте
| У меня apache не включается в панели
|
|
| |
wernher | Дата: Четверг, 06 Мая 2010, 20:45 | Сообщение # 110 |
Only God is Perfect
Сейчас нет на сайте
| посмотри в папке с логами апача ошибку запуска.
|
|
| |
Gasheg | Дата: Четверг, 06 Мая 2010, 21:52 | Сообщение # 111 |
был не раз
Сейчас нет на сайте
| Все нашел))) над было скайп отключить! Добавлено (06.05.2010, 21:52) --------------------------------------------- Ошибка Ответ MySQL: Документация #1045 - Access denied for user 'root'@'localhost' (using password: YES) phpMyAdmin не смог установить соединение с сервером MySQL. Проверьте хост, имя пользователя и пароль установленные в конфигурационном файле config.inc.php и удостоверьтесь, что они соответствуют данным полученным от администратора сервера MySQL. Это как? о_О
|
|
| |
wernher | Дата: Пятница, 07 Мая 2010, 10:12 | Сообщение # 112 |
Only God is Perfect
Сейчас нет на сайте
| проверь настройки подключения к MySQL. Лоин, пароль и т.п. Они указаны в файле config.inc.php в папке с phpmyadmin. файл обильно коментирован
|
|
| |
1nferno | Дата: Четверг, 13 Мая 2010, 05:03 | Сообщение # 113 |
был не раз
Сейчас нет на сайте
| Доброго времени суток. Вопрос об общем принципе работы игры. PHP скриптовый язык. Изменения происходят в ответ на действия игроков. Каким тогда образом производить какие либо действия в игре, не отталкиваясь от действий игроков. Например: Бой (аля combats.ru) у нас есть таймаут в течении которого игроки должны сделать удар. Тоесть игрок1 бьёт з- записываем в БД, игрок2 бьёт - смотрим совершён ли удар игроком1 если да то высчитываем кто на сколько ударил и высчитываем жизни и записываем в базу все результаты ...... и так все ходы до окончания боя. Ситуация когда игрок1 уходит в оффлайн...(пропускает ходы - удар не наносит ) все данные в БД записвает игрок2. Но вот ситуация когда оба игрока уходят в оффлайн.... как тогда быть... у нас же есть таймаут на бой и он должен закончиться с игроками онлайн иди без. как он закончится если некому будет записывать бой в БД. Это лишь один пример проблемы , в игре может быть много ситуаций в которых надо будет изменять чтото в игровом мире при отсутствии игроков. Исправьте если я чтото не правильно понимаю.... (PHP не знаю, только начинаю изучать)
|
|
| |
Iceberg | Дата: Четверг, 13 Мая 2010, 13:47 | Сообщение # 114 |
был не раз
Сейчас нет на сайте
| 1nferno, Я понял к чему вы клоните. Вы хотите запускать php скрипты независимо от запросов пользователей. Для этого скрипты запускаются сервером. Есть много таких серверов (некоторые заточены специально под браузерные игры). Или же можно писать perl скрипты, которые будут что-то запускать, что-то обновлять, что-то регистрировать или что-то куда-то записывать. В общем это все серверное ПО. Дальше копайте в гугле.
|
|
| |
1nferno | Дата: Четверг, 13 Мая 2010, 14:29 | Сообщение # 115 |
был не раз
Сейчас нет на сайте
| каким образим будут запускаться скрипты на сервере ??? Есть много таких серверов (некоторые заточены специально под браузерные игры). Подскажите что вы имеете ввиду.... что за сервера ??? Допустим можно запускать скрипты по cron(в linux), но я думаю это както неправильно будет....
|
|
| |
Assasin | Дата: Четверг, 13 Мая 2010, 15:53 | Сообщение # 116 |
web-coder
Сейчас нет на сайте
| 1nferno, это решается скриптом, который проверяет нажата ли любая ссылка в течении определенного времени, если нет, то завершаем бой, выводим ничью и выкидываем игрока с игры.
|
|
| |
1nferno | Дата: Четверг, 13 Мая 2010, 16:09 | Сообщение # 117 |
был не раз
Сейчас нет на сайте
| Хммм... все равно не понимаю... скорее всего изза незнания PHP когда и кем запускается скрипт, который будет выкидывать игрока и завершать бой ??
|
|
| |
Angevengelist | Дата: Четверг, 13 Мая 2010, 16:18 | Сообщение # 118 |
постоянный участник
Сейчас нет на сайте
| 1nferno, скрипт будет запускаться сервером, когда в течении боя один из игроков не в сети определенное время, тогда бой завершается как ничья. Здесь нужно подключить элементарную логику и все.
|
|
| |
Lucasito | Дата: Четверг, 13 Мая 2010, 16:50 | Сообщение # 119 |
участник
Сейчас нет на сайте
| 1nferno, ты на самом-то деле поднял очень сложный вопрос. Если бы я начал на него отвечать, можно было бы целую статью на энное кол-во листов забабахать Выбираемых подходов множество и зависит от физической оснащенности, возможностей программиста, планируемой нагрузки и ещё кучи параметров. В данном случае, который ты описывал достаточно через cron запускать скрипт. Но если онлайн большой, то скорее всего сервер в моменты запуска будет подтормаживать. Или нужно заранее брать сервер, который будет успевать обрабатывать все данные с большим запасом. Если хочешь более подробного ответа, то задавай в ЛС более подробный и конкретный вопрос, обязательно отвечу.
Скриншоты. Приглашаем бета-тестеров! Помог? Ставь "+" мне в репу :)
|
|
| |
1nferno | Дата: Четверг, 13 Мая 2010, 18:03 | Сообщение # 120 |
был не раз
Сейчас нет на сайте
| Мне логика понятно по какому алгоритму что должно делаться Все равно ..... кто(какая программа) будет определять что пользователь не в сети ?, хотя нет, это не важно( это я так понимаю можно определить по последнему запросу пользователя, например если он был больше 10 минут назад [запись в базе времени последнего запроса пользователя]) - соответственно пользователь не в сети ) я веду к тому что все скрипты выполняются после какого либо нажатия на ссылку пользователем, соответственно если оба пользователя будут в оффлайне - кем будет вестись запись боя(завершение его например) ???Добавлено (13.05.2010, 18:03) --------------------------------------------- ну чтож... побеседовав с Lucasito, выяснил что пока известен только один нормальный метод: данные о бое у нас записываются в БД. потом допустим оба игрока уходят в оффлайн.... и в итоге окончание боя у нас запишет в базу тот, кто запросит любую информацию прямо или косвенно касающуюся боя (кроме рузультата боя это может быть инфа о самом игроке учавствовавшем в бою , так как текущее значение его жизней будет зависеть от результата боя) в итоге в базу будет занесена информация задним числом(временем). Впринципе обдумав... решение не такое уж плохое и не должно загружать сервер. Что скажете товарищи ???
|
|
| |