Пятница, 23 Апреля 2021, 10:31

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 8 из 9
  • «
  • 1
  • 2
  • 6
  • 7
  • 8
  • 9
  • »
Форум игроделов » Записи участника » Abel399 [163]
Результаты поиска
Abel399Дата: Вторник, 16 Октября 2012, 13:49 | Сообщение # 141 | Тема: Комнаты в онлайн-игре.
Surpass your limits. Right now.
Сейчас нет на сайте
Приветствую всех). Я занимаюсь GM уже полтора года и после многих тренировок в создании обычных игр, онлайн игр и ограниченных 3d игр - начал уже создавать полную онлайн игру-файтинг. Делаю на 39dll. Пространство в 2d(не захотел морочаться с 3d моделями).. Игра создается отлично.., но вот одна загвоздка в спаринге участвуют 2 человека.. А зайти могут 6-12 и вот вопрос: Как сделать комнаты? - Я пробовал делать так - если в комнате находятся два человека, то на сервер отправляется переменная с комнатой и потом при заходе другие игроки не зайдут.. Это в принципе работало, но имело много багов и ограничение комнат.. Так что я решил сделать, чтобы игроки сами создавали комнаты и присоединялись к ним(и в комнате не больше 2 человек).
Думаю вопрос понятен, если что-то понадобится могу сказать. Можете объяснить, а еще если не сложно можете своять пример со схемой... Надеюсь на понимание и заранее благодарю))

Добавлено (16.10.2012, 13:49)
---------------------------------------------
Появилась идея при создании комнаты отправлять с клиента имя комнаты, айди игрока и карту. На сервере при приёме сообщения создавать ини-файл с названием комнаты и вписать туда значения, а клиент вводит имя комнаты и создает её с картой и персонажем из ини-файла. При завершении сражения удалять комнату.. - Это не совершенный вариант, но все же что-то мне кажется в нем есть..) Прошу помогите. Буду вам очень благодарен))


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Суббота, 25 Августа 2012, 16:55 | Сообщение # 142 | Тема: Что происходит с Гм?
Surpass your limits. Right now.
Сейчас нет на сайте
Saladin, ладно я мож и чего-то не туда поставил... Ну выходит у меня из цикла если сообщения принимаются, а иначе цикл продолжает действовать:
Code
if (messagesize <=0) break;

