Jump to content

Recommended Posts

Posted
const
  Name='PLAYER1';
  fish='2F 20 05 00 00 00 00 00 00 00';
  pump='2F 21 05 00 00 00 00 00 00 00';
  reel='2F 22 05 00 00 00 00 00 00 00';
var
  timer: TTimer;
  status, status2, RodInUse:boolean;
  Lure, ColvoLure, Shot, ColvoShot, CharObjID: Integer;
  SocialID: Integer;
  Cmd:string;
//******************************************************************************
//                      
//******************************************************************************
procedure Init;
begin
  Shot:=0;
  Status:=false;
  Status2:=false;
  RodInUse:=false;
  timer:=TTimer.Create(nil);
  timer.OnTimer:=@OnTimer;
  timer.enabled:=false;
  timer.interval:=5000; 
end;
//******************************************************************************
//                        
//******************************************************************************
procedure Free;
begin
  timer.Free;
end;
//******************************************************************************
Function ObjtoColvo(ItemObjID:integer): integer;
var
  i: integer;
begin
  if ItemObjID=0 then exit;
  for i:=0 to ReadD(4)-1 do begin
    if ItemObjID=ReadD(i*28+8) then begin
        Result:=ReadD(i*28+16);
        exit;
    end;
  end;
  Result:=0;
end;
//******************************************************************************

procedure Say(msg:string);
begin
  buf:=hstr('4A 00 00 00 00');
  WriteD(2);
  WriteS(Name);
  WriteS(msg);
  SendToClientEx(Name);
end;
//******************************************************************************
procedure UseItem(ObjID:integer);
begin
    buf:=#$14;
    WriteD(ObjID);
    WriteD(00);
    SendToServerEx(Name);
end;
//******************************************************************************
procedure Pumping;
begin
  if (Shot<>0) and (ColvoShot<>0) then UseItem(Shot);

  buf:=HStr(pump);
  SendToServerEx(Name);
end;
//******************************************************************************
procedure Reeling;
begin
  if (Shot<>0) and (ColvoShot<>0) then UseItem(Shot);

  buf:=HStr(reel);
  SendToServerEx(Name);
end;

//******************************************************************************
procedure Fishing;
begin
  if ColvoLure<>0 then begin
    RodInUse:=true;
    buf:=HStr(fish);
    SendToServerEx(Name);
  end
  else begin
    Status:=false;
    Say('mmm!');
    exit; 
  end;
end;
//******************************************************************************
procedure OnTimer(Sender: TObject);
begin
    Fishing;
    timer.enabled:=false;
