IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Reply to this topicStart new topic
> Сетевые скрипты, Как писать?
ERMMASTER
сообщение 17 Jun 2010, 15:41
Сообщение #1

Learning Dart Arts
Сообщений: 48
Спасибо сказали: 2 раза




Писал тут разные скрипты понимаешь, все нормально работало, но тестилось на хотсите. Решил испытать на мультиплэйере и тут низверглось небо и посыпало багами)

Кода оч. много поэтому у меня вопрос, достаточно ли поменять триггеры !?BA0 !?BA1 и им подобные на !?BA51 !?BA52/ Кто сталкивался с сетевыми проблемами просьба отписаться с какими и как их править буду оч. благодарен.
Go to the top of the pageAdd Nick
 
+Quote Post
DracoLich
сообщение 17 Jun 2010, 17:01
Сообщение #2

Banished
Сообщений: 1 782
Спасибо сказали: 116 раз




хот-сит == одиночная игре
Цитата
достаточно ли поменять триггеры !?BA0 !?BA1 и им подобные на !?BA51 !?BA52
в теории да. на практике, все боевые скрипты требует тонны синхронизации через IP.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
ERMMASTER
сообщение 17 Jun 2010, 17:32
Сообщение #3

Learning Dart Arts
Сообщений: 48
Спасибо сказали: 2 раза




Очень жаль... Тонны работы перерабатывать тонной синхронизации...
Что-ж буду пробовать, если нет , забью на multiplayer

Добавлено ([mergetime]1276785157[/mergetime]):
И еще, достаточно ли синхронизировать только битвы хуман vs хуман?
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 17 Jun 2010, 17:52 (Сообщение отредактировал EtherniDee - 17 Jun 2010, 17:52)
Сообщение #4

Immortal
Сообщений: 1 468
Спасибо сказали: 1153 раза




ERMMASTER, всё элементарно. Просто все скрипты для боя помещаешь в функции. И на источники события вроде мыши или кнопки вызываешь функцию обработки события два раза:
!!FU...: P; // локально
!!FU...: D; // удалённо.
Всё.


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
DracoLich
сообщение 17 Jun 2010, 18:10
Сообщение #5

Banished
Сообщений: 1 782
Спасибо сказали: 116 раз