Ничто кроме этого циклу не припятствует...
Ладно мы говорим об одном.. А вопрос в том - почему переменные то одни а потом другие.. И делают через раз(

Добавлено (25.08.2012, 16:54)
---------------------------------------------
я тут проверил и.... он тупо эту переменную увеличивает на 1... он не отправляет результат.. потом переменная равна 0, потом 1, потом 2 и так может быть до бесконечности

Добавлено (25.08.2012, 16:55)
---------------------------------------------
А может ли это быть связано с тем, что game maker крякнутый? просто помню как-то слышал, что время от времени его надо переустанавливать, т.к. возникают некоготорые баги..


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Суббота, 25 Августа 2012, 04:24 | Сообщение # 143 | Тема: Что происходит с Гм?
Surpass your limits. Right now.
Сейчас нет на сайте
Пишу по памяти, т.к. сижу с телефона... Итак если я не ошибаюсь, то сервер после вычисления переменной, отправляет пакет с ней здесь:
Code
clearbuffer();
writebyte(1);
wtitebyte(access);
send_message(clientsocket);

Ну а потом клиент обрабатывает)))- это написано в 1 посте.
Saladin, То есть ты имеешь ввиду, что цикл там бессмыслен? Где именно он все время выходит на всех концах? Я своим еще не про гемдевовским мозгом думаю что он нормально работает(((


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Суббота, 25 Августа 2012, 04:26
Abel399Дата: Пятница, 24 Августа 2012, 15:22 | Сообщение # 144 | Тема: Что происходит с Гм?
Surpass your limits. Right now.
Сейчас нет на сайте
GameMix, я не стал сюда выкладывать create сервера, но этот клиентсокет задается именно там.. while(1) - это запуск бесконечного цикла, access берется в:
Code

name=readstring();   
       password=readstring();   
       if (file_exists(name + ".ini"))=true{   
           access=0;   
       }   
       else   
       {   
           ini_open(name + ".ini");   
           ini_write_string('Data','pass',''+ string(password));   
           ini_write_string('Data','ban','0');   
           ini_close();   
           access=1;   
       }   
       clearbuffer();   
       writebyte(1)   
       writebyte(access);   
       sendmessage(clientsocket);   
       connect=3   
       exit;

если файл существует, то access=0,а иначе равно 1. 0 - Имя занято, 1 - Регистрация завершена
В конце это все отправляется клиенту
Свич потому что там не один кейс! Я просто сюда выложил 1 кейс))


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Пятница, 24 Августа 2012, 15:24
Abel399Дата: Пятница, 24 Августа 2012, 08:27 | Сообщение # 145 | Тема: Что происходит с Гм?
Surpass your limits. Right now.
Сейчас нет на сайте
Приветствую всех) Вот столкнулся с напастью... GM 8 Pro почему-то стал глючить.. Я делаю онлайн игру на 39dll. И все было нормально, но как только в игре добавил новый супер удар на сервере в одном месте почему-то стала происходить белеберда. Он действовал не по скрипту и подставлял для переменных свои личные результаты, при этом не слушаясь операторов if и else.. Проблема в логине и регистрации. Допустим регаемся, сервер создает аккаунт первее чем узнает есть ли такой, а потом выдает, что имя занято wacko я уже ставил и break; и exit; чтобы этот наглый скрипт завершался, но он все равно сходит с ума(( В логине он сначала коннектит, а потом проверяет есть ли такой игрок в сети и тем самым отправляет не то значение переменной( - Аккаунт уже используется!!! Из логина я пока что просто убрал это обнаружение и все пока что норм, но вот рега... Она вообще с ума сходит... Он сначало регает, потом не регает.. Вообще будто это рандомно совершается((( Вот что делат клиент:
Create:
Code
dllinit(0,true,false);
global.clienttcp = tcpconnect("5.60.176.221",12564,1);
if (!tcpconnected(global.clienttcp))
{
closesocket(global.clienttcp);
show_message("Ошибка при подключении.");
game_end();
exit;
}
else
{
setnagle(global.clienttcp,1);
clearbuffer();
writebyte(2)
writestring(global.name,true);
writestring(global.pass,true);
sendmessage(global.clienttcp);
}

Step:
Code

var messagesize, messageid;

while(1)
{
messagesize = receivemessage(global.clienttcp);
if (messagesize <= 0) break;
messageid = readbyte();
switch(messageid)
{
     case 1:
     access=readbyte()
     if access=0{
     show_message("Имя занято!")
     }
     if access=1{
     show_message("Регистрация завершена.")
     room_goto(rm_login)
     }
     break;
}
}


На сервере:
Code
receivemessage(clientsocket);
connect=readbyte();
if connect=2{
     name=readstring();
     password=readstring();
     if (file_exists(name + ".ini"))=true{
         access=0;
     }
     else
     {
         ini_open(name + ".ini");
         ini_write_string('Data','pass',''+ string(password));
         ini_write_string('Data','ban','0');
         ini_close();
         access=1;
     }
     clearbuffer();
     writebyte(1)
     writebyte(access);
     sendmessage(clientsocket);
     connect=3
     exit;
}

По моему код правильный.. Но я уверен что старожилы форума обязательно его обкритикуют и найдут ошибку)) А если все правильно, то тогда почему такая ерунда? Уверен, что вы поможете) Заранее благодарю) biggrin


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Вторник, 12 Июня 2012, 15:15 | Сообщение # 146 | Тема: Пару вопросов насчёт возможностей гм...
Surpass your limits. Right now.
Сейчас нет на сайте
А может ли кто-нибудь ответить на 1 вопрос?
Quote (Abel399)
1 вопрос: Как воспользоваться no-ip в гм? Я там завёл хост, а потом если его вставлять в гм, то он будет как переменная, а если записать в ини файл - то всё равно у меня не заработает( Вообщем помогите


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Воскресенье, 10 Июня 2012, 17:44 | Сообщение # 147 | Тема: Пару вопросов насчёт возможностей гм...
Surpass your limits. Right now.
Сейчас нет на сайте
Ну а вам так не кажется, что игра Avatar the legends of arena делалась на гм? У меня это из головы не выходит.... Я её пересмотрел полностью и скорее всего она была сделана на ГМ)) Demeron, Сервак я собираюсь писать и так на Delfi))) Как думаешь зачем я его(делфи) тогда месяц целый зубрил? biggrin А можете подсказать хорошую dll для GM, чтобы она работала с 3D? И какую-нить не очень нудную, а то её еще придется зубрить месяц happy

Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Воскресенье, 10 Июня 2012, 17:45
Abel399Дата: Воскресенье, 10 Июня 2012, 16:32 | Сообщение # 148 | Тема: Пару вопросов насчёт возможностей гм...
Surpass your limits. Right now.
Сейчас нет на сайте
1 вопрос: Как воспользоваться no-ip в гм? Я там завёл хост, а потом если его вставлять в гм, то он будет как переменная, а если записать в ини файл - то всё равно у меня не заработает( Вообщем помогите smile
И вот доделав свою ммо игру в 2d и познав основные основы 39dll biggrin , я решил начать совсем убивать себя - сделать ужасное, супер-глючное 3d MMO на гм))) Идея конечно как везде имеется, знание основ имеется, требуется только много времени и какой-нить пример онлайна с 3d.
И тут же сразу 2 вопрос: Возможно ли сделать на гм что-то подобное? - ссылка и если да, то дайте пример на котором я смогу изучить структуру - что и как надо передавать) Кстати по графе и первой заставке мне очень кажется, что Nickelodion делал её на GM happy .
От всей души благодарю и говорю спасибо)))


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Четверг, 31 Мая 2012, 17:07 | Сообщение # 149 | Тема: Переход в комнату при двух условиях
Surpass your limits. Right now.
Сейчас нет на сайте
GameMix, Спасибо)) Ведь правда надо было писать через ord happy Лови + ok

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Четверг, 31 Мая 2012, 16:29 | Сообщение # 150 | Тема: Переход в комнату при двух условиях
Surpass your limits. Right now.
Сейчас нет на сайте
Ситуация такая - ГГ подходит к двери и появляется текст "Нажмите клавишу F для входа в магазин", после чего если он нажимает F, то переходит в rm_shop. У меня не получается... Я в столкновении писал
Code
draw_text(x+64, y+64, "Нажмите клавишу F для входа в магазин")
if keyboard_check("F")
{
room_goto(rm_shop)
}

И это не помогло, он как только подходит к двери сразу же перемещается в магазин( Вообщем помогите, пожалуйста) biggrin Спасибо smile


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Четверг, 31 Мая 2012, 04:33 | Сообщение # 151 | Тема: Пауза
Surpass your limits. Right now.
Сейчас нет на сайте
Вот в моём вопросе YellowAfterlife дал пример паузы с меню)) - ссылка

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Четверг, 31 Мая 2012, 04:07 | Сообщение # 152 | Тема: Вспылающее меню
Surpass your limits. Right now.
Сейчас нет на сайте
Ну впринципе и за это спасибо), но я пошёл по пути наименьшего сопротивления - просто создал объект, который и будет прорисовывать это меню biggrin А потом при нажатии ок оно уничтожиться happy

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Среда, 30 Мая 2012, 18:23 | Сообщение # 153 | Тема: Вспылающее меню
Surpass your limits. Right now.
Сейчас нет на сайте
Спасибо большое)))

Добавлено (30.05.2012, 18:23)
---------------------------------------------
А есть еще какие-нибудь примеры? А то просто этот не совсем подходит(


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Вторник, 29 Мая 2012, 18:47 | Сообщение # 154 | Тема: Вспылающее меню
Surpass your limits. Right now.
Сейчас нет на сайте
Все, здравствуйте biggrin У меня появился вновь вопрос) Пытался его сам решить не получилось( Всю справку аж три раза перепроверил smile Вопрос такой: Мне надо, чтобы при нажатии на объект появлялось окошечко в игре и в нём был текст и три спрайта... Это мне надо для выбора персонажа в игре. Вот для понятия набросал в Paint'е:

Пробовал это сделать через сообщения, но увы там всё не настолько развито( А новую комнату создавать не хочется. Хочется окошечко в игре biggrin Заранее от всей души благодарю))) Кто может помогите happy


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Вторник, 29 Мая 2012, 18:47
Abel399Дата: Вторник, 29 Мая 2012, 16:35 | Сообщение # 155 | Тема: Вопрос насчёт видов...
Surpass your limits. Right now.
Сейчас нет на сайте
Quote (MadMax)
делать ММО игру и не знать основы гамака...

