Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 14.03.2008, 02:45   #1
Новичок
 
Регистрация: 08.03.2008
Сообщений: 10
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Xedinsey
По умолчанию Вопрос по форме pck.

Доброго времени суток.
Вопрос 1.
Допустим у меня переменная pck имеет вид #$31#$67#$5F#$34#$32#$67#$54#$21. Почему когда я выбираю pck[1] я попадаю на #$31 а не на # (как первый символ). Тип то pck имеет стринг, значит и должна подчиняться правилам для стринга. Разъясните плз.

Вопрос 2.
Вытекает из первого! У меня переменные HexID и Hex9A имеют тип стринг (вот такой формат у HexID: 23 56 00 00, а Hex9A:=pck)
for i:=1 to length(Hex9A) do
if (HexID[1]+HexID[2])=(Hex9A[i]+Hex9A[i+1]) and
(HexID[4]+HexID[5])=(Hex9A[i+3]+Hex9A[i+4]) and
(HexID[7]+HexID[8])=(Hex9A[i+6]+Hex9A[i+7]) and
(HexID[10]+HexID[11])=(Hex9A[i+9]+Hex9A[i+10]) then ObjID:=ReadD(Hex9A,i-4);
Вот в такой реализации выделяет первый "and" и пишет Incompatible Types. В чем причина несовместимости?
Пробовал вот так:
if HStr((HexID[1]+HexID[2]))=(Hex9A[i]+Hex9A[i+1]) and...
Та же самая история.
Xedinsey вне форума   Ответить с цитированием
Старый 14.03.2008, 15:46   #2
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

ОМГ
1. как бы ответить??? так чтобы попроще и понятней
# - указывает что символ (а строки (стринги) состоят из символов) представлен в числовом виде
$ - Признак шестнадцитеричной системы
и получам #$31 = #49 это в десятичной системе и = "1" уже символ
вот и получается что #$31 это 1 (!) символ строки #$31#$67#$5F#$34#$32#$67#$54#$21 из 8 (!) символов.

Многа букаф написал...
PanAm вне форума   Ответить с цитированием
Старый 14.03.2008, 15:55   #3
Новичок
 
Регистрация: 08.03.2008
Сообщений: 10
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Xedinsey
По умолчанию

Понял, пасибки!
Просто пробовал в делфи задать строку в виде pck. У меня pck[1] был ракен "#'. Вот и возник вопрос...
Xedinsey вне форума   Ответить с цитированием
Старый 14.03.2008, 16:04   #4
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

2. ну а тут похоже скобки
как я понимаю - надо сравнить суммы мервых двух байт HexID с суммой последних 2 в Hex9A а также аналогично с 4 и 5 и т. д.
вместо (HexID[1]+HexID[2])=(Hex9A[i]+Hex9A[i+1]) надо (HexID[1]+HexID[2]=Hex9A[i]+Hex9A[i+1]) и так далее аналогично.

Добавлено спустя 8 минут 53 секунды:
ох и еще,
вы работаете со строками и символами,
например если у вас HexID[1] = 'a' а HexID[2] = 'b' то
HexID[1]+HexID[2] = 'ab' - тоесть строка из 2 символов а не 1 байт.
PanAm вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:03.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!