Скриптинг Форум посвещенный созданию скриптов для L2PacketHack
08.06.2009, 10:30
#11
Местный
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Запись правильная...
Куда ты саму функцию всунул? Она должна быть перед основным begin end.
За это сообщение Fer123 нажился спасибкой от:
08.06.2009, 14:50
#12
Новичок
Регистрация: 26.05.2009
Сообщений: 11
Сказал Спасибо: 6
Имеет 0 спасибок в 0 сообщенях
я в скриптах не силен .. даже языка не знаю зделал просто по аналогии как в других скриптах.
Если тебя не затруднит подправь мой как требуется.
Добавлено через 52 минуты
function GetInv2(obj:integer): integer;
var
i: integer;
begin
if GetInv2(6577)<=5 then begin
buf:=HStr('нужный пакет ');
SendToServerEx('fuck');
end;
Спустя пару часов надумал вот это ... если что подправте буду очень благодарен
Последний раз редактировалось akkerman, 08.06.2009 в 14:50 .
Причина: Добавлено сообщение
08.06.2009, 15:06
#13
Пользователь
Регистрация: 08.03.2008
Сообщений: 77
Сказал Спасибо: 31
Имеет 19 спасибок в 15 сообщенях
гы гы саму функцию изменил)) и внутри функции вызываешь ее же))
прям таки рекурсия гы гы))
08.06.2009, 15:24
#14
Местный
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Вот как должен выглядеть твой скрипт
Оффтоп
delphi Код:
const
Name='fuck' ;
max =200 ; //Слотов в инвентаре
var
ItemBase: array[1 ..4 ,1 ..max ] of integer ;
ready:boolean ;
procedure Init;
begin
ready:=false ;
buf:=#$0F;
SendToServerEx( Name) ;
end ;
//***************************************************************
procedure CreateItemBase;
var
i, j, ListCount: integer ;
begin
for i:=1 to max do begin
//очищаем масив
ItemBase[1 ,i]:=0 ; //OID
ItemBase[2 ,i]:=0 ; //ID
ItemBase[3 ,i]:=0 ; //kol-vo
ItemBase[4 ,i]:=0 ; //lvl
end ;
j:=4 ;
ListCount:=ReadH( j) ;
j:=8 ;
for i:=1 to ListCount do begin
itemBase[1 ,i]:=ReadD( j) ; //OID
itemBase[2 ,i]:=ReadD( j) ; //ItemID
itemBase[3 ,i]:=ReadD( j) ; //кол-во
inc ( j,10 ) ;
itemBase[4 ,i]:=ReadH( j) ;//EnchantLevel
inc ( j,12 ) ;
end ;
end ;
//......................................
//******************************************************************************
procedure InventoryUpdate; //пакет 27, обновляет базу ObjectID по ItemID
var
i, ii, j, OID, ID, Count, ListCount, UpdType, lvl: integer ;
add : boolean ;
begin
add:=false ;
ListCount:=ReadH( 2 ) ;
j:=4 ;
for ii:=1 to ListCount do begin
add:=false ; //Ели додумался изза чего не добавляет сразу несколько предметов в базу
UpdType:=ReadH( j) ;
ReadH( j) ; //ItemType1
OID:=ReadD( j) ; //ObjectID
ID:=ReadD( j) ; //ItemID
Count:=ReadD( j) ; //кол-во
inc ( j,10 ) ;
lvl:=ReadH( j) ;
case UpdType of
1 : begin
for i:=1 to max do begin
if ( ItemBase[1 ,i]=0 ) and ( add=false ) then begin
ItemBase[1 ,i]:=OID;
ItemBase[2 ,i]:=ID;
ItemBase[3 ,i]:=Count;
ItemBase[4 ,i]:=lvl;
add:=true ;
end ;
end ;
end ;
2 : begin
for i:=1 to max do begin
if ItemBase[1 ,i]=OID then begin
ItemBase[3 ,i]:=Count;
ItemBase[4 ,i]:=lvl;
if OID=arItemOID[arNum] then CurEnchLvl:=lvl;
end ;
end ;
end ;
3 : begin
for i:=1 to max do begin
if ItemBase[1 ,i]=OID then begin
ItemBase[1 ,i]:=0 ;
ItemBase[2 ,i]:=0 ;
ItemBase[3 ,i]:=0 ;
ItemBase[4 ,i]:=0 ;
end ;
end ;
end ;
end ;
inc ( j,10 ) ;
end ;
end ;
//......................................
function SumItem( Item: integer ) :integer ;
var
sum , i : integer ;
begin
result:=0 ;
for i:=1 to max do begin
if ( ItemBase[2 ,i]=item) then begin
result:=result+ItemBase[3 ,i];
end ;
end ;
end ;
BEGIN
//--- INVENTORY BEGIN ---//
if FromServer and ( ConnectName=Name) then case pck[1 ] of
#$1B: begin
CreateItemBase;
ready:=true ;
end ;
#$27 : begin
InventoryUpdate;
ready:=true ;
end ;
end ;
//--- INVENTORY END ---//
if ( SumItem( 6577 ) <=5 ) and ( ready=true ) then begin
buf:=HStr( '1F 9F 6E 05 00 1C 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 B1 19 00 00 01 00 00 00 ' ) ;
SendToServerEx( Name) ;
ready:=false ;
end ;
END .
Последний раз редактировалось Fer123, 08.06.2009 в 22:24 .
За это сообщение Fer123 нажился 3 спасибками от:
08.06.2009, 15:53
#15
Новичок
Регистрация: 26.05.2009
Сообщений: 11
Сказал Спасибо: 6
Имеет 0 спасибок в 0 сообщенях
Огромнейшее спасибо ! единственое этот скрипт я так понял поддержует только 80 слотов .. есди да то что мне изменить чтобы поддерживал 200
08.06.2009, 15:58
#16
Рыцарь
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
akkerman , поправил скрипт в посте Fer123 , там вначале SlotCount = количество слотов в инвентаре вычесть единицу.
За это сообщение QaK нажился спасибкой от:
08.06.2009, 17:16
#17
Новичок
Регистрация: 26.05.2009
Сообщений: 11
Сказал Спасибо: 6
Имеет 0 спасибок в 0 сообщенях
спасибо вам за ваш труд .. но у меня проблема когда я включаю скрипт
Он полностью игнорируя проверку начинает истерически посылать этот пакет! Забивая тем самым весь инвентарь .
Мне надо чтобы он проверял меньше ли 5 точек
и чтобы он отсылал данный пакет только 1 раз а не так много...
08.06.2009, 19:49
#18
Местный
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Исправил скрипт в 14 посте. Теперь должно отправлять 1 раз попробуй и отпиши.
08.06.2009, 20:07
#19
Новичок
Регистрация: 26.05.2009
Сообщений: 11
Сказал Спасибо: 6
Имеет 0 спасибок в 0 сообщенях
Он скупает по одной точке .. но все так же быстр ои не останавливаясь.
Причем проверка не работает он начинает скупать даже если при мне точек 20
ЗЫ останавливается тогда когда точек 70-90 ... всегда по разному
Последний раз редактировалось akkerman, 08.06.2009 в 20:11 .
08.06.2009, 20:40
#20
Местный
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Примерно понял в чем проблема... Взял другую инвентаризацию со скрипта NLObP на заточку и немного подправил чтоб при inventoryupdate добавлялись все предметы в пакете 27... Пробуй отписуйся
За это сообщение Fer123 нажился спасибкой от:
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 09:23 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!