Основы то я знаю)) Но ведь все равно знаю то не все smile А познавать можно бесконечно biggrin


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Понедельник, 28 Мая 2012, 11:57 | Сообщение # 156 | Тема: Вопрос насчёт видов...
Surpass your limits. Right now.
Сейчас нет на сайте
black_house, Твой способ именно тот что мне нужно))) hands Спасибо огромное) + ставлю happy

Добавлено (28.05.2012, 11:57)
---------------------------------------------
black_house, GameMix, Я вам по "+" поставил. Спасибо) Оба ваших способа работают отлично cool


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Понедельник, 28 Мая 2012, 11:41 | Сообщение # 157 | Тема: Вопрос насчёт видов...
Surpass your limits. Right now.
Сейчас нет на сайте
Работает... Поместил в step и все работает, но как сделать, чтобы она не двигалась, а стояла как бы на месте. Просто когда ГГ передвигает, то интерфейс как будто тоже двигается и появляется какое-то не такое ощущение. Вообщем должно казаться, что он просто стоит на месте, а не двигается вместе с видом...

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Понедельник, 28 Мая 2012, 11:18 | Сообщение # 158 | Тема: Вопрос насчёт видов...
Surpass your limits. Right now.
Сейчас нет на сайте
Эм... Если я правильно понял это надо поставить в объекты, за которыми надо следить? Вообщем попробую, если результат будет не тот, что ожидал то вопрос будет все равно открыт cool

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Понедельник, 28 Мая 2012, 10:53 | Сообщение # 159 | Тема: Вопрос насчёт видов...
Surpass your limits. Right now.
Сейчас нет на сайте
Я сейчас делаю онлайн игру на 39dll и решил сделать большую комнату (примерно-15000х15000). Это будет как бы мир... И чтобы не было неуютно в такой комнате решил использовать вид (640х480). Вид следит за главным героем..., но вот напасть. В комнате есть части интерфейса, это - чат, хп и данные о фпс и пинге. Вопрос такой: Как сделать, чтобы этот интерфейс передвигался так же вместе с ГГ и не выходил за пределы вида? Заранее спасибо smile и плюсик в репу поставить мне будет не лень biggrin

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Воскресенье, 27 Мая 2012, 06:50 | Сообщение # 160 | Тема: Создание пули...
Surpass your limits. Right now.
Сейчас нет на сайте
Спасибо огромное) Обожаю такую отличную критику smile Щас значит буду сам разжевывать свои ошибки... Спасибо, что показал их. happy

Добавлено (27.05.2012, 06:50)
---------------------------------------------
Ура получилось) biggrin Просто скрипты надо было вставлять не в obj_server, а в obj_client... Всё работает, правда одно но... Почему-то создаётся не 1 пуля, а три подряд(


Ninja Slayer - 2D puzzle game with physics
Форум игроделов » Записи участника » Abel399 [163]
  • Страница 8 из 9
  • «
  • 1
  • 2
  • 6
  • 7
  • 8
  • 9
  • »
Поиск:

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