Суббота, 27 Апреля 2024, 00:49

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » hellground [18]
Результаты поиска
hellgroundДата: Суббота, 08 Октября 2011, 00:00 | Сообщение # 1 | Тема: Урок по созданию онлайн боя.
был не раз
Сейчас нет на сайте
Zizilk
каким образом ты подменишь данные в Post?
И насколько я знаю https это ещё недоконца реализованная система, очень мало сайтов её поддерживают


Сообщение отредактировал hellground - Суббота, 08 Октября 2011, 00:03
hellgroundДата: Пятница, 07 Октября 2011, 21:39 | Сообщение # 2 | Тема: Урок по созданию онлайн боя.
был не раз
Сейчас нет на сайте
Sufir
Урок в файлах, принцип в теме. Что ещё тебе нужно?
hellgroundДата: Четверг, 06 Октября 2011, 14:48 | Сообщение # 3 | Тема: Урок по созданию онлайн боя.
был не раз
Сейчас нет на сайте
Assasin
фреймы юзал как модуль для подключения к странице игры, для меня оптимальный вариант так как можно хранить все подключаемые модули не в одном файле а в разных, и подключать их к одному. А дифом в будущем подгружать такое кол-во на одной странице смертоподобно... А ajax да, к несчастью я только собираюсь в нем разбиратся, так что пока так как есть.
UPD:
раставил весь код по модулям, все действия работы с базой в func.php. Теперь нет лишних запросов все ясно и четко.


Сообщение отредактировал hellground - Четверг, 06 Октября 2011, 18:45
hellgroundДата: Среда, 05 Октября 2011, 23:06 | Сообщение # 4 | Тема: Ищу движок браузерной игры
был не раз
Сейчас нет на сайте
blink рыться в чужом движке да ты герой biggrin
hellgroundДата: Среда, 05 Октября 2011, 22:00 | Сообщение # 5 | Тема: Урок по созданию онлайн боя.
был не раз
Сейчас нет на сайте
Собственно написал простейший бой без использования flasha так как в нашем случае он и не нужен для анимации. Как все будет выглядить

Бой сделан на mysql и php, стоило бы доработать его джавой так как нет динамического обновления после нажатия кнопки,
но я немного поспешил и сделал так.
- upd сделал без джавы нормальное обновление

Хочу сказать что абсолюнто все данные защищены, кроме единственного, когда мы со страницы списка мобов переходим к бою,
у нас передается айди моба методом $_GET, если мы зайдем вне боя на страницу fight.php и введем fight.php?id=1 мы попадем в бой.
Надо было дописать защиту но я как всегда разленился biggrin
- upd теперь передается методом POST из невидимой кнопки В остальном если вы попадает в бой к мобу то при любому обновлении/сбросе куков
и остальной ерунде вы не сможете зайти куда то ещё в игре кроме боя. Урон расчитан функцией
rand() минимальное и максимальное значение нашего урона находится в бд. Выбирается случайное из них и отнимается от хп моба в той же БД.
Для того чтобы для всех мобы были разные сделана бд fight, как только вы жмете атаковать в БД fight сразу же появляется новая строчка с вашем боем
и в ваш профиль игрока вставляется айди этого боя, если у вас(в профиле) будет находится нечто отличное от 0 то вы будете попадать в этот бой.
Если кого-то заинтересовало то я могу переделать метод передачи(для защиты) и сделать лог + криты и увороты в бою.

Объяснять как это работает немного глупо я думаю, все построенно на сессии + запросы в бд, мол проверить обновить удалить и тд...
Хочу добавить что все сделанно методом <iframe> и вся игра происходит на странице main.php. Так же есть условие мер предосторожности для того
чтобы нельзя было играть на отдельных страницах фреймов. Вопросы можете задавать, буду иногда посещать данный форум. cool

Информация:
Чтобы попасть в "игру" Регистрируемся на мини сайте и попадаем в main.php(если у вас не будет сессии в игру вы не зайдете) далее разберетесь
Файл подключения к базе - bd.php
Вам нужно будет самим сделать запрос на создание бд с названием `Site`
Далее влить в неё fight.sql
Скачать

