| 
	
		
		
			| Браузерная игра 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? |  |  |  |  |  
 |