PDA

Просмотр полной версии : Беда товарищи, выручайте!!!


dyh9l
27.08.2010, 04:20
Я прошу уделите этой теме внимание :)
Немного предыстории: Я играл на сервере где один умный человек написал скрипт на покупку и заточек предмета, я перешел играть с того сервера на другой сервер и решил на нем использовать этот же скрипт, но чего-то не получается :( Нужна помощь.
Лог ручной заточки:
14 1D DE 12 40 00 00 00 00 - UseItem
58 7C DF 12 40 - RequestEnchantItem
Но когда я пытаюсь точить скриптом, то клиент не посылает некаких пакетов, а от сервера приходят следующие:
ItemListPacket
ChooseInventoryItem(6F BF 03 00 00)
SystemMessage_(64 2F 01 00 00 00 00 00 00 )
SystemMessage_(64 3F 00 00 00 02 00 00 00 01 00 00 00 05 00 00 00 03 00 00 00 C2 19 00 00 )
EnchantResult(81 00 00 00 00 )
InvertoryUpdate(27 02 00 03 00 04 00 22 DE 12 40 BF 03 00 00 01 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 7C DF 12 40 C2 19 00 00 01 00 00 00 00 00 00 00 01 00 00 40 00 00 06 00 00 00 )
EnchantResult(81 02 00 00 00 )
SystemMessage(64 A7 01 00 00 00 00 00 00 )

dyh9l
27.08.2010, 09:01
К сожалению я не могу вернуться на сервер где скрипт работал на 100%, т.к. я получил там бан по ип, так бы я посмотрел какие хоть пакеты отправляются (

J-Fobos
27.08.2010, 10:48
Возможные причины:
1) Пакеты в процедурах BuyItem и BuyScroll не подходят под другой сервер
2) Процедура GetItemBase неправильно читает пакет, форматы пакетов ItemList на разных серверах разные.

dyh9l
27.08.2010, 11:00
Возможные причины:
1) Пакеты в процедурах BuyItem и BuyScroll не подходят под другой сервер
2) Процедура GetItemBase неправильно читает пакет, форматы пакетов ItemList на разных серверах разные.

Пакеты в процедурах BuyItem и BuyScroll они неподходят я это знаю, но проблема в том, что их поменять мне не составит труда, после включения скрипта происходит следующие: точит пушку на +1 и все затыкается, дальше пишет мне *Чтение свитка Улучшения не может быть прекращено* тоесть пакеты с заточкой оружия отправляются только 1 раз точя пушку на +1 к прежней заточке, потом скрипт затухает :(

Fer123
27.08.2010, 11:57
TimerInterval = 300; //Интервал между заточками (НЕ ТРОГАТЬ!)
Придется тронуть... Такое бывает если слишком часто посылать пакет заточки. А что за хроники хоть на этом сервере?
И зачем вот так скупать заточки:
For i := 1 to MaxScrolls do
Begin
buf := hstr('A7 2F 02 00 00 11 00 00 00 01 00 00 00') ;
sendtoserverEx(CharName) ;
delay(500) ;
End ;
Если я не ошибаюсь то на грации это стопковый предмет и за 1 пакет можно купить сразу MaxScrolls заточек.

dyh9l
27.08.2010, 17:42
TimerInterval = 300; //Интервал между заточками (НЕ ТРОГАТЬ!)
Придется тронуть... Такое бывает если слишком часто посылать пакет заточки. А что за хроники хоть на этом сервере?
И зачем вот так скупать заточки:
For i := 1 to MaxScrolls do
Begin
buf := hstr('A7 2F 02 00 00 11 00 00 00 01 00 00 00') ;
sendtoserverEx(CharName) ;
delay(500) ;
End ;
Если я не ошибаюсь то на грации это стопковый предмет и за 1 пакет можно купить сразу MaxScrolls заточек.

играю на с4 :) лан попробую исправить интервал

Добавлено через 5 часов 38 минут
неспас интервал

Breadfan
27.08.2010, 17:47
Лог при заточке скриптом - где ? Полный лог, включая те что шлет клиент (т.е. скрипт), или, считаешь, просто так сервер шлет энчант резалт и прочее?
Для начала переделай процедуру Ontimer: //If Scroll = 0 then BuyScroll ;
//If ItemToEnchant = 0 then BuyItem ;
SendMsg('Trade start');(J-Fobos именно про это и говорил) и посмотри как он себя вести далее будет - если появится в логе сообщение о трейде - переделывать процедуры обрабатывающие инвентарь придется.
PS: неужели трудно в процедурах вставить SendMsg - чтоб видеть на какой стадии выполнения находится скрипт??