Просмотр полной версии : Нужна помощь с скриптом.
ToniRelaX
10.08.2012, 01:11
Я бы хотел чтоб вы помогли мне в написании скрипта который бы при написании определённой команды отсылал пакеты.
Вот пример написаный моим другом, вводим в чат //le и у нас отправляется пакет, в данном случае пакет Action (1F 00 00).
const
Socket='ToniRelaX';
begin
if FromClient and (pck[2]=#$6C) and (pck[4]=#$65) then
begin
buf:=Hstr('1F 00 00');
SendToServerEx(Socket);
end;
end.
И как мне указывать комманду в скрипте? Как я понял за команду отвечает:
if FromClient and (pck[2]=#$6C) and (pck[4]=#$65) then
И как мне разобрать что он означает, как в него всунута комманда //le ? :(
Если говорить прямо мне нужен скрипт который при вводе //kill отправляло нужный пакет... но я хочю узнать как оно устроено.
у меня вот был где-то скрипт на тему "баф" в пати чате и понивод давал коняшный баф. система аналогичная. сам подправишь под свои хроники.
var
a:integer;
j:integer;
nick:string;
text:string;
procedure Init; //Вызывается при включении скрипта
begin
useforconnectname := 'PonyVod';
//useforconnectname := 'SVPONIVOD';
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$4A) and (pck[6]=#$03) and //пати чат просят баф
then begin
j:=10; // j - стартовая позиция указателя
//CharOID:=ReadD(j); // -- OID перса
//TextType:=ReadD(j); //-- индекс чата в котором пишется текст
nick:=ReadS(j); //-- считывается ник, и, одновременно, указатель байта сдвигается на его длинну, т.е после выполнения команды будет j:=j+(длинна_блока_оканчивающегося "00 00")
text:=ReadS(j); //-- считываем текст сообщения
if (text='баф') or (text='аф') then begin
// пакет на запуск бафа пони
buf:=HStr('45 F3 03 00 00 00 00 00 00 00');
SendToServer;
end;
end;
end.
http://coderx.ru/showthread.php?t=14
ПРОЧИТАТЬ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ToniRelaX
14.08.2012, 00:48
Я не умею делать под хроники сделай плиз под Gracia Final... :(
Добавлено через 2 минуты
у меня вот был где-то скрипт на тему "баф" в пати чате и понивод давал коняшный баф. система аналогичная. сам подправишь под свои хроники.
var
a:integer;
j:integer;
nick:string;
text:string;
procedure Init; //Вызывается при включении скрипта
begin
useforconnectname := 'PonyVod';
//useforconnectname := 'SVPONIVOD';
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$4A) and (pck[6]=#$03) and //пати чат просят баф
then begin
j:=10; // j - стартовая позиция указателя
//CharOID:=ReadD(j); // -- OID перса
//TextType:=ReadD(j); //-- индекс чата в котором пишется текст
nick:=ReadS(j); //-- считывается ник, и, одновременно, указатель байта сдвигается на его длинну, т.е после выполнения команды будет j:=j+(длинна_блока_оканчивающегося "00 00")
text:=ReadS(j); //-- считываем текст сообщения
if (text='баф') or (text='аф') then begin
// пакет на запуск бафа пони
buf:=HStr('45 F3 03 00 00 00 00 00 00 00');
SendToServer;
end;
end;
end.
Сделай плиз под Gracia Final... :(
Zergatul
15.08.2012, 13:00
В таком случае топик нужно было начинать не "Я бы хотел чтоб вы помогли мне в написании скрипта", а "Напишите мне скрипт"
И в результате тема улетает в пепельницу ))
там уже вторая тема создалася :)
Удалил. Будет 3-я вбаню)
УГУ ! а я навечно !11111111111111111
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot