Помощь - Поиск - Пользователи - Календарь
Полная версия: Вкладываю свой сервер может кому пригодится.
UoKit.com Форумы > Ultima Online : Dev > Emulators > POL
pager
ffff
pager
плывите оба
pager
Дописан healing и добавлен навык veterinary.
Нажмите для просмотра прикрепленного файла


Jabloko
я не специалист, только учусь, но мне кажется, что очень хорошо вышло!
pager
Цитата(Jabloko @ 10.7.2017, 20:23) *

я не специалист, только учусь, но мне кажется, что очень хорошо вышло!

Спасибо за отклик.
У меня в обще есть мысль сделать бесплатный аналог distro Русского сообщества то ко надо народ.
RL_ka
Цитата(pager @ 10.7.2017, 22:40) *

Спасибо за отклик.
У меня в обще есть мысль сделать бесплатный аналог distro Русского сообщества то ко надо народ.


а чем русский пол дистр будет принципиально отличаться от официального? есть ли смысл разделять их, когда может быть было бы лучше эти усилия сложить?
pager
Цитата(RL_ka @ 11.7.2017, 17:48) *

а чем русский пол дистр будет принципиально отличаться от официального? есть ли смысл разделять их, когда может быть было бы лучше эти усилия сложить?

Вместе языковой барьер мешает .
Отличие в скриптах например на данном выложенном сервере магия работает аналогично Серверу утопийскому классы настраеваются из конфига и в обще все подругому работает.
Если народ найти то этот проект можно доработать вместе
pager
Написал систему анти инжект. ver 1.0
По умолчанию задержка стоит 50 мили секунд.(думаю что 500 тоже сойдет хотя инжектом не проверял)

команда .inject откроет меню где можно посмотреть на чем попался игрок и выявить статистически Inject (отображает скоко мили секунд прошло и список вещей с серным номером) .
RL_ka
Цитата(pager @ 12.7.2017, 13:12) *

Написал систему анти инжект. ver 1.0
По умолчанию задержка стоит 50 мили секунд.

команда .inject откроет меню где можно посмотреть на чем попался игрок и выявить статистически Inject (отображает скоко мили секунд прошло и список вещей с серным номером) .


Объясни как оно работает, из твоего кода сложно что-либо понять:)
просто замеряет задержку между ремувом предмета из трупа?
pager
Цитата(RL_ka @ 12.7.2017, 16:35) *

Объясни как оно работает, из твоего кода сложно что-либо понять:)
просто замеряет задержку между ремувом предмета из трупа?


В remove corpse скрипте посылается событие в систему антинжект с серийным номером вещи .Система запоминает время в мили секундах и если при следующем вызове системы происходит ,что таймер меньше чем указано DEFAULT_INJECT_TIME_MS константе, то персонаж помещается в базу как инжектер и запоминается серийный номер вещи (также на персонажем появляется надпись "Имя персонажа inject detected."
В меню .inject можно посмотреть какие вещи инжектер слутал из трупа и возможно найти эти вещи по серийному номеру.Также в меню можно прекрепить инжектера ,чтобы не удалился из базы после 15 минут(константа DEFAULT_INJECT_TIME) ,а также можно переместить инжектера к себе.

Изображение
RL_ka
Цитата(pager @ 12.7.2017, 14:01) *

В remove corpse скрипте посылается событие в систему антинжект с серийным номером вещи .Система запоминает время в мили секундах и если при следующем вызове системы происходит ,что таймер меньше чем указано DEFAULT_INJECT_TIME_MS константе


значит в таком случае нужно добалять проверку на сохранение мира.
Потому что если тащить предметы из трупа во время сейва твоя система будет считать задержку 0мс smile.gif

pager
Цитата(RL_ka @ 12.7.2017, 17:25) *

значит в таком случае нужно добалять проверку на сохранение мира.
Потому что если тащить предметы из трупа во время сейва твоя система будет считать задержку 0мс smile.gif

Да я это не учел спасибо. Система не сажает так что это на опытный глаз стафа smile.gif
Juzzver
Цитата
Система не сажает так что это на опытный глаз стафа smile.gif

Может просто не давать лутать, если вещь перенеслась с задержкой кратной инжекту? Как я понимаю, речь идет об emptycontainer команде?
Или вовсе банально поставить задержку на перемещение вещей между контейнерами, скажем порядка 100мс, тогда и сажать никого не придется, и функционал программы можно разгрузить smile.gif
Mirage
tangar? О_о
pager
Цитата(Juzzver @ 13.7.2017, 14:51) *

Может просто не давать лутать, если вещь перенеслась с задержкой кратной инжекту? Как я понимаю, речь идет об emptycontainer команде?
Или вовсе банально поставить задержку на перемещение вещей между контейнерами, скажем порядка 100мс, тогда и сажать никого не придется, и функционал программы можно разгрузить smile.gif


Подчеркнутое не понел.


Если делать чтобы ни кто не лутал ,то это сильнее загрузит Pol ,так ,как там скрипт отвечающий за перемещение является кретическим и должен возвращать один при успехе и ноль при отказе в перемещении.
В моем исполнении посылается то ко событие и возвращает один.
Да и как показывает практика я пробывал лутать на одном сервере там бывает так что взять нельзя и начинает бесить. Лучше просто следить за персонажем ,если система засекла, то она то ко информирует стаф и стаф может выявить среднию задержку лута вещей и решить сажать или просто последить за персонажем(стаф все ровно должен быть в игре ,на любом сервере) smile.gif

Стафу тоже нужно устраивать развлечения, чтобы скушно играть не было
RL_ka
Цитата(pager @ 13.7.2017, 20:14) *

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


ну уж не так всё страшно, а то все и правда подумают что пол - гавно...
блок на перемещение по времени пишется в 3 строки))
да и в критический скрипт можно по-более инструкций внести, без опаски
pager

Мне кажется интерес меньше будет играть ,если вещь нельзя будет взять.

Aimed
Цитата(pager @ 13.7.2017, 20:14) *

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

Эм...
1)Не может такого быть что-бы скрипт на перемещение вещей был критическим, это действие которое относительно редко выполняется.
2)Такая проверка выполняется моментально и как РЛка написал, вмещается в ~3 строки и 1 переменную на персонаже, которую даже сейвить не надо.


Цитата(pager @ 13.7.2017, 20:14) *
Да и как показывает практика я пробывал лутать на одном сервере там бывает так что взять нельзя и начинает бесить.


Есть там глюк с апдейтом самого клиента, если начать тянуть шмотку которую уже кто-то до тебя стянул то может картинка арта остаться в трупе неподвижной, пока не сделаешь ресенд для контейнера трупа.
Это никак с задержкой не связано.

По сути задержка с сообщением что вы не может так быстро перемещать предметы могла-бы быть анимацией того как ты лутаешь этот предмет из трупа или любого другого контейнера.
Это нормально и более реалистично нежели моментальный пылесос всего трупа.

На том-же инжекте в скрипт на лут вставят задержку и все.

Цель вобще какая? Поймать тех кто на инжекте или сделать так что-бы труп моментально не пылесосили?
Juzzver
Цитата
Лучше просто следить за персонажем ,если система засекла, то она то ко информирует стаф и стаф может выявить среднию задержку лута вещей и решить сажать или просто последить за персонажем(стаф все ровно должен быть в игре ,на любом сервере) smile.gif

Это целая цепочка действий, которая будет регулярно съедать время стаффа, на что со всременем забьется. Нужно упрощать и автоматиизировать.
К тому же придется наказывать игроков, а ныне, как известно, такие подходы уже не особо популярны. Посадили в джайл - забил на сервер и т.д.
Плюс ко всему ты автоматичеки подписываешься на вечные выяснения между тем, кто прав и кто виноват. Это съест еще больше твоего времени smile.gif

Если задержка вменяемая, то никого это раздражать не будет.
RL_ka
Цитата(Aimed @ 14.7.2017, 13:06) *

Эм...
1)Не может такого быть что-бы скрипт на перемещение вещей был критическим, это действие которое относительно редко выполняется.


тут ты на полвину прав) В ПОЛ перемещение предмета из контейнера всегда разделено на два скрипта - canRemove и onRemove
canRemove - критический скрипт - это скрипт при выполнении инструкций которого, блокируются все остальные события на сервере. Это скрипт, разрешающий или запрещающий перемещение предмета из контейнера, в случае неудачи клиенту высылается Reject Move Request [0x27].
При этом onRemove - скрипт, который вызывается непосредственно после успеха canRemove, который обрабатывает фактическое перемещение предмета из контейнера, и все связанные с этим плюшки. Он уже не "критический"

Цитата(Aimed @ 14.7.2017, 13:06) *

2)Такая проверка выполняется моментально и как РЛка написал, вмещается в ~3 строки и 1 переменную на персонаже, которую даже сейвить не надо.

Это да. в canRemove три строки, две "критические инструкции".


зы. в поле скрипты от 1000 критических инструкций пишутся в лог, как подозрительные:) 1000!! biggrin.gif против двух)

https://forums.polserver.com/viewtopic.php?...;p=23767#p23717
pager, не заморачивайся по этому поводу, при нынешних выч. мощностях все критические скрипты обрабатываются тысячи раз быстрее чем инет пакет уходит и возвращается обратно:)
Aimed
Цитата(RL_ka @ 15.7.2017, 2:20) *

canRemove - критический скрипт - это скрипт при выполнении инструкций которого, блокируются все остальные события на сервере.


А что в этом критического? Операции с данными всегда должны быть атомарными.
RL_ka
Цитата(Aimed @ 15.7.2017, 21:11) *

А что в этом критического? Операции с данными всегда должны быть атомарными.


понятие такое, в escript
если интересно, читай док по ескрипту, нет смысла вдаваться тут в детали и особенности языка)
pager
Цитата(RL_ka @ 15.7.2017, 6:20) *

pager, не заморачивайся по этому поводу, при нынешних выч. мощностях все критические скрипты обрабатываются тысячи раз быстрее чем инет пакет уходит и возвращается обратно:)

Не так интересней пускай игроки знают и боятся что за ними следят rolleyes.gif
pager
Цитата(Aimed @ 16.7.2017, 1:11) *

А что в этом критического? Операции с данными всегда должны быть атомарными.

В скрипте не должно быть не каких задержек и коду желательно чтобы было мало .Скрипт вызывается ядро ,это значит что все скрипты будут ждать, пока не завершится критический скрипт.
pager
dffdff
Абусс Херабусс
Какой направленности сервер? прочёл речь шла о утопиской магии, бывший игрок Утопии пробовал написать похожий сервер? если можно я бы поучаствовал в разработке сервера, опыт админской работы есть, по скриптам можно написать нет
pager
Цитата(Абусс Херабусс @ 12.9.2017, 1:27) *

Какой направленности сервер? прочёл речь шла о утопиской магии, бывший игрок Утопии пробовал написать похожий сервер? если можно я бы поучаствовал в разработке сервера, опыт админской работы есть, по скриптам можно написать нет

Если и писать то то ко открытым проектом но я не стану писать стоким ником как у тебя sad.gif
Абусс Херабусс
Цитата(pager @ 17.9.2017, 12:53) *

Если и писать то то ко открытым проектом но я не стану писать стоким ником как у тебя sad.gif

что за дискриминация парниша???
Sirocco
"Как корабль назовешь, так он и поплывет"
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.