Сообщение отредактировал hellground - Четверг, 06 Октября 2011, 18:39
hellgroundДата: Среда, 05 Октября 2011, 03:59 | Сообщение # 6 | Тема: Урок по созданию браузерной игры № 12
был не раз
Сейчас нет на сайте
Хочу предоставить немного теории о создании боя.
Когда человек находящейся под сессией жмет на "Атаковать"(Например) выполняем
INSERT в таблицу fight тоесть создаем новую строчку для каждого отдельного боя.
Для удобства можно сделать отдельную таблицу Mob в которой по ячейкам можно расписать урон(пока что не max min а просто урон) хп уровень и аватарку моба, ну и ID с auto_incritment.
По определению нажав на кнопку атаковать по разным мобам мы получаем разный айди(методом post или get)
далее обозначаем его за переменную и сверяем с айди мобов в таблице Mob и выделяем все полезные данные UPDATE в нужные ячейки с хар ками нашего моба. Далее есть тормознутый и нетормознутый выбор
Тормознутый:
Методом php и javascript сделать бой в виде
Удар в голову
Удар в тело и тд. Например кнопками radio. как только вы прожимаете кнопку ударить
пишем что то вроде
$a =$ваш урон
$b = $хп моба
$c = $b - $a
далее просто UPDATE WHERE ID="$fightid" и заменяем хп моба на это, ну и сразу за этим следует удар моба, что то вроде
SELECT урон FROM таблица моба where айдимоба ="$айдимоба"
далее как и в нашем случае
$d = $урон моба
$e = $ваше хп
$f = $e - $d
и UPDATE ваше хп в таблице вашего персонажа, после этого делаем обновлении javaой, конечно тут ифмрейм может спасти так как не надо будет обновлять страницу. ну и в начале в самом дописываем условие мол
IF ($hpmoba == 0) { тут все что нам нужно после боя, переадресация на нашу исходную страничку игры и тд короче победа}
elseif ($hpнаше == 0) { собственно проигрышь }
else { тут вписываем сам бой, учтите что переменные $hpmoba $hpнаше должны быть ДО условия }

нетормознутый пример:
все тоже самое на флеш biggrin

Так же можно дописать лог боя тем же способом, чуть позже возможно напишу урок на php и java


