PDA

Просмотр полной версии : Поправьте скрипт плз)


Roman32
17.08.2012, 17:24
begin
if FromClient and (pck[1]=#$1B) and (pck[2]=#$08)and (pck[3]=#$00) then
begin
buf:=HStr('14 56 8A 02 10 00 00 00 00 ');
SendToServer;
buf:=HStr('14 E8 B9 0F 10 00 00 00 00 ');
SendToServer;
end;
end.
Вот чё тут не так?должно одевать вещи,но одевает только первую( buf:=HStr('14 56 8A 02 10 00 00 00 00 ');

dyh9l
17.08.2012, 17:34
задержку попробуй поставить между пакетами

Roman32
17.08.2012, 17:41
const
name = 'name';
var
timer:TTimer;
TimerStep:byte;
procedure Init;
begin
TimerStep:=1;
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=true;
timer.interval:=700; //время задержки между отправкой пакетов.
end;

procedure Free;
begin
timer.free;
end;

procedure OnTimer;
begin
case TimerStep of
1:
begin
timer.interval:=600;
buf:=Hstr('14 56 8A 02 10 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('1');
Inc(TimerStep);
end;
2:
begin
buf:=Hstr('14 E8 B9 0F 10 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('2');
Inc(TimerStep);
end;
3:
begin
buf:=Hstr('2F 3E 01 00 00 00 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('3');
timer.enabled:=false;
timer.interval:=600; //60000 мс = 1 минута
end;
end;
end;


begin

end. Вот чёто сделал,но никак не пойму куда это пристроить) условие,при котором будет запускаться этот таймер)
begin
if FromClient and (pck[1]=#$1B) and (pck[2]=#$08)and (pck[3]=#$00) then

kpa9pt
17.08.2012, 18:38
begin
if FromClient and (pck[1]=#$1B) and (pck[2]=#$08)and (pck[3]=#$00) then
begin
buf:=HStr('14 56 8A 02 10 00 00 00 00 ');
SendToServer;
bool:=true;
if fromserver and (pck[1]=21) and (Readd(6)=268601942 ) and bool then
begin
buf:=HStr('14 E8 B9 0F 10 00 00 00 00 ');
SendToServer;
bool:=false;
end;
end.


Ну как-то так например:

Тоесть юзаеш первую вещь, потом стоит проверка через InventaryUpdate ждёт пока обновиться имено эта вещь( можно сделать намного красивее но впадлу:)) вот и сразу оденеться вторая.
P.S.: под хроники надо править и мб не Readd(6) а другое, тож надо посмареть ето я с потолка взял но помоему я прав во всяк случае для HF хроник.

Roman32
17.08.2012, 18:58
const
name = 'name;
var
timer:TTimer;
TimerStep:byte;
procedure Init;
begin
TimerStep:=1;
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=false;
timer.interval:=700; //время задержки между отправкой пакетов.
end;

procedure Free;
begin
timer.free;
end;

begin
if FromClient and (pck[1]=#$1B) and (pck[2]=#$08)and (pck[3]=#$00) then
begin
timer.enabled:=true;
end.

procedure OnTimer;
begin
case TimerStep of
1:
begin
timer.interval:=600;
buf:=Hstr('14 56 8A 02 10 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('1');
Inc(TimerStep);
end;
2:
begin
buf:=Hstr('14 E8 B9 0F 10 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('2');
Inc(TimerStep);
end;
3:
begin
buf:=Hstr('2F 3E 01 00 00 00 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('3');
TimerStep:=1;
timer.enabled:=false;
timer.interval:=600; //60000 мс = 1 минута
end;
end;
end;


begin

end. Вот опять что то попытался,подскажите что не так)

kpa9pt
17.08.2012, 20:41
name в ' ' ? или ты опечатался когда копипастил вторую версию?
На мой поверхностный взгляд там рводе должно всё работтать

Roman32
17.08.2012, 21:32
Name норм

kpa9pt
17.08.2012, 22:17
const
name = 'name';
var
timer:TTimer;
TimerStep:byte;
procedure Init;
begin
TimerStep:=1;
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=false;
timer.interval:=700; //время задержки между отправкой пакетов.
end;

procedure Free;
begin
timer.free;
end;

procedure OnTimer;
begin
case TimerStep of
1:
begin
timer.interval:=600;
buf:=Hstr('14 56 8A 02 10 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('1');
Inc(TimerStep);
end;
2:
begin
buf:=Hstr('14 E8 B9 0F 10 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('2');
Inc(TimerStep);
end;
3:
begin
buf:=Hstr('2F 3E 01 00 00 00 00 00 00 00 ');
SendToServerEx(name);
// SendMsg('3');
TimerStep:=1;
timer.enabled:=false;
timer.interval:=600; //60000 мс = 1 минута
end;
end;
end;


begin
if FromClient and (pck[1]=#$1B) and (pck[2]=#$08)and (pck[3]=#$00) then
begin
timer.enabled:=true;
end.


А вот так?

Roman32
17.08.2012, 23:48
Так норм спс

Добавлено через 59 минут
А в чём тема,чё изменилось?

kpa9pt
18.08.2012, 15:06
Так норм спс

Добавлено через 59 минут
А в чём тема,чё изменилось?


У тебя было два begin end....
Структура скрипта была неверной кароче.