Результаты поиска
| |
AntiAlianKiller | Дата: Пятница, 12 Апреля 2013, 16:30 | Сообщение # 181 | Тема: Сетевая игра |
постоянный участник
Сейчас нет на сайте
| Цитата (maks-bj) это всё что удалось накопать в интернете
Кто осмелился говорить такую ересь, если я сам, король туторов и исходников по нетворку, а также величайший автор ММО-РПГ игры, сделаной на конструкторе, которая является самым лучшим исходником на констракте, созданым с мультиплеером, написал урок для вас?*
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
Сообщение отредактировал AntiAlianKiller - Пятница, 12 Апреля 2013, 16:31 |
|
| |
AntiAlianKiller | Дата: Пятница, 12 Апреля 2013, 16:22 | Сообщение # 182 | Тема: Передача данных плагином NetWork |
постоянный участник
Сейчас нет на сайте
| 1. Ты выводишь из пакета ПЯТУЮ переменную, хотя их всего 1! ( GetToken(network.packetdata, 5, ":" [тут даже скобки не стоит!!] & переменная(ИгрокВключить) [тут скобка, по непонятным причинам. Видимо каждая переменная разделяется не ":", а ":ИгрокВключить"]
2. Глобальная переменная "онлин" не меняется при приходе покета, также, как и переменная "ИгрокВключить"
3. Тебе бы стоило прежде прочитать мою статью, о выводе переменных GetToken -ами из пакета. Там все подробно разжевывается.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
Сообщение отредактировал AntiAlianKiller - Пятница, 12 Апреля 2013, 16:23 |
|
| |
AntiAlianKiller | Дата: Четверг, 11 Апреля 2013, 15:59 | Сообщение # 183 | Тема: Не сложные примеры Madsen'a (2) Актуальный пример - Crafting |
постоянный участник
Сейчас нет на сайте
| зачем заново изобретать велосипед, если я итак уже изобрел его заново? У меня есть полноценный крафт с возможностью дополнения, не изменяя исходник.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Среда, 10 Апреля 2013, 13:24 | Сообщение # 184 | Тема: Научите сохранять шифровано |
постоянный участник
Сейчас нет на сайте
| шифровать надо плагином CRC32, а сам ID шифровки записывать в реестр.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Среда, 10 Апреля 2013, 13:19 | Сообщение # 185 | Тема: >> Статья о плагине NETwork (для создания он-лайн игр) |
постоянный участник
Сейчас нет на сайте
| Всем доброго времени суток! Вот решил написать обзор на плагин, который, как мне кажется, больше всего интересует всех. Это плагин NETwork. Является самым востребованным плагином из всех, так как, уверен, каждый хотел-бы сделать свою он-лайн игру на конструкторе. В этой статье я напишу Вам как им пользоваться, какие есть условия, события, параметры, о всех его секретах и недостатках.
Начнем, пожалуй, с того, что рассмотрим условия Условие - это набор действий, при выполнении которых выполнятся другие действия. (По крайней мере, так себе их представляю я)
=====Раздел "Messages" (Послание, или как у нас принято - сообщение)
> On any Massage (При любом сообщении) Очень полезно для чата, если нам нужно, чтобы поступило, например, не конкретное сообщение, а любое.
> On Massage (При сообщении ...) Тут, в отличии от предыдущего пункта, берется во внимание только то сообщение, которое вы указали. Может понадобится для выполнения определенных действий, т.е. "Если пришло сообщение Server Closed, то отключится от сервера". Но для этого лучше использовать пакетный тип передачи данных. О нем и говорится в следующем разделе.
=====Раздел "Packet" (Пакет)
> On Packet type (При пакете типа ...) Самое важное условие, на котором все базируется. Вообще сообщения, можно было бы основать и на таком способе передачи данных, но все же автор плагина решил упростить нам жизнь, и отвел для них отдельные каналы, по которому они передаются. О каналах передачи пакетов мы поговорим позже, а пока я расскажу, для чего используют это условие. Оно, аналогично условию "On Massage" исполняет действие, если на ваш компьютер, подключенный к серверу, придет конкретный пакет, который вы указали. Например: Как узнать, к кому пришло сообщение, и от кого оно отправлено?
Тут мы видим, что при приходе сообщения "RemovePlayer" и сравнения, существует ли игрок с таким ID у Вас в клиенте по "прикрепленным" данным к пакету удаляется копия спрайта этого игрока с таким ID. Зачем это нужно? При выходе игрока из сервера, чтобы тот не "стоял" на карте без действия, он автоматически удаляется. Это удобнее и для пользователя, и для сервера. Также тут вы увидели параметр GetToken(Network.PacketData,1,","). Для чего он нужен, я расскажу в разделе параметры.
=====Раздел "Triggers" (триггеры - простейшие условия, выполняющие логическую функцию с обратной связью. Часто называют "повторителями")
> On connect (При успешном подключении к серверу) > On connect filed (Если подключится к серверу не удалось) > On disconnect (При выходе из сервера)
Вышепоказанный раздел, как мне кажется, не требует разжёвывания, итак все понятно для чего и как это используют.
Теперь, когда мы разобрались с условиями, переходим еще в один немаловажный глобальный раздел - Действия
=====Раздел "Client" (Клиент, т.е. "рабочая среда" пользователя, подключенного к серверу)
> Connect (Подключится к ...) Нужно для подключения к серверу. Пусть вас не пугают параметры, которые нужно указать. Я сейчас объясню, для чего они нужны. Host - IP-адрес сервера к которому нужно подключится. Если вы хотите подключится к локальному серверу (для игры по локальной сети) просто укажите "localhost" Host port - это порт сервера, по которому будут передаваться данные. Его указание нельзя упускать из виду, это самая важная часть подключения! Просто укажите тут DNS/UDP порт сервера, к которому будет подключаться клиент. При этом, он обязательно должен быть "открыт" у владельца сервера на компьютере или в маршрутизаторе. Channels - это те самые каналы, о которых я обещал рассказать Вам ранее. Каждый канал - это отдельный "путь" передачи пакетов. Для чего они нужны? В основном, чтобы не загружать один и тот же "путь" передачи, и для индефикации пакетов. Например, в один канал можно посылать системные пакеты (кик, бан, проверка он-лайна), а в другой пакеты позиции игрока и информации о нем. User Data - Количество портов, которые анализируются и рассматриваются сервером в очереди. 0 - не ограниченное, однако даже если поставить 1, то результат не изменится, разве что на сервер подсоединятся 2 пользователя одновременно.
> Disconnect (Отключится от сервера)
=====Раздел "Massage" (Сообщение)
> Send Massage (Послать сообщение) Думаю, тут не возникнет вопросов. Тут, кстати, тоже можно указать канал, по которому передастся сообщение
=====Раздел "Packet" (Пакет)
> Send packet reliable (Отправить приоритетный пакет) Этот пакет используется для передачи важных данных, таких как количество денег у игрока, его характеристики, или системные пакеты, типа бан, кик, смена ника и т.д.
> Send position packet (Отправить пакет позиции) Нужен для быстрой передачи данных, которые не требуют надежности и дальнейшей обработки, типа передачи позиции игрока на карте
=====Раздел "Server" (Сервер)
> Host server (Создать сервер) Тут нужно указать 3 параметра Host Port - порт, "открытый" на Вашем компьютере или маршрутизаторе. Подробнее в разделе Client. Max Clients - максимальное количество клиентов на вашем сервере. При попытке подключения большего количества, просто будут игнорироваться. Chanels - количество каналов для передачи данных. Подробнее в разделе Client.
Наконец то, мы обошли два самых важных глобальных раздела этого плагина - Условия и действия. Но! Остались еще параметры... Их немного, но без них невозможно обойтись!
=====Параметры
> Get ping round trip time (Вывести время, за которое пакет проходит на сервер, и обратно. Иным словами - пинг) Кто играл в он-лайн игры, тот сразу поймет, что конкретно обозначает пинг. Зная пинг можно вычислить PPS - Packets Per Second ("Пакетов в секунду". Иногда ошибочно называют FPS) по этой формуле: 1000 / Network.RoundTripTime (количество миллисекунд в секунде, деленные на пинг)
> Packet Data (Вывести данные из пакета) Самый важный параметр. Выводит данные отправленные в пакете. Отлично сочитается с GetToken -ами, если нужно передать больше, чем 1 параметр. Например:
"position" & ":" & global('ID') & ":" & player.X & ":" & player.Y
Как видите, все 3 значения разделены ":". Это делается для того, чтобы можно было "достать" GetToken -ом нужное значение. Например, если мы введем GetToken(Network.PacketData,2,":"), то мы выведем значение "player.X".
> Get Massage (Вывести данные из сообщения) Тут не должно возникнуть вопросов... Мы получаем сообщение (условием On Massage/On any Massage) и вставляем его в поле чата (Text > Set text > Network.Message).
=====На заметку
Если Вы передаете числовые данные, то при выводе, всегда "загоняйте" их под int( переменная ) - это превратит их в числа. Часто, тип передаваемых данных путается, и вы будете 2 часа искать ошибку, но так и не поймете, что, например, переменная "255" - текст! А текст, как известно, не воспринимается сравнивающими условиями.
=====Недостаток плагина.
Есть определенная группа пользователей, которые не могут подсоединится к серверу, так-как Win7 блокирует некоторые возможности плагина. Их вход на сервер пагубно отображается на нем - он просто перестает нормально работать, пока не перезапустится. Чтобы избавится от них - сделайте проверку. Типа отправлять каждую секунду пакет "проверка" на протяжении 10 секунд. Если по окончании проверки придет 10 пакетов - значит это нормальный пользователь, подходящий для игры. Если же нет - (отправится больше/меньше пакетов) предупредите их о том, чтобы запустили программу "В режиме совместимости". Спасибо xxxShade за эту информацию
=========================================== Вот и все. Больше я ничего не могу рассказать, все остальное Вы узнаете сами. Спасибо за внимание. Если увидели ошибку - не надо флудить, просто напишите мне в комментариях, а лучше в лс.
Урок написал AntiAlianKiller (Даниил Гапонов). Специально для форума Gcup.ru
Скачать сам плагин (NETwork), и прилегающими исходниками с объяснениями можно тут - (официальный источник) >> скачать << Последняя версия Scirra Construct - (официальная ссылка) >>скачать<<
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
Сообщение отредактировал AntiAlianKiller - Четверг, 01 Августа 2013, 21:14 |
|
| |
AntiAlianKiller | Дата: Понедельник, 01 Апреля 2013, 18:23 | Сообщение # 186 | Тема: Не сложные примеры Madsen'a (2) Актуальный пример - Crafting |
постоянный участник
Сейчас нет на сайте
| на уровне твоих знаний в этой программе - ничего.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Пятница, 29 Марта 2013, 02:03 | Сообщение # 187 | Тема: Анимация |
постоянный участник
Сейчас нет на сайте
| Цитата (madsen) Nick_Rimer, Scirra Constrict Classic. http://scirraconstruct.ru/ Вот, по названию сайта видно. https://www.scirra.com/ И вот, так что, увы Scirra.
О... Еще и спорить начал... Воздержусь, чтобы не минуснуть.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Пятница, 29 Марта 2013, 01:58 | Сообщение # 188 | Тема: Плагин network |
постоянный участник
Сейчас нет на сайте
| Бессмысленное занятие, делать игру на констукторе, ибо, как показала статистика встроенного лога коннектов, только 55% смогут играть, у остальных какая-то фигня - пакетники, вместо положенных 30 раз/в секунду отправляются по 70.000-150.000 раз/в секунду. Сервер просто крошится на мелкие кусочки: пакетники путаются местами, и отправляются снова и снова, получится невообразимая белиберда - все сообщения, все пакетники позиции, хоть раз объявленные в работе программы будут дублироваться до бесконечности.
Уж больно криво написан плагин... Эх, если бы его кто-то переписал, я бы доделал самую что ни на есть настоящую ММО-РПГ игру! Жаль, конечно, что таким уже никто не будет заниматься. Англоязычное комьюнити вымерло, одни мы, как слоупоки, юзаем все еще конструктор
Хотя если-бы кто-то и принялся переписывать плагин, я бы помог.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Пятница, 29 Марта 2013, 01:42 | Сообщение # 189 | Тема: Как увеличить камеру? |
постоянный участник
Сейчас нет на сайте
| Подсказывает интуиция мне, что Ctrl +/- тут работать будет...
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Понедельник, 25 Марта 2013, 17:41 | Сообщение # 190 | Тема: Разрешение экрана |
постоянный участник
Сейчас нет на сайте
| с помощью стандартного плагина Window! имхо, так на много удобнее.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Понедельник, 25 Марта 2013, 13:00 | Сообщение # 191 | Тема: Плагин network |
постоянный участник
Сейчас нет на сайте
| Цитата (DimOk) а ты знал что есть int(), которая превращает текст в числа floor() - это вроде делает из числа целого, число с плавающей запятой p.s. ошибаюсь? - поправьте
Нет, не ошибаешься.
но флур тоже срабатывает. Когда речь идет об он-лайн играх, числа с плавающей запятой исключаются. В основном так целые числа... Но int() более правильное решение.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Понедельник, 25 Марта 2013, 12:38 | Сообщение # 192 | Тема: Выделение нужной части из текста |
постоянный участник
Сейчас нет на сайте
| Спасибо!
Код Только в нём папки разделяются символом "\".
Так и должно быть, это просто я не правильно написал...
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Понедельник, 25 Марта 2013, 02:36 | Сообщение # 193 | Тема: Магазин в диалоговом окне |
постоянный участник
Сейчас нет на сайте
| В функцию все это сгребай, В ФУНКЦИЮ!
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Понедельник, 25 Марта 2013, 02:32 | Сообщение # 194 | Тема: Плагин network |
постоянный участник
Сейчас нет на сайте
| ЗАПОМНИТЕ!
Если речь идет о ЧИСЛОВЫХ данных, всегда вгоняйте их в floor( )!
Иначе программа их приймет за текст.
Сам так 2 часа промучался, логи показывали число, но на самом деле, оно числилось как char-массив, в котором число, и некоторая часть кода его просто не воспринимала.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Понедельник, 25 Марта 2013, 02:29 | Сообщение # 195 | Тема: Выделение нужной части из текста |
постоянный участник
Сейчас нет на сайте
| Суть: Как из текста D:/music/blah-blah-blah/2/45.....34.5/kjkjkjkjkjk/SCREAM55.ogg
Выделить название трека? ( SCREAM55 )
Понятное дело, через ГетТокенны, но как? (Сразу говорю, по точке в конце, перед форматом трека не получится. Т.к. возникнут баги, если в названии папки будет точка. И ДА, папка с точкой может существовать! (возьмем к примеру java-приложения (.minecraft))) Также, вместо .ogg может быть и .mp3, и .mod, и .wav и другие форматы.
Заранее большое спасибо. Делаю музыкальный плеер с списками воспроизведения, кнопочками, перемоткой трека, установления громкости и т.д.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Воскресенье, 24 Марта 2013, 12:32 | Сообщение # 196 | Тема: Плагин network |
постоянный участник
Сейчас нет на сайте
| У меня есть сервер на бесконечное количество игроков (макс. предел настраиваемый, как и IP, и DNS сервера) в нем есть еще система рега, лога, просмотра информации о игроке, бан, кик ( с причиной, почему админ решил забанить ), смены ника, админ-чат и т.д. И клиент, с возможностью смены карт, сохранения данных об игроке, массивами мобов, а также с ихним ИИ, проверки онлайн ли игрок, экстренное сохранение, бэкап данных, проверка соответствия игрока серверу, анти-мультиакк (проверка ИП и ОС компьютера), чата ( с приватными комнатами для разных сословий игроков ), система PvE (PvP лень было, не сделал), Мини-карта, окно сколько хп, денег, щита и т.д., и с системой наград за мобов. Одним словом - MMO RPG, сделанный на SC! Очень будет нужен исходник - поделюсь. Skype - Antikiller_xxl
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
Сообщение отредактировал AntiAlianKiller - Воскресенье, 24 Марта 2013, 12:33 |
|
| |
AntiAlianKiller | Дата: Суббота, 23 Марта 2013, 22:31 | Сообщение # 197 | Тема: Как определить, вышла ли мышка за пределы экрана? |
постоянный участник
Сейчас нет на сайте
| спасибо. Добавлено (23.03.2013, 22:31) --------------------------------------------- Вроде-бы где-то я видел условие "if mouse out of screen" или как-то так. Ну раз никто не знает о таком, придется делать так.
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Суббота, 23 Марта 2013, 21:41 | Сообщение # 198 | Тема: Как определить, вышла ли мышка за пределы экрана? |
постоянный участник
Сейчас нет на сайте
| Вся суть вопроса в названии.
Заранее спасибо!
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Среда, 20 Марта 2013, 01:10 | Сообщение # 199 | Тема: Отображение денег в тексте |
постоянный участник
Сейчас нет на сайте
| можно комбинировать текст и переменные, например:
"Осталось " & global('monety') & " монет!"
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
AntiAlianKiller | Дата: Среда, 20 Марта 2013, 01:07 | Сообщение # 200 | Тема: Карта |
постоянный участник
Сейчас нет на сайте
| Исходник можно?
╔Искусственный интеллект - EVAbot ╠Убийственная музыка - EpicMus ╠Roguelike - Watcher of Dungeon ╠Однокнопочная стратегия - One Button Epic Battle ╠Он-лайн шутер - You Can Not win ╠Текстовый квест - TimeLess ╚Уникальный кликер - MineClick
|
|
| |
|