Воскресенье, 17 Ноября 2024, 17:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Браузерная игра 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 и создать заного вот так вот прописав или в уже имеющуюся? прост у меня как то ничего не получается. cry

Портфолио
Команда 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?
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг