Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Общий раздел Lineage 2 » l2phx » cкрипт на вставку лс (cкрипт на вставку лс)
cкрипт на вставку лс
WolfДата: Воскресенье, 10.10.2010, 14:31 | Сообщение # 1
Король Lineage 2
Группа: Администраторы
Сообщений: 356
Награды: 11 [ 10026 ]
Статус: Offline
скрипт на вставку лсов в любом месте
токо учтите что скрипт палевный, а именно когда вставляешь лсы у других игроков лагает)))
Code
const  
   Name='CuJIyC'; // ник  
   ItemID=6594; // пуха  
   LifeID=8762; // лайфстон  
   GemsID=2131; // гемстон  
   GemsAmount=25; //кол-во гемов  
   max=180;  // инвентарь  
var  
  LifeBase:array[1..max] of integer;      
  ColvoLife,ColvoGems,Life,Item,Gems,SocialID,augid:integer;  
procedure Init;  
var i:integer;  
begin  
  buf:=hstr('0F');  
  SendToServerEx(Name);  
end;  
procedure Free;  
var i:integer;  
begin  
  for i:=1 to max do  
   LifeBase[i]:=0;  
end;  
function StrToHex2(packet: string):string;  
var  
   i:integer;  
   tmp:byte;  
   function ByteToHex(b: byte): Char;  
   begin  
     if b<10 then result:=chr(b+$30)  
       else result:=chr(b+$37);  
   end;  
begin  
   result:='';  
   for i:=1 to length(packet) do begin  
     tmp:=ord(packet[i]) div 16;  
     result:=result+ByteToHex(tmp);  
     tmp:=ord(packet[i]) - tmp*16;  
     result:=result+ByteToHex(tmp)+' ';  
   end;  
end;  
function inttohex(n:integer):string;  
var i:integer;  
     t:string;  
     a:array[0..15] of char;  
begin  
  a[0]:='0';  
  a[1]:='1';  
  a[2]:='2';  
  a[3]:='3';  
  a[4]:='4';  
  a[5]:='5';  
  a[6]:='6';  
  a[7]:='7';  
  a[8]:='8';  
  a[9]:='9';  
  a[10]:='A';  
  a[11]:='B';  
  a[12]:='C';  
  a[13]:='D';  
  a[14]:='E';  
  a[15]:='F';  
  result:='';  
  t:='';  
  i:=0;  
  while n<>0 do begin  
   if (i mod 2=0)and(i>0) then begin  
    result:=result+t+' ';  
    t:='';  
   end;  
   t:=a[n mod 16]+t;  
   n:=n div 16;  
   inc(i);  
  end;  
  result:=result+t;  
end;  
procedure Say;  
var i:integer;  
     s:string;  
begin  
   s:='<tr><td>LS='+inttostr(ColvoLife)+' (*'+inttostr(GemsAmount)+'='+inttostr(ColvoLife*GemsAmount)+')</td></tr>';  
   s:=s+'<tr><td>Gems='+inttostr(ColvoGems)+' (/'+inttostr(GemsAmount)+'='+inttostr(ColvoGems div GemsAmount)+')</td></tr>';  
   s:=s+'<tr><td>---</td></tr>';  
   if Item=0 then  
    s:=s+'<tr><td>No Weapon</td></tr>'  
   else if augid>0 then  
    s:=s+'<tr><td>Augmented ('+inttohex(augid)+')</td></tr>'  
   else  
    s:=s+'<tr><td>Not augmented</td></tr>';  
   buf:=hstr('0F 01 00 00 00');  
   WriteS('<html><body><br><table width=100%>'+s+'</table><br><br><br><br><br><br>'+  
    '"Social Yes" - Cancel Augment(if augmented) and Augment(if you have enough gems and LSs)<br>'+  
    '"Social No" - Show this help<br><br>'+  
    'Sometimes client dont get packet InventoryUpdate and you see "Not augment" when weapon is augmented.'+  
    ' Simply press [Tab] twice or wear weapon.<br><br>'+  
    '(c) raid aka Mamy</body></html>');  
//   '(c) raid aka Mamy<br>'+strtohex(pck)+'</body></html>');  
   WriteD(0);  
   SendToClientEx(Name);  
end;  
procedure CreateItemBase;   
var i,ss,j,ObjID,ItmID,ListCount,count,aug:integer;  
begin  
   Item:=0;  
   ss:=1;  
   j:=4;   
   ListCount:=ReadH(j);   
   if ListCount>max then ListCount:=max;  
   j:=8;   
   for i:=1 to ListCount do begin  
      ObjID:=ReadD(j);      
      ItmID:=ReadD(j);      
      Count:=ReadD(j);  
      j:=j+14;  
      aug:=ReadD(j);  
      case ItmID of  
         LifeID: begin  
             LifeBase[ss]:=ObjID;  
             inc(ss);  
         end;  
         ItemID: begin  
             Item:=ObjID;  
             augid:=aug;  
         end;  
         GemsID: begin  
             Gems:=ObjID;  
             ColvoGems:=Count;  
         end;  
      end;  
     j:=j+6;  
   end;  
   ColvoLife:=ss-1;  
   Say;  
end;  
procedure UpdateItemBase;   
var i,ii,j,ObjID,ItmID,ListCount,Count,UpdType,aug: integer;  
begin  
   ListCount:=ReadH(2);  
   j:=4;  
   for i:=1 to ListCount do begin  
     UpdType:=ReadH(j);  
     j:=j+2;  
     ObjID:=ReadD(j);  
     ItmID:=ReadD(j);  
     Count:=ReadD(j);  
     j:=j+14;  
     aug:=ReadD(j);  
     case UpdType of  
       1:case ItmID of  
           ItemID: begin  
             Item:=ObjID;  
             augid:=aug;  
           end;  
           LifeID: begin  
             for ii:=1 to max do  
              if LifeBase[ii]=0 then begin  
               LifeBase[ii]:=ObjID;  
               ColvoLife:=ColvoLife+1;  
               break;  
              end;  
           end;  
         GemsID: begin  
             Gems:=ObjID;  
             ColvoGems:=Count;  
         end;  
       end;  
       2:case ItmID of  
         ItemID: begin  
           Item:=ObjID;  
           augid:=aug;  
         end;  
         GemsID: begin  
             Gems:=ObjID;  
             ColvoGems:=Count;  
         end;  
       end;  
       3:case ItmID of  
         ItemID:  
           Item:=0;  
         GemsID: begin  
             Gems:=ObjID;  
             ColvoGems:=Count;  
         end;  
         LifeID: begin  
           for ii:=1 to max do  
             if LifeBase[ii]=ObjID then begin  
              LifeBase[ii]:=0;  
              ColvoLife:=ColvoLife-1;  
             end;  
         end;  
       end;  
     end;  
     j:=j+6;  
   end;  
  Say;  
end;  
function GetNextLife: integer;  
var i:integer;  
begin  
   Result:=-1;  
   for i:=1 to max do begin  
     if (LifeBase[i]<>0) then begin  
       Result:=LifeBase[i];  
       exit;  
     end;  
   end;  
end;  
procedure Augment;  
begin  
  buf:=hstr('D0 29 00');  
  WriteD(Item);  
  SendToServerEx(Name);  
  delay(100);  
  buf:=hstr('D0 2A 00');  
  WriteD(Item);  
  WriteD(Life);  
  SendToServerEx(Name);  
  delay(100);  
  buf:=hstr('D0 2B 00');  
  WriteD(Item);  
  WriteD(Life);  
  WriteD(Gems);  
  WriteD(GemsAmount);  
  SendToServerEx(Name);  
  delay(100);  
  buf:=hstr('D0 2C 00');  
  WriteD(Item);  
  WriteD(Life);  
  WriteD(Gems);  
  WriteD(GemsAmount);  
  SendToServerEx(Name);  
end;  
procedure DisAugment;  
begin  
  buf:=hstr('D0 2D 00');  
  WriteD(Item);  
  SendToServerEx(Name);  
  buf:=hstr('D0 2E 00');  
  WriteD(Item);  
  SendToServerEx(Name);  
end;  
begin  
   if pck='' then exit;  
   if FromClient and (ConnectName=Name) and (pck[1]=#$1B) then begin  
     SocialID:=ReadD(2);  
    pck:='';  
     case SocialID of  
       7: begin  
  buf:=hstr('A7 2A A0 00 00 80 84 1E 00 0A 00 00 00 00 00 00 00 00 00 00 00');  
  SendToServerEx(Name);  
  buf:=hstr('A7 29 A0 00 00 40 0D 03 00 FA 00 00 00 00 00 00 00 00 00 00');  
  SendToServerEx(Name);  

         exit;  
        end;  
       6: begin  
        if augid>0 then begin  
         DisAugment;  
         delay(300);  
        end;  
        Life:=GetNextLife;  
        if (Life=-1)or(ColvoGems<GemsAmount)or(ColvoLife<1) then  
         exit;  
        Augment;  
        exit;  
       end;  
       5: begin  
        Say;  
        exit;  
       end;  
     end;  
   end;  
   if FromServer then  
   case pck[1] of  
     #$1B: CreateItemBase;   
     #$27: UpdateItemBase;   
   end;  
end.
 
Форум » Общий раздел Lineage 2 » l2phx » cкрипт на вставку лс (cкрипт на вставку лс)
  • Страница 1 из 1
  • 1
Поиск:

Хостинг от uCoz
>