Четверг, 28 Марта 2024, 11:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум игроделов » Записи участника » Sektoid [81]
Результаты поиска
SektoidДата: Воскресенье, 25 Сентября 2011, 03:38 | Сообщение # 61 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Первое уже читал, а за второе огромное спасибо))
Жаль на винде нету нода((
SektoidДата: Суббота, 24 Сентября 2011, 02:00 | Сообщение # 62 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Ок, спс. Пошел курить нод, потом возьмусь за socket.io
Может накидаете немного ссылок или примеров пока-что плз?))
Блин, придется виртуалку ставить dry
SektoidДата: Пятница, 23 Сентября 2011, 04:01 | Сообщение # 63 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Quote (guerrero)
У вас совершенно не рабочий код!
Вы тянете из базы помимо аватарки, еще и кординаты игрока, но непонятно как их используете.


Ну он стал нерабочим когда я аватары начал загружать. А если убрать с него загрузку аватаров, то все работает smile Тоесть координаты и местонахождение игрока определяет нормально. А вот аватары принесли с собой опаньки dry
А JS я не вылаживал, потому что ошибка где-то в php, и она связана с аватарами.
Спасибо за помощь respect

Добавлено (23.09.2011, 04:01)
---------------------------------------------
Вобщем теперь возникла потребность юзать ajax. Персонажа мы грузим, обьекты тоже. Надо отображать всех персонажей и отслеживать их перемещение не перезагружая страницу. Погуглил, почитал. Все конечно хорошо, но я не нашел нормальных примеров.
Приведите плз пару примеров использования ajax. Что должно быть на стороне сервера, а что на стороне клиента?
Ато реально читаю - вроде понятно, но хз что с этим делать теперь. А как посмотрю на пример - сразу все понятно)


Сообщение отредактировал Sektoid - Пятница, 23 Сентября 2011, 04:16
SektoidДата: Пятница, 05 Августа 2011, 01:16 | Сообщение # 64 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Code


<?php
class User {
var $user_sector_x;
var $user_sector_y;
var $user_ava;
}

$query = "SELECT * FROM ".TABLES_USERS." WHERE map_user='map1'";
$result = mysql_query ($query); //Выбираем игроков, которые на этой карте

$query_count = "SELECT COUNT(map_user) AS nc FROM ".TABLES_USERS." WHERE map_user='map1'";
$result_count = mysql_query ($query_count);
$check_count = mysql_fetch_array($result_count);
//Пощитали сколько игроков на карте чтобы создать в джаваскрипте массив

echo "<script type='text/javascript'>
var users_avas=new Array (".$check_count['nc'].");
</script>"; //Создаем массив в JS с аватарами. Его длинна равна количеству игроков на map1

for ($c=0; $c=$check_count['nc']; $c++){
$check_id_user = "".($check['id_user']).""; //Записываем в переменную id пользователя
$check_user_sector_x = "".$check['user_sector_x'].""; //Записываем в переменную его кординату х
$check_user_sector_y = "".$check['user_sector_y'].""; //Записываем в переменную его кординату у
$user [''.$check_id_user.''] = new User; //Создаем обьект класса User, номер которого = id юзера
$user [''.$check_id_user.'']->user_sector_x = ''.$check_user_sector_x.''; //Забиваем туда его координату х
$user [''.$check_id_user.'']->user_sector_y = ''.$check_user_sector_y.''; //Забиваем туда его координату у
$query_ava_vid = "SELECT vid FROM avatar where id_ava='".$check_id_user."'"; //Считываем аву с БД
$user [''.$check_id_user.'']->user_ava = ''.$query_ava_vid.''; //Забиваем туда его аву

echo "<script type='text/javascript'>users_avas[".$check_id_user."]='".($user [''.$check_id_user.'']->user_ava)."';</script>";
//Теперь есть массив юсерс_авас[номер юсера] = ава юсера.
}
?>

Но при загрузке страницы хром выдает опаньки.
Искал ошибки - не смог найти. Может кто найдет что не так плзззз?
ЗЫ: код писал сам, так что понимаю что он может выглядеть ужасно, но прокоментировал вроде что надо.


Сообщение отредактировал Sektoid - Пятница, 05 Августа 2011, 01:47
SektoidДата: Среда, 03 Августа 2011, 15:09 | Сообщение # 65 | Тема: Создание браузерной игры
почетный гость
Сейчас нет на сайте
Quote (Assasin)
Вот пример моей работы node.js+socket.io (1,5 месяца работы) линк

