Четверг, 25 Апреля 2024, 10:48

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 9 из 9
  • «
  • 1
  • 2
  • 7
  • 8
  • 9
Форум игроделов » Записи участника » Abel399 [165]
Результаты поиска
Abel399Дата: Понедельник, 28 Мая 2012, 10:53 | Сообщение # 161 | Тема: Вопрос насчёт видов...
Surpass your limits. Right now.
Сейчас нет на сайте
Я сейчас делаю онлайн игру на 39dll и решил сделать большую комнату (примерно-15000х15000). Это будет как бы мир... И чтобы не было неуютно в такой комнате решил использовать вид (640х480). Вид следит за главным героем..., но вот напасть. В комнате есть части интерфейса, это - чат, хп и данные о фпс и пинге. Вопрос такой: Как сделать, чтобы этот интерфейс передвигался так же вместе с ГГ и не выходил за пределы вида? Заранее спасибо smile и плюсик в репу поставить мне будет не лень biggrin

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

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


Ninja Slayer - 2D Physics Puzzle [cancelled]
Abel399Дата: Суббота, 26 Мая 2012, 15:38 | Сообщение # 163 | Тема: Создание пули...
Surpass your limits. Right now.
Сейчас нет на сайте
Ну вот подправил в коде:
Клиент нажимает лкм и выполняются два скрипта:
Code
if canshoot
{ canshoot=false;
  alarm[1]=10;  //время перезарядки
  mybullet = instance_create(x+0,y+0,obj_bullet);
  mybullet.speed = 10;
  mybullet.direction = dir;
  mybullet.myplayer = id;
  mybullet.image_angle = mybullet.direction;
  mybullet.command = command;
  }

Code

bullx=obj_bullet.x
bully=obj_bullet.y
bulldirection=mybullet.direction
clearbuffer();
writebyte(12);
writeshort(bullx);
writeshort(bully);
writeshort(bulldirection);
sendmessage(global.clienttcp)

Сервер принимает:
Code

mid=receivemessage(clientsocket);
mid = readbyte();
switch mid
{
  case 12:
    bullx=readshort();
    bully=readshort();
    bulldirection=readshort();
    }
  break;

Сервер отправляет:
Code

clearbuffer();
writebyte(12);
writeshort(bullx);
writeshort(bully);
writeshort(bulldirection);
sendmessage(clientsocket);

Клиент принимает и выполняет:
Code

mid = receivemessage(global.clienttcp);
mid = readbyte();
switch mid
{
  case 12:
    bullx=readshort()
    bully=readshort()
    bulldirection=readshort()
    bull=instance_create(bullx, bully, obj_bull)
    }
  break;

Но почему-то пуля все равно не отображается( Помочь можешь?


Ninja Slayer - 2D Physics Puzzle [cancelled]
Abel399Дата: Суббота, 26 Мая 2012, 14:50 | Сообщение # 164 | Тема: Создание пули...
Surpass your limits. Right now.
Сейчас нет на сайте
Раз так всё плохо, то помоги) Скажи как бы ты сделал "правильно" biggrin

Ninja Slayer - 2D Physics Puzzle [cancelled]
Abel399Дата: Суббота, 26 Мая 2012, 12:36 | Сообщение # 165 | Тема: Создание пули...
Surpass your limits. Right now.
Сейчас нет на сайте
Щас на gm делаю онлайн игру (так с друзьями поиграть). Проэкт не глобальный и не коммерческий happy . И вот я споткнулся, когда начал делать выстрелы... Идея в том, что клиент1 выстреливает при нажатии на лкм, создаётся пуля и пишется код:
Code

clearbuffer();
writebyte(shot)
writeshort(bullet.x);
writeshort(bullet.y);
writeshort(dir);
writeshort(bullet.image_angle);

Сервер принимает байт и читает его:
Code

case shot:
bullet.x=readshort()
bullet.y=readshort()
dir=readshort()
bullet.image_angle=readshort()

Сервер отправляет:
Code

clearbuffer();
writebyte(shot);
writeshort(bullet.x);
writeshort(bullet.y);
writeshort(dir);
writeshort(bullet.image_angle);
sendmessage(clientsocket);

Другие клиенты читают:
Code

case shot:
bullet.x=readshort();
bullet.y=readshort();
dir=readshort();
bullet.image_angle=readshort();
bullet=instance_create(bullet.x, bullet.y, obj_bullet) {direction=dir; obj_bullet.image_angle=bullet.image_angle}

Вот такой код пробовал я писать... Но как только я нажимал лкм, то клиент зависал и был полностью не управляем(выключался только через диспетчер задач). Вообщем пуля у меня в клиенте создаётся и летит, а как сделать чтобы её видели другие клиенты? Умные люди прошу вашей помощи smile Пожалуйста помогите. rolleyes Заранее спасибо)
P.S. Вот сама моя игра, чтобы было понятно как, там у меня дело обстоит -скачать
P.S.S. Тот код я убрал т.к. он же не работает - зачем ему там быть)


Ninja Slayer - 2D Physics Puzzle [cancelled]

Сообщение отредактировал Abel399 - Суббота, 26 Мая 2012, 12:48
Форум игроделов » Записи участника » Abel399 [165]
  • Страница 9 из 9
  • «
  • 1
  • 2
  • 7
  • 8
  • 9
Поиск:

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