Браузерная игра Ninja World (Naruto)
| |
Kjut | Дата: Пятница, 12 Ноября 2010, 20:31 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Всем привет! Я очень хочу создать свою браузерную игру на подобие theninja-rpg. У меня если свой сайт по аниме Наруто и хотелось бы в дополнение к нему сделать игрушку. Создать такую игрушку с нуля для меня трудно, так как мои знания php не очень хороши. Я искала какой либо исходник похожий на такую игру, но не нашла. Могли бы вы помочь найти исходник или кинуть ссылку на какой-нибудь урок, похожий на игру. Я читала уроки тут "Урок по созданию браузерной игры №..." и в принцепи все поняла. Но такой метод в моем случае не подходит. Буду весьма благодарна, если вы сможете помочь мне хоть чуть-чуть. Заранее Спасибо! Сайт Официальной игры: http://www.theninja-rpg.com/
Портфолио Команда Ninja World
Команде требуются художники
Сообщение отредактировал Kjut - Вторник, 07 Декабря 2010, 20:17 |
|
| |
lvovand | Дата: Пятница, 12 Ноября 2010, 22:35 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| и вам привет, вы бы сказали конкретный вопрос, например по php тому же, как сделать чтоб было так и так, может и помогли бы, а то непонятно ничего. Если вам уроки по браузерке понятны, то с php значит более-менее знакомы уже должны быть. Даже если исходник игры какой найдете, в чужом исходнике разобраться зачастую сложнее, чем с нуля написать
Разработка и продвижение сайтов. Дизайн
|
|
| |
Kjut | Дата: Суббота, 13 Ноября 2010, 00:38 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| да в ток то и дело, что с php я не очень. по инструкции сделать могу без проблем, а если сама то все... а помочь я прошу найти урок по созданию браузерный игры не на флешь, а только с помощью php и javascript (ну и само разумеющееся Html, css, mysql)
Портфолио Команда Ninja World
Команде требуются художники
|
|
| |
a112 | Дата: Суббота, 13 Ноября 2010, 14:44 | Сообщение # 4 |
участник
Сейчас нет на сайте
| Quote (Kjut) по инструкции сделать могу без проблем http://www.blitz-school.info/ogindex.phtml Других инструкций скорее всего нет.
топ браузерных игр
|
|
| |
Kjut | Дата: Суббота, 13 Ноября 2010, 23:30 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| плохо, ведь там платно ))) Добавлено (13.11.2010, 23:30) --------------------------------------------- Решила побывать разбираться сама и застряла сразу же на регистрации. Вот в чем проблема. Хочу чтобы страничка регистрации была одна. С этим я справилась (то есть после нажатия Регистрация, сразу переходит на game.php) На страничке реги хочу добавить такие поля как: - пол - дата рождения - логин Все добавила, сделала, но возникла такая проблема. Когда акаунт заносится в базу, то эти поля пустые! У меня написано так: База Code CREATE TABLE `users` ( `id_user` bigint(20) unsigned NOT NULL auto_increment, `email` CHAR(64), `administrator` int(1) default NULL, `login` char(30), `pass` CHAR(32), `birthday` char(30), `name` char(32), `sex` char(30), `status` char(50), `life` INT DEFAULT 10, `chakra` INT DEFAULT 10, `str` INT DEFAULT 10, `intel` INT DEFAULT 10, `speed` INT DEFAULT 10, `will` INT DEFAULT 10, `exp` INT DEFAULT 0, `ip` CHAR(15), PRIMARY KEY (`id_user`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; reg.php Code <?php session_start(); //стартуем сесию
include "conf.php"; //подключаем файл с параметрами БД
/* Подключаемся к БД, если не получаеться, то выводим ошибку */ $data = mysql_connect($base_name, $base_user, $base_pass); if(!mysql_select_db($db_name,$data)){ echo "<BR>"; echo mysql_error(); die(); } //Прверяем на заполнение полей if ($_POST['next']){ //если нажата кнопка далее, то $error=0; // переменная равна 0 //Проверка на мыло if (!$_POST['email']){ $errm = "Вы не ввели e-mail<br>"; $error=1;} if( (! ereg( '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' . '@' . '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email )) or (empty( $email )) ) $stop = "Неверный E-mail"; $c_e = mysql_num_rows(mysql_query("SELECT id_user FROM users where email='".$_POST ["email"]."'")); {if ($c_e>0) {$errm .= "Данный e-mail уже зарегистрирован в игре"; $error=1;}} //Проверка на пароль if(!$_POST ["pass"]) {$errp = "Необходимо указать Ваш пароль<br>"; $error =1;} if(!preg_match("/^[А-Яа-яЁёa-zA-Z0-9]+$/",$_POST ["pass"])) {$errp .= "Пароль содержит запрещенный символ<br>"; $error =1;} if (strlen ($_POST ["pass"])<6 || strlen ($_POST ["pass"])>25){ $errp .="Длина пароля от 6 до 25 символов<br>"; $error =1;} if ($_POST ["pass"]!= $_POST ["pass2"]){ $errp .="Введёные вами пароли не совпадают!"; $error =1;} //проверка на согласие с правилами if (!$_POST['rules']) {$errr = "Вы не согласны с правилами?<br>"; $error=1;} // Нет ошибок, создаём перса if(!$error) { $ip = $_SERVER['REMOTE_ADDR'];//узнаем ip адрес юзера /* Записываем данные в БД */ mysql_query ("INSERT INTO users (pass, ip, email) values('".md5($_POST ["pass"])."','".$ip."','".addslashes($_POST ["email"])."')") or die("Invalid query: " . mysql_error()); session_register("email");//регестрируем сессию email session_register("ip");//регестрируем сессию ip $_SESSION['user'] = $_POST['email']; //записуем email в глобыльную переменную $_SESSION $_SESSION['ip'] = $_POST['ip'];//записуем ip в глобыльную переменную $_SESSION ?> <script>location.href="game.php";</script><!-- Переадресовуем на страничку создания чара --> <?php } } // Выводим ошибочки function err($text){ return "<tr valign='middle' align='left'><td colspan='2'><span class='error'>$text</td></tr>"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251" /> <meta name="description" content="Браузерная игра Ninja World" /> <meta name="keywords" content="игра, флеш, браузер, naruto, игроки." /> <link rel="stylesheet" href="style.css" type="text/css" /> <title>Ninja World – браузерная онлайн игра</title> </head> <body> <div id="reg"> <form action="" method="post"> <!-- Создаем таблицу с помощью тега table и размещяем по-центру --> <table align="center"> <!-- Создаем строку с помощью тега tr и разбиваем ее на 2 ячейки с помощью тега td --> <tr><td align="left" width="200">Логин:</td><td><input type="text" value="<?php echo $_POST['login'] ?>" name="login" class="inup"></td></tr> <?php echo err($errm); ?> <tr><td align="left" width="200">E-mail:</td><td><input type="text" value="<?php echo $_POST['email'] ?>" name="email" class="inup"></td></tr> <?php echo err($errm); ?> <tr><td align="left" width="200">Пароль:</td><td><input type="password" value="" name="pass" class="inup"></td></tr> <?php echo err($errp); ?> <tr><td align="left" width="200">Повторите пароль:</td><td><input type="password" value="" name="pass2" class="inup"></td></tr>
<tr><td align="left" width="200">Пол:</td><td><select size="1" name="sex" value="<?php echo $_POST['sex'] ?>"> <option value="male">Мужской</option> <option value="female"<?if(!empty($sex) && $sex=='female'){echo" selected";}?>>Женский</option>
</select></td></tr> <?php echo err($errm); ?>
<tr><td align="left" width="200">Дата Рождения:</td><td> <SELECT NAME="birth_day" CLASS="field" STYLE="width=40;" style="FONT-FAMILY: verdana;"> <? for($i=1;$i<=31;$i++){ if($i<10){$i="0".$i;} echo "<OPTION VALUE=\"$i\"";if(!empty($birth_day) && $birth_day==$i){echo" selected";}echo">$i</OPTION>"; } ?> </SELECT> <SELECT NAME="birth_month" CLASS="field" STYLE="width=95;" style="FONT-FAMILY: verdana; FONT-SIZE: 11px;"> <OPTION VALUE="01"<?if(!empty($birth_month) && $birth_month=='01'){echo" selected";}?>>январь</OPTION> <OPTION VALUE="02"<?if(!empty($birth_month) && $birth_month=='02'){echo" selected";}?>>февраль</OPTION> <OPTION VALUE="03"<?if(!empty($birth_month) && $birth_month=='03'){echo" selected";}?>>март</OPTION> <OPTION VALUE="04"<?if(!empty($birth_month) && $birth_month=='04'){echo" selected";}?>>апрель</OPTION> <OPTION VALUE="05"<?if(!empty($birth_month) && $birth_month=='05'){echo" selected";}?>>май</OPTION> <OPTION VALUE="06"<?if(!empty($birth_month) && $birth_month=='06'){echo" selected";}?>>июнь</OPTION> <OPTION VALUE="07"<?if(!empty($birth_month) && $birth_month=='07'){echo" selected";}?>>июль</OPTION> <OPTION VALUE="08"<?if(!empty($birth_month) && $birth_month=='08'){echo" selected";}?>>август</OPTION> <OPTION VALUE="09"<?if(!empty($birth_month) && $birth_month=='09'){echo" selected";}?>>сентябрь</OPTION> <OPTION VALUE="10"<?if(!empty($birth_month) && $birth_month=='10'){echo" selected";}?>>октябрь</OPTION> <OPTION VALUE="11"<?if(!empty($birth_month) && $birth_month=='11'){echo" selected";}?>>ноябрь</OPTION> <OPTION VALUE="12"<?if(!empty($birth_month) && $birth_month=='12'){echo" selected";}?>>декабрь</OPTION> </SELECT> <SELECT NAME="birth_year" CLASS="field" STYLE="width=60;" style="FONT-FAMILY: verdana;"> <? for($i=1940;$i<=2000;$i++){ echo "<OPTION VALUE=\"$i\"";if(!empty($birth_year) && $birth_year==$i){echo" selected";}echo">$i</OPTION>"; }
for($i=1940;$i<=2000;$i++){ echo "<OPTION VALUE=\"$i\"";if(!empty($birth_year) && $birth_year==$i){echo" selected";}echo">$i</OPTION>"; } ?> </SELECT> </td></tr> <?php echo err($errm); ?>
<!-- Закрываем таблицу --> </table> <p align="center"> <!-- Создаем checkbox с именем rukes --> <span><input type="checkbox" class="inup" name="rules"></span> Я обязуюсь соблюдать <A href="lib/law.php" target=_blank><B>Законы игры Ninja World</B></A></p> <p align="center"></p> <p align="center"> <?php echo err($errr); ?> <input type="submit" name="next" value="Готово" class="btn"> </p> </form> </div> </body> </html> В чем моя ошибка?
Портфолио Команда Ninja World
Команде требуются художники
|
|
| |
wernher | Дата: Воскресенье, 14 Ноября 2010, 05:30 | Сообщение # 6 |
Only God is Perfect
Сейчас нет на сайте
| Quote Когда акаунт заносится в базу, то эти поля пустые! Kjut, они пустые потому что ты их туда ничего не заносишь... Code mysql_query ("INSERT INTO users (login, pass, ip, email, sex, birth_day ) values('".$_POST['login'].'","'.md5($_POST ["pass"])."','".$ip."','".addslashes($_POST ["email"])."','".$_POST["sex"]."','".$_POST['birth_day']."')") or die("Invalid query: " . mysql_error());
Сообщение отредактировал wernher - Воскресенье, 14 Ноября 2010, 05:40 |
|
| |
Kjut | Дата: Воскресенье, 14 Ноября 2010, 11:57 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Спс за подсказку! Но проблема на этом не решена, при регистрации пишет ошибку: Invalid query: Column count doesn't match value count at row 1
Портфолио Команда Ninja World
Команде требуются художники
|
|
| |
lvovand | Дата: Воскресенье, 14 Ноября 2010, 12:09 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| пищи запрос в базу по типу Code INSERT INTO `users` SET `login` = '".$login."', `pass` = '".$pass."', `ip` = '".$ip."' ....... и т.д. удобнее и нагляднее, а так у тебя кол-во вставляемых значений не совпадает с кол-вом полей в таблице
Разработка и продвижение сайтов. Дизайн
|
|
| |
webstrict666 | Дата: Среда, 17 Ноября 2010, 15:01 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Kjut, отпишись мне в аську поговорим) помогу во многом
http://GAMESKROL.RU Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
|
|
| |
Kjut | Дата: Четверг, 18 Ноября 2010, 19:48 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| lvovand а куда именно это нужно прописать? удалить таблицу user и создать заного вот так вот прописав или в уже имеющуюся? прост у меня как то ничего не получается.
Портфолио Команда Ninja World
Команде требуются художники
|
|
| |
Smolya | Дата: Пятница, 19 Ноября 2010, 21:27 | Сообщение # 11 |
почетный гость
Сейчас нет на сайте
| Вот мои аська и скайп: 450637225 smolyanchik1 У меня есть уроки от блитс курс (хотя сам нечитал). Так же помогу в проекте, очень люблю наруто!
|
|
| |
Kjut | Дата: Воскресенье, 28 Ноября 2010, 19:56 | Сообщение # 12 |
почетный гость
Сейчас нет на сайте
| Столкнулась с такой проблемой. Тема восстановление HP. Вроде все работает, но как только обновляешь страничку HP сразу же становится 0 и оно опять восстанавливается. Вот код: Code <SCRIPT> //-- Смена хитпоинтов var delay = 2; // Каждые 18сек. увеличение HP на 1% var redHP = 0.33; // меньше 30% красный цвет var yellowHP = 0.66; // меньше 60% желтый цвет, иначе зеленый var TimerOn = -1; // id таймера var tkHP, maxHP; var speed=100; var mspeed=100;
function setHP(value, max, newspeed) { tkHP=value; maxHP=max; if (TimerOn>=0) { clearTimeout(TimerOn); TimerOn=-1; } speed=newspeed; setHPlocal(); } function setHPlocal() { if (tkHP>maxHP) { tkHP=maxHP; } var sz1 = Math.round((149/maxHP)*tkHP); var sz2 = 150 - sz1; if (document.all("HP")) { document.HP1.width=sz1; document.HP2.width=sz2; if (tkHP/maxHP < redHP) { document.HP1.src='items/1red.gif'; } else { if (tkHP/maxHP < yellowHP) { document.HP1.src='items/1yellow.gif'; } else { document.HP1.src='items/1green.gif'; } } var s = document.all("HP").innerHTML; document.all("HP").innerHTML = s.substring(0, s.lastIndexOf(':')+1) + Math.round(tkHP)+"/"+maxHP; } tkHP = (tkHP+(maxHP/100)*speed/1000); if (tkHP<maxHP) { TimerOn=setTimeout('setHPlocal()', delay*100); } else { TimerOn=-1; } }
</SCRIPT>
<!-- Вывод -->
<body bgcolor="#BFBFBF" onLoad="setHP(<?php echo $Character_CurLife; ?>,<?php echo $aLife*5 ?>,100)">
<!-- Тут размещено здоровье персонажа --> <table cellspacing=0 cellpadding=0 border="0" bordercolor="#000080"><tr><td> <NOBR><div id=HP> <IMG SRC="items/herz.gif" ALT="Уровень жизни"> <IMG SRC=1silver.gif WIDTH=1 HEIGHT=10 ALT="Уровень жизни" name=HP1><IMG SRC=1silver.gif WIDTH=1 HEIGHT=10 ALT="Уровень жизни" name=HP2>:</div> </nobr> </table> <!-- Конец Секции--> В базу Character_CurLife не сохраняется при востоновление
Портфолио Команда Ninja World
Команде требуются художники
Сообщение отредактировал Kjut - Воскресенье, 28 Ноября 2010, 20:18 |
|
| |
Assasin | Дата: Понедельник, 29 Ноября 2010, 10:14 | Сообщение # 13 |
web-coder
Сейчас нет на сайте
| Эта функция только визуально показывает что жизни восстанавливаются, а на самом деле они остаются такими же как и были. Так что нужно написать скрипт, который будет увеличивать жизни в БД до максимума.
|
|
| |
Line | Дата: Понедельник, 29 Ноября 2010, 12:03 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| Выкинь нафиг функцию ereg, preg_match лучше. Я могу написать скрипт. Ну соответственно не бесплатно.
|
|
| |
Kjut | Дата: Вторник, 07 Декабря 2010, 20:10 | Сообщение # 15 |
почетный гость
Сейчас нет на сайте
| Assasin, спс, я это уже поняла. Line, спс я напишу сама, бесплатно Добавлено (07.12.2010, 20:10) --------------------------------------------- Хочу поделится с вами инфой того, до чего я уже дошла в создании этой игрушки. Для начала готово: - регистрация - управление статами - рюкзак, слоты одежды (одеть, раздеть) - карта: магазин и мастерская (уже работает) Очень много времени заняло рисование карты, да и вообще вещи рисовать тоже время много отнимает. Вот скриншоты: В будущем у меня будут проблемы с реализацией боя (не как в обычных браузерных играх, удар туда защита там). Урон в боях планируется за счат техник (приемов), которые можно будет изучить прокачав статы и способности (требуемые) до определенного количества. И в самом бое будет выбираться техника. Например Игрок Красный использует технику Расенган (-200 жизни врагу, -50 чакры пользователю), а Игрок Синий использует технику Замены (уклон от атаки, -20 чакры пользователю) То есть ходы будут открыты друг другу, кто первый нажмет, тот первый ходит и так по очереди. Я была бы очень счастлива если бы мне помогли в реализации такого скрипта, потому что сама я мало бум-бум.
Портфолио Команда Ninja World
Команде требуются художники
Сообщение отредактировал Kjut - Вторник, 07 Декабря 2010, 20:11 |
|
| |
cougraAcc | Дата: Вторник, 07 Декабря 2010, 20:28 | Сообщение # 16 |
Яркая личность GD
Сейчас нет на сайте
| Kjut, Напиши icq: 965[один]57... Помогу если будут вопросы
|
|
| |
webstrict666 | Дата: Пятница, 10 Декабря 2010, 01:10 | Сообщение # 17 |
постоянный участник
Сейчас нет на сайте
| Хочу поделиться что уроки по которым вы делаете не упомянули про SQL инекции. Что такое SQL инекция - Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода. Вот допустим у вас запрос на передачу денег: Code $ID=$_SESSION['id']; $money =$_REQUEST['money']; $queryF = "UPDATE table_money SET data=$data,money=$money WHERE id=$ID"; $resultF = mysql_query ($queryF) or die ("Ошибка передачи денег".mysql_error());
и выполняется он так game.php?id=2&money=5 (пересылка 5 монет игроку под ID 2) Обратите внимания что запрос не остается не защищенным абсолютно ... и человек может переслать деньги себе + увеличить количество. Пример: game.php?id=1&money=500 Курс Близ инфо хороший ... но он дает только основу. Баги в их техники есть и причем очень большие. И хорошо если человек ограничится только мелкими шалостями... но обычно сразу удаляют базу. Думаю есть над чем задуматься (да и использование <map> уже не актуально... хотя на вкус и цвет...
http://GAMESKROL.RU Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
|
|
| |
Kjut | Дата: Пятница, 10 Декабря 2010, 01:46 | Сообщение # 18 |
почетный гость
Сейчас нет на сайте
| Спс, я это прекрасно знаю. хорошие люди помогут исправить мои карявые баги (уже помогли)
Портфолио Команда Ninja World
Команде требуются художники
|
|
| |
webstrict666 | Дата: Пятница, 10 Декабря 2010, 03:14 | Сообщение # 19 |
постоянный участник
Сейчас нет на сайте
| Ну это гуд)
http://GAMESKROL.RU Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально !
|
|
| |
Sergoi | Дата: Среда, 22 Декабря 2010, 05:07 | Сообщение # 20 |
был не раз
Сейчас нет на сайте
| Хай, скажите можно ли создать такую игру http://league17.ru?
|
|
| |
|