kr1n0s* Posted February 11, 2012 Posted February 11, 2012 So i have this script (old) const Name='iFIght'; // character ItemID=7577; // item id LifeID=8742; // lifestone id GemsID=2131; // gemstone id GemsAmount=25; //gemstone amount max=8000; // max amount of gemstones 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 StrToHex(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>'+ '</body></html>'); // '<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. it suppose to augment my weapon when i press "social yes" but it dont do anything... it connected normanly, show me how many ls i have in my inventory or what augment i have in my weapon. how can i make it work? Quote
xDunno Posted February 11, 2012 Posted February 11, 2012 Name='Tiara120'; // Your char name ItemID=6593; // item id (weapon id you should search it at itemnames well i do like this) LifeID=8762; // lifestone id (find this to becouse it have diff id's from top ls mid etc) GemsID=2131; // gemstone id GemsA-beep-t=25; //gemstone a-beep-t max=8000; // max a-beep-t of gemstones You need edit only this lines and its works in all interlude us i know Quote
kr1n0s* Posted February 11, 2012 Author Posted February 11, 2012 Name='Tiara120'; // Your char name ItemID=6593; // item id (weapon id you should search it at itemnames well i do like this) LifeID=8762; // lifestone id (find this to becouse it have diff id's from top ls mid etc) GemsID=2131; // gemstone id GemsA-beep-t=25; //gemstone a-beep-t max=8000; // max a-beep-t of gemstones You need edit only this lines and its works in all interlude us i know i have already fix them, and as i said it connects with l2... but when i press social yes it dont do anything. any1? can i change the social yes to something else? Quote
xDunno Posted February 11, 2012 Posted February 11, 2012 but you are tryíng it in interlude right? if yes pm me whit server URL and your IG nick i will try by my self and if it wont work for me it means its fixed Quote
Recommended Posts
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.