Сообщение отредактировал hellground - Среда, 05 Октября 2011, 04:04
hellgroundДата: Понедельник, 22 Марта 2010, 08:55 | Сообщение # 7 | Тема: Урок по созданию браузерной игры № 3
был не раз
Сейчас нет на сайте
блин, с регой что то странное) вроде с 0 её делаю и перебрасывает после реги с 1 раза в игру... проходит некоторое время и снова с 2 раза(тоесть первый раз не кидает дописываешь символ к нику и только тогда кидает) что уж делать не знаю(
hellgroundДата: Понедельник, 22 Марта 2010, 08:35 | Сообщение # 8 | Тема: Урок по созданию браузерной игры № 11
был не раз
Сейчас нет на сайте
сделал по иному(просто в файл GameWindow меню добавил) НО я рад что ты здесь появляешься!

Добавлено (22.03.2010, 08:35)
---------------------------------------------
не надо в GameField.... у вас же верхнее меню на всех страницах будет? проще в GameWindow сделать

hellgroundДата: Понедельник, 22 Марта 2010, 07:00 | Сообщение # 9 | Тема: Проблема с непостоянным отображением окон в уроках Assasin'a
был не раз
Сейчас нет на сайте
Все кто прошёл урок с менюшками у ассасина заметил непостоянное(можно сказать очень редкое) отображение окошек Профиль Инвентарь(и я так понимаю в будущем Журнал квестов) как я исправил эту проблему:
для начала надо понять что мы хотим сделать, нам надо объединить файл menu.swf с файлом GameWindow.swf(возможно это не проффесионально но это спасает на 100%)
для этого сначала убираем ссылку в GameWindow на menu(просто сотрите строки где указывается путь к menu.swf)
далее добавляем всю инфу(только осторожно) из файла menu.swf в файл gamewindow.swf

Code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application layout="absolute" width="100%" height="100%" xmlns:mx="http://www.adobe.com/2006/mxml">
       <mx:Script><![CDATA[    
        import flash.net.URLRequest;    
        import mx.managers.PopUpManager;    
        /* Функция для отображения всплывающего окна, в котором находиться информация о вашем чаре */    
        public function prof():void {    
         var popup:profil = profil(PopUpManager.createPopUp(this, profil, false));    
         popup.x = 250;    
         popup.y = 100;    
         popup.title = "Профиль";    
        }    
        /* Функция которая переадресовывает на php скрипт? Который обрабатывает выход игрока */        
        private function logout():void {    
         var logoutLink:URLRequest = new URLRequest("logout.php");    
         navigateToURL(logoutLink, "_self");    
        }        
      public function invent():void {    
         var popupInv:inventar = inventar(PopUpManager.createPopUp(this, inventar, false));    
         popupInv.x = 410;    
         popupInv.y = 100;    
         popupInv.title = "Инвентарь";    
        }
        ]]></mx:Script>
       <mx:SWFLoader source="chat.swf" x="0" width="1024" height="248" top="520"/>
       <mx:SWFLoader source="GameField.swf" x="0" y="0" width="1024" height="520"/>
       <mx:Button label="Инвентарь" click="invent()" x="69" y="7" width="100" height="22"/>
       <mx:Button label="Квесты" x="482" y="7" width="100" height="22"/>
       <mx:Button label="Профиль" click="prof()" x="275" y="7" width="100" height="22"/>
       <mx:Button label="Выход" click="logout()" x="691" y="7" width="100" height="22"/>
</mx:Application>

коментить не буду всё и так понятно, есть одно но
кнопки Инвентарь Квесты Профиль и другое(что у вас будет) должны идти ПОСЛЕ строк GameField иначе GameField окажется сверху и вы не увидите окошек
P.S. для того чтобы скомпилимить сиё вы должны уже иметь файлы profil.swf и inventar.swf в листе иначе ссылки не дойдут и вы не сможете скомплимить(эти файлы есть в уроках асасина)

Надеюсь вам помогло, это должно работать в 100 из 100 случаев

Добавлено (22.03.2010, 06:26)
---------------------------------------------
надеюсь помогу кому нибудь...
но у меня есть встречный вопрос, как связать ссесию с табличкой online offline(0,1)? тоесть если сессия игрока разорвана в базе должно меняться значение с 1 в 0(с 0 в 1 уже реализовано, теперь нужно связать с сесией выход игрока) я просто не знаю как это сделать(я не знаю где прописывается разрыв сесии)
Многие не пользуются кнопкой Выход и просто закрывают страницу, (я добавил кто онлайн рядом с чатом и там отображаются ники тех кто в сети(хотя их давно там нет))
Надеюсь мне помогут...

Добавлено (22.03.2010, 07:00)
---------------------------------------------
да и кто может написать функцию на смену GameField?
private function cmena():void {
???????????????
... смена должна быть с GameField.swf на GameField2.swf
}

тоесть что то типа перехода с локации на локацию... если кто то даст ответ то завалю +!

Сообщение отредактировал hellground - Понедельник, 22 Марта 2010, 06:22
hellgroundДата: Понедельник, 22 Марта 2010, 01:42 | Сообщение # 10 | Тема: Урок по созданию браузерной игры № 12
был не раз
Сейчас нет на сайте
Ассасин а можешь ещё сделать урок по созданию торгующего нпса? можно и без кол-ва предметов у него(чтобы он продавал их до бесконечности и они не кончались(так проще)) и систему боя конечно...

Добавлено (22.03.2010, 01:42)
---------------------------------------------
и можно связать таблицу online = 0 с ссесией игрока?(тоесть при разрыве(я просто не могу найти место разрыва) добавлять в онлайн 0 (тоесть сесия разорвана человек в оффлайне)))

hellgroundДата: Суббота, 20 Марта 2010, 10:29 | Сообщение # 11 | Тема: Урок по созданию браузерной игры № 8
был не раз
Сейчас нет на сайте
всё работает кроме перетаскивания предметов(из слота не снять в слот не одеть из сумки) всё скопировал правильно ( или это ещё не реализовано?
только через таблицу руками перетаскивается... а из игры ни как(


Сообщение отредактировал hellground - Суббота, 20 Марта 2010, 10:31
hellgroundДата: Суббота, 20 Марта 2010, 10:26 | Сообщение # 12 | Тема: Переделайте пожалуйста этот код...
был не раз
Сейчас нет на сайте
да я уже сделал) кое как
hellgroundДата: Суббота, 20 Марта 2010, 04:13 | Сообщение # 13 | Тема: Урок по созданию браузерной игры № 11
был не раз
Сейчас нет на сайте
ааааа ну сделай пожалуйста этот 13 урок ! я тебя умоляю просто icecream sad sad sad sad

Добавлено (20.03.2010, 03:31)
---------------------------------------------
B1zDelKin
адаптируй код пожалуйста cry для GameWindow.swf

Добавлено (20.03.2010, 03:42)
---------------------------------------------
вроде бы в нём разобрался, только логаут надо добавить)