end;
//******************************************************************************
// ?????????? ??? ??????? ??????? ??????, ???? ?????? ???????
//******************************************************************************
begin
  //?? ???????????? ?????? ??????
  if pck='' then exit;
  //****************************************************************************
  //???? ?? ??????? ?????? ????? ? UserInfo. ?????????? ??????????? ??
  if FromServer and (ConnectName=Name) and (pck[1]=#$04) then CharObjID:=ReadD(18);
  //****************************************************************************
  {?????????? ???????? ItemID ??? ?????? ???????!!!
  6519=Green Colored Lure - Low Grade A
  6520=Green Colored Lure - Medium Grade
  6521=Green Colored Lure - High Grade
  6522=Purple Colored Lure - Low Grade
  6523=Purple Colored Lure - Medium Grade
  6524=Purple Colored Lure - High Grade
  6525=Yellow Colored Lure - Low Grade
  6526=Yellow Colored Lure - Medium Grade
  6527=Yellow Colored Lure - High Grade}
  //InventoryUpdate(27):w(count)w(1add2mod3remove)w(itemType1)h(ObjectID)i(ItemId)d(Count)
  //?????????? ObjectID Lure ? ColvoLure
  if FromServer and (ConnectName=Name) and (pck[1]=#$27) and ((ReadD(12)>=6519) and (ReadD(12)<=6527)) then begin
     Lure:=ReadD(8);
     ColvoLure:=ReadD(16); //?????????? ???????
     //Say('???????='+inttostr(ColvoLure));
  end;
  //****************************************************************************
  {?????????? ???????? ItemID ??? ?????? ???????!!!
  6535=Fishing Shot: non-grade
  6536=Fishing Shot: D-grade
  6537=Fishing Shot: C-grade
  6538=Fishing Shot: B-grade
  6539=Fishing Shot: A-grade
  6540=Fishing Shot: S-grade}
  //InventoryUpdate(27):w(count)w(1add2mod3remove)w(itemType1)h(ObjectID)i(ItemId)d(Count)
  //?????????? ObjectID Fishing Shot ? ColvoShot
  if FromServer and (ConnectName=Name) and (pck[1]=#$27) and ((ReadD(12)>=6535) and (ReadD(12)<=6540)) then begin
     Shot:=ReadD(8);
     ColvoShot:=ReadD(16); //?????????? ?????
     //Say('?????='+inttostr(ColvoShot));
  end;
  //******************************************************************************
  if (CharObjID<>0) and (ColvoLure<>0) and not status2 then begin //(Shot<>0) and (ColvoShot<>0) and
    Say('????????????? ????? ???? ?????? ? ??????!');
    status2:=true;
  end;
  //******************************************************************************
  //ItemList
  if FromServer and (ConnectName=Name) and (pck[1]=#$1B) and status then begin
     ColvoShot:=ObjtoColvo(Shot); //?????????? ?????
     //Say('Shot='+inttostr(ColvoShot));
     ColvoLure:=ObjtoColvo(Lure); //?????????? ???????
     //Say('Lure='+inttostr(ColvoLure));
  end;
  //****************************************************************************
  //????? ????
  if Status and FromServer and (ConnectName=Name) and (CharObjID<>0) then begin
       //FishingEnd
       if (pck[1]+pck[2]=#$FE#$14) and (CharObjID=ReadD(4)) then timer.enabled:=true; //FishingEnd ???? N ?????? ????? ?????????
       //FishinHPRegen
       if (pck[1]+pck[2]=#$FE#$16) and (CharObjID=ReadD(4)) and (pck[15]+pck[16]=#$00#$00) then pumping;
       if (pck[1]+pck[2]=#$FE#$16) and (CharObjID=ReadD(4)) and (pck[15]+pck[16]=#$00#$01) then reeling;
  end;
  //****************************************************************************
  if FromClient and (ConnectName=Name) and (pck[1]=#$1B) then begin
    SocialID:=ReadD(2);
    case SocialID of
      //?????????? ???????? Yes ??? ?????? ?????
      6: begin
            if CharObjID=0 then exit;
            Status:=true;
            ColvoLure:=1;
            Say('Vamos a Pescar!');
            Fishing;

      end;
      //?????????? ???????? No ??? ?????????
      5: begin
            if CharObjID=0 then exit;
            if Status and RodInUse then Fishing;
            Status:=false;
            RodInUse:=false;
            timer.enabled:=false;
      end;
    end;
  end;
end.


  • 10 months later...
Posted

hlapex is dead, that's true. btw who need to go fishing on a high rate server ?? :P

who need to fish in a HR omg if u search better servers where farming is difficult then those server which u take 10 min for top eq u will see that u need POCF to buy some eq but nvm.in some low rates its important but as everyone said hlapex is too hold better do in walker and make a script

Posted

const
  Name='PLAYER1';
  fish='2F 20 05 00 00 00 00 00 00 00';
  pump='2F 21 05 00 00 00 00 00 00 00';
  reel='2F 22 05 00 00 00 00 00 00 00';
var
  timer: TTimer;
  status, status2, RodInUse:boolean;
  Lure, ColvoLure, Shot, ColvoShot, CharObjID: Integer;
  SocialID: Integer;
  Cmd:string;
//******************************************************************************
//                      
//******************************************************************************
procedure Init;
begin
  Shot:=0;
  Status:=false;
  Status2:=false;
  RodInUse:=false;
  timer:=TTimer.Create(nil);
  timer.OnTimer:=@OnTimer;
  timer.enabled:=false;
  timer.interval:=5000; 
end;
//******************************************************************************
//                        
//******************************************************************************
procedure Free;
begin
  timer.Free;
end;
//******************************************************************************
Function ObjtoColvo(ItemObjID:integer): integer;
var
  i: integer;
begin
  if ItemObjID=0 then exit;
  for i:=0 to ReadD(4)-1 do begin
    if ItemObjID=ReadD(i*28+8) then begin
        Result:=ReadD(i*28+16);
        exit;
    end;
  end;
  Result:=0;
end;
//******************************************************************************

procedure Say(msg:string);
begin
  buf:=hstr('4A 00 00 00 00');
  WriteD(2);
  WriteS(Name);
  WriteS(msg);
  SendToClientEx(Name);
end;
//******************************************************************************
procedure UseItem(ObjID:integer);
begin
    buf:=#$14;
    WriteD(ObjID);
    WriteD(00);
    SendToServerEx(Name);
end;
//******************************************************************************
procedure Pumping;
begin
  if (Shot<>0) and (ColvoShot<>0) then UseItem(Shot);

  buf:=HStr(pump);
  SendToServerEx(Name);
end;
//******************************************************************************
procedure Reeling;
begin
  if (Shot<>0) and (ColvoShot<>0) then UseItem(Shot);

  buf:=HStr(reel);
  SendToServerEx(Name);
end;

//******************************************************************************
procedure Fishing;
begin
  if ColvoLure<>0 then begin
    RodInUse:=true;
    buf:=HStr(fish);
    SendToServerEx(Name);
  end
  else begin
    Status:=false;
    Say('mmm!');
    exit; 
  end;
end;
//******************************************************************************
procedure OnTimer(Sender: TObject);
begin
    Fishing;
    timer.enabled:=false;
end;
//******************************************************************************
// ?????????? ??? ??????? ??????? ??????, ???? ?????? ???????
//******************************************************************************
begin
  //?? ???????????? ?????? ??????
  if pck='' then exit;
  //****************************************************************************
  //???? ?? ??????? ?????? ????? ? UserInfo. ?????????? ??????????? ??
  if FromServer and (ConnectName=Name) and (pck[1]=#$04) then CharObjID:=ReadD(18);
  //****************************************************************************
  {?????????? ???????? ItemID ??? ?????? ???????!!!
  6519=Green Colored Lure - Low Grade A
  6520=Green Colored Lure - Medium Grade
  6521=Green Colored Lure - High Grade
  6522=Purple Colored Lure - Low Grade
  6523=Purple Colored Lure - Medium Grade
  6524=Purple Colored Lure - High Grade
  6525=Yellow Colored Lure - Low Grade
  6526=Yellow Colored Lure - Medium Grade
  6527=Yellow Colored Lure - High Grade}
  //InventoryUpdate(27):w(count)w(1add2mod3remove)w(itemType1)h(ObjectID)i(ItemId)d(Count)
  //?????????? ObjectID Lure ? ColvoLure
  if FromServer and (ConnectName=Name) and (pck[1]=#$27) and ((ReadD(12)>=6519) and (ReadD(12)<=6527)) then begin
     Lure:=ReadD(8);
     ColvoLure:=ReadD(16); //?????????? ???????
     //Say('???????='+inttostr(ColvoLure));
  end;
  //****************************************************************************
  {?????????? ???????? ItemID ??? ?????? ???????!!!
  6535=Fishing Shot: non-grade
  6536=Fishing Shot: D-grade
  6537=Fishing Shot: C-grade
  6538=Fishing Shot: B-grade
  6539=Fishing Shot: A-grade
  6540=Fishing Shot: S-grade}
  //InventoryUpdate(27):w(count)w(1add2mod3remove)w(itemType1)h(ObjectID)i(ItemId)d(Count)
  //?????????? ObjectID Fishing Shot ? ColvoShot
  if FromServer and (ConnectName=Name) and (pck[1]=#$27) and ((ReadD(12)>=6535) and (ReadD(12)<=6540)) then begin
     Shot:=ReadD(8);
     ColvoShot:=ReadD(16); //?????????? ?????
     //Say('?????='+inttostr(ColvoShot));
  end;
  //******************************************************************************
  if (CharObjID<>0) and (ColvoLure<>0) and not status2 then begin //(Shot<>0) and (ColvoShot<>0) and
    Say('????????????? ????? ???? ?????? ? ??????!');
    status2:=true;
  end;
  //******************************************************************************
  //ItemList
  if FromServer and (ConnectName=Name) and (pck[1]=#$1B) and status then begin
     ColvoShot:=ObjtoColvo(Shot); //?????????? ?????
     //Say('Shot='+inttostr(ColvoShot));
     ColvoLure:=ObjtoColvo(Lure); //?????????? ???????
     //Say('Lure='+inttostr(ColvoLure));
  end;
  //****************************************************************************
  //????? ????
  if Status and FromServer and (ConnectName=Name) and (CharObjID<>0) then begin
       //FishingEnd
       if (pck[1]+pck[2]=#$FE#$14) and (CharObjID=ReadD(4)) then timer.enabled:=true; //FishingEnd ???? N ?????? ????? ?????????
       //FishinHPRegen
       if (pck[1]+pck[2]=#$FE#$16) and (CharObjID=ReadD(4)) and (pck[15]+pck[16]=#$00#$00) then pumping;
       if (pck[1]+pck[2]=#$FE#$16) and (CharObjID=ReadD(4)) and (pck[15]+pck[16]=#$00#$01) then reeling;
  end;
  //****************************************************************************
  if FromClient and (ConnectName=Name) and (pck[1]=#$1B) then begin
    SocialID:=ReadD(2);
    case SocialID of
      //?????????? ???????? Yes ??? ?????? ?????
      6: begin
            if CharObjID=0 then exit;
            Status:=true;
            ColvoLure:=1;
            Say('Vamos a Pescar!');
            Fishing;

      end;
      //?????????? ???????? No ??? ?????????
      5: begin
            if CharObjID=0 then exit;
            if Status and RodInUse then Fishing;
            Status:=false;
            RodInUse:=false;
            timer.enabled:=false;
      end;
    end;
  end;
end.


thx man but how to solve the change place after fishing 15-20 minutes ??? coz after on my OFF server we need change place after 15-20 minutes or u cant fishing.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...