Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

просто что бы не забыли

Only for requests.
Ryu
Posts: 5
Joined: 08.02.2008 10:48

просто что бы не забыли

Post by Ryu »

Предлагаю добавить следующее:

1. малюсенькую переменную, которая будет показывать на каком сервере мы в данный момент играем (имя сервера)
2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке
3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.
небольшая функция помогла бы быстро скупаться (а то у нас на шарде некоторые убивают вендоров, и вместо них появляются новые вендоры с новыми именами) - можно конечно в инклюды это добавить. но если всякую функцию добавлять в инклюды, то память на машине будет стремиться к 0 (ибо использование данной функции в разных скриптах повлечёт за собой дублирование тела этой функции в памяти), а если она будет в теле программ, то будет создане только один её экземпляр
4. возможность запускать скрипты из другого скрипта
5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
ruff
Posts: 8
Joined: 04.02.2008 17:32
Location: Praha

Re: просто что бы не забыли

Post by ruff »

Ryu wrote:Предлагаю добавить следующее:

1. малюсенькую переменную, которая будет показывать на каком сервере мы в данный момент играем (имя сервера)

сомнительная польза но принимаеца, всяко бывает
Ryu wrote: 2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке

Т.е. просто для посмотреть? т.к. програмно бакпак отлавливается на ура.
Ryu wrote: 3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.

Тоже можно програмно из журнала отловить
Ryu wrote: небольшая функция помогла бы быстро скупаться (а то у нас на шарде некоторые убивают вендоров, и вместо них появляются новые вендоры с новыми именами) - можно конечно в инклюды это добавить. но если всякую функцию добавлять в инклюды, то память на машине будет стремиться к 0 (ибо использование данной функции в разных скриптах повлечёт за собой дублирование тела этой функции в памяти), а если она будет в теле программ, то будет создане только один её экземпляр

Т.е. ? Функция по скупке для одного конретного шарда? Ведь алгоритмы скупки бывают разными... А инклюды для того и созданы чтоб экономить память и время кодинга. Попробуйте написать столько кода чтоб занять всю память %))
Ryu wrote: 4. возможность запускать скрипты из другого скрипта

А вот это лишнее уж точно. Одного потока на чар вполне хватит. используйте вызовы функций нежели форки программ.
Ryu wrote: 5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
Ну как бы сортировка помогает боротся с подобными казусами обычно, а там она реализована вполне приемлимо %)
А скилкап да, пожалуй непомешает. Ну в смыле я думаю вы имели в виду скилсум? потому как скилкап выудить с сервера невозможно
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: просто что бы не забыли

Post by CFA »

ruff wrote:
Ryu wrote: 3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.

Тоже можно програмно из журнала отловить

видио автор имел ввиду пририску которая на папердолле. из журнала
ее не достать. мне ее тоже когда то надо было.
ruff wrote:
Ryu wrote: небольшая функция помогла бы быстро скупаться....

Т.е. ? Функция по скупке для одного конретного шарда? ....

относительно скупки, очень было бы полезно узнать весь селл лист вендора - количество, цену, название итемов
ruff wrote:
Ryu wrote: 4. возможность запускать скрипты из другого скрипта

А вот это лишнее уж точно. Одного потока на чар вполне хватит. используйте вызовы функций нежели форки программ.

я выносил ходилку в отельный скрипт, чтоб она не подвешивала основной. если ходилку починят, это будет не актуально, но наверняка можно придумать другое применение.
Ryu
Posts: 5
Joined: 08.02.2008 10:48

Re: просто что бы не забыли

Post by Ryu »

ruff wrote:
Ryu wrote: 2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке

Т.е. просто для посмотреть? т.к. програмно бакпак отлавливается на ура.
Это надо для визуального просмотра рюкзака. вот к примеру: стоишь в брите и отлавливаешь вещи даже в чужих бекпаках, а надо посмотреть сколько у тебя бинтов в рюкзаке...
ruff wrote:
Ryu wrote: небольшая функция помогла бы быстро скупаться (а то у нас на шарде некоторые убивают вендоров, и вместо них появляются новые вендоры с новыми именами) - можно конечно в инклюды это добавить. но если всякую функцию добавлять в инклюды, то память на машине будет стремиться к 0 (ибо использование данной функции в разных скриптах повлечёт за собой дублирование тела этой функции в памяти), а если она будет в теле программ, то будет создане только один её экземпляр

Т.е. ? Функция по скупке для одного конретного шарда? Ведь алгоритмы скупки бывают разными...
нет.. не алгоритм скупки, а нужно только приписку игрока узнать..
ruff wrote:А инклюды для того и созданы чтоб экономить память и время кодинга. Попробуйте написать столько кода чтоб занять всю память %))
Достаточно запустить кучу клиентов с одним большим скриптом.
К примеру: 20 клиентов, не подконнекченных, у каждого клиента запущен один скрипт ходилка+рыболовство. все они занимают в памяти 16метров. А если учесть что на этой же машине могут выполняться и другие задачи, то память может съесться достаточно (пример: запусти Зд Макс и отрендери какую-нибудь сцену)
ruff wrote:
Ryu wrote: 5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
Ну как бы сортировка помогает боротся с подобными казусами обычно, а там она реализована вполне приемлимо %)
А скилкап да, пожалуй непомешает. Ну в смыле я думаю вы имели в виду скилсум? потому как скилкап выудить с сервера невозможно
да да.. скиллсум :) а вот на счёт 100% скилов... можно и не вносить конечно, но проблематично всякий раз сортировать скиллы по значению, а потом смотреть в не отсортированном по имени списке например "Ремув трап"
Last edited by Ryu on 11.02.2008 9:34, edited 3 times in total.
Ryu
Posts: 5
Joined: 08.02.2008 10:48

Re: просто что бы не забыли

Post by Ryu »

CFA wrote:
ruff wrote:
Ryu wrote: 4. возможность запускать скрипты из другого скрипта

А вот это лишнее уж точно. Одного потока на чар вполне хватит. используйте вызовы функций нежели форки программ.

я выносил ходилку в отельный скрипт, чтоб она не подвешивала основной. если ходилку починят, это будет не актуально, но наверняка можно придумать другое применение.
Ходилка у меня не подвисает... правда когда расчитывает путь, то виснит за милую душу секунд на 15-20 (если включён ещё клиент, а без него за 3-7 секунд находится)
А относительно "преложения". Давайте представим пример: у нас прокачался какой то скилл до 100%. что бы качать другой надо либо запустить новый скрипт ручками, либо инклюдами добавать новый скрипт в данный и вызвать процедуру (функцию) из инклюженного скрипта... то есть громоскость скрипта увеличивается и он может очень долго выполнться (подвисать)
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Re: просто что бы не забыли

Post by Edred »

Ryu wrote:Достаточно запустить кучу клиентов с одним большим скриптом.
К примеру: 20 клиентов, не подконнекченных, у каждого клиента запущен один скрипт ходилка+рыболовство. все они занимают в памяти 16метров. А если учесть что на этой же машине могут выполняться и другие задачи, то память может съесться достаточно (пример: запусти Зд Макс и отрендери какую-нибудь сцену)
Не понял смысла. Если имеется в виду стелс-клиент - то не надо запускать 20 клиентов, надо запустить один и в нем законнектить 20 чаров. Соответственно, это займет в памяти не 16 метров, а 6.

Если на этом же компе выполняются задачи типа рендеринга сцен в 3D-программах или работа, скажем, с большими файлами в Фотошопе... И сколько же памяти в этом компьютере? 256 метров? Ню-ню. Минимум 2 гига, правда? Я сам на своем компе запускаю и фотошоп, и индезайн, ну так и памяти у меня в компе 3 гига. А стелс с 12-14 чарами на скриптах (большинство чаров на добывающих) прекрасно жил в трее месяцами (когда я играл).

Я, честно говоря, вообще не понимаю разницы в занимаемой памяти между функцией из инклюда и функцией в основном коде программы. При компиляции все равно компилятор все собирает в один код. И размер памяти, которую жрет скрипт будет один и тот же.
Ryu
Posts: 5
Joined: 08.02.2008 10:48

Re: просто что бы не забыли

Post by Ryu »

