WorldCheats Forum

Форум
Форум посвященный главным образом MMORPG играм. Никаких ХАЙДОВ!

 
ФорумПорталЧаВоПоискПользователиГруппыРегистрацияВход

Поделиться | 
 

 Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 10:57 am

собсно сам скрипт к РРС

Код:
//SAY(^Fish)------------------------------------------
if (not _gFromServ) and copy(_gBuff,3,13) = HStr('38 5E 00 46 00 69 00 73 00 68 00 00 00') then begin
gBlockPacket;
Fish := 1 ;
tv := 0;
end;

if Fish = 1 then begin

if _gBuff = HStr('0B 00 64 B4 05 00 00 00 00 00 00')then begin
Fish := 0 ;
out := HPck('0F236410483C00680074006D006C003E003C0068006500610064003E003C0062006F00640079003E000D000A004600690073006800650072006D0065006E002700730020004700750069006C00640020004D0065006D00620065007200200042006C00650061006B00650072003A003C00620072003E003C006100200061006300740069006F006E003D0022006C0069006E006B002000660069007300680069006E0067005F006D0061006E00750061006C003000300031002E00680074006D002300370035003600310022003E002200540065006C006C0020006D00650020006D006F00720065002000610062006F00750074002000660069007300680069006E0067002E0022003C002F0061003E003C002F0062006F00640079003E003C002F00680074006D006C003E000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A00000000000000');
gSys('EnSendc',out);
end;
if gSys('Tick',tv,300000) then begin
Fish := 0 ;
out := HPck('0F236410483C00680074006D006C003E003C0068006500610064003E003C0062006F00640079003E000D000A004600690073006800650072006D0065006E002700730020004700750069006C00640020004D0065006D00620065007200200042006C00650061006B00650072003A003C00620072003E003C006100200061006300740069006F006E003D0022006C0069006E006B002000660069007300680069006E0067005F006D0061006E00750061006C003000300031002E00680074006D002300370035003600310022003E002200540065006C006C0020006D00650020006D006F00720065002000610062006F00750074002000660069007300680069006E0067002E0022003C002F0061003E003C002F0062006F00640079003E003C002F00680074006D006C003E000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A00000000000000');
gSys('EnSendc',out);
end;
end;

//SAY(^ClearHtml)------------------------
if (not _gFromServ) and copy(_gBuff,3,27) = HStr('38 5E 00 43 00 6C 00 65 00 61 00 72 00 48 00 74 00 6D 00 6C 00 00 00 00 00 00 00') then begin
gBlockPacket;
out := HPck('0F236410483C00680074006D006C003E003C0068006500610064003E003C0062006F00640079003E000D000A004600690073006800650072006D0065006E002700730020004700750069006C00640020004D0065006D00620065007200200042006C00650061006B00650072003A003C00620072003E003C006100200061006300740069006F006E003D0022006C0069006E006B002000660069007300680069006E0067005F006D0061006E00750061006C003000300031002E00680074006D002300370035003600310022003E00220065006C006C0020006D00650020006D006F00720065002000610062006F00750074002000660069007300680069006E0067002E0022003C002F0061003E003C002F0062006F00640079003E003C002F00680074006D006C003E000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A000D000A00000000000000');
gSys('EnSendc',out);
end;
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 10:57 am

Пример использования:
(Переделал 13 апреля 07г)

Код:
SAY(^Fish)
SAY(^ClearHtml)
DLGSEL("ell me more about fishing.")
SET(L2WALKER,ENABLE)
DELAY(500)
SET(L2WALKER,DISABLE)
LABEL(Stop)
StrInDlg("Tell me more about fishing.")
{
DLGSEL("Tell me more about fishing.")
MSG(Стоп)
JMP(1Stop)
}
ITEMCOUNT(Lesser Healing Potion,<,3)
{
JMP(nachalo)
}
ITEMCOUNT(Purple Colored Lure - High Grade[ID=6524],<,3)
{
JMP(nachalo)
}
CHARSTATUS(HP,<,20)
{
USEITEM(Lesser Healing Potion)
}
JMP(Stop)

LABEL(1Stop)
CHARSTATUS(HP,<,100)
{
USEITEM(Lesser Healing Potion)
}
CHARSTATUS(CHP,<,1)
{
SET(L2WALKER,DISABLE)
GOHOME
DELAY(20000)
JMP(quit)
}

кто хоть немного разбирается в скриптах, найдёт куда это дело вставить
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 10:58 am

А можеш сделать чтобы в диалогах кнопки заменялись на ссылки(актуально для бафа в КХ) ?
==================================================
Мой вариант замены Кнопок на линки в диалогах с нпс:


Код:
// ReTag Button2Link (prj007) by xD[xenus] ver 0.59
// ver 0.59.1

function xD_ReTag_Button2Link(inPck: String = _gBuff; FromServ: Boolean = _gFromServ): String;
function SrchStr(InStr: Boolean; iPck, SSymbl: String; RMin: Integer):String;
var
  i: Integer;
begin
  i:=pos(SSymbl,iPck);
  if InStr then
  begin
    if i<0 then
      result:=''
    else
      result:=copy(iPck,1,i+Length(SSymbl)-1-RMin);
  end
  else
  begin
    if i<0 then
      result:=''
    else
      result:=copy(iPck,i+Length(SSymbl),(Length(iPck)-i+Length(SSymbl)));
  end;
end;
function ReTag(iPck: String): String;
var
  tmpPck: String;
begin
  result:='<a';
    tmpPck:=SrchStr(False, iPck, '<button', 0);
  result:=result+SrchStr(True, tmpPck, '" ', 1)+'>[ ';
    tmpPck:=SrchStr(False, tmpPck, '" ', 0);
    tmpPck:=SrchStr(False, tmpPck, '="', 0);
  result:=result+SrchStr(True, tmpPck, '" ', 2);
  result:=result+' ]</a>';
end;
function XDButton2Link(iPck: String): String;
var
  tmpPck, outPck: String;
  EFlag: Boolean;
  i: Integer;
begin
  tmpPck:=iPck;
  outPck:='';
  EFlag:=False;
  for i:=1 to Length(iPck) do
  begin
    outPck:=outPck+SrchStr(True, tmpPck,'<button',7);
    if pos('<button', tmpPck)<1 then
    begin
      EFlag:=True;
      outPck:=outPck+tmpPck;
    end
    else
    begin
      outPck:=outPck+ReTag('<button'+SrchStr(True, SrchStr(False, tmpPck, '<button', 0), '>', 0));
    end;
    tmpPck:=SrchStr(False, SrchStr(False, tmpPck, '<button', 0), '>', 0);
    if EFlag then
      break;
  end;
  result:=outPck;
end;
var
  ID, MessageID, d: Integer;
  HTML: String;
begin
  if(FromServ)and(StrCmp(inPck[3],Hstr('0f')))then
  begin
    ScanPck5(inPck, 1, 'hcdsd', null, ID, MessageID, HTML, d);
    result:=FormatPck('%cdsd',[ID, MessageID, XDButton2Link(trim(HTML))+#0, d]);
  end;
end;

begin
  _gOutBuff:=xD_ReTag_Button2Link(_gBuff, _gFromServ);
//  _gOutBuff:=xD_ReTag_Button2Link;
end.
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 10:59 am

И еще можешь подправить этот скрипт, а то все Demo что давались запустил, а этот не смог, пишет неверная или ненайдена переменная

Код:
//'dropitem1.sc' WPS скрипт. разбрасывание предметов. 
// для использования надо скинуть 1 монетку или 1 стрелу (или 1 любого чего нибудь, что будем бросать)
// после этого нажимаем социал 'yes' скрипт начнет бросать
// социал 'no' остановит бросание.
// бросает по 1 вещи в каждом следующем пакете, не чаще чем 50 мс. (можно изменить в gSys('Tick',tv,50))
// (в гиране сильный поток пакетов, и достаточно немного побегать, чтобы забросать до лагов)

if _gAbsNumPkt = 1 then begin
  tv := 1; // первый вызов без задержки
          // устанавливаем только 1 раз
  Status := 0;
  SocialID := 0;
  stat[0] := 'Off';
  stat[1] := 'On';
  flagDrop := false;
  PckDrop := '';
  x := 0;
  y := 0;
  z := 0;
end;

if length(_gbuff) < 3 then exit;   

if (not _gFromServ) and (_gBUff[3] = #$1B) then begin
  SocialID := gInt(_gBuff,4,4);
  case SocialID of
    6: if flagDrop then Status := 1;
    5: Status := 0;
  end;
  writelog('статус: ',stat[status]);
end;

//17 00 48 71 B8 FE FF 96  B5 03 00 6E F1 FF FF 83 9A 00 00 00 00 00 00
//          4          8          12          16          20
//48=ValidatePosition:d(X)d(Y)d(Z)d(Heading)d(Data)

if (not _gFromServ) and (_gBUff[3] = #$48) then begin
  // ValidatePosition, запишем координаты
  x := gInt(copy(_gbuff,4,4),1,4);
  y := gInt(copy(_gbuff,8,4),1,4);
  z := gInt(copy(_gbuff,12,4),1,4);
  writelog(' позиция: ',x,' ',y,' ',z,#13,#10);
end;


// 17 00 12 7E 9B 05 10 01 00 00 00 8F A2 FE FF 14 DF 03 00 D6 F1 FF FF
//          4          8          12          16          20
// 12=RequestDropItem:h(ObjectID)d(Count)d(X)d(Y)d(Z)

if (not _gFromServ) and (_gBUff[3] = #$12) then begin
  // ловим пакет с бросанием 1 вещи и записываем его, для дальнейшего использования.
  if gInt(copy(_gBuff,8,4),1,4) = 1 then begin
    PckDrop := _gBuff;
    flagDrop := true;
    Writelog(' Пакет записан ',#13,#10);
  end;
end;

if (Status = 1) and (flagDrop) then begin
  if (PckDrop <> '') and gSys('Tick',tv,50) then begin // 50 ms между бросаниями.
    if (x <> 0) and (y <>0) and (z <>0) then begin
      pInt(PckDrop,x,12,4);
      pInt(PckDrop,y,16,4);
      pInt(PckDrop,z,20,4);
      i := gSys('EnSendS',PckDrop);  // шлем пакетик
      if i <> length(PckDrop) then begin
        Writelog('Ошибка отсылки ',i,'/',length(PckDrop),#13,#10);
      end;
    end;
  end;
end;
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:00 am

Офигенный пакет для ПвП и не только... Вот только незнаю как переделать в PPC. Помогите пожалуйста.

Код:
//Social Bow / Social Unaware - исчезнуть и появится, ну это кусок скрипта ХИНТА на его антитаргет.}

var act:integer; me1:char; me2:char; me3:char; me4:char; nm:integer; t1:char; t2:char; t3:char; t4:char;

nt:integer; shade:integer; mz:integer; pz:integer; tz:integer; hz:integer;

procedure SendMsg(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;

begin


//анализ ИД себя

if nm<>1 then
begin
if FromServer and (pck[1]=#$04) then
begin
me1:=pck[18];
me2:=pck[19];
me3:=pck[20];
me4:=pck[21];
nm:= 1;
end;
end;


//защитная часть

if FromClient and (pck[1]=#$1B) and (pck[2]=#$06) then
begin
act:=1;
SendMsg('AT system on');
end;

if FromClient and (pck[1]=#$1B) and (pck[2]=#$05) then
begin
act:=0;
SendMsg('AT system off');
end;

if FromClient and (pck=#$38#$3C#$04#$2B#$00#$00#$00#$03#$00#$00#$00) then
begin
mz:=1;
SendMsg('Advanced m.def on')
end;

if FromClient and (pck=#$38#$3C#$04#$2D#$00#$00#$00#$03#$00#$00#$00) then
begin
mz:=0;
SendMsg('Advanced m.def off')
end;

if FromClient and (pck=#$38#$3F#$04#$2B#$00#$00#$00#$03#$00#$00#$00) then
begin
pz:=1;
SendMsg('Advanced p.def on')
end;

if FromClient and (pck=#$38#$3F#$04#$2D#$00#$00#$00#$03#$00#$00#$00) then
begin
pz:=0;
SendMsg('Advanced p.def off')
end;

if FromClient and (pck=#$38#$42#$04#$2B#$00#$00#$00#$03#$00#$00#$00) then
begin
tz:=1;
SendMsg('Anti-target on')
end;

if FromClient and (pck=#$38#$42#$04#$2D#$00#$00#$00#$03#$00#$00#$00) then
begin
tz:=0;
SendMsg('Anti-target off')
end;

if FromClient and (pck=#$38#$45#$04#$2B#$00#$00#$00#$03#$00#$00#$00) then
begin
hz:=1;
SendMsg('Hit"n"Hide on')
end;

if FromClient and (pck=#$38#$45#$04#$2D#$00#$00#$00#$03#$00#$00#$00) then
begin
hz:=0;
SendMsg('Hit"n"Hide off')
end;

if FromClient and (pck[1]=#$1B) and (pck[2]=#$03) then
begin
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
end;

if act=1 then
begin

if tz=1 then
begin
if FromServer and (pck[1]=#$29) and (pck[6] = me1) and (pck[7] = me2) and (pck[8] = me3) and (pck[9] = me4)

then
begin
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
end;

if mz=1 then
begin
if FromServer and (pck[1]=#$48) and (pck[6] = me1) and (pck[7] = me2) and (pck[8] = me3) and (pck[9] = me4)

and (pck[2] <> me1) and (pck[3] <> me2) and (pck[4] <> me3) and (pck[5] <> me4) then
begin
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
end;

if pz=1 then
begin
if FromServer and (pck[1]=#$05) and (pck[6] = me1) and (pck[7] = me2) and (pck[8] = me3) and (pck[9] = me4)

and (pck[2] <> me1) and (pck[3] <> me2) and (pck[4] <> me3) and (pck[5] <> me4) then
begin
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
end;

if hz=1 then
begin
if FromServer and (pck[1]=#$48) and (pck[6] = me1) and (pck[7] = me2) and (pck[8] = me3) and (pck[9] = me4)

then
begin
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
end;
end;

end;


//часть таргета

if FromClient and (pck[1]=#$04) then
begin
nt:=1;
t1:=pck[2];
t2:=pck[3];
t3:=pck[4];
t4:=pck[5];
end;

if FromClient and (pck[1]=#$37) then
begin
nt:=0;
end;

if nt=1 then
begin
if FromClient and (pck[1]=#$30) then
begin
buf:=#$04+t1+t2+t3+t4+#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
SendToServer;
buf:=#$A6+t1+t2+t3+t4+#$00#$00;
SendToClient;
end;
end;

if FromClient and (pck[1]=#$1B) and (pck[2]=#$04) then
begin
buf:=#$04+t1+t2+t3+t4+#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00;
SendToServer;
buf:=#$A6+t1+t2+t3+t4+#$00#$00;
SendToClient;
end;

//shadowmelt

if FromClient and (pck[1]=#$1B) and (pck[2]=#$07) then
begin
shade:=1;
buf:=#$48#$00#$00#$FE#$FF#$7F#$AB#$03#$00#$E9#$F1#$FF#$FF#$88#$D4#$00#$00#$00#$00#$00#$00;
SendToServer;
SendMsg('Skipped to Shadows');
end;

if FromClient and (pck[1]=#$1B) and (pck[2]=#$08) then
begin
shade:=0;
buf:=#$30#$00#$00;
SendToServer;
SendMsg('Reveal from Darkness');
end;

if shade = 1 then
begin
if FromClient and (pck[1]=#$30) then pck:='';
end;

end.
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:00 am

скрипт делал для себя. Никакие сообщения никуда не пишуться. Графических примочек в чат нет. Управления соц. действиями. Вводит чара в инвиз => выводит => показывает окружающих. До немогу просто.

Код:
// делает вас невидимым для других
// управления социальными действиями
// Yes - on, No - off, Laught - нажимается в режими инвиза для того чтобы увидеть окружающих
// данный скрипт переделал под PPC shell
if _gAbsNumPkt = 1 then begin
  pck1:='';
  hide := 0;
end;
 
if _gbuff[1] = 7 then
if (not _gFromServ) and copy(_gBUff,3,2) = Hstr('1B 05') then begin
        pck1 := Hpck('30');
        hide := 0;
        _gOutBuff := pck1;
end;

if (not _gFromServ) and copy(_gBUff,3,2) = Hstr('1B 06') then begin
        target := Hpck('4872AAFEFF7FAB0300E9F1FFFF88D4000000000000');
        hide := 1;
        _gOutBuff := target;
end;

if (hide = 1) then begin
if _gFromServ and copy(_gbuff,3,1) = Hstr('28') then gBlockPacket;
end;

if (not _gFromServ) and copy(_gBUff,3,2) = Hstr('1B 0A') then begin
        pck := Hpck('CF');
        _gOutBuff := pck;
end;
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:01 am

Вот вам из моего загашника 2 скрипта(точнее 1 в 2-х вариантах), хотя скорее они могут стать примочками к вашим скриптам .

Первый вариант исполненый на новом движке FastScript:


Код:
// (fsc)SendToChat by xD[xenus] ver 1.02
//Выводит текстовое сообшение в окно чата
//
//use: SendMsg(x,y,z);
// x - (Integer)Иди чата в котором напишеться:
// 1 - ALL
// 2 - SHOUT ( ! )
// 3 - TELL ( " )
// 4 - PARTY ( # )
// 5 - CLAN ( @ )
// 6 - GM
// 7 - PETITION_PLAYER
// 8 - PETITION_GM
// 9 - TRADE ( + )
// 10 - ALLIANCE ( $ )
// 11 - ANNOUNCEMENT
// ...
// 15 - PARTYROOM_ALL ( желтый )
// 16 - PARTYROOM_COMMANDER ( синий )
// 17 - Голос героя
// z - (String)От кого сообщение;
// y - (String)Текст сообщения;
//Пример: SendMsg(2,'От кого сообщение','Текст сообщения');
//Пример: SendMsg(2,'You have banned =)','System');

function GetHStr(HxStr: String): String;
var
buf: String;
i: Integer;
begin
buf:='';
if (Length(HxStr) > 0) then
begin
for i:=1 to Length(HxStr) do
begin
buf:=buf+#00+copy(HxStr,i,1);
end;
end;
result:=buf;
end;

procedure SendMsg(MType: Integer; msgFrom, msg: String);
var
buf: String;
begin
buf:=HPck('4A 00 00 00 00'+BufToHex(chr(MType))+'00 00'+BuftoHex(GetHStr(msgFrom))+'00 00'+BuftoHex(GetHStr(msg))+'00 00');
gSys.EnSendC(buf);
end;

begin
if (not _gFromServ)and(_gBUff[3] = #$1B) then SendMsg(2,'You have banned =)','System');
end.
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:01 am

Второй вариант исполненый на старом движке WPS:

Код:
// (sc)SendToChat by xD[xenus] ver 1.01
//Выводит текстовое сообшение в окно чата
//
//use: SendMsg(x,y,z);
// x - (Integer)Иди чата в котором напишеться:
// 1 - ALL
// 2 - SHOUT ( ! )
// 3 - TELL ( " )
// 4 - PARTY ( # )
// 5 - CLAN ( @ )
// 6 - GM
// 7 - PETITION_PLAYER
// 8 - PETITION_GM
// 9 - TRADE ( + )
// 10 - ALLIANCE ( $ )
// 11 - ANNOUNCEMENT
// ...
// 15 - PARTYROOM_ALL ( желтый )
// 16 - PARTYROOM_COMMANDER ( синий )
// 17 - Голос героя
// z - (String)От кого сообщение;
// y - (String)Текст сообщения;
//Пример: SendMsg(2,'От кого сообщение','Текст сообщения');
//Пример: SendMsg(2,'You have banned =)','System');

function GetHStr(HxStr);
begin
buf:='';
if (Length(HxStr) > 0) then
begin
for i:=1 to Length(HxStr) do
begin
buf:=buf+#00+copy(HxStr,i,1);
end;
end;
result:=buf;
end;

procedure SendMsg(MType, msgFrom, msg);
begin
buf:=HPck('4A 00 00 00 00'+BufToHex(chr(MType))+'00 00'+BuftoHex(GetHStr(msgFrom))+'00 00'+BuftoHex(GetHStr(msg))+'00 00');
gSys('EnSendC',buf);
end;

if (not _gFromServ)and(_gBUff[3] = #$1B) then SendMsg(2,'You have banned =)','System');
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:01 am

скрипт дропа вещей. q2zx(c). чуток подправленый просто координаты в другом пакете брались и чета глучило

Код:
// скрипт дропа вещей. q2zx(c). чуток подправленый просто координаты в другом пакете брались и чета глучило :)
//
//
//
if _gAbsNumPkt = 1 then begin // Первый пакет, здесь один раз за всю сессию установим переменные...
Flag3:=0;
Flag2:=0;
Flag1:=0;
Flag4:=0;
Flag5:=0;
recv:=HPck('0F');
end;

if (_gFromServ) and copy(_gBuff,1,3) = HStr('EB 01 04') then begin  //
        x:=copy(_gbuff,4,4);
        y:=copy(_gbuff,8,4);
        z:=copy(_gbuff,12,4);
        WritelogH(x,y,z,#13,#10);
        Flag1:=1;
 _gOutBuff :=_gbuff;
Flag4:=0;
end;

if (_gFromServ) and (_gbuff[3] = #$1B)  then begin
          Buff :=_gbuff;
          _gOutBuff :=_gbuff;
          Flag3:=1;
          Writelog('перехвачен _1B_ и записан в Buff',#13,#10);
end;
if Flag1=1 and Flag2=1 and Flag3=1 then begin
  for dp:=0 to 50 do begin
          drop:=#$17+#$00+#$12+copy(Buff,(10+28*dp),4)+copy(Buff,(18+28*dp),4)+x+y+z;
        if length(drop)=23 then begin
          if gSys('EnSendS',drop) <> length(drop) then begin  // пошлем пакет на сервер.
          Writelog(' пакет не отослался! ');
                    end else begin
                        //Flag3:=1;
                        Writelog(length(drop),'дропнули');Writelog(#13,#10);
                              end;
          WritelogHexB(copy(Buff,(10+28*dp),4));Writelog(#13,#10);
          WritelogHexB(copy(Buff,(18+28*dp),4));Writelog(#13,#10);
        end else flag2:=0;
  end;

end;
if _gFromServ = false then begin
      if _gbuff[3] = #$03  then begin
      Flag2:=1;
      end;
end;
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:02 am

// Автоматическое включение soulshot-ов
// dmitry501 но тоже подправленый сделал полу автомат типа дропнул
включился добавил проверку длины пакета так как сказали НАДО ее делать

Код:
// Автоматическое включение soulshot-ов (c) dmitry501
if _gAbsNumPkt = 1 then begin
  buf_ss:=HPck('D0 05 00 2B 07 00 00 01 00 00 00');
end;

if _gFromServ then begin

  if copy(_gBuff,1,3)= HStr('27 00 0C') and length(_gBuff)= 39 then begin
    itemID:= GInt(_gBuff,12,4);
    Writelog('ItemID=',IntToHex(ItemID),#13,#10);
       if ((ItemID>1462) and (ItemID<1468)) or
         ((ItemID>2508) and (ItemID<2515)) or
         ((ItemID>3946) and (ItemID<3953)) or
         ((ItemID>6644) and (ItemID<6648)) or
         (ItemID=1835) or (ItemID=5789) or (ItemID=5790) then
        begin
          pInt(buf_ss,ItemID,6,4);
          gSys('EnSendS',buf_ss);
      end;

      end;

end;
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:02 am

простенький скрипт перевода с транслита, набранного в чате, на русский

Код:
//translit
var
    _sRus,
   _sAlb   : String;

procedure OnCreate;
begin
   _sRus := '8LK5MQ9FC:=3HI7EJD20?@>;46OGA<B1N';
   _sAlb := 'i''ieeeicukngwwzh''fvaproldj94smtbu';
end;

procedure TranslitSay;
var
   i, type   : Integer;
   txt, nm   : String;
begin
     i := ScanPck5( _gBuff, 4, 'wd', txt, type, null, null, null );
     if i >= 0 then begin
      txt := Translit( txt );
      if type = 2 then begin
           i := ScanPck5( _gBuff, i, 'w', nm, null, null, null, null );
         _gOutBuff := FormatPck( '%cada', [ $49, txt, type, nm ] );
      end else
         _gOutBuff := FormatPck( '%cad', [ $49, txt, type ] );
   end;
end;

function Translit( txt: String ): String;
var
   l, i,
   j      : Integer;
   s      : String;
begin
   l := Length( txt );
   Result := txt;
   i := 1;
   while i <= l do begin
      j := Pos( txt[ i ], _sAlb );
      if j > 0 then begin
         Result[ i ] := _sRus[ j ];
         Result[ i + 1 ] := #$04;
      end;
      i := i + 2;
   end;
end;

begin
   if ( not _gFromServ ) then begin
      if hStrCmp( _gBuff, 3, 1, '49' ) then begin //say2
         TranslitSay();
      end;
   end;
end.
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
WorldCheats
Администратор
Администратор
avatar

Мужчина Количество сообщений : 247
Возраст : 32
Географическое положение : Moscow
Награда :
Дата регистрации : 2008-10-30

СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   Пн Дек 01, 2008 11:03 am

Немного доработаны до Gracia Р1, Fake Login
Большое спасибо rgsh за помощь.

Код:
// Fake Login for Gracia v1.1 by Sh00rGo

const
  wpSound = 'dll\wpsound.dll';  // звуки
  _gSoundDir = _gCustomDir + 'Sounds\';
  ErrSound = _gSoundDir + 'Error.wav';

var
  buf, Ftemp, RAL: string;
  gsip, gsport: integer;
  i: boolean;
  step, cs: integer;
  ini: TMemIniFile;
  hwpSound: handle;

procedure OnCreate;
begin
  Ftemp:=_gCustomDir+'FakeLogin_IL.ini';
  ini:=TMemIniFile.Create(Ftemp);
  ReadIni;
  case step of
    0: step:=1;
    3: gSys.tLA2BFdecode:=false;
  end;

  hwpSound := 0;
  try
    hwpSound := gDLL.LoadLib(wpSound);
  except
    WriteLogLn('Длл для поддержки звуков не загружена');
  end;

  if _isScriptTester then begin
    PlaySound(_gSoundDir + '1.wav');
    step := 0;
    ShowMessage('настройки сброшены');
  end;
end;

Procedure OnDestroy;
begin
  UpdateIni;
  ini.free;

  if hwpSound > 0 then gDLL.FreeLib(hwpSound);
end;

procedure PlaySound(SoundFile: string; loop: boolean = false);
var
  loopflag: integer;
begin
  if loop then loopflag := 1 else loopflag := 0;
  if (hwpSound > 0) and FileExist(SoundFile) then gDLL.CallFunc3(hwpSound,'wpPlaySound',SoundFile,loopflag,null);
end;

procedure StopSound;
begin
  if (hwpSound>0) then gDLL.CallFunc3(hwpSound,'wpStopSound',null,null,null);
end;

procedure ReadIni;
begin
  if not FileExist(Ftemp) then UpdateIni;
  step:=ini.ReadInteger('Default','Step',1);
  case step of
    3: begin
        gsip:=inet_addr(ini.ReadString('Default','GameServerIP','127.0.0.1'));
        gsport:=ini.ReadInteger('Default','GameServerPort',7777);
      end;
    4: RAL:=ini.ReadString('Default','RequestAuthLogin',#$00);
  end;
end;

procedure UpdateIni;
begin
  if step>0 then ini.WriteInteger('Default','Step',step)
  else ini.WriteInteger('Default','Step',1);
  if step=3 then begin
    ini.WriteString('Default','GameServerIP',inet_ntoa(_gServIP));
    ini.WriteInteger('Default','GameServerPort',_gServPort );
    ini.WriteString('Default','RequestAuthLogin',RAL);
  end;
  ini.UpdateFile;
end;

procedure PckSizeAdd(var bufout: string; bufin: string = '');
begin
  if length(bufin) = 0 then bufin := bufout;
  bufout := FStr(2) + bufin;
  Pint(bufout,length(bufout),1,2);
end;

procedure PckSizeCut(var bufout: string; bufin: string = '');
begin
  if length(bufin) = 0 then bufin:=bufout;
  bufout := copy(bufin,3,length(bufin)-2);
end;

BEGIN
  case step of
  1:if _gAbsNumPkt=9 then begin
      WriteLogLn(' Клиент авторизовался на сервере, перехожу на 2ую стадию');
      step:=2;
    end;
  2: case _gAbsNumPkt of
      1:if (not _gFromServ) and StrCmp(_gBuff[3],#$0E) then begin // пакет ProtocolVersion
          gBlockPacket;
          buf:=HStr('19002E01DAE57C111945597701000000010000000000000000'); // пакет KeyInit
          WriteLogLn(' отослал пакет KeyInit, жду ответа с ключами');
          gSys.SendC(buf);
        end;
      2:if not _gFromServ then begin
          gBlockPacket;
          buf:=_gBuff;
          gCrypt.DecGS(buf,HStr('DAE57C1119455977C8279301A16C3197'),3);
          RAL:=BufToHex(buf);
          WriteLogLn(' получил нужный пакет RequestAuthLogin, перехожу на стадию 3');
          step:=3;
          WriteLogLn(' терминирую соединение');
          PlaySound(_gSoundDir + '1.wav');
          gSys.Killself;
        end;
    end;
  3: begin
      gCrypt.BFinit(HStr('5B3B272E5D39342D33313D3D2D252640215E2B5D00'));
      case _gAbsNumPkt of
        1: if _gFromServ then begin
              WriteLogLn(' принял пакет от сервера Init');
              gBlockPacket;
              buf:=HStr('BA000A2DD500A920559DFED1E3921D0AA1BE8DBF152798DA5F4B0EF7D26AFBDC3662150BD362F648BF1C2BE0035B2AA7786B69448DD471087A18B0FDE906FADE43E2FCE918FE66F385C9F99492C91F0017664FDFBE9A59F430DADD05F98B4E80E7F1AF2343F54AA453024D6EA27EC05B9ACC8FE690AC77B7CC640B778970A1CF6BA8307219AB2439815AAA96B266B11BEE01EB98CE11A32C836B194DE27F9975D59898F4AE259CC8BDF3B64BCC2107B60BF72C72CF4CE353F277'); // поддельный пакет Init от сервера
              gSys.SendC(buf);
              WriteLogLn(' отправлен пакет Init клиенту');
            end;
        2: if not _gFromServ then begin
              gBlockPacket;
              WriteLogLn(' Принял пакет от клиента RequestAuthLogin');
              buf:=HStr('2200A6082D3E68676BBA46D6A19B8085474646D6A19B80854746AE203FF46BF1A228'); // че-то с ГГ
              gSys.SendC(buf);
              WriteLogLn(' отправлен пакет LoginOk от сервера');
            end;
        3: if not _gFromServ then begin
              gBlockPacket;
              WriteLogLn(' Принял пакет от клиента RequestAuthLogin');
              buf:=HStr('3200B8AF8579F50C6452B7C48A6177A98C98BD0EB4906DF91B8946D6A19B8085474646D6A19B808547462BA05487DBA43A8F'); // типа логин ок
              gSys.SendC(buf);
              WriteLogLn(' отправлен пакет LoginOk от сервера');
            end;
        4: if not _gFromServ then begin
              gBlockPacket;
              writelogln(' принял пакет от клента RequestServerList');
              buf:=HStr('04010101000000000000000000015F01B80B0100000000150000000000000000'); // заготовка пакета ServerList
              Pint(buf,gsip,5,4); // вписываем ip гейм сервера
              Pint(buf,gsport,9,4); // вписываем порт гейм сервера
              gCrypt.LSchks(buf,cs);
              Pint(buf,cs,length(buf)-7,4);
              gCrypt.BFinit(HStr('6B60CB5B82CE90B1CC2B6C556C6C6C6C'));
              gCrypt.BFenc(buf);
              PckSizeAdd(buf);
              gSys.SendC(buf);
              WriteLogLn(' отправлен пакет ServerList от сервера');
            end;
        5: if not _gFromServ then begin
              gBlockPacket;
              WriteLogLn(' принял пакет от клента RequestServerLogin');
              buf:=HStr('1A00FF028472DA27A55246D6A19B8085474691474707B96126D5');
              gSys.SendC(buf);
              WriteLogLn(' отправлен пакет PlayOk от сервера');
              WriteLogLn(' авторизация бота завершена');
              step:=4;
            end;
      end;
    end;
  4: if _gAbsNumPkt=3 then begin
        _gOutBuff:=HStr(RAL);
        step:=0;
    end;
  end;
END.
Вернуться к началу Перейти вниз
Посмотреть профиль http://worldcheats.mo-rpg.com
Спонсируемый контент




СообщениеТема: Re: Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)   

Вернуться к началу Перейти вниз
 
Cкрипты PPC (было: Взаимодействие скриптов к ППЦ)
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
WorldCheats Forum :: Лаборатория Читера :: Lineage 2 :: Проекты и Прочие полезные темы-
Перейти: