Скрипт для ингейм бота и кача в катах.
Когда я оставлял гнома и шилку качатся в катах и уходил, бывали случаи когда гнома или шилку
выбрасывало из игры критической ошибкой и гном подыхал без лека или ше дохла отлекиваясь до последнего, когда гнома выкидывало с критом.
Так вот, скрипт следит что бы первый и второй чар были живы и были в зоне видимости, в случае если один из ботов кританет из игры то другой бот делает логаут, мне помогал миллион раз.
Код
//Автор ATMS_DIFKS
//Логаут персонажей, если один из персонажей исчез.
var
name1,name2,name:string;
idn1,idn2,id,sid1,sid2,id2:integer;
procedure SendMsc(msc:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(2); //тип сообщения 1 шаут 2 приват 10 аноним обьявление и тд
WriteS('Logout'); //ник от кого
WriteS(msc);
SendToClientEX(name);
end;
procedure Init; //Вызывается при включении скрипта
begin
name1:='****'; //ник1
name2:='****'; //ник2
name:=name1;
SendMsc('Выдели себя в таргет');
name:=name2;
SendMsc('И этим персонажем выдели себя в таргет');
sid1:=0; sid2:=0;
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$12) and (ConnectName=name2) then
begin
id:=ReadD(2);
if id = idn1 then
begin
name:=name2;
SendMsc('Игрок '+name1+' исчез, возможно критическая ошибка, происходит логаут персонажа '+name2+'.');
buf:=hstr('46');
SendToServerEX(name2);
end;
end;
if FromServer and (pck[1]=#$12) and (ConnectName=name1) then
begin
id2:=ReadD(2);
if id2 = idn2 then
begin
name:=name1;
SendMsc('Игрок '+name2+' исчез, возможно критическая ошибка, происходит логаут персонажа '+name1+'.');
buf:=hstr('46');
SendToServerEX(name1);
end;
end;
if FromClient and (pck[1]=#$04) and (ConnectName=name2) and (sid2 = 0) then
begin
sid2:=1;
idn2:=ReadD(2);
name:=name2;
SendMsc('Готово. - '+inttostr(idn2));
end;
if FromClient and (pck[1]=#$04) and (ConnectName=name1) and (sid1 = 0) then
begin
sid1:=1;
idn1:=ReadD(2);
name:=name1;
SendMsc('Готово. - '+inttostr(idn1));
end;
end.