PDA

Просмотр полной версии : Фейм очков на форте


Tampler1
13.09.2009, 10:02
Всем привет дорогие пользователи этого замечательного форума.
Я никак не могу довести до ума скрип для фейма очков репутации через осады Форты
Я лидер клана

Стоит возле Крепости НПС, у него надо регистрироваться на осаду, и через час она начнётся. А когда осада начинаеться, нужно стоять возле крепости чтобы капали очки
пару нюансов
-если я встану возле крепости, до того как она начнёться, то при старте осады меня портанёт в город
-при окончании осады, если я не выйду чуток раньше от крепости- портанёт в город

а мне не надо что бы меня портовало
я вообще хочу вот таким образов написать скрипт:
Begin
Регестрация у НПС
delay(60 минут)
бегу к крепости {там достаточно 1 раз мышкой нажать чтобы добежать}
delay(57 минут)
бегу к НПС
delay(3 мин)
End.
И так до бесконечности

вот как мне можно эти строки реализовать на l2phx.3.5.13
не получаться совсем...

Спасибо.

NLObP
14.09.2009, 01:19
Tampler1, этот (http://www.coderx.ru/showthread.php?t=1167) скрипт для выполнения команд валкера не пробовал?

Tampler1
14.09.2009, 12:54
нет, валкер не работает на нашем сервере
да и мне кажется на l2phx.3.5.13 легче будет, просто грамотности в этом языке не хватает...

TAMBIK
14.09.2009, 14:23
недоделано
const
myName = 'TAMBIK'; // Имя

var
Timer1: TTimer;
Timer2: TTimer;

npcID,npcX,npcY,npcZ:integer;
myXpos,myYpos,myZpos:integer;
xpos, ypos,zpos: integer;
krX, krY, krZ: integer;
function rastoyanie(xpos1, ypos1, xpos2, ypos2:extended):integer;
begin
result:= Round(Sqrt(((xpos1-xpos2)*(xpos1-xpos2))+((ypos1-ypos2)*(ypos1-ypos2))));
end;
function rastoyanieNPC(xpos1, ypos1, xpos2, ypos2:extended):integer;
begin
result:= Round(Sqrt(((xpos1-xpos2)*(xpos1-xpos2))+((ypos1-ypos2)*(ypos1-ypos2))));
end;
procedure SendMsg2(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClientEx( myName);
end;
procedure Action;
begin
buf:=#$1F;
WriteD(npcID); // npcID наверно получаем из пакета разговора с нпс
WriteD(myXpos);
WriteD(myYpos);
WriteD(myzpos);
SendToServerEx(myName);
end;
procedure OnTimer1(Sender: TObject);
begin
buf:=#$0F;
WriteD(krX);
WriteD(krY);
WriteD(krZ);
WriteD(myxpos);
WriteD(myypos);
WriteD(myzpos);
WriteD(0);
SendToServerEx(myName);
end;
// бежим к НПС
procedure OnTimer2(Sender: TObject);
begin
buf:=#$0F;
WriteD(npcX);
WriteD(npcY);
WriteD(npcZ);
WriteD(myxpos);
WriteD(myypos);
WriteD(myzpos);
WriteD(0);
SendToServerEx(myName);
end;
procedure RequestSocialAction;
begin
CASE ReadD(2) OF
3:begin // соцдействие ----запоминаем место у НПС
npcX:=MyXpos;// запомним
npcY:=MyYpos;// кординаты
npcZ:=MyZpos;// у НПС
SendMsg2('npcX:='+IntToStr(npcX)+' npcY:='+IntToStr(npcY)+' npcZ:='+IntToStr(npcZ)+'');
pck:='';
exit;
end;
4:begin // соцдействие ----запоминаем место у крепости
krX:=MyXpos;// запомним
krY:=MyYpos;// кординаты
krZ:=MyZpos;// у крепости
SendMsg2('krX:='+IntToStr(krX)+' krY:='+IntToStr(krY)+' krZ:='+IntToStr(krZ)+'');
pck:='';
exit;
end;
5:begin // стоп

pck:='';
exit;
end;
6:begin // старт

pck:='';
exit;
end;
end;
end;
procedure startNPC;
begin
Action;
// пакет регистрации должен быть
timer1.enabled:=true;// бежим к крепости
end;
procedure startKR;
begin

timer2.enabled:=true;// бежим к НПС
end;
procedure stopGAME;
begin

end;
procedure ValidatePosition;
begin
myXpos:=ReadD(2);
myYpos:=ReadD(6);
myZpos:=ReadD(10);
//рядом c NPC
if (rastoyanieNPC(MyXpos, MyYpos,npcX,npcY)<=100) then startNPC;

//рядом c крепостью
if (rastoyanie(MyXpos, MyYpos,krX,krY)<=100) then startKR;

end;
procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer1;
timer1.enabled:=false;
timer1.interval:=0;// 60 мин

timer2:=TTimer.Create(nil);
timer2.OnTimer:=@OnTimer2;
timer2.enabled:=false;
timer2.interval:=0;// 57 мин
end;
procedure Free;
begin
timer1.free;
Timer2.free;
end;
begin
if pck = '' then exit;
if FromClient then
CASE pck[1] OF
#$59:ValidatePosition;
#$34:RequestSocialAction;
end;

alexteam
14.09.2009, 15:21
легче.. хм.. ну.. ну..

Tampler1
15.09.2009, 10:31
Говорят что можно через ИГ валкер записать все движения в скрипт,как это можно сделать

NLObP
15.09.2009, 23:47
нет, валкер не работает на нашем сервере
Я ведь не валкера предложил, а скрипт валкера для работы в пакетхаке.