[
я думал это что-то большее.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 22 Jul 2010, 18:53
Сообщение #6

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




Цитата(EtherniDee @ 17 Jun 2010, 17:52)
всё элементарно.

Угу. Элементарно невозможно передать по сетке удаление объекта из-под героя при посещении. Как ни мучай, исход один - сброс игроков с сервака.


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 22 Jul 2010, 20:05
Сообщение #7

Immortal
Сообщений: 1 468
Спасибо сказали: 1153 раза




А зачем? Объекты синхронизируются при передаче хода автоматически.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 25 Jul 2010, 17:54
Сообщение #8

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




Если бы не было сброса СРАЗУ при удалении объекта, я бы и вовсе не мучал FU:D/IP.
Цитата(EtherniDee @ 22 Jul 2010, 20:05)
А зачем? Объекты синхронизируются при передаче хода автоматически.

Это не тот случай. Просто удалить объект и удалить при посещении - разные вещи. Последнее вечно вызывает выкидыш.
В общем, это нужно протестировать на реальной TCP/IP. А игра между двумя копиями на одном компе - недо-сеть.


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 30 Jul 2010, 01:42
Сообщение #9

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Может, на том компе дублируется удаление, но удаляется герой? Для Эры могу сделать код для проверки, если вспомню, как там вызываются функции по адресу.

Вот у меня, кстати, 2 копии на 1 компе вообще между собой не играют. Даже в СоДе все заканчивается на ходе последнего компа.

EtherniDee, если вызываются некоторые команды типа каста магии, такое не сработает?


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 30 Jul 2010, 04:45 (Сообщение отредактировал Master Of Puppets - 30 Jul 2010, 04:46)
Сообщение #10

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




Цитата(sergroj @ 30 Jul 2010, 01:42)
Для Эры могу сделать код для проверки, если вспомню, как там вызываются функции по адресу.

Если не затруднит - то, да, пожалуйста. Собственно, это единственный момент, из-за которого я впал в тоску и забил на сеть.
Цитата(sergroj @ 30 Jul 2010, 01:42)
Вот у меня, кстати, 2 копии на 1 компе вообще между собой не играют. Даже в СоДе все заканчивается на ходе последнего компа.

Так это с любой версией так. А тестеры "сети без сети" используют лишь первый игровой день. sorry.gif


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 01 Aug 2010, 00:28
Сообщение #11

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Я был прав.
Попробуй:
Код
при посещении:

!!HE-1:N?v1;
!!IP:D-1; [send to all players]
!!FU111:Dv1/0; [hide hero]
!!UN:Ov998/v999/v1000/1; [удаление объекта]
!!FU111:Dv1/1; [show hero]

!?FU111;
!!UN:C6919480/4/?y1;
!!VRy1:+136736;
!!VRy2&x1=0:S5077328;
!!VRy2&x1<>0:S5077056;
!!SN:Ey2/2/y1;


--------------------
ДНК банана на 50% состоит из человека.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 01 Aug 2010, 12:12 (Сообщение отредактировал Master Of Puppets - 01 Aug 2010, 12:43)
Сообщение #12

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




По-моему, тут что-то надо поправить... Например, вместо x1 в проверке должна быть вроде x2.
В ecx ведь перед вызовом кладётся адрес структуры героя? А что если так?

!?FU111;
!!UN:C6933756/4/?y5;
!!VRy1:S$color$*360;
!!VRy5:-y1;
!!VRy1:Sx1*1170+y5+2896;
!!VRy2&x2=0:S5077328;
!!VRy2&x2<>0:S5077056;
!!SN:Ey2/2/y1;

Мне кажется, вернее.


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 01 Aug 2010, 16:33
Сообщение #13

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Нет, ты пытаешься искать героя в структуре игрока.
Код
!?FU111;
!!UN:C6919480/4/?y1;
!!VRx1:*1170 +y1 +136736;
!!VRy1&x2=0:S5077328;
!!VRy1&x2<>0:S5077056;
!!SN:Ey1/2/x1;


Добавлено ([mergetime]1280669621[/mergetime]):
!!IP:D-1; не обязателен


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 01 Aug 2010, 16:35 (Сообщение отредактировал Master Of Puppets - 01 Aug 2010, 16:41)
Сообщение #14

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




Да нет, я же использую смещение не от начала структуры текущего игрока, а от начала структур всех игроков. Оно постоянно и никогда не подводит.

!!UN:C6933756/4/?y5; //получили указатель на структуру текущего игрока
!!VRy1:S$color$*360; //умножили текущего игрока на размер структуры
!!VRy5:-y1; //отняли и переместились в начало структур игроков
!!VRy1:Sx1*1170+y5+2896; //припёрлись к структуре данного героя

Ладно. у меня тоже правильно, но у тебя проще. smile.gif


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 02 Aug 2010, 20:03
Сообщение #15

В миру GrayFace
Сообщений: 2 529
Спасибо сказали: 817 раз




Ха, точно. Сработало?


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 02 Aug 2010, 20:11
Сообщение #16

Анти-Всë
Сообщений: 2 989
Спасибо сказали: 2377 раз




Да, всё отлично.


--------------------
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery

Go to the top of the pageAdd Nick
 
+Quote Post
Bes
сообщение 20 Jan 2011, 14:54
Сообщение #17

замолкаю.
Сообщений: 2 340
Спасибо сказали: 1010 раз




Подскажите, как вести проверку во время боя при сетевом режиме, чья сторона щас ходит?
Необходимо блокировать возможность ждущему игроку пользоваться втроенными фичами по ПКМ.

Флаг 999 указывает лиш на то,на чьём ходе была инициирована битва..
А вот как уже во время вести контроль, я не знаю sad.gif
Ведь BG:Q для каждой стороны даёт то,что "ОН" текущий sorry.gif


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Aleee
сообщение 20 Jan 2011, 15:47
Сообщение #18

Immortal
Сообщений: 2 149
Спасибо сказали: 697 раз




Можно попробовать BG:N. Если возвращаемое значение больше 20, то ходит существо второго игрока.
Go to the top of the pageAdd Nick
 
+Quote Post
Bes
сообщение 22 Jan 2011, 12:56
Сообщение #19

замолкаю.
Сообщений: 2 340
Спасибо сказали: 1010 раз




Ой, я извиняюсь, неправильно написал вопрос sorry.gif

Как узнать какая сторона щас ожидает, пока ходит другая сторона.. Т.е. как мне контролировать нажатие мышью неактивного игрока в битве???
Ведь BG:Q для всех сторон показывает только активную сторону sad.gif


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Aleee
сообщение 22 Jan 2011, 17:13
Сообщение #20

Immortal
Сообщений: 2 149
Спасибо сказали: 697 раз




Если клик совершается не по монстру, то никаких идей.
Go to the top of the pageAdd Nick
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25 July 2025 - 14:20
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика