Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
просто что бы не забыли
просто что бы не забыли
Предлагаю добавить следующее:
1. малюсенькую переменную, которая будет показывать на каком сервере мы в данный момент играем (имя сервера)
2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке
3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.
небольшая функция помогла бы быстро скупаться (а то у нас на шарде некоторые убивают вендоров, и вместо них появляются новые вендоры с новыми именами) - можно конечно в инклюды это добавить. но если всякую функцию добавлять в инклюды, то память на машине будет стремиться к 0 (ибо использование данной функции в разных скриптах повлечёт за собой дублирование тела этой функции в памяти), а если она будет в теле программ, то будет создане только один её экземпляр
4. возможность запускать скрипты из другого скрипта
5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
1. малюсенькую переменную, которая будет показывать на каком сервере мы в данный момент играем (имя сервера)
2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке
3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.
небольшая функция помогла бы быстро скупаться (а то у нас на шарде некоторые убивают вендоров, и вместо них появляются новые вендоры с новыми именами) - можно конечно в инклюды это добавить. но если всякую функцию добавлять в инклюды, то память на машине будет стремиться к 0 (ибо использование данной функции в разных скриптах повлечёт за собой дублирование тела этой функции в памяти), а если она будет в теле программ, то будет создане только один её экземпляр
4. возможность запускать скрипты из другого скрипта
5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
Re: просто что бы не забыли
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% скиллы
А скилкап да, пожалуй непомешает. Ну в смыле я думаю вы имели в виду скилсум? потому как скилкап выудить с сервера невозможно
Re: просто что бы не забыли
ruff wrote:Ryu wrote: 3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.
Тоже можно програмно из журнала отловить
видио автор имел ввиду пририску которая на папердолле. из журнала
ее не достать. мне ее тоже когда то надо было.
ruff wrote:Ryu wrote: небольшая функция помогла бы быстро скупаться....
Т.е. ? Функция по скупке для одного конретного шарда? ....
относительно скупки, очень было бы полезно узнать весь селл лист вендора - количество, цену, название итемов
ruff wrote:Ryu wrote: 4. возможность запускать скрипты из другого скрипта
А вот это лишнее уж точно. Одного потока на чар вполне хватит. используйте вызовы функций нежели форки программ.
я выносил ходилку в отельный скрипт, чтоб она не подвешивала основной. если ходилку починят, это будет не актуально, но наверняка можно придумать другое применение.
Re: просто что бы не забыли
Это надо для визуального просмотра рюкзака. вот к примеру: стоишь в брите и отлавливаешь вещи даже в чужих бекпаках, а надо посмотреть сколько у тебя бинтов в рюкзаке...ruff wrote:Ryu wrote: 2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке
Т.е. просто для посмотреть? т.к. програмно бакпак отлавливается на ура.
нет.. не алгоритм скупки, а нужно только приписку игрока узнать..ruff wrote:Ryu wrote: небольшая функция помогла бы быстро скупаться (а то у нас на шарде некоторые убивают вендоров, и вместо них появляются новые вендоры с новыми именами) - можно конечно в инклюды это добавить. но если всякую функцию добавлять в инклюды, то память на машине будет стремиться к 0 (ибо использование данной функции в разных скриптах повлечёт за собой дублирование тела этой функции в памяти), а если она будет в теле программ, то будет создане только один её экземпляр
Т.е. ? Функция по скупке для одного конретного шарда? Ведь алгоритмы скупки бывают разными...
Достаточно запустить кучу клиентов с одним большим скриптом.ruff wrote:А инклюды для того и созданы чтоб экономить память и время кодинга. Попробуйте написать столько кода чтоб занять всю память %))
К примеру: 20 клиентов, не подконнекченных, у каждого клиента запущен один скрипт ходилка+рыболовство. все они занимают в памяти 16метров. А если учесть что на этой же машине могут выполняться и другие задачи, то память может съесться достаточно (пример: запусти Зд Макс и отрендери какую-нибудь сцену)
да да.. скиллсум а вот на счёт 100% скилов... можно и не вносить конечно, но проблематично всякий раз сортировать скиллы по значению, а потом смотреть в не отсортированном по имени списке например "Ремув трап"ruff wrote:Ну как бы сортировка помогает боротся с подобными казусами обычно, а там она реализована вполне приемлимо %)Ryu wrote: 5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
А скилкап да, пожалуй непомешает. Ну в смыле я думаю вы имели в виду скилсум? потому как скилкап выудить с сервера невозможно
Last edited by Ryu on 11.02.2008 9:34, edited 3 times in total.
Re: просто что бы не забыли
Ходилка у меня не подвисает... правда когда расчитывает путь, то виснит за милую душу секунд на 15-20 (если включён ещё клиент, а без него за 3-7 секунд находится)CFA wrote:ruff wrote:Ryu wrote: 4. возможность запускать скрипты из другого скрипта
А вот это лишнее уж точно. Одного потока на чар вполне хватит. используйте вызовы функций нежели форки программ.
я выносил ходилку в отельный скрипт, чтоб она не подвешивала основной. если ходилку починят, это будет не актуально, но наверняка можно придумать другое применение.
А относительно "преложения". Давайте представим пример: у нас прокачался какой то скилл до 100%. что бы качать другой надо либо запустить новый скрипт ручками, либо инклюдами добавать новый скрипт в данный и вызвать процедуру (функцию) из инклюженного скрипта... то есть громоскость скрипта увеличивается и он может очень долго выполнться (подвисать)
Re: просто что бы не забыли
Не понял смысла. Если имеется в виду стелс-клиент - то не надо запускать 20 клиентов, надо запустить один и в нем законнектить 20 чаров. Соответственно, это займет в памяти не 16 метров, а 6.Ryu wrote:Достаточно запустить кучу клиентов с одним большим скриптом.
К примеру: 20 клиентов, не подконнекченных, у каждого клиента запущен один скрипт ходилка+рыболовство. все они занимают в памяти 16метров. А если учесть что на этой же машине могут выполняться и другие задачи, то память может съесться достаточно (пример: запусти Зд Макс и отрендери какую-нибудь сцену)
Если на этом же компе выполняются задачи типа рендеринга сцен в 3D-программах или работа, скажем, с большими файлами в Фотошопе... И сколько же памяти в этом компьютере? 256 метров? Ню-ню. Минимум 2 гига, правда? Я сам на своем компе запускаю и фотошоп, и индезайн, ну так и памяти у меня в компе 3 гига. А стелс с 12-14 чарами на скриптах (большинство чаров на добывающих) прекрасно жил в трее месяцами (когда я играл).
Я, честно говоря, вообще не понимаю разницы в занимаемой памяти между функцией из инклюда и функцией в основном коде программы. При компиляции все равно компилятор все собирает в один код. И размер памяти, которую жрет скрипт будет один и тот же.
Re: просто что бы не забыли
Сорри за очепятку. я запускал 20 чаров и у меня заняло 16 метров.Edred wrote:Не понял смысла. Если имеется в виду стелс-клиент - то не надо запускать 20 клиентов, надо запустить один и в нем законнектить 20 чаров. Соответственно, это займет в памяти не 16 метров, а 6.
Абсолютно с вами согласен, Edred, по поводу требований к дизайнерской машине, но я привёл пример на фразу ruff'a - "Попробуйте написать столько кода чтоб занять всю память %))"Edred wrote:Если на этом же компе выполняются задачи типа рендеринга сцен в 3D-программах или работа, скажем, с большими файлами в Фотошопе... И сколько же памяти в этом компьютере? 256 метров? Ню-ню. Минимум 2 гига, правда? Я сам на своем компе запускаю и фотошоп, и индезайн, ну так и памяти у меня в компе 3 гига. А стелс с 12-14 чарами на скриптах (большинство чаров на добывающих) прекрасно жил в трее месяцами (когда я играл).
разница в удобочитаемости... разные исходники занимают меньше места, если используют одну и ту же функцию (например: построение карты+ходилка), хотя для компилятора скрипт как занимал 100кб так и будет занимать.Edred wrote:Я, честно говоря, вообще не понимаю разницы в занимаемой памяти между функцией из инклюда и функцией в основном коде программы. При компиляции все равно компилятор все собирает в один код. И размер памяти, которую жрет скрипт будет один и тот же.
Re: просто что бы не забыли
Как вопрос, так и ответ построены некорректно. Все зависит от того, сколько памяти в компьютере.Ryu wrote:дизайнерской машине, но я привёл пример на фразу ruff'a - "Попробуйте написать столько кода чтоб занять всю память %))"
Именно для этого и нужны инклюды. Функция пишется один раз, помещается в инклюд, после этого в "разных исходниках" она включается в код вставкой в этот самый исходник одной строки.разница в удобочитаемости... разные исходники занимают меньше места, если используют одну и ту же функцию (например: построение карты+ходилка), хотя для компилятора скрипт как занимал 100кб так и будет занимать.
Ладно, мы отвлеклись. Вернемся к вашему списку туду.
.1. малюсенькую переменную, которая будет показывать на каком сервере мы в данный момент играем (имя сервера)
Разумно.
Неактуально. Вкладка World в ближайшее время должна претерпеть существенные изменения.2. вкладка World: добавить одну галочку, которая будет показывать только предметы что лежат в рюкзаке
При подготовке RC3 Миралекс планировал сделать, чтобы по команде GetName выдавалось полное имя чара, включая приписку. Не получилось, точнее, может и получилось, но срабатывает точно не везде, а в большинстве случаев в результате имя вообще не возвращает. Думаю, рано или поздно это будет фикситься. Отделить приписку от имени сложно, так как на разных шардах формат этой приписки может быть разным.3. небольшую функцию которая будет показывать приписку чара. getCharInfo(character: cardinal): String
показывает GrandMaster Rogue, Stoic и т.п.
Категорическое нет. Скрипты не нужно запускать из других скриптов. Это в инжекте или пилоте, в силу бедности языка приходится запускать параллельные скрипты. В стелсе вполне возможно писать скрипты так, чтобы не требовалось запускать несколько на одного чара. Я экспериментировал давно - второй запущенный в параллель скрипт на чаре начинает довольно сильно грузить процессор. Не всегда, но мы с Миралексом так и не сумели отловить в каких случаях. В результате я отказался от писания параллельных скриптов и никаких проблем это не вызвало. Легко можно свести эти скрипты в один. Чего и вам желаю.4. возможность запускать скрипты из другого скрипта
Скилкап - это ограничение суммарного количества скиллов на шарде. Ни стелс, ни любой другой клиент эту цифру получить не может. Или вы имели в виду сумскилл? То есть сумму всех значений скиллов? Миралекс эту фичу реализовывать не захотел (когда переделывал вкладку скиллов). Несмотря на мои просьбы. Аргумент: стелс предназначен для скриптов, а не для игры живьем. А сумскилл в скриптах не важен. Хочется посмотреть сумскилл - запускайте обычный клиент, там это есть.5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
Вполне возможно, что кто-то из новых разработчиков смилостивится и вобьет эту цифирку на закладку скиллов.
Галочка не показывать какие-то скиллы - аналогично. В конце концов никто не мешает отсортировать список скиллов по размеру и сразу будет видно, каких по 100, а каких нет.
Re: просто что бы не забыли
если вы прочтёте 4-й пост то об этом там как раз и говоритсяEdred wrote:Скилкап - это ограничение суммарного количества скиллов на шарде. Ни стелс, ни любой другой клиент эту цифру получить не может. Или вы имели в виду сумскилл? То есть сумму всех значений скиллов?5. вкладка Skills: очень бы помог скилкап и галочка не показывать 100% скиллы
у меня ещё вот один вопрос...
Сервер 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
вот эти сайты:
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
Если нельзя сделать потдержку этой функции тогда дайте возможность просмотра дешифрованных пакетов... Именно функцию просмотра, а не отсылки и редактирования.
а есть возможность сделать клиент под линух?
Заранее спасибо за ваш ответ
полчаса свободного времени было, сделал.
функция GetPlayerTitle возвращает приписку и вагон остальных текстовых байт, в которых могут быть мегасупер-гипер-приписки на разных шардах. 60 байт целиком.
функция 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
идет одни пакетом папердолл, что на чара, что на непись.
Напиши в каком формате ты хочешь видеть функцию.
При этом порядок такой: на непись идет даблклик, открывается папердолл. по пути могут быть мегалаги, сейв, еще что-то...
P.S. незнаю зачем такие сложности, в журнал они все равно попадают.
Проблема с журнала выдрать что-ли? я в свое время делал именно так.
Напиши в каком формате ты хочешь видеть функцию.
При этом порядок такой: на непись идет даблклик, открывается папердолл. по пути могут быть мегалаги, сейв, еще что-то...
P.S. незнаю зачем такие сложности, в журнал они все равно попадают.
Проблема с журнала выдрать что-ли? я в свое время делал именно так.
в журнал идет максимум имя вендора, если по нему кликнуть, а приписки нет так что и выдирать нечего.
А насчет функции что-то типа - GetTitle(who : cardinal) : string, даблклик думаю можно оставить на совести пользователя, ждать пока функция получит пакет, мне кажется плохой идеей. Хотя можно добавить булевый параметр retrieve, чтоб даблклик делала сама функция.
А насчет функции что-то типа - GetTitle(who : cardinal) : string, даблклик думаю можно оставить на совести пользователя, ждать пока функция получит пакет, мне кажется плохой идеей. Хотя можно добавить булевый параметр retrieve, чтоб даблклик делала сама функция.