Edred wrote:Не понял смысла. Если имеется в виду стелс-клиент - то не надо запускать 20 клиентов, надо запустить один и в нем законнектить 20 чаров. Соответственно, это займет в памяти не 16 метров, а 6.
Сорри за очепятку. я запускал 20 чаров и у меня заняло 16 метров.
Edred wrote:Если на этом же компе выполняются задачи типа рендеринга сцен в 3D-программах или работа, скажем, с большими файлами в Фотошопе... И сколько же памяти в этом компьютере? 256 метров? Ню-ню. Минимум 2 гига, правда? Я сам на своем компе запускаю и фотошоп, и индезайн, ну так и памяти у меня в компе 3 гига. А стелс с 12-14 чарами на скриптах (большинство чаров на добывающих) прекрасно жил в трее месяцами (когда я играл).
Абсолютно с вами согласен, Edred, по поводу требований к дизайнерской машине, но я привёл пример на фразу ruff'a - "Попробуйте написать столько кода чтоб занять всю память %))"
Edred wrote:Я, честно говоря, вообще не понимаю разницы в занимаемой памяти между функцией из инклюда и функцией в основном коде программы. При компиляции все равно компилятор все собирает в один код. И размер памяти, которую жрет скрипт будет один и тот же.
разница в удобочитаемости... разные исходники занимают меньше места, если используют одну и ту же функцию (например: построение карты+ходилка), хотя для компилятора скрипт как занимал 100кб так и будет занимать.
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Re: просто что бы не забыли

Post by Edred »

Ryu wrote:дизайнерской машине, но я привёл пример на фразу ruff'a - "Попробуйте написать столько кода чтоб занять всю память %))"
Как вопрос, так и ответ построены некорректно. Все зависит от того, сколько памяти в компьютере.
разница в удобочитаемости... разные исходники занимают меньше места, если используют одну и ту же функцию (например: построение карты+ходилка), хотя для компилятора скрипт как занимал 100кб так и будет занимать.
Именно для этого и нужны инклюды. Функция пишется один раз, помещается в инклюд, после этого в "разных исходниках" она включается в код вставкой в этот самый исходник одной строки.

Ладно, мы отвлеклись. Вернемся к вашему списку туду.
1. малюсенькую переменную, которая будет показывать на каком сервере мы в данный момент играем (имя сервера)
.

Разумно.
2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке
Неактуально. Вкладка World в ближайшее время должна претерпеть существенные изменения.
3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.
При подготовке RC3 Миралекс планировал сделать, чтобы по команде GetName выдавалось полное имя чара, включая приписку. Не получилось, точнее, может и получилось, но срабатывает точно не везде, а в большинстве случаев в результате имя вообще не возвращает. Думаю, рано или поздно это будет фикситься. Отделить приписку от имени сложно, так как на разных шардах формат этой приписки может быть разным.
4. возможность запускать скрипты из другого скрипта
Категорическое нет. Скрипты не нужно запускать из других скриптов. Это в инжекте или пилоте, в силу бедности языка приходится запускать параллельные скрипты. В стелсе вполне возможно писать скрипты так, чтобы не требовалось запускать несколько на одного чара. Я экспериментировал давно - второй запущенный в параллель скрипт на чаре начинает довольно сильно грузить процессор. Не всегда, но мы с Миралексом так и не сумели отловить в каких случаях. В результате я отказался от писания параллельных скриптов и никаких проблем это не вызвало. Легко можно свести эти скрипты в один. Чего и вам желаю.
5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
Скилкап - это ограничение суммарного количества скиллов на шарде. Ни стелс, ни любой другой клиент эту цифру получить не может. Или вы имели в виду сумскилл? То есть сумму всех значений скиллов? Миралекс эту фичу реализовывать не захотел (когда переделывал вкладку скиллов). Несмотря на мои просьбы. Аргумент: стелс предназначен для скриптов, а не для игры живьем. А сумскилл в скриптах не важен. Хочется посмотреть сумскилл - запускайте обычный клиент, там это есть.

Вполне возможно, что кто-то из новых разработчиков смилостивится и вобьет эту цифирку на закладку скиллов.

Галочка не показывать какие-то скиллы - аналогично. В конце концов никто не мешает отсортировать список скиллов по размеру и сразу будет видно, каких по 100, а каких нет.
Ryu
Posts: 5
Joined: 08.02.2008 10:48

Re: просто что бы не забыли

Post by Ryu »