Прикольно smile
Подскажи плз, может где-то есть обучалки node.js и socket.io ???
Ато я сейчас начал писать движок к своей игре (спасибо за уроки еще раз smile ), но она должна быть рилтайм.


Сообщение отредактировал Sektoid - Среда, 03 Августа 2011, 15:09
SektoidДата: Среда, 03 Августа 2011, 14:24 | Сообщение # 66 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Quote (Demeron)
Хм... Я бы на C++ сделал что-то типо такого:

Создал новую структуру:
struct KLETKA
{
int pro4nost; //тут будет храниться прочность клетки
int uvorot; //тут будет шанс уворота от пули
int type1,type2; //тут будет храниться тип 1,1 (земля) или 3,3 (окоп или что там у тебя)
int user; //номер воина стоящего тут (ведь только 1 может стоять здесь, правильно?)
};

Потом создаю массив:
KLETKA pole_boya[y][x]; // где "KLETKA" - нас класс, "pole_boya" - название переменной, "x" -ширина, "y" - высота

И работать с массивом. Предворительно можно создать пару функций для перемещения, попадания пуль и рытья окопов. Надеюсь принцип ты понял. Если есть вопросы - обращайся!


Вот это нравиться, щас буду пытаться.

Добавлено (03.08.2011, 14:24)
---------------------------------------------
Вобщем сделал что-то такое:

Code
<?php
class Sector {
var $type;
var $id_x;
var $id_y;
}

//Допустим у меня есть сектор 4-7
$x=4;
$y=7;
$sector [$x][$y]= new Sector;
$sector [$x][$y]->id_x = $x;
$sector [$x][$y]->id_y = $y;

$type='grass';
$sector [$x][$y]->type = $type;
?>


Как мне теперь передать это в JavaScript?
Допустим вот кусок кода js:

Code
<script type="text/javascript">
var map = [['0','0','0','0','0','1','0','0','1','1'],
                    ['0','0','0','0','0','1','0','1','1','1'],
                    ['1','0','0','0','0','1','0','1','1','1'],
                    ['1','1','0','0','0','1','0','0','1','1'],
                    ['1','1','1','0','0','1','0','0','0','0'],
                    ['0','1','0','0','0','1','1','1','0','0'],
                    ['0','0','1','0','0','0','1','1','0','1'],
                    ['0','0','1','1','1','1','0','0','1','1'],
                    ['0','0','0','1','1','1','0','0','1','1'],
                    ['0','0','0','1','1','1','0','0','1','1']];

//Это был массив, в котором потом в зависимости от числа будет определятся номер значения картинки из следущего массива:
   
             var tiles = [
                 'media/images/grass.jpg',
                 'media/images/water.jpg'
             ];
</script>

Вопрос: как мне засунуть в первый массив значения 0 и 1 в зависимости от $sector [$x][$y]->type = $type из пхп кода? Надо чтоб JS считал эти данные и засунул в массив значения - если grass, то 0, а если water, то 1?


Сообщение отредактировал Sektoid - Среда, 03 Августа 2011, 00:31
SektoidДата: Суббота, 30 Июля 2011, 15:07 | Сообщение # 67 | Тема: Как рационально создать бд инвентаря?
почетный гость
Сейчас нет на сайте
Вобщем сделал так и понял что это ненужно. Решил сделать проще.
Будет всего одна таблица Items. В ней будет:

item_id INT auto_increment
owner_id (будет равняться user_id и при передаче вещи кому-то будет меняться)
sector_id (если шмотку выкинули на землю)
возможность одеть
одето или нет
прочность
бонусы
вес

а вес инвентаря и максимальный вес пихну в статы юзера

выглядеть будет так:
Code
$user_id = $_GET['id'];  
$items_in_bag = mysql_query("SELECT * FROM Items WHERE owner_id=$user_id")

Всем спасибо за советы
SektoidДата: Суббота, 30 Июля 2011, 13:37 | Сообщение # 68 | Тема: Как рационально создать бд инвентаря?
почетный гость
Сейчас нет на сайте
Quote (maker-rus)
4. Записываем это все в таблицу 2 (invent).
Code

$inven_item = $item['item_id'];
$insertItem = mysql_query("INSERT INTO invent ('items_ids') VALUES ('$inven_item') ") or die("Error sql: ".mysql_error());


Тоесть значения inven_item будут в строчке items_ids тупо через запятую или как? И много ли значений туда можно будет вставить? Я не хочу ограничивать инвентарь игроков количеством шмота. И каким должен тогда быть столбец items_ids? CHAR?


Сообщение отредактировал Sektoid - Суббота, 30 Июля 2011, 14:05
SektoidДата: Суббота, 30 Июля 2011, 04:32 | Сообщение # 69 | Тема: Как рационально создать бд инвентаря?
почетный гость
Сейчас нет на сайте
Я решил что у меня в бд будет две таблицы. Первая - шмотки, вторая - инвентари. Первая будет содержать просто шмотки, которые есть в игре. Вторая уже будет для того, чтоб отображать какие шмотки в инвентаре игроков. Потому что шмотки могут быть и на земле, и в сундуке. Но для этого я создам потом другие таблицы.

Первая таблица:
item_id INT auto_increment
item_odeto INT(1) DEFAULT 0
прочность
бонусы
название
тип
вес

тут вроде все понятно

а теперь Вторая таблица:
inventar_id INT auto_increment
items_ids ????????? (как сделать так, чтоб в одной строчке можно было высветить весь список item_id игрока?)
текущий вес инвентаря
максимальный вес

Или предлогайте свои варианты wink


Сообщение отредактировал Sektoid - Суббота, 30 Июля 2011, 04:35
SektoidДата: Четверг, 28 Июля 2011, 22:02 | Сообщение # 70 | Тема: GEngine
почетный гость
Сейчас нет на сайте
интересно.. буду следить
SektoidДата: Пятница, 08 Июля 2011, 15:43 | Сообщение # 71 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Quote (TimKruz)
двумерных массивов

я это и имел ввиду biggrin
Quote (TimKruz)
отпустить несколько байт каждой ячейки в двумерном массиве, и в одном байте будут указываться простые свойства (проходимость, простреливаемость, разрушаемость, нанесение ущерба персонажам и т.п.), а в остальных байтах - числовые данные (прочность, бонус, и т.п.).

Вот тут недопонял wacko
Это уже 3хмерный массив?
Можешь показать на примере плз? cry
Quote (TimKruz)
А вообще-то, проще будет сделать по-другому: тип поверхности - земля, вода, песок, и т.п., а окопы, укрепления, лес, и т.п. - это уже объекты, которые хранятся в отдельном массиве и выводятся поверх земли. Т.е. у земли и т.п. только простые свойства, а объекты уже имеют прочность, бонусы и т.п.

У земли тоже будут свойства - плотность (сколько надо копать чтоб вырыть окоп. Чем больше скилл землекопа, тем быстрее копается) и т.д. Так что смысла разделять их нету, потому что фактически земля это такой же обьект как укрепление. Только у неё не будет некоторых свойств, которые есть у укрепления, и наоборот.
Quote (lvovand)
а то что приходит на скрипт от юзера должно в обязательном порядке на правильность проверяться

как?


Сообщение отредактировал Sektoid - Пятница, 08 Июля 2011, 15:48
SektoidДата: Пятница, 08 Июля 2011, 15:20 | Сообщение # 72 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Ну вот и нубские вопросы пошли biggrin :
Допустим в моем game.php есть такой код:

if (массивы клеток [х][у] = 1,1)
{SET массивы клеток to [3][3];}
else {$error1 = 1 ;}

Юзер заходит на game.php
он сможет подменить этот код таким?
SET массивы клеток to [3][3];


Сообщение отредактировал Sektoid - Пятница, 08 Июля 2011, 15:25
SektoidДата: Пятница, 08 Июля 2011, 14:47 | Сообщение # 73 | Тема: Как создать такое игровое поле?
почетный гость
Сейчас нет на сайте
Вобщем я хочу чтоб моя игра имела вид 2д бегалки как бои в z-war или time-zero, но не только бои, а весь процесс беганья по карте.
Тоесть игровое поле делиться на клетки(или гексы, но пока-что пусть будут клетки). На каждой клетке может находиться только 1 юзер.
Главная особенность - можно модифицировать игровое поле. Тоесть выкопать окоп на одной клетке, и став на него, например, добавиться 3 уворота. Или построить укрепление, на которое нельзя наступить. Спрятавшись за него можно укрыться от пуль. Вобщем чтоб можно было менять параметры каждой клетки, если есть соответствующий навык.
Я еще только учу пхп\мускул\ас3, поэтому помогите плз happy

Вот как я думаю это сделать:
Допустим у нас есть поле 5на5 клеток.
Создаем массив, в котором 5 массивов. Тоесть массив [5][5]. Это будут значения каждого сектора на нашем поле. Изначально каждое значение в массивах равно 1. Это значит, что все клетки сейчас равны "земля". Еще может быть значение 2(окоп) и 3 (укрепление).
Делаем в базе данных таблицу sector_id, в которой содержится информация типа:
Тип клетки: проходимость, пропускание пуль, прочность, возможность строить, бонус при нахождении на клетке, картинка клетки
1 = 1,1,0,1,0, ground.png
2 = 1,1,30,0,3 trench.png
3 = 0,0,50,0,0 wall.png
У игрока при нажатии на сектор появляеться меню, в котором можно его изменить (вырыть окоп или построить укрепление). Он выбирает построить укрепление.
Отсылаеться запрос в БД, в котором содержаться координаты клетки в нашем массиве и запрос на изменение их значений на 3 (потому что строим укрепление).
Образно выражаясь:
if (массивы клеток [х][у] = 1,1) //тоесть если клетка равняеться "земля",
{SET массивы клеток to [3][3];}
else {$error1 = 1 ;}

Итак графическая часть будет в флеше.
Он считывает из базы данных наш массив [5][5]. Потом он считывает таблицу sector_id и прорисовывает каждую клетку в соответствии её значению.

Вот так я придумал. Это все схематически, но надеюсь вы поняли.
Скажите плз это рационально? Или можно как-то реализовать это проще?
Посоветуйте что-то плз.
И второй вопрос: как сделать так, чтоб все манипуляции с БД выполнялись на сервере, а не клиенте. Потому что кулхацкеры просто заменят
if (массивы клеток [х][у] = 1,1)
{SET массивы клеток to [3][3];}
else {$error1 = 1 ;}
на
SET массивы клеток to [3][3]; и не будут париться.


Сообщение отредактировал Sektoid - Пятница, 08 Июля 2011, 15:04
SektoidДата: Пятница, 08 Июля 2011, 04:37 | Сообщение # 74 | Тема: Урок по созданию браузерной игры № 12
почетный гость
Сейчас нет на сайте
Огромное спасибо за уроки!
С пхп\мускул\флеш не был знаком вообще, но теперь, думаю, смогу медленными шагами, заглядывая назад, смастерить кое-какую мморпг))
Даже то, что в коде были ошибки - заставило лучше разобраться в нем, и научиться им управлять wink
РЕСПЕКТ ЗА ЭТО respect
Кстати, так и не разобрался с переадресацией при реге. Может кто знает как?


Сообщение отредактировал Sektoid - Пятница, 08 Июля 2011, 14:05
SektoidДата: Пятница, 08 Июля 2011, 00:56 | Сообщение # 75 | Тема: Урок по созданию браузерной игры № 6
почетный гость
Сейчас нет на сайте
Quote (Dizelist)
а можно ли сделать чтоб инфа об игроках выводилась также как профиль игрока?
ну чтоб при нажатии на i в чате выскакивало окно с профиле осматриваемого игрока во флеше а не в отдельном окне !
очень хочется,но не получается

Присоединяюсь к вопросу. Пытался так сделать, но так и не смог разобраться sad
Как-то там все запутано cry


