PDA

Просмотр полной версии : Помогите пожалуйста


iSee
06.01.2011, 13:39
Проблема в следующем,скачал и настроил скрипт от Тамбика,все работает,но требуется сделать следующее чтобы перед покупкой заточек,он менял монету на адены,а затем покупал заточки и точил и так по кругу

Nickers
06.01.2011, 14:16
Ну вот)) А я уже в Теме тамбика отписал ^^
(Молодец, что тему создал... Так мое сообщение не "утонет" и поможет еще кому-нибудь)

--------------------------------------------------------
Объясняю как это сделать под скрипт:
Auto_enchant_maxlvl - interlude+покупка !!
(Думаю под другие версии (или скрипты других авторов) можно реализовать так же...)

(Делал другу под один пвп сервер)
Находим процедуру OnTimer03
Идем в самый низ (До end; ) и перед end; вставляем:
if (GetItem(57,3,4)<1500000000) then
begin
Repeat
begin
buf:=#$A7#$B1#$12#$01#$00#$40#$80#$58#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
Until (GetItem(57,3,4)<1500000000);
end;
Внимание! Если стереть (Случайно) end; скрипту буит плохо...

Где в GetItem(57,3,4)<1500000000(Нужно менять в 2х местах!!!)
1.5ккк - Значениео больше которого вам нужно кол-во адены в инвентаре...

buf:=#$A7#$B1#$12#$01#$00#$40#$80#$58#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
Пакет, который посылаем... (Перед каждой парой ставим #$)

Скрипт будет проводить проверку с переодичностью заточки, если адены меньше чем 1.5ккк, посылает пакет, пока не будет Адены больше чем 1.5ккк (Если будет ровно 1.5ккк он пошлет еще раз!)
Если пакет никак не способствует увеличению кол-ва адены, скрипт и весь ПХ зависнет в агонии...
--------------------------------------------------------

"Спасибо" можно не писать... Достаточно нажать на кнопку "Спасибо"...
Я обязательно увижу и про себя скажу "Не за что!" =)

iSee
06.01.2011, 19:36
Вот вставил,все сделал,но почемуто не работает,проверял пакет он робочий,при отправке превращает монету в 2 ккк,но в скрипте не работает,что не так сделал?!Подскажите пожалуйстa


procedure OnTimer03(Sender: TObject);
begin
buf:=#$58;
WriteD(enchantID);
SendToServerEx(myname);
Timer03.enabled:=false;
SendMsg2(' -------- Точим Предмет ---------' );
SendMsg2( ' ID : '+IntToStr(itemID)+' ObjectID : '+IntToStr(enchantID)+' до : '+IntToStr(maxlvl)+'' );
SendMsg2('------------------------------' );
if (GetItem(57,3,4)<500000000) then
begin
Repeat
begin
buf:=#$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
Until (GetItem(57,3,4)<500000000);
end;end;

Nickers
07.01.2011, 20:25
procedure OnTimer03(Sender: TObject);
begin
buf:=#$58;
WriteD(enchantID);
SendToServerEx(myname);
Timer03.enabled:=false;
SendMsg2( ' ..... Точим Предмет ..... ' );
SendMsg2( ' ID : '+IntToStr(itemID)+' и ObjectID : '+IntToStr(enchantID)+' до : '+IntToStr(maxlvl)+' ' );
SendMsg2( '------------------------------------- ' );
enchantID:=0;
if (GetItem(57,3,4)<500000000) then
begin
Repeat
begin
buf:=#$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
Until (GetItem(57,3,4)<500000000);
end;
end;
...
enchantID:=0;
...

Может это зависит от типа скрипта...
У тебя та же версия скрипта?

И как именно не равботает?
Скрипт не запускается?
Запускается но не пишет сис. сообщений(или другие неполадки)?
или делает все так же, но адена кончается(Проверка не исправна)?

iSee
07.01.2011, 22:41
Версия последняя которая есть от Тамбика- // Auto_enchant + 1 - interlude + покупка !!
Скрипт запускается,но монету не меняет почемуто,когда доходит до нужного количества аден,

Nickers
07.01.2011, 22:53
Тогда забудь про enchantID:=0; мб в этом скрипте оно не нужно))

При таком "раскладе" явно проблема в отсылке пакета, а там может быть проблема только в самом пакете...

#$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
Если приглядеться, там пробел, возможно в этом и проблема...

Добавлено через 39 секунд
Или пакет не тот или не правильный...

iSee
07.01.2011, 22:59
а там в конце дожно стоять
end;
end;
в разных строчках?

Nickers
07.01.2011, 23:02
Поставь в разные) :)

iSee
07.01.2011, 23:07
ну смотри я пакет #$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00#$00#$ 00#$00#$00#$00#$00#$00#$00#$00#$00; отправляю только без #$ ,и он работает,значет проблема не в пакете..

Nickers
07.01.2011, 23:10
Может быть проблема в пробеле, который опять присутствует...

Добавлено через 1 минуту
Качаю эту версию скрипта, залезу в него...

iSee
07.01.2011, 23:13
buf:=#$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
вот пакет новый,он почемуто всегда меняется
пакет должен называться RequestMultiSellChoose ?

Добавлено через 2 минуты
ну вот смотри A7 A4 BD 98 00 40 0D 03 00 01 00 00 00 00 00 00 00 00 00 00 00
ето новый пакет,он всегда меняется почемуто а называется RequestMultiSellChoose,ето он?

Nickers
07.01.2011, 23:16
Да удали ты этот чертов пробел))
Как это "всегда разный"? оО

Добавлено через 2 минуты
#$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00#$00#$ 00#$00#$00#$00#$00#$00#$00#$00#$00;
Вот такой вставь)

Не могу знать какой пакет "Правильный" везде разные ГМ шопы и составляют их по разному... А Пакет отображает ссылку на ячейку вещи в Мультеселл "скелете" ГМ шопа

iSee
07.01.2011, 23:17
ну так один раз меняю он A7 A4 BD 98 00 40 0D 03 00 01 00 00 00 00 00 00 00 00 00 00 00 ,перезахожу он меняется...
Я без проблема пишу,ето форум ставит проблел,я проверял
buf:=#$A7#$A4#$BD#$98#$00#$40#$0D#$03#$00#$01#$00# $00#$00#$00#$00#$00#$00#$00#$00#$00#$00

получаеться если добавить #$

а нет сори пакет тотже

Вот что у меня в скрипте скриншот
http://radikal.ua/data/upload/49112/04012/459589945e.jpg (http://radikal.ua/full/49112/04012/459589945e.jpg.html)

Nickers
08.01.2011, 01:55
Хрен его знает как он у тебя все время разный...

Попробуй проверку вставить в другой таймер...

Например:
procedure OnTimer02(Sender: TObject);
begin
SendMsg2( ' Активирован SKROL ObjectID : '+IntToStr(skrolObj)+' ' );
SendMsg2( ' ------------------------------------- ' );
buf:=#$14;
WriteD(skrolObj);
WriteD(0);
SendToServerEx(myname);
//Вот сюда скрипт этот <<<<<<<<<<<<<
Timer02.enabled:=false;
end;

iSee
08.01.2011, 17:55
Нет не работает только что тестировал,у меня возникла идея может луше пусть оно выполняется перед покупкой заточек?
Только я не знаю как ето реализовать,нада чтобы етот пакет отсылался именно перед автозакупкой,без никаких критериев.помогите пожалуйста с етим

Nickers
10.01.2011, 13:14
procedure OnTimer01(Sender: TObject);
begin
case a of
1:begin
buf:=Action;
SendToServerEx(myname);
inc(a);
SendMsg2( '............... Action ...............' );
end;
2:begin
buf:=BypassToServer;
SendToServerEx(myname);
inc(a);
SendMsg2( '..........BypassToServer..........' );
end;
3:begin
buf:= MultiSell;
SendToServerEx(myname);
a:=0;
SendMsg2( '.............MultiSell...............' );
Timer01.enabled:=false;
start:=true;
GetItemID ;
end;
end;
// Вот сюда проверку или просто "buf:=" и "SendToServer"...
end;

Попробуй SendToSrever изменить на SendToServerEx(myname); Мб поможет...