PDA

Просмотр полной версии : Помогите разобратсо плз


QuesT
16.09.2009, 01:17
Проверь этот скрипт
program autotarget;
// Автоматическое взятие в таргет атакующего вас игрока или моба
// Чтобы включить скрипт используйте в игре социальное действие - Yes
// Чтобы выключить скрипт используйте в игре социальное действие - No
// Автор: Furious
// Версия: 0.4
// Для Грации by NLObP 09.08.2009г.

const
Name='NLObP'; //имя чара, с соблюдением регистра букв

var
Attacker, MyOID, ObjectID, MyX, MyY, MyZ, i: Integer;
Status: boolean;

procedure Init; //Вызывается при включении скрипта
begin
status:=false;
end;

procedure TargetAttacker(Attacker: Integer);
begin
//c1F=Action:d(ObjectID)d(OriginX)d(OriginY)d(Origin Z)c(ActionID)
buf:=#$1F;
WriteD(Attacker);
WriteD(MyX);
WriteD(MyY);
WriteD(MyZ);
WriteC(00);
SendToServerEx(Name);
end;

//************************************************** ****************************
//основная часть скрипта, вызывается при приходе каждого пакета, если скрипт включен
begin
//не обрабатываем пустые пакеты
if pck='' then exit;

if (ConnectName=Name) and FromServer then
begin
case pck[1] of
//32=UserInfo:d(X)d(Y)d(Z)d(isInAirShip)d(ObjectID). ..
#$32: begin
i:=2;
MyX:=ReadD(i);
MyY:=ReadD(i);
MyZ:=ReadD(i);
ReadD(i); //пропускаем isInAirShip
MyOID:=ReadD(i);
end;
//33=Attack:d(AttackerID)d(TargetID)...
//48=MagicSkillUse:d(CharID)d(TargetID)...
#$33,#$48: begin
if Status then
begin
Attacker:=ReadD(2);
ObjectID:=ReadD(6);
if (Attacker<>ObjectID) and (MyOID=ObjectID) then TargetAttacker(Attacker);
end;
end;
end; //case
end; //if

if (ConnectName=Name) and FromClient then
begin
case pck[1] of
//34=RequestSocialAction:d(Action:Get.Func09)
#$34: begin
case ReadD(2) of
5: Status:=false;
6: Status:=true;
end;
end;
//59=ValidatePosition:d(X)d(Y)d(Z)...
#$59: begin
MyX:=ReadD(2); //получаю координату х моего чара
MyY:=ReadD(6); //получаю координату у моего чара
MyZ:=ReadD(10); //получаю координату z моего чара
end;
end; //case
end; //if
end.

я новичок в этом деле (создание скрипта) вот я немогу понять как вы скрипт подставили под социальное действие yes врубить no вырубить, ну то есть какая строка отвечает за него? и можно ли так сделать скажем командой в чате (/yes /no или .yes .no)

и еще ко е что я слыхал ,что эти скрипты не для всех хроник подходит .. что надо менять в скрипте скажем что бы подходило от hellbound на грацию 2-финал и на оборот? Заранее спс:)

TAMBIK
16.09.2009, 01:48
//34=RequestSocialAction:d(Action:Get.Func09)
#$34: begin - вот эти цифры менять
case ReadD(2) of
5: Status:=false;--no вырубить,
6: Status:=true;--yes врубить
end;
end;

DashKAaa
16.09.2009, 02:44
я новичок в этом деле (создание скрипта) вот я немогу понять как вы скрипт подставили под социальное действие yes врубить no вырубить, ну то есть какая строка отвечает за него? и можно ли так сделать скажем командой в чате (/yes /no или .yes .no)

и еще ко е что я слыхал ,что эти скрипты не для всех хроник подходит .. что надо менять в скрипте скажем что бы подходило от hellbound на грацию 2-финал и на оборот? Заранее спс:)

пакет каждого социал действия имеет код(номер пакета), его можно отловить так же как и буфф через пакет хак, через запись и просмотр всех пакетов которые летят через тебя..
Вроде на теме по созданию скриптов это есть, просто полистай все странички там, так же есть все (номера пакетов на все социал действия)