Сообщение отредактировал Sektoid - Пятница, 08 Июля 2011, 03:11
SektoidДата: Четверг, 07 Июля 2011, 04:40 | Сообщение # 76 | Тема: Урок по созданию браузерной игры № 5
почетный гость
Сейчас нет на сайте
Все, что смог найти перепробовал, всеравно не хочет перенаправлять((
Походу ошибка реально в пхп файле, потому что я так и не смог найти переменную е, которая отправляеться флешке.

Добавлено (07.07.2011, 03:03)
---------------------------------------------
Обьясни плз если не сложно откуда взялся результат здесь
Code
/* Функция определения результата */   
         private function onResult(e:ResultEvent):void {   
           if (int(String(e.result)) > 0) { //если результат больше 0, тоесть существует, то   
            per = int(String(e.result)); //переменная равна данным, что считали с php файла    
      if (per > 0){ //если данные равны 1, то переадресовываем в игру    
       var url:URLRequest = new URLRequest("localhost/game.php");    
       navigateToURL(url,"_self");    
       }

Если в пхп файле у нас такое
Code
echo "1";   
$result = mysql_query("UPDATE users SET name='".$nameChar."' WHERE email='".$_SESSION['user']."'");   
$who_online = mysql_query("UPDATE users SET online='1' WHERE email='".$_SESSION['user']."'");   
echo "1";   
session_register("nameChar");   
$_SESSION["name"] = $_POST["nameChar"];   
$ava = mysql_query("INSERT INTO avatar (gander, vid, path) VALUES ('".$gander."', '".$vid."', '".$patch."')");   
echo "1";
?>

И главное что если он равняеться -1, -2 и -3, то вылазят разные ошибки в флешке, типа "этот ник уже есть". Но я никак не могу найти где он cry

Добавлено (07.07.2011, 04:40)
---------------------------------------------
Мда, застрял на этом wacko

Сообщение отредактировал Sektoid - Четверг, 07 Июля 2011, 03:04
SektoidДата: Среда, 06 Июля 2011, 19:41 | Сообщение # 77 | Тема: Урок по созданию браузерной игры № 2
почетный гость
Сейчас нет на сайте
Assasin, спасибо respect
SektoidДата: Среда, 06 Июля 2011, 17:40 | Сообщение # 78 | Тема: Урок по созданию браузерной игры № 2
почетный гость
Сейчас нет на сайте
Quote (Assasin)
обьявить эти переменные в начале скрипта

Таким образом я убрал все остальные надписи, но эти две почему-то не хотят обьявляться. Может их по-другому как-то обьявить надо? sad
Остальные переменные я обьявлял так:
$errm = " ";
$errp = " ";
$errr = " ";
$errr = " ";

Quote (Assasin)
Убрать эту строку
Code
if(!preg_match("/^[_\.0-9a-z-]{1,}@[_\.0-9a-z-]{1,}\.[_\.0-9a-z-]{2,}$/", $_POST ["email"])) {$errm .= "Неправильный e-mail"; $error =1;}

Ну это совсем уберет ответ о Неправильном мыле. А я хотел сделать только так, чтоб ошибка "Неправильный e-mail" не высвечивалась тогда, когда ничего не введено (потому что будет высвечиваться "Введите мыло"), но высвечивалась если пользователь неправильно ввел мыло.
Походу просто надо добавить в эту строку несовпадение не только с теми символами, но и с незаполненым полем, но я не смог найти как это сделать.


Сообщение отредактировал Sektoid - Среда, 06 Июля 2011, 18:33
SektoidДата: Среда, 06 Июля 2011, 04:47 | Сообщение # 79 | Тема: Урок по созданию браузерной игры № 5
почетный гость
Сейчас нет на сайте
Спасибо за уроки! При том, что у меня до этого были только базовые знания жабы, я медленно, но верно учусь не только делать мморпг, но и юзать пхп\мускул. Комментарии к коду бесценны cool
Вот только никак не могу сделать переадресацию на гейм.пхп
Может кто знает как? cry
SektoidДата: Среда, 06 Июля 2011, 00:29 | Сообщение # 80 | Тема: FlashDevelop
почетный гость
Сейчас нет на сайте
Quote (AGENTX001)
При открытии файла mxml высвечивает ошибку

Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
в System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
в System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)
в System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
в System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
в System.Windows.Forms.AxHost.CreateInstance()
в System.Windows.Forms.AxHost.GetOcxCreate()
в System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
в System.Windows.Forms.AxHost.CreateHandle()
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.AxHost.EndInit()
в FlexDesignView.Controls.FlexDesignViewArea.InitializeComponent()
в FlexDesignView.Controls.FlexDesignViewArea..ctor()
в FlexDesignView.PluginMain.addControls()
в FlexDesignView.PluginMain.HandleEvent(Object sender, NotifyEvent e, HandlingPriority prority)
в PluginCore.Managers.EventManager.DispatchEvent(Object sender, NotifyEvent e)

И кнопка Design Viem не пашет, хотя сделал всё чтоговорили, по всем постаи пробовал(


Столкнулся с таким же приколом. Если кому понадобиться - решил установкой флеш плеера из-под Интернет Експлорера


Сообщение отредактировал Sektoid - Среда, 06 Июля 2011, 00:57
Форум игроделов » Записи участника » Sektoid [81]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

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