Показать сообщение отдельно
Старый 23.04.2008, 14:25   #5
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от poizon Посмотреть сообщение
во первых не могу понять каким пакетом от сервера приходит информация о текущем MP .
Пакет:
PHP код:
s0E=StatusUpdate:h(ObjectID)d(AttribCount)d(AttrID)d(AttrValue
в пакете может быть несколько атрибутов за один раз.
Пример использования:
delphi Код:
//*************************************************** procedure StatusUpdate;       // обновление данных о себе var   i: integer; begin   for i:=0 to ReadD(6)-1 do begin     case pck[i*8+10] of       #$09: CurHP:=ReadD(i*8+14);       #$0A: MaxHP:=ReadD(i*8+14);       #$0B: MyMP:=ReadD(i*8+14);       #$0C: MyMaxMP:=ReadD(i*8+14);       #$21: MyCP:=ReadD(i*8+14);       #$22: MyMaxCP:=ReadD(i*8+14);     end;   end; end; begin   if (ConnectName=Name) and FromServer then begin     case pck[1] of       #$0E: if (MyID=ReadD(2)) then StatsUpdate;     end;   end; end.

Цитата:
Сообщение от poizon Посмотреть сообщение
сам скрипт простой
procedure make
if MP = maxMp
set lomp = 0
loop while lowmp = 0 зацикливает пока переменная lowmp = 0
compute rnd1 = 1 + int(rnd(2)) // рассчитать рандомное число для делея
delay $rnd1 sec
sendtoserver "AF 14 00 00 00 " //вобщем типа послать сервуру этот пакет , нажимает на кнопку создания соулшота.
if mp < 40 //если маны мало то "вырубает" данный цикл
set lowmp = 1
end
end // конец цикла с условием
call make
else //если переменная МП не = макс МП то выполняет вызывает опять
call make
end //конец процедуры мейк
1. Работа с пакетами в скрипте происходит асинхронно.
2. Циклов задержки в процедурах ставить нельзя все станет колом из-за задержек прохождения других пакетов.
3. Расчитывай на флаги, которые сообщают о происшедших событиях.
4. Скрипты кнопок давить не могут. Все действия осуществляются посылкой определенных пакетов.
5. Последовательность можно посмотреть пакетхаком по логам, предварительно проделав их в клиенте.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от: