Показать сообщение отдельно
Старый 25.08.2008, 02:30   #8
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Ну для начала прими за аксиому
Цитата:
все данные храняться на сервере, клиен их лишь отображает и "просит" сервера что либо сделать, но абсолютно всё просчитывается и происходит на сервере который писали не дураки и сделали очень много проверок, так что если если хочеш получить супермегапуху отправив "спец пакетик" или типа того ЗАБУДЬ!
. Принцип работы: l2phx перехватывает пакеты данных клиент->сервер и соответственно сервер->клиент. Перехваченный пакет можно модифицировать, или добавлять свои собственные пакеты данных упрощая\автоматизируя согласно алгоритма некоторые действия производимые пльзователем. "Скрипт" - есть программа построенная по требуемому алгоритму на языке FastScript...
Пакеты данных имеют жесткую заданную структуру, которая описана в ссылке приведенной выше. Например пакет от клиента #$39 RequestMagicSkillUse имеет структуру d (SkillID:Get.Skill)d(CtrlPressed)c(ShiftPressed) - где первая четверка байт - ID скила, вторая - указывает на то нажат ли Ctrl, и последний байт сообщает нажат ли Shift. В данном случае, пользователь может к примеру, осуществить автоматическую установку флага CtrlPressed что будет удобно при пвп освобождая от необходимости держать зажатым контрл. Т.е. алгоритм скрипта будет таков: Если от клиента перехвачен пакет #$39 то изменить значение флага на 01 (соответствует нажатой клавише). На языке FastScript это будет выглядеть примерно так: if fromclient and (pck[1]=#$39) then pck[6]:=#$01; Откуда появилось pck[6] ? Дело в том, что d означает 4 байта, это DWord, так называемое двойное слово, и получается номер нужного байта=(количество байт содержащих ID пакета(#$39))+(4 байта содержащих SkillID)+1, нужно помнить что все значения записываются справа-налево, т.е. 1 в десятичной=00 00 00 01 в шестнадцатеричной будет записан как 01 00 00 00

Хз не зря ли это я пишу то)

Последний раз редактировалось Breadfan, 25.08.2008 в 02:37.
Breadfan вне форума  
За это сообщение Breadfan нажился 2 спасибками от: