Для проекта который описан тут: http://gcup.ru/forum/69-18147-1
Требуется нарисовать карты, фоновые изображения, иконки кнопок и т. д. на данный момент используются изображения из оригинальной игры (посмотреть можно тут: http://fotki.yandex.ru/users/lc-print/view/393648/?page=0), но это естественно временная мера, их нужно заменить на собственные.
Объем работ на сегодняшний день представляет:
14 карт существ и 8 карт магии 105*144 4 карты героев 105*144 ~20 иконок ресурсов и т.д. 66*40, 24*24, 10 фоновых изображений 800*600 2 изображения "расы" (люди и варвары) 167*244
тут можно посмотреть работы которые мне понравились (картинки титана и мага):http://heroes.ag.ru/stuff/pictures/
Сообщение отредактировал Andy-go - Пятница, 18 Ноября 2011, 09:41
Вот как у меня выглядит файл отвечающий за добавление записей в юзерс таблицу:
Code
<?php session_start();
@include("config.inc.php"); @include("functions.inc.php"); //Необходимо подключиться к БД $link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("Не могу подключиться" ); // сделать $DB текущей базой данных mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
//Создаем запрос к базе для проверки существования Пользователя $login = $_POST['login']; mysql_query("SELECT * FROM users WHERE login='".strtolower($login)."'");
//Создаем запрос для записи данных в БД $query = "INSERT INTO users (login,pass,email,gender,user_birthday,character_birthday,sessionid,realname) VALUES('".strtolower($login)."','$pass','$email','$Gender','$Date',Now(),'$uniq_id','$RealName')"; $r = mysql_query($query,$link) or die("Query failed : " . mysql_error()); if($r) {
// Для отправки e-mail в виде HTML устанавливаем необходимый mime-тип и кодировку $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=windows-1251' . "\r\n"; // Откуда пришло $headers .= 'From: NewBk <game@newbk.org>'."\r\n"; //Здесь укажите электронный адрес, куда будут уходить сообщения $subject = "Подтверждение регистрaции на сайте"; $message = 'Для активации аккаунта пройдите по следующей ссылке <a href="http://newbk/reg_activation.php?activation='.$uniq_id.'" target="_blank">http://newbk/reg_activation.php?activation='.$uniq_id.'</a>'; $message .= 'или скопируйте ссылку в окно ввода адреса браузера и нажмите enter.'; //Отправляем сообщение if(sendmail($email,$subject,$message,$headers) !== FALSE) { echo "<script type=\"text/javascript\"> document.location.href = \"reg_sucess.php\"; </script>"; } }
Офисные лентяи - самая "дойная" категория пользователей - кому же они не нужны? :))
Добавлено (26.10.2011, 13:22) --------------------------------------------- Если серьездно, то сначала нужен рабочий прототип - и это будет браузерка - а там посмотрим что и как...может я увлекусь бобслеем
Добавлено (27.10.2011, 19:39) --------------------------------------------- Выкладываю описание системы боя:
общая информация:
- каждый игрок располагает тремя типами карт: 1- карта героя (оказывает влияние на все остальные карты своими характеристиками, способностей и специальности); 2 - карты существ (иеют 5-е характеристик: 1 -атака, 2- защита, 3 - жизнь, 4- тип существа/атаки(одна катра может иметь несколько значений этой характеристики) и 5-"стоимость ввода на игровое поле"); 3 - карты магии(меют 2-и характеристики: 1 - /+жизнь/+атака/+защита/+атака и защита/-жизнь/-атака/-защита/-атака и защита/+боевой дух героя(в зависимости от типа конкретной карты), 2 - стоимость ввода)
- цель боя снизить "боевой дух" вражеского героя до 0 или отрицательного значения (боевой дух героя снижается когда его атакуют существа\магия соперника, а так же при наличии на игровом поле определенных карт соперника).
- в начале боя "боевой дух" каждого героя, по умалчанию =30 единицам (может изменяться в зависимости от надетых на героя артефактов и изученных им способностей)
- в начале боя каждый игрок получает 5-ть случайных карт из своей колоды (на начало боя колода не может состоять менее чем из 21 карты)
- очередность хода(кто ходит первым) определяется случайным образом согласно аналоговому методу "бросок 8-мигранного кубика" (кто выбросил больше тот ходит первым, на это событие так же могут влиять изученные героем способности, например: герой А имеет изученную способность "тактика" 1-го уровня поэтому его шанс выбросить наибольшее значение(=8) увеличивается на 5% и соответственно равен не 12,5% а 13% против 12,5% героя Б, но только при условии что горой соперника не имеет такой же изученной способности, в противном случае при = уровне способности обоих героев они взаимно нейтрализуются если же герой А имеет способность "тактика" 3 уровня а "тактика" героя Б равна 1 уровню, уровень способности героя Б вычитается из уровня способности героя А
- одновременно на игровом поле одного игрока может присутствовать не больше 5-ти карт существ
- для вывода карты на игровое поле игрок должен быть в состоянии оплатить "стоимость вывода" (например чтобы вывести на поле арбалетчика игрок должен заплатить 3 единицы леса и 2 единицы железа)
- всего в бою присутствует 7-мь типов ресурсов: лес, ртуть, железо, соль,кристаллы, самоцветы и манна(ей оплачивается розыгрыш карт магии).
- на начало боя количество всех ресурсов, кроме манны, для всех игроков равно нулю.
- Количество манны на начало боя определяется уровнем "знания" героя *10 (так например если уровень "знания" героя =1 то в начале боя у него есть 10 манны).
- в начале каждого хода игрок получает +2 ресурса к лесу и железу и +1 ковсем остальным ресурсам кроме манны. (эти значения могут изменяться в зависимости от экипированных герою артефактов и изученных им способностей)
- манна не может превышать своего максимального значения ("знания" героя *10), поэтому если на начало хода уровень манны максимален, то она не увеличивается если же на начало хода уровень манны меньше максимального значения то он увеличивается, по умолчанию, на 1 (это значение может изменяться в зависимости от надетых на героя аретефактов и иученных им способностей)
- основным элементом боя являются "сражения" между двумя отдельными картами существ принадлежащих соперникам
- сражение между двумя картами существ происходит по следующей схеме (все цифровоые значения возникающие в процессе сражения, синхронно(урон и парирование), либо последовательно(-жизнь выводится только после вывода пары урон-парирование)выводятся на экран так чтобы пользователи их успевали увидеть и осознать): 1 - фаза выбора атакующей карты 1.1 - в свой ход игрок выбирает карту существа (клик по карте) из присутствующих на игровом поле (либо вводит карту существа с способностью позволяющей ей атаковать в тот же ход в который она была введена на поле) 1.2 - выбранная игроком карта подсвечивается
2 - фаза проверки 2.1 - производится проверка выбранной карты игрока, всех присутствущих на игровом поле карт соперника, и карты героя соперника на "тип существа" 2.2 - по результатам проверки существа(герой) которые могут быть атакованны "подсвечиваются"
3 - фаза выбора цели 3.1- игрок выбирает одну из подсвеченных карт соперника и атакует её своей картой (клик по выбранной карте соперника) 3.2 - карта игрока и карта цель выводятся в всплывающем окне поверх части игрового поля
4 - схватка нападение 4.1 - атакующая карта случайным образом получает значение урона(не может быть меньше чем 1) в дапапзоне своей атаки (если атака 3, то урон определяется случайным образом в диапазоне 1-3) 4.2 - цель случайным образом получает значение парирования (не может быть меньше 1) в диапазоне своей защиты (если защита 5, то парирование определяется случайным образом в диапазоне 1-5) 4.3 - полученные значения урона и парирования сравниваются 4.4 - если по результатам сравнения урон>парирования, то из жизни цели вычитается число равное "атака"-"парирование"(цель получает урон) 4.4.1 - если по результатам сравнения урона и парирования урон<=парирование, то цель не получает урона 4.5 - если значение полученного урона => значения жизни цели, то на этом схватка завершается (всплывающее окно исчезает) а карта-цель выводится с игровой доски в отбой(становится недоступна до окончания боя) 4.5.1 - если значение полученного урона< жизни цели, то цель остается на игровом поле и схватка переходит в стадию контрудара (если тип атакующего существа допускает контрудар)
контрудар (возможен только если тип атакующего существа позволяет нанести ему контрудар(например стрелок не позволяет)) В этой фазе все происходит по той же схеме что и в фазе "нападение", п4.1-4.5 с той лишь разницей что цель и атакующая карта какбы "меняются местами", и по окончании п4.5 сражение считается оконченным
- присутствующие на данный момент типы существ/атаки и их свойства (будут пополняться в дальнейшем):
"Пика" - производит нападение на любое существо не получая ответного удара, а так же наносит упреждающий ответный удар атакующей "кавалерии"
"стрелок" - производит нападение на любое существо избегая фазы контрудара, не может быть атакован вражеским существом типа "ближний бой", если на игровом поле присутствует дружественное существо типа "ближний бой", может атаковать карту героя при наличии существ соперника на игровом поле
"ближний бой" - не может напасть на сущесто типа "летающий", не может атаковать существ типа "стрелок" если на игровом поле присутствует карта соперника типа "ближний бой"
"булава" - 50% оглушения цели в фазе нападение, в случае успеха фаза контрудар не проводится
"летающий" - не может быть подвергнуться нападению от существ типа "ближний бой", может атаковать карту героя при наличии существ соперника на игровом поле
"кавалерия" - при нападении на существо типа "пеший" наносит 200% урона (только в случае если по результатам расчетов бозовый урон "кавалерии" больше парирования "пешей" цели)
"пеший" - поулчает 200% урона если подвергается нападению существа типа "кавалерия", имеет 50% шанс избежать нападения со стороны "летающего"(в этом случае фаза нападение пропускается и сразу происходит фаза защита)
"страшный" - каждый раз когда существо этого типа производит нападение на карту соперника, независимо от результата боевой дух героя соперника падает на 4; когда существо типа "страшный" погибает герой соперника подучет+4 к боевому духу
- герой соперника может быть атакован только при условии что на игровом поле нет ни одного существа соперника (кроме случаев когда тип существа позволяет ему игнорировать это условие)
- когда герой соперника атакован то сражение происходит по той же схеме что и сражение между картами существ
- карта героя не может быть использованна чтобы инициировать сражение (за исключением тех случаев когда герой имеет соответствующую способность и/или специальность)
последовательность хода:
- Ход не имеет строго "фиксированной" последовательности(то есть игрок не обязан сначала вводить карты на поле, и толкьо потом разыгрывать уже присутствующие там карты)
- карта существа введенная в бой, по умалчанию, может быть разыгранна (атаковать карту соперника), только на следующий ход (есть карты которые являются исключением и могут атаковать в тот же ход(например королевский грифон))
- карты магии производит соответствующий эффект (молния наносит урон выбранной карте противника, благословение добавляет выбранной союзной карте атаку и защиту ) сразу же после ввода и тут же отправляется в отбой (выводится из боя и не может быть болье использованна до его окончания)
- если в течении хода "боевой дух" героя соперника опускается до значения =<0, то БОЙ завершается победой игрока (всплывает окно перекрывающее часть игрового поля, с выведенной в нем статистикой, перечнем призов и т. д.)
Добавлено (27.10.2011, 21:33) --------------------------------------------- несколько скринов, тут: http://fotki.yandex.ru/users/lc-print/?ncrnd=3307
Сообщение отредактировал Andy-go - Вторник, 22 Ноября 2011, 15:56
Добавлено (27.10.2011, 14:10) --------------------------------------------- в общем переписал всю страничку начисто, теперь все работает, в чем была проблема так и не понял
Добавлено (27.10.2011, 14:49) --------------------------------------------- Теперь у меня другая проблема: не запоминаются в БД дни рождения и пол
а если и он не работает?... потому что все это я уже попробовал и результат всегда тот - же: страничка обновляется с неё исчезает форма регистрации и остается только картинка, название странички при этом остается тем же (regank.php)
Добавлено (27.10.2011, 11:37) --------------------------------------------- Но у меня скирпт какой-то специальный - ничего не помогает :))
Добавлено (27.10.2011, 11:41) --------------------------------------------- насчет смены кодировки: у меня уроки по которым я "учусь" они все написаны с использованием windows-1251... если я поменяю кодировочку то не станут ли все эти уроки бесполезны?
Теперь к скриптам которые вы выложили мне в помощь: users предполагает что игрок при регистрации НЕ создает персонажа, а создает его потом при первом логине в игру. - Это не совсем то, что я имел ввиду.
Нужно так: при регистрации игрок создает персонажа, но в силу игрового жанра сам персонаж будет выступать в роли некоего Демирурга, который "вдохновляет героев", таким образом игровой персонаж имеет следующие характеристики(кроме стандартных никнейм, пасс, ДР, session ID и т. д.): золото, статистику (сыгранные бои; из них выигранные, из них проигранные). Коллекцию карт героев (именно одну из этих карт игрок выбирает при первом логине в игру), коллекцию карт юнитов и магии, а так же коллекцию артефактов я так понимаю вносить в эту табличку не нужно.
Такие вот дела, таблицу юзерс я создал. А что дальше получится сейчас поглядим
Добавлено (25.10.2011, 11:15) --------------------------------------------- с auth.php все ясно.
Возник вопрос с newuser.php - я так понял что это начальная его часть предполагающая что дальше я сам справлюсь - предположение логичное, но проблема в том что в уроках которые у меня есть совершенно отсутствует такой раздел как "создание персонажа", поэтому я не представляю с какой стороны взяться за эту страничку (сверстать её в DW - как она должна выглядеть и что где должно находиться - это я могу), а вот какой код нужен чтобы все заработало я не знаю. К стати на этой же стадии возникает и ещё один вопрос: для "карт героев" я создал соответствующую табличку "hero-cards" (на данный момент там 4-е героя), как связать эту табличку с страницей newuser.php и соответственно процессом выбора расы и героя?
Добавлено (27.10.2011, 10:16) --------------------------------------------- Как в этом куске кода сделать так чтобы вместо echo осуществлялся переход на другую страницу?
Code
if(sendmail($email,$subject,$message,$headers) !== FALSE) { echo 'Регистрация завершена, код активации отправлен Вам на электронный адрес!'; }
Добавлено (27.10.2011, 10:31) --------------------------------------------- Вроде бы все сделал, ошибок не выдает, но при отправке формы регистрации остается на той же самой странице вместо того чтобы перейти на указанную...
Code
<?php session_start();
@include("config.inc.php"); @include("functions.inc.php"); //Необходимо подключиться к БД $link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("Не могу подключиться" ); // сделать $DB текущей базой данных mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
// данные отправлены if($_POST['do'] !='') { //Начинаем проверять входящие данные if($_POST['sid'] == $_SESSION['uid']) {
//Создаем запрос к базе для проверки существования Пользователя $login = $_POST['login']; mysql_query("SELECT * FROM users WHERE login='".strtolower($login)."'");
//Создаем запрос для записи данных в БД $query = "INSERT INTO users (login,pass,email,gender,user_birthday,character_birthday,sessionid,realname) VALUES('".strtolower($login)."','$pass','$email','$Gender','$Date',Now(),'$uniq_id','$RealName')"; $r = mysql_query($query,$link) or die("Query failed : " . mysql_error()); if($r) {
// Для отправки e-mail в виде HTML устанавливаем необходимый mime-тип и кодировку $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=windows-1251' . "\r\n"; // Откуда пришло $headers .= 'From: NewBk <game@newbk.org>'."\r\n"; //Здесь укажите электронный адрес, куда будут уходить сообщения $subject = "Подтверждение регистрaции на сайте"; $message = 'Для активации аккаунта пройдите по следующей ссылке <a href="http://newbk/regank.php?activation='.$uniq_id.'" target="_blank">http://newbk/regank.php?activation='.$uniq_id.'</a>'; $message .= 'или скопируйте ссылку в окно ввода адреса браузера и нажмите enter.'; //Отправляем сообщение if(sendmail($email,$subject,$message,$headers) !== FALSE) { "window.location.href = 'reg_sucess.php'"; } }
Для меня преимущество браузерки в следующих пунктах:
- не требует загрузки и установки - я лет 8 назад увлекался сайтостроительством, поэтому частично понимаю механику работы браузерки - ведь по своей сути это интерактивный сайт с базой данных. - пока что не нашлось ни одного желающего принять участие в реализации этой идеи ( TimKruz, - за твое предложение про клиент-сервер спасибо но этого недостаточно, а сам я все остальное не сделаю)... сам же я могу потихоньку реализовывать её только в формате браузерки... вот и ковыряю чуть по чуть
Посмотрите пожалуйста тут (общая идея того чем я сейчас занимаюсь): http://gcup.ru/forum/69-18147-1 и тут(демонстрирует насколько я нуб в веб-програминге и куда я смог доползти на данный момент:) ): http://gcup.ru/forum/51-18196-1#299588
Если задумка вам в принципе симпатична/интересна, то можем продолжить общение тут или в ЛС, если нет... на "нет" и суда нет
Duskly: Вопрос был вполне нормальный, не понимаю к чему ваша картинка? Есть кто пишет "я мол веб-программер", а на деле оказывается что человек умеет только простенькие сайты в ФронтПейдже делать... я тут человек новый так что местных АтЦов "в лицо" не знаю, поэтому если что без обид
Добавлено (25.10.2011, 11:30) --------------------------------------------- _LeVoID_, ты уже общался с этим человеком? Знаешь его условия/требования/цены? Если "да", поделись опытом
Сообщение отредактировал Andy-go - Вторник, 25 Октября 2011, 11:30
но тут нет указания на цвет, да и вообще таблица которая тут описана, это маленькая табличка с полями логин, пароль и кнопкой. А вот чем определен цвет всей полосы никак не могу понять.
Такой вот вопрос возник: в index.php не пойму как устроенна центральная (по горизонтали) часть окрашенная в бежевый - не могу найти в коде ни указания на её цвет, ни в Дримвиевире разобраться что это вообще за блок такой, вроде бы и не таблица (сама форма входа с кнопкой в таблице), и непонятно что...
@include("config.inc.php"); //Необходимо подключиться к БД $link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("Не могу подключиться" ); // сделать $DB текущей базой данных mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
//Создаем запрос к базе для проверки существования Пользователя $login = mysql_escape_string( $_POST['login'] ); $pass = mysql_escape_string( $_POST['pass'] );
1- Мне нужно чтобы после того как новый игрок только что залогинился он попадал на страничку "выбор карты героя" на которой игрок может выбрать одну из двух расс и затем одну из двух карт героя соответствующей расы (вместе с картой он так же получает и стартовую колоду из 21 карты) - как это реализовать технически? Если я просто прикручу эту страничку то после логина игрок будет на неё попадать каждый раз, а этого не нужно. При последующих логинах он должен попадать сразу на "главную страницу игры".
Сообщение отредактировал Andy-go - Понедельник, 24 Октября 2011, 14:52
Может быть кто-нибудь согласится давать мне консультации по ICQ, Skype? А то по ходу написания возникают вопросы, ставящие меня в тупик, и спросить по сути не у кого:(
Я приобрел курс по созданию браузерной игры, и часть информации оттуда мне помогает (в том числе с его помощью я разобрался в чем была проблема со скриптами из первого поста - я пытался их запустить перетаскиванием соответствующего файла в строку браузера ), но так как курс основан на создании клона БК, формат отличается и я встречаюсь с проблемами буквально после создания формы регистрации и формы входа в игру...
В скриптинге я полный нуб - так что вопросов наверное будет много и много таких которы вам покажутся глупыми...
Если вы готовы откликнуться, пожалуйста пишите тут или в личку.
Сообщение отредактировал Andy-go - Понедельник, 24 Октября 2011, 14:10
Думаю что реализовывать нужно в формате браузерки, поэтому давайте так:
У меня уже почти готов минимальный пакет арта для минимальной пробной версии, есть желающие взяться за программирование, и если да то за какую сумму?
Добавлено (24.10.2011, 14:08) --------------------------------------------- Ну ладно, видимо не кому моя идея не приглянулась чтобы помочь (даже за деньги) с написанием кода.
Может быть тогда кто-нибудь согласится давать мне консультации по ICQ, Skype? А то по ходу написания возникают вопросы, ставящие меня в тупик, и спросить по сути не у кого:(
Я приобрел курс по созданию браузерной игры, и часть информации оттуда мне помогает, но так как курс основан на создании клона БК, формат отличается и я встречаюсь с проблемами буквально после создания формы регистрации и формы входа в игру...
Если вы готовы откликнуться, пожалуйста пишите тут или в личку.
Нашел и скачал пакет уроков по созданию браузерки. Создал формы входа и регистрации, а так же БД MySQL и таблицу users в ней. Но при попытке "регистрации" соответствующая запись в таблицу users не добавляется:(
$link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die("Could not connect : " . mysql_error()); mysql_select_db($my_database) or die("Could not select database");