Пятница, 19 Апреля 2024, 21:24

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум игроделов » Записи участника » BornInUSSR [93]
Результаты поиска
BornInUSSRДата: Суббота, 12 Марта 2011, 21:09 | Сообщение # 41 | Тема: Бэкграунды
почетный гость
Сейчас нет на сайте
draw_background(back,view_xview[0],view_yview[0])
BornInUSSRДата: Суббота, 12 Марта 2011, 21:03 | Сообщение # 42 | Тема: Бэкграунды
почетный гость
Сейчас нет на сайте
рисуй фон в координатах вида
BornInUSSRДата: Суббота, 12 Марта 2011, 21:01 | Сообщение # 43 | Тема: Эффекты отрисовки
почетный гость
Сейчас нет на сайте
Нарисуй картинку, а то тебя сложно понять.
BornInUSSRДата: Суббота, 12 Марта 2011, 20:57 | Сообщение # 44 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
Я вижу 39длл первый раз в жизни, и ничего сложного не нахожу. В твоих исходниках все функции нормально прокомментированы. Живых примеров у меня нет, так как мне мультиплеер без надобности. Ну а уроки можно загуглить если очень нужно. Если лень искать - так и скажи.
BornInUSSRДата: Суббота, 12 Марта 2011, 19:22 | Сообщение # 45 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
Так может мне еще и перевести для тебя? lol
BornInUSSRДата: Суббота, 12 Марта 2011, 19:21 | Сообщение # 46 | Тема: Вопрос - Ответ (Game Maker)
почетный гость
Сейчас нет на сайте
Можно ли создать спрайт из функции draw_sprite_stretched?
BornInUSSRДата: Суббота, 12 Марта 2011, 19:18 | Сообщение # 47 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
Quote (neksins)
BornInUSSR, это мой первый опыт в 39длл вот логику я понимаю что и где но незнаю как
в этом то вся соль, я незнаю как делать пакеты для отправки и приема

Цитата из хелпа, поставляемого вместе с 39длл:
Quote
Sending and recieving messages
For our game to work we need to know the y position of the paddle that the other player controls and the client needs to know the x, y
position of the ball which will be controlled by the server.

Sending
In the paddle which is controlled by you, you must send your Y co-ordinate to the other player so they can draw your paddle in the
right position. To do this, put this code in both the keyboard UP event and the keyboard DOWN event:

clearbuffer();
writebyte(0);
writeshort(y);
sendmessage(global.otherplayer);

The first line clears the internal buffer of any data. This is used in case there is data already in the buffer. The second line writes the byte
that represents the Message Id. In this game the message id 0 will indicate the message containing the Y position.
The next line writes the actual Y position to the buffer. We have used the data type "short" because a short can be any number between
-32000 to +32000. A short utilizes 2 bytes. If we had used one byte to represent the Y position and the Y position is bigger than 255 it will end up being not what you
wanted. The last line sends all the data in the internal buffer to the other player. In this case the data is the Message Id byte and the 2 bytes
used for the Y position.

Now we need to send the x, y position to the other player if we are the server. To do this put in the step event of the ball object:

if(!global.master)exit;
clearbuffer();
writebyte(1);
writeshort(x);
writeshort(y);
sendmessage(global.otherplayer);

The first line checks to see if we are the server. If we are NOT the server then exit the screen and do not execute the code below.
If however we are the server then first clear the internal buffer. Now write the Message Id "1" which will indicate the message is
the balls position. Now write a short which represents the x co-ordinate and write another short which represents the y co-ordinate.
Now just send the message to the other player.

Recieving a message.
In the paddle that you do not control..the one which is controlled by the other player, put this code in the step event:
var size;
while(true)
{
size = receivemessage(global.otherplayer);
if(size < 0) break;
if(size == 0)
{
show_message("The other player left the game");
game_end();
}
messageid = readbyte();
switch(messageid)
{
case 0:
y = readshort();
break;

case 1:
objBall.x = readshort();
objBall.y = readshort();:
break;
}
}

First this creates an infinite loop using while(true). The first line of the loop recieves any messages from the other player and sets the
variable "size" to how much bytes we recieved. The second line checks to see if no message was recieved. If no message was recieved
then exit the infinite loop. The third line checks to see if the other player disconnected from the game. If the message size == 0
that means the player left the game.
If the player did leave, then end the game. If we did recieve a message then all data from the message is placed inside the internal buffer.
We can now use the buffer scripts to return the data from the message. The first part returns the message ID.
After that it uses the switch() statement to check what the ID equals. If the ID is 0 then this means the message is for the other players
y co-ordinate. We simply use readshort() to return the y position. Remember because we wrote the Y position as a short, we now must
read the Y position using a short.

If the Message ID equals 1, which represents the balls x, y position then use readshort() to set the balls x position to the right place and
readshort() again to set the balls y position in the right place.

BornInUSSRДата: Суббота, 12 Марта 2011, 19:05 | Сообщение # 48 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
Quote (neksins)
я незнаю как послать пакет с информацией о ИИ и отправить его по клиентам, вот в чем вся соль

ИИ обрабатывается сервером. Ты только отсылаешь необходимые переменные и функции. Какие, зависит от ИИ.
Ты вообще когда нибудь писал ИИ? Попробуй на каком нибудь новом проекте, получишь массу опыта и перестанешь задавать глупые вопросы.

Quote (neksins)
и незнаю какие пакеты кидать в информациях о предметах чтобы например было видно выстрелы чтобы было видно пушки на кораблях и т.п.

Чтобы было видно выстрел (если пули это объекты) нужно отправить клиенту:
1. instance_create();
2. x и y места где создается пуля;
3. direction;
В объекте пули в клиенте должны быть указаны параметры движения, такие как скорость, радиус разброса ну и в объекте-контроллере нужно не забыть принять пакет с информацией которую отправил сервер.
Все то же самое и касательно пушек, мобов и прочего.
BornInUSSRДата: Суббота, 12 Марта 2011, 18:19 | Сообщение # 49 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
Quote (neksins)
BornInUSSR, пример ботов (на основе бейсикммо (мой исходник)), пример видимых сервером других обьектов, пример чата с чатбоксом, чтото типа того...

ИИ для ммо и для сингл плеера ничем не отличается. Единственное что тебе нужно это передавать координаты врага, результат выполнения атаки и анимацию.
Ищи любой пример ИИ и сиди разбирайся.

"Настраивать" мобов будешь сам. Точнее писать им ИИ. Я могу помочь только в конкретной проблеме.

BornInUSSRДата: Суббота, 12 Марта 2011, 18:14 | Сообщение # 50 | Тема: Как изменять игровой вид
почетный гость
Сейчас нет на сайте
view_object[n]
BornInUSSRДата: Суббота, 12 Марта 2011, 17:42 | Сообщение # 51 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
А что там осваивать? Все функции которые предоставляет эта длл описаны в туториале (она лежит в архиве с длл). Они все к стати использованы и в твоих исходниках, о каких еще примерах может идти речь?!?
BornInUSSRДата: Суббота, 12 Марта 2011, 16:37 | Сообщение # 52 | Тема: Художник пытается освоить GML
почетный гость
Сейчас нет на сайте
Quote (Ferrumel)
while (place_free (x,+4)) {y+=2};

if keyboard_check (vk_left) then
if place_free (x-4,y) then x-=1

if keyboard_check (vk_right) then
if place_free (x+4,y) then x+=1

if keyboard_check (vk_up) then
if !place_free(x,y+4) then
while (place_free(x,y-4)) {y-=2};


Какой то странный разнобой в коде.
То ты используешь скобки, то нет. Постоянно проскакивает этот then, который только затрудняет чтение кода.
Почему то вместо or/and ты используешь два if. Ты явно используешь этот код в степе, зачем запускаешь цикл, если событие выполняется каждый шаг, почему не все тот же if?
Мне кажется тебе нужно выработать какой то один стиль кодинга ну и внимательнее просматривать написанный код.

Код к стати не работает из-за циклов, и вообще вешает машину.

BornInUSSRДата: Суббота, 12 Марта 2011, 09:49 | Сообщение # 53 | Тема: Архив с вопросами
почетный гость
Сейчас нет на сайте
В обьекте светофора, в гейм старт или криэйт или куда тебе там нужно:
instance_deactivate_all(1);
Когда обработается код переключения света с красного на зеленый, имеж_индекс, если ты его используешь:
instance_activate_all();

А вообще для какой цели тебе это нужно?

BornInUSSRДата: Суббота, 12 Марта 2011, 00:32 | Сообщение # 54 | Тема: Архив с вопросами
почетный гость
Сейчас нет на сайте
1. instance_deactivate_all()
2. instance_activate_all()
3. ........!!1
4. PROFIT!
BornInUSSRДата: Пятница, 11 Марта 2011, 23:37 | Сообщение # 55 | Тема: Здоровье в шутерах
почетный гость
Сейчас нет на сайте
Ну вообще конечно смешно biggrin
Это наверное заразно.
Сперва себя якобы изжила система уровней, теперь полоска здоровья, а завтра что?


Сообщение отредактировал BornInUSSR - Пятница, 11 Марта 2011, 23:37
BornInUSSRДата: Пятница, 11 Марта 2011, 23:05 | Сообщение # 56 | Тема: Здоровье в шутерах
почетный гость
Сейчас нет на сайте
Quote
Полуавтоматическое восстановление здоровье, как в Far Cry 2 и отчасти Метро 2033.

Ни то ни другое не играл, это как?
BornInUSSRДата: Пятница, 11 Марта 2011, 20:39 | Сообщение # 57 | Тема: Вопросы по мультиплееру
почетный гость
Сейчас нет на сайте
Quote (FinalQ)
Так и есть, вопрос в том как передать это другим игрокам что именно эта денежка уничтожилась, а не другая или вообще все.

Создавай денежку на сервере. И сервером же обрабатывай взятие денежки игроком. Если денежка взята, уничтожай ее на сервере, а игрокам отсылай пакет с функцией удаления, только вместо имени обьекта используй айди.


Сообщение отредактировал BornInUSSR - Пятница, 11 Марта 2011, 20:40
BornInUSSRДата: Пятница, 11 Марта 2011, 20:26 | Сообщение # 58 | Тема: Ищу помощь с 39длл онлайн проектом ^^
почетный гость
Сейчас нет на сайте
Quote (neksins)
Made_In_USSR, непомогло, вы тестировали?

Сейчас проверю файл по ссылке, но у меня точно все работало.
Как выясняется из твоего поста работало потому что все нужные пакеты отправлялись и получались клиентом, а вместо поворота спрайта использовался пакет с дирекшн. Как я уже говорил это минус один лишний пакет.
BornInUSSRДата: Пятница, 11 Марта 2011, 20:22 | Сообщение # 59 | Тема: Архив с вопросами
почетный гость
Сейчас нет на сайте
Огромное спасибо!
Будет чем заняться на выходных.
BornInUSSRДата: Среда, 28 Июля 2010, 22:26 | Сообщение # 60 | Тема: Questes - новый конструктор игр в разработке
почетный гость
Сейчас нет на сайте
Quote (MaximSokol)
Тьфу, я сразу в тебе тролля не распознал, извини

Внимательнее надо быть, батенька smile
Форум игроделов » Записи участника » BornInUSSR [93]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

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