Edred wrote:
5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
Скилкап - это ограничение суммарного количества скиллов на шарде. Ни стелс, ни любой другой клиент эту цифру получить не может. Или вы имели в виду сумскилл? То есть сумму всех значений скиллов?
если вы прочтёте 4-й пост то об этом там как раз и говорится :)




у меня ещё вот один вопрос...
Сервер drw.ru (хотя должно повториться на всех).
У меня на аккаунте 5 чаров. Когда я запускаю стелс, коннекчусь, выбираю сервер и 1го чара. Чар находится в ГЗ (моментальный логоут). Потом делаю дисконнект. (не закрывая стелс и не удаляя чара из списка)
Запускаю клиента ультимы, выбираю 5го чара. Сделал дисконект.
Затем занова коннекчу стесл и получается что вместо 1го чара выбирается 5й.
Причина этого в том что сервер в списке выбора чаров помещает на первое место последнего выбранного чара.

Можно сделать что бы стелс запоминал не индекс выбираемого чара, а его имя и при последующем реконнекте проверял именно по имени а не по индексу?






А ещё я тут порылся в pakcets.log и обнаружил вот такой странный пакет об открытии папердола... (этот пакет приходит от сервера)

Code: Select all

0000: 88 00 00 00 01 52 79 75 2C 20 47 72 61 6E 64 6D 61 73 74 65     .....Ryu,.Grandmaste
0002: 72 20 4E 65 63 72 6F 6D 61 6E 63 65 72 00 D9 00 02 00 00 00     r.Necromancer.......
0004: 40 88 42 00 14 C3 3C 01 02 00 00 00 90 E9 57 00 54 73 D9 00     @.B...<.......W.Ts..
0006: 6D 88 42 00 00 00 


а это из описания этого пакета:

Code: Select all

Packet Name: Open Paperdoll (0x88) Len: 66

Packet Build: 
BYTE[1] cmd 
BYTE[4] charid 
BYTE[60] text 
BYTE[1] flag byte  
как ни странно но на 4-х сайтах где есть описание протокола Ультимы информация одна и таже

вот эти сайты:
http://www.wpdev.org/wiki/index.php/UO_Protocol_0x88
http://kec.cz/tartaros/steamengine/uplo ... cket88.htm
http://www.sphereserver.net/forums/lofi ... 34864.html
http://packets.polserver.com/index.php? ... acket=0x88


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


а есть возможность сделать клиент под линух?

Заранее спасибо за ваш ответ
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

полчаса свободного времени было, сделал.
функция GetPlayerTitle возвращает приписку и вагон остальных текстовых байт, в которых могут быть мегасупер-гипер-приписки на разных шардах. 60 байт целиком.

Code: Select all

21:35:43 [Ged]: Compiling
21:35:43 [Ged]: Compiled succesfully
21:35:45 [Ged]: †Ged, Grandmaster Scholar 
21:35:45 [Ged]: Succesfully executed
21:35:45 [Ged]: Script 12.sc stopped successfuly
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

отлично. а для нпц такое сделать можно?)
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

на шардах, где я играл - у нпц небыло никаких приписок.

как обычно - логин-пароль и данные для коннекта + показать мне такую непись.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

так бы сразу и сказал что нпц-вендоры :)
я аж бегом побежал на шард кликать на непись-животных, чтобы посмотреть на этот диковинный папердолл :lol:
а такие папердоллы у всех собственно есть.
Завтра с работы сделаю, дома у меня даже пакет логера нет
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

идет одни пакетом папердолл, что на чара, что на непись.

Напиши в каком формате ты хочешь видеть функцию.
При этом порядок такой: на непись идет даблклик, открывается папердолл. по пути могут быть мегалаги, сейв, еще что-то...

P.S. незнаю зачем такие сложности, в журнал они все равно попадают.
Проблема с журнала выдрать что-ли? я в свое время делал именно так.
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Post by CFA »

в журнал идет максимум имя вендора, если по нему кликнуть, а приписки нет так что и выдирать нечего.
А насчет функции что-то типа - GetTitle(who : cardinal) : string, даблклик думаю можно оставить на совести пользователя, ждать пока функция получит пакет, мне кажется плохой идеей. Хотя можно добавить булевый параметр retrieve, чтоб даблклик делала сама функция.
Post Reply