Добавлено (20.03.2010, 03:57)
---------------------------------------------
мда gotopopup не понимает такую фукцию...

Добавлено (20.03.2010, 04:02)
---------------------------------------------
с 0 тоже не работает в FlashDevelop AS3

Добавлено (20.03.2010, 04:13)
---------------------------------------------
вроде разобрался немножечко хд просто FD незнает функцию popupEx для этого нужны базы Flex Globals только в инете я даже близко не нашёл как их поставить и где их скачать(вообще ничего не ищет)
так что если можно объясни что за база и как её подключить к FD

hellgroundДата: Суббота, 20 Марта 2010, 00:39 | Сообщение # 14 | Тема: Переделайте пожалуйста этот код...
был не раз
Сейчас нет на сайте
Нужно чтобы выводилось не кол-во людей а их имена
<?php
include "conf.php";

$data = mysql_connect($base_name, $base_user, $base_pass);
mysql_select_db($db_name);

$query = mysql_query("SELECT name FROM users WHERE online='1'");
$online = mysql_result($query);

echo "$online";
?>

hellgroundДата: Суббота, 20 Марта 2010, 00:36 | Сообщение # 15 | Тема: Урок по созданию браузерной игры № 4
был не раз
Сейчас нет на сайте
B1zDelKin confused просто на весь экран серость полезит помоему....

Добавлено (20.03.2010, 00:36)
---------------------------------------------
надо ещё будет файл game.php редактировать

hellgroundДата: Пятница, 19 Марта 2010, 23:50 | Сообщение # 16 | Тема: Нужны советы для браузерки...
был не раз
Сейчас нет на сайте
Сделал небольшую браузерку в FlashDevelop(по урокам на этом сайте(но автор видно забросил это дело =( ))
Есть несколько вопросов:
Как сделать чтобы при первом входе в игру писало в чате(как засунуть в чат примерно знаю(но лучше напишите...)) некоторые строки? тоесть при втором входе уже их не должно показывать... вот мои исходники
файл в котором отображается флэшка кидать не буду ибо там не реализовать...


очень надеюсь на чью нибудь помощь.. на счёт гугла можно не писать ибо через него я попал к вам =)
если мне смогут помочь задам следущий вопрос про локацию...

Добавлено (19.03.2010, 23:50)
---------------------------------------------
никто помочь не может?(

Сообщение отредактировал hellground - Пятница, 19 Марта 2010, 14:49
hellgroundДата: Пятница, 19 Марта 2010, 04:23 | Сообщение # 17 | Тема: Урок по созданию браузерной игры № 5
был не раз
Сейчас нет на сайте
помогите пожалуйста... чат не выводит сообщения всё сделал правильно... жму отправить и ничего не показывается =( обновить тоже не помогает(

Добавлено (19.03.2010, 04:23)
---------------------------------------------
блин разобрался) просто у меня было send-mess а надо send_mess всё работает!

hellgroundДата: Понедельник, 15 Марта 2010, 16:01 | Сообщение # 18 | Тема: Уроки по созданию браузерной игры
был не раз
Сейчас нет на сайте
Assasin
у тебя в коде проблема с созданием базы enemy
Quote

CREATE TABLE `enemy` (
id_enm bigint(20) unsigned NOT NULL auto_increment,
name_enm CHAR(32),
atk_enm INT,
life_enm INT,
def_enm INT,
lov_enm INT,
exp_enm INT,
path_enm CH AR(32),
PRIMARY KEY (`id_enm`)
) TYPE=MyISAM;

проблема в
Quote
path_enm CH AR(32),
не знаю как в других версиях(может пробелы автоматом стирает) но у меня выдало ошибку и не хотело создавать enemy.. правильный код
Code

CREATE TABLE `enemy` (  
id_enm    bigint(20) unsigned NOT NULL auto_increment,  
name_enm    CHAR(32),  
atk_enm    INT,  
life_enm    INT,  
def_enm    INT,  
lov_enm    INT,  
exp_enm    INT,  
path_enm    CHAR(32),  
PRIMARY KEY (`id_enm`)  
) TYPE=MyISAM;    
Форум игроделов » Записи участника » hellground [18]
  • Страница 1 из 1
  • 1
Поиск:

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