Результаты поиска
| |
Deswing | Дата: Воскресенье, 26 Декабря 2010, 00:32 | Сообщение # 581 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| немного переназвал тему Блин! Я так и не понял что такое setnagle(socket, false); ... И скорее всего значение break; я как-то не так понял
Сообщение отредактировал Deswing - Воскресенье, 26 Декабря 2010, 00:34 |
|
| |
Deswing | Дата: Воскресенье, 26 Декабря 2010, 00:23 | Сообщение # 582 | Тема: Сколько участников состоит в вашей команде? |
заслуженный участник
Сейчас нет на сайте
| Двое (работающих, когда-то было трое) Я - программист, Бомбер - компазитор
|
|
| |
Deswing | Дата: Воскресенье, 26 Декабря 2010, 00:20 | Сообщение # 583 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| Quote (Gefre) У меня есть желание, но я уже попросился уже в другую команду(там надеюсь научусь), но возможно если твоя команда будет Орденом Независимых Игроделов, то приду к вам. так и есть, мы независимы! Мне все равно на национальность, родной язык, используемое ПО и вход в другие команды! Мы независимы! Независимы от других команд, несем всю тяжесть только на себе! Quote (Gefre) Извиняю, оказывается кто-то меня уже опередил Ничего страшного) И кстать насчет двух месяцев - ты загнул! За неделю ты уже научишься ммо делать
Сообщение отредактировал Deswing - Воскресенье, 26 Декабря 2010, 00:22 |
|
| |
Deswing | Дата: Воскресенье, 26 Декабря 2010, 00:11 | Сообщение # 584 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| я когда статью писал болела голова... Ну не знаю... В диапазоне 11:00-18:00
|
|
| |
Deswing | Дата: Воскресенье, 26 Декабря 2010, 00:10 | Сообщение # 585 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| Quote (Gefre) Кстати благодаря статье Deswing, инет сообщество через несколько месяцев увидет онлайн игру написанную школьником, но это только в будущем, пока этому школьнику надо в совершенстве овладеть гамаком. Извини конечно... Но я, о великий школьни4ег, уже ммо написал Как только допишу статью и доделаю пример ММОРПГ команда Game-Mix превратится в О.Н.И. (Орден Независимых Игроделов) и начнем делать ммо. Если желаете - милости просим
|
|
| |
Deswing | Дата: Воскресенье, 26 Декабря 2010, 00:05 | Сообщение # 586 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| Quote (Gefre) В том и дело, что не забьют. Будут тырить код из чужих исходников или сидеть на конструкторах без скриптовых языков. пусть сидят)) Я лично стырил авторизацию себе с примера одного хдд Quote (Gefre) Продолжай пожалуйста дальше, что-то идея онлайн игры меня сильно захватила. ну тут все дело в логике... Советую завести тетрадку со своими "идеями" и реализацией (возможной) Quote (Gefre) P.S. Deswing, у тебя хорошо получается писать статьи для новичков, можешь даже учебник написать по GM, я бы точно его читал. спасибо большое, не ожидал Quote (simtiko) Deswing, Отличная статья, молодец. + СпасибоДобавлено (26.12.2010, 00:05) ---------------------------------------------
Quote (zik13) я хоть и нуп но тупо код копировать не буду буду сидеть прилипший к монитору и разбираться )) статья супер +++++ пока детально изучи код. Завтра напишу как сервер написать) Тут всё "считывание" идет через циклы и таймер
|
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 23:38 | Сообщение # 587 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| Gefre, тогда пусть они забьют на геймдев вообще! Спасибо за +) Завтра про сервер напишу и покажу как сделать авторизацию
|
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 23:21 | Сообщение # 588 | Тема: Вопрос - ответ по 39DLL |
заслуженный участник
Сейчас нет на сайте
| MIKEL922, значит мясо-леталки х)))) Ну это все без проблем... А вот создание сервера - хз
|
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 23:05 | Сообщение # 589 | Тема: Вопрос - ответ по 39DLL |
заслуженный участник
Сейчас нет на сайте
| MIKEL922, без квестов? Одно мясо?
|
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 22:57 | Сообщение # 590 | Тема: Вопрос - ответ по 39DLL |
заслуженный участник
Сейчас нет на сайте
| Quote (MIKEL922) И у меня вопрос, есть ли человек которое сам бы сделал к моей уже готовой игре, сетевую, чтобы там был списки серверов, можно было создавать сервера. заплачу 25% от издание игры! И еще знаете хостинг куда можно класть свою игру чтобы она была все время запущена, тоесть для сервера, желательно бесплатный, но и от платного не откажусь. никаких хостингов! Хостинги - только для сайтов! Надо заказавать в Дата-центре ячейку, а потом туда впихивать свой комп с сервером.. Конечно можно переписать... Но это скорее всего переписывать ВСЮ игру... Денег хватит?))
Сообщение отредактировал Deswing - Суббота, 25 Декабря 2010, 22:57 |
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 22:51 | Сообщение # 591 | Тема: Делаем свою первую MMO на GameMaker 8.0 №1! (+39dll) |
заслуженный участник
Сейчас нет на сайте
| В последнее время создавать онлайн игры на GameMaker стало очень популярно... Но, к сожалению, не все могут разобраться в 39dll (так называется доп. библиотека для сетевых соединений). В этой статье я покажу как создать online TDS! Для начала давайте подумаем... Что это за связь - клиент-сервер? На данной таблице мы видем один сервер и трое игроков (клиентов), которые зашли в игру... Давайте копнём чуть глубже? Здесь сервер - центр. Тоесть обмен данных идет только через сервер! Например чтобы передать переменную image_angle клиенту надо отправить информацию серверу, потом сервер должен прочесть этот "пакет" и отправить другим (а они тоже должны прочесть). Если так подумать - одну и туже переменную надо будет вписывать в 4-ех местах! Ну ничего... Мы ведь на энтузиазме убийцу WoW делаем, да? Начнем же писать код! Для начала скачайте архив(зеркало №2) с 39dll и проектом со скриптами... Итак, вы скачали архив. Теперь разархивируйте и запустите проект gmk! Проект полностью пустой, одни только Script'ы загружены... Для начала напишем клиент игры! Создайте обьект objControl и в событии create (создание) вставьте код: Code dllinit(0, true, true); //Подключаем 39dll (библиотека должна быть в папке с игрой (проектом)!!!) ip = get_string("Enter address to connect to", "127.0.0.1"); //Присваиваем переменной ip адрес сервера, на котором будем играть (через get_string) port = get_integer("Enter port to connect to", 14804); //По какому порту играем (если на сервере будет 14804 - оставляем) nick = get_string("Введите свой ник", "newPlayer"); //Присваиваем себе ник socket = tcpconnect(ip, port, 1); //По переменным (смотрите выше) ip, port пытаемся подключиться к серверу if(!socket) //Если не удалось { error_message("Unable to connect to server"); //Показываем ошибку exit; //И выходим } setnagle(socket, false); //Без коментариев, для меня это - темный лес //Отправляем свой ник clearbuffer(); //Чистим буффер (чтобы не глючило, поменьше мусора) writebyte(playernick); writestring(nick, true); sendmessage(socket);
//Добавляем в Playerlist for(i = 0; i < 256; i += 1) players[i] = -1; i = instance_create(32, 32, objPlayer); Пишем в step (шаг) Code while(1) //Начинается бесконечный цикл http://ru.wikipedia.org/wiki/Бесконечный_цикл { size = receivemessage(socket); //Получить следующее сообщение в очереди if(size < 0)break; //Если не получили сообщение, то выходим из цикла if(size == 0) //Если отключились от сокета - выходим { instance_destroy(); //уничтажаем обьект (а при уничтожении рассмотрим код ниже) break; } mid = readbyte(); //Прочитать сообщение (readbyte() читает данные) switch(mid) { case newplayer: pid = readbyte(); //Читаем данные, которые отправил нам сервер (у нас это - playerid) player = instance_create(0, 0, objRemote); //Создаем objRemote (remote player) player.x = readshort(); //Читаем координаты х player.y = readshort(); //Читаем координаты у player.nick = readstring(); //Читаем ник (переменную) players[pid] = player; //Добавляем в playerlist break; //Если не ошибаюсь, то разрыв соединения case playerlocation: player = players[readbyte()]; //Смотрим айди персонажа в playerlist player.x = readshort(); //set x player.y = readshort(); //set y break; case exitgame: player = players[readbyte()]; //получить идентификатор игрока из playerlist with(player)instance_destroy(); //Уничтожаем break; case playernick: player = players[readbyte()]; //Получить идентификатор игрока из playerlist player.nick = readstring(); //Смотрим никнейм break; } } Ура! Мы научились читать переменные, которые отправил сервер! Для профилактики objRemote - Это другой игрок, а objPlayer - это игрок с нашей стороны (мы им управляем) Событие User Defined 0 Code clearbuffer(); writebyte(exitgame); sendmessage(socket); sleep(100); closesocket(socket); dllfree(); Событие Destory (Уничтожение) Game End Урааа! Мы вписали все в обьект objControl! Теперь возьмемся за нашего игрока, которым будем управлять! ObjPlayer! Создайте обьект objPlayer и в create (создание) пишем: Code alarm[0]=1; //Запускаем будильник №0 В alarm 0 (Будильник №0): Quote //Отправляем переменные objPlayer серверу clearbuffer(); //Перед отправкой чистим буффер writebyte(playerlocation); //отправляем playerlocation writeshort(x); //Отправляем координату х writeshort(y); //Отправляем координату у sendmessage(objControl.socket); //Всё это отправляем серверу alarm[0] = 2; //опять запускаем будильник (получается таймер... Даже цикл))) Дальше можете в коде GML (как вам удобнее) придумать перемещение (мы уже приписали отправку координат, теперь надо управление придумать) Я сделаю самое простое Right: Left: Up: Down: Тадамс №2!))) Мы создали обьект игрока! Теперь возьмемся за других игроков (objRemote) создаем, как всегда, обьект objRemote! Вы надеюсь не забыли? Как получаем переменные к нему? Ммм? Смотрим выше если что ^__^ Создание (create) Code nick = ""; //Переменная никнейма Draw (Рисуем) Code draw_sprite(sprite_index, image_index, x, y); draw_text(x, y, nick); //по х у, относительно спрайта, пишем свой ник! Гааа! *-* Вааа! *_* Мы написали клиент! Как написать сервер - http://gcup.ru/forum/36-11940-1#182295
Сообщение отредактировал Deswing - Воскресенье, 26 Декабря 2010, 13:53 |
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 22:11 | Сообщение # 592 | Тема: Вопросик по 39dll |
заслуженный участник
Сейчас нет на сайте
| AGENTX001, не совсем...
|
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 22:03 | Сообщение # 593 | Тема: 39 dll |
заслуженный участник
Сейчас нет на сайте
| zik13, жди статью, уже пишу...
|
|
| |
Deswing | Дата: Суббота, 25 Декабря 2010, 22:02 | Сообщение # 594 | Тема: Вопросик по 39dll |
заслуженный участник
Сейчас нет на сайте
| Quote (AGENTX001) и ещё по каим урокам вы учились? справка 39dll + basicmmorpg. Разницы между dll и gex нет. Разница может быть только в версии 39dll. Quote (AGENTX001) нашол ток одно отличие - наличие функции dllinit() их масса. Открой свои Script's и сравни
|
|
| |
Deswing | Дата: Пятница, 17 Декабря 2010, 23:49 | Сообщение # 595 | Тема: А вы откуда? |
заслуженный участник
Сейчас нет на сайте
| Quote (bars) Луганск(Украина) живу в Луганске =))
|
|
| |
Deswing | Дата: Четверг, 16 Декабря 2010, 21:41 | Сообщение # 596 | Тема: Орден Независимых Игроделов. |
заслуженный участник
Сейчас нет на сайте
| Quote (Onerino_hano) Нет. Э отрывки которые помню. Какие 200+ строк? Ты прям Данцова. Напишешь много, а смысла(Качества и т.д.) нуль. Факты? Я грамотно пишу, в отличии от других...) Нуль О.о
|
|
| |
Deswing | Дата: Четверг, 16 Декабря 2010, 20:16 | Сообщение # 597 | Тема: Орден Независимых Игроделов. |
заслуженный участник
Сейчас нет на сайте
| Onerino_hano, это сценарий? Боже упаси... За час времени я могу написать вам 200+ строк, а вы написали что-то там О.о Я молчу о наличии диалогов и эмоций Добавлено (16.12.2010, 20:16) --------------------------------------------- Vorobushek, даешь пример Photoshop'a и 3ds Max'a
|
|
| |
Deswing | Дата: Среда, 15 Декабря 2010, 17:55 | Сообщение # 598 | Тема: Поразительный проект. |
заслуженный участник
Сейчас нет на сайте
|
|
|
| |
Deswing | Дата: Вторник, 14 Декабря 2010, 16:21 | Сообщение # 599 | Тема: Орден Независимых Игроделов. |
заслуженный участник
Сейчас нет на сайте
| Vip_Scenarist, жду. >_> (Сюжет не читал, а уже сценарии рубишь)
|
|
| |
Deswing | Дата: Понедельник, 13 Декабря 2010, 22:54 | Сообщение # 600 | Тема: Орден Независимых Игроделов. |
заслуженный участник
Сейчас нет на сайте
| Нуждаюсь в помошнике! Нужен человек, который может хорошенько упаковать мои идеи и мысли... Поможет собирать инфу, писать запросы в MySQL. Вроде бы пустяк, но этот "пустяк" нужен в команде
|
|
| |
|