Jump to content

working fishing script in haplex


ronia

Recommended Posts

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.


Link to comment
Share on other sites

  • 10 months later...

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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...