- Если Тема находиться под скрытым текстом, и Вы не понимаете, что происходит, прочитайте >> Правила
- Не оставляйте сообщения, не относящиеся к тематики первоначального поста!
- Если у Вас что-то не работает, описывайте более детально вашу проблему, дабы Вам могли помочь
- Если тема более не актуальна, укажите в какой момент тема перестала быть интересной, рабочей и почему
- Если тема находится не в АРХИВЕ, то значит она всё ещё действенна. Не надо писать "Работает ли?"
- На нашем портале нет "Личных хайдов", а так же запрещено просить слить имеющийся хайд лично Вам!
- Хотите отблагодарить автора темы? Для этого есть специальная кнопка, в правом нижнем углу сообщения.
( прим. DarkCat )
На форумах уже лежит бесконечный глэйдер, который не опускается и не разбивается об препятствия, также лежит спидхак.
Я объединил 2 хака, и прикрутил управление через чат, также прикрутил автоматическое распознавание ID персонажа (не проверял, как работает, отпишитесь - если баги).
Как работает:
1) пишем в чат gon - врубает бесконечный глэйдер
2) пишем в чат gof - вырубает бесконечный глэйдер
3) пишем в чат son - врубает 2 спидхака, сумарная прибавка к скорости - 290%
4) пишем в чат sof - вырубает спидхак на 150%, кто знает пакет на вырубание другого сх, напишите, пожалуйста.
В будущем планируется также по командам уходить под землю и вылазить на поверхность.
const Title = 'Glaider from chat especially for mmoru.com && rf-cheats.ru from Kp0c';
Var
ID: Integer;
G,L,O: Char;
iG,iL,iO,rly: Integer;
GLO:string;
IDPlayer,IDP,IDP2:string;
IDPlayerw,IDPlayerw2:word;
Procedure OnCreate;
begin
gSys.TrafType := 6; // TT6 - AA
gSys.isGS := 1;
gSys.tPDecode := 0; //
gSys.tKeyType := 0; //
gSys.Protocol := 1; // TODO: надо будет потом брать версию протокола (в описателе пригодится)
end;
procedure GlaiderOff;
begin
rly:=gSys.EnSendC(HStr('0b00dd01af00'+IDPlayer+'AD000000'));
WriteLog(rly);
end;
procedure GlaiderOn;
begin
rly:=gSys.EnSendC(HStr('2300dd01ae0000'+IDPlayer+'00000000'+IDPlayer+'AD0000005B1A'+
'0000000000000000000000000000'));
WriteLog(rly);
end;
procedure SpeedHackOn;
begin
rly:=gSys.EnSendC(HStr('2300dd01ae000000000000000000'+IDPlayer+'FF0000007f030000000000000000000000000000'));
WriteLog(rly);
rly:=gSys.EnSendC(HStr('2300DD01AE0000000000F0E81E00'+IDPlayer+'12000000730A00000DFF009F3F00000000000014'));
WriteLog(rly);
end;
procedure SpeedHackOff;
begin
rly:=gSys.EnSendC(HStr('0B00DD01AF00'+IDPlayer+'FF000000'));
WriteLog(rly);
rly:=gSys.EnSendC(HStr('0C0000015300'+IDPlayer+'FF00000000'));
WriteLog(rly);
end;
begin
if(gGlobal.Get('ID')<>Null) then begin
IDPlayer:=gGlobal.Get('ID');
if length( _gBuff ) = 26 then begin
ID := gInt( _gBuff, 5, 2 );
if (not _gFromServ) and ( ID = 97) then begin
ScanPck5( _gBuff, 19, 'ccc', G , L, O, null, null );
iG:=StrToInt(G);
iL:=StrToInt(L);
iO:=StrToInt(O);
GLO:=Chr(iG)+Chr(iL)+Chr(iO);
GLO:=Lowercase(GLO);
if(GLO='gon') then begin WriteLog('gon'); GlaiderOn; gBlockPacket; end;
if(GLO='gof') then begin WriteLog('gof'); GlaiderOff; gBlockPacket; end;
if(GLO='son') then begin WriteLog('son'); SpeedHackOn; gBlockPacket; end;
if(GLO='sof') then begin WriteLog('sof'); SpeedHackOff; gBlockPacket; end;
end;
end;
end else begin
if length( _gBuff ) = 39 then begin
ID := gInt( _gBuff, 5, 2 );
if (not _gFromServ) and ( ID = 136) then begin
ScanPck5( _gBuff, 6, 'hh', IDPlayerw, IDPlayerw2, null,null,null );
IDPlayer:=IntToHex(IDPlayerw,2);
IDP:=IntToHex(IDPlayerw,2);
IDP2:=IntToHex(IDPlayerw2,2);
if(length(IDP2)>2) then IDP2:=Copy(IDP2,length(IDP2)-1,2);
GLO:=Copy(IDP2,1,2);
Insert(GLO,IDPlayer,3);
gGlobal.Put('ID',IDPlayer,60000);
WriteLog('put: ');
writeLog(IDPlayer);
end;
end;
end;
end.
const Title = 'Glaider from chat especially for mmoru.com && rf-cheats.ru from Kp0c';
Var
ID: Integer;
G,L,O: Char;
iG,iL,iO,rly: Integer;
GLO:string;
IDPlayer,IDP,IDP2:string;
IDPlayerw,IDPlayerw2:word;
PZBool:Boolean;
X,Y,Z: String;
iX,iY,iZ: Integer;
Procedure OnCreate;
begin
gSys.TrafType := 6; // TT6 - AA
gSys.isGS := 1;
gSys.tPDecode := 0; //
gSys.tKeyType := 0; //
gSys.Protocol := 1;
end;
procedure GlaiderOff;
begin
rly:=gSys.EnSendC(HStr('0b00dd01af00'+IDPlayer+'AD000000'));
//WriteLog(rly);
end;
procedure GlaiderOn;
begin
rly:=gSys.EnSendC(HStr('2300dd01ae0000'+IDPlayer+'00000000'+IDPlayer+'AD0000005B1A'+
'0000000000000000000000000000'));
//WriteLog(rly);
end;
procedure SpeedHackOn;
begin
rly:=gSys.EnSendC(HStr('2300dd01ae000000000000000000'+IDPlayer+'FF0000007f030000000000000000000000000000'));
//WriteLog(rly);
rly:=gSys.EnSendC(HStr('2300DD01AE0000000000F0E81E00'+IDPlayer+'12000000730A00000DFF009F3F00000000000014'));
//WriteLog(rly);
end;
procedure SpeedHackOff;
begin
rly:=gSys.EnSendC(HStr('0B00DD01AF00'+IDPlayer+'FF000000'));
//WriteLog(rly);
rly:=gSys.EnSendC(HStr('0C0000015300'+IDPlayer+'FF00000000'));
//WriteLog(rly);
end;
procedure PodZemlu;
begin
gGlobal.Put('PZ',1,86400000);
end;
procedure NaZemlu;
begin
gGlobal.Put('PZ',0,86400000);
end;
begin
ID := gInt( _gBuff, 5, 2 );
if (not _gFromServ) and (ID=$012E) then begin gBlockPacket; WriteLog('Blocked'); end;
if (not _gFromServ) and ( ID = 136) then begin
ScanPck5( _gBuff, 16, 'z03z03z03', X, Y, Z, null, null );
iX := gInt(X,1,3);
iY := gInt(Y,1,3);
iZ := gInt(Z,1,3);
_gOutBuff := _gBuff;
if (gGlobal.Get('PZ')=1) then PInt(_gOutBuff,iZ-50000,22,3);
WriteLogln(format('IN X=%d Y=%d Z=%d',[iX,iY,iZ]));
ScanPck5( _gOutBuff, 16, 'z03z03z03', X, Y, Z, null, null );
iX := gInt(X,1,3);
iY := gInt(Y,1,3);
iZ := gInt(Z,1,3);
WriteLogln(format('OUT X=%d(%x) Y=%d(%x) Z=%d(%x)',[iX,iX,iY,iY,iZ,iZ]));
end;
if(gGlobal.Get('ID')<>Null) then begin
IDPlayer:=gGlobal.Get('ID');
if length( _gBuff ) = 26 then begin
if (not _gFromServ) and ( ID = 97) then begin
ScanPck5( _gBuff, 19, 'ccc', G , L, O, null, null );
iG:=StrToInt(G);
iL:=StrToInt(L);
iO:=StrToInt(O);
GLO:=Chr(iG)+Chr(iL)+Chr(iO);
GLO:=Lowercase(GLO);
if(GLO='gon') then begin WriteLog('gon'); GlaiderOn; gBlockPacket; end;
if(GLO='gof') then begin WriteLog('gof'); GlaiderOff; gBlockPacket; end;
if(GLO='son') then begin WriteLog('son'); SpeedHackOn; gBlockPacket; end;
if(GLO='sof') then begin WriteLog('sof'); SpeedHackOff; gBlockPacket; end;
if(GLO='poz') then begin WriteLog('poz'); PodZemlu; gBlockPacket; end;
if(GLO='naz') then begin WriteLog('naz'); NaZemlu; gBlockPacket; end;
end;
end;
end else begin
if length( _gBuff ) = 39 then begin
ID := gInt( _gBuff, 5, 2 );
if (not _gFromServ) and ( ID = 136) then begin
ScanPck5( _gBuff, 6, 'hh', IDPlayerw, IDPlayerw2, null,null,null );
IDPlayer:=IntToHex(IDPlayerw,2);
IDP:=IntToHex(IDPlayerw,2);
IDP2:=IntToHex(IDPlayerw2,2);
if(length(IDP2)>2) then IDP2:=Copy(IDP2,length(IDP2)-1,2);
GLO:=Copy(IDP2,1,2);
Insert(GLO,IDPlayer,3);
gGlobal.Put('ID',IDPlayer,60000);
WriteLog('put: ');
writeLog(IDPlayer);
end;
end;
end;
end.
P.S. У кого по каким-нибудь причинам не пашет, отправьте лог.
Если сообщение просто написалось в чат, то тут 1 из 2:
Цитата:
1)Попробуйте опять написать, возможно скрипт проверял ID перса
2)Возможно сам WP PPC не полностью подхватил подключение(у меня такое бывало)
Ребят, стоит делать апдейты в отдельные коды, или просто обновлять основной? (в отдельные коды - это так как сверху)
По идее, после последнего обновления должно работать как анти-афк, сегодня оставлю на ночь - проверю[/HIDE]
const Title = 'Glaider from chat especially for mmoru.com && rf-cheats.ru from Kp0c';
const constGlaiderOn='733800';
constGlaiderOff='743800';
constSpeedHackOn='753800';
constSpeedHackOff='763800';
constPodZemlu='793800';
constNaZemlu='7A3800';
constVNebo='7B3800';
constRefreshID='883800';
Var
ID: Integer;
G,L,O: Char;
iG,iL,iO,rly: Integer;
GLO:string;
IDPlayer,IDP,IDP2:string;
IDPlayerw,IDPlayerw2:word;
X,Y,Z: String;
iX,iY,iZ: Integer;
Procedure OnCreate;
begin
gSys.TrafType := 6; // TT6 - AA
gSys.isGS := 1;
gSys.tPDecode := 0; //
gSys****eyType := 0; //
gSys.Protocol := 1;
if(gGlobal.Get('Visota')=NULL) then gGlobal.Put('Visota',0,86400000)
end;
procedure GlaiderOff;
begin
rly:=gSys.EnSendC(HStr('0b00dd01af00'+IDPlayer+'AD000000'));
//WriteLog(rly);
end;
procedure GlaiderOn;
begin
rly:=gSys.EnSendC(HStr('2300dd01ae0000'+IDPlayer+'00000000'+IDPlayer+'AD0000005B1A'+
'0000000000000000000000000000'));
//WriteLog(rly);
end;
procedure SpeedHackOn;
var temp:string;
begin
temp:=Copy(IDPlayer,2,1);
rly:=gSys.EnSendC(HStr('2300dd01ae000000000000000000'+IDPlayer+'AA0000007f030000000000000000000000000000'));
//WriteLog(rly);
rly:=gSys.EnSendC(HStr('2300DD01AE0000000000F0E81E00'+IDPlayer+'BB000000730A00000DFF009F3F00000000000014'));
//WriteLog(rly);
Delete(IDPlayer,2,1);
rly:=gSys.EnSendC(HStr('2300dd01ae000000000000000000'+temp+IDPlayer+'AA0000007f030000000000000000000000000000'));
//WriteLog(rly);
rly:=gSys.EnSendC(HStr('2300DD01AE0000000000F0E81E00'+temp+IDPlayer+'BB000000730A00000DFF009F3F00000000000014'));
//WriteLog(rly);
WriteLog('ID for mount: '+temp+IDPlayer);
end;
procedure SpeedHackOff;
var temp:integer;
begin
rly:=gSys.EnSendC(HStr('0B00DD01AF00'+IDPlayer+'AA000000'));
//WriteLog(rly);
rly:=gSys.EnSendC(HStr('0B00DD01AF00'+IDPlayer+'BB000000'));
//WriteLog(rly);
end;
procedure PodZemlu;
begin
gGlobal.Put('Visota',-50000,86400000);
end;
procedure NaZemlu;
begin
gGlobal.Put('Visota',0,86400000);
end;
procedure NaNebo;
begin
gGlobal.Put('Visota',100000,86400000);
end;
begin
ID := gInt( _gBuff, 5, 2 );
if (not _gFromServ) and (ID=$012E) then begin gBlockPacket; WriteLog('Blocked'); end;
if (not _gFromServ) and ( ID = 136) then begin
ScanPck5( _gBuff, 16, 'z03z03z03', X, Y, Z, null, null );
iX := gInt(X,1,3);
iY := gInt(Y,1,3);
iZ := gInt(Z,1,3);
_gOutBuff := _gBuff;
PInt(_gOutBuff,iZ+gGlobal.Get('Visota'),22,3);
//WriteLogln(format('IN X=%d Y=%d Z=%d',[iX,iY,iZ]));
ScanPck5( _gOutBuff, 16, 'z03z03z03', X, Y, Z, null, null );
iX := gInt(X,1,3);
iY := gInt(Y,1,3);
iZ := gInt(Z,1,3);
//WriteLogln(format('OUT X=%d(%x) Y=%d(%x) Z=%d(%x)',[iX,iX,iY,iY,iZ,iZ]));
end;
if(gGlobal.Get('ID')<>Null) then begin
if length( _gBuff ) = 26 then begin
if (not _gFromServ) and ( ID = 97) then begin
ScanPck5( _gBuff, 19, 'ccc', G , L, O, null, null );
iG:=StrToInt(G);
iL:=StrToInt(L);
iO:=StrToInt(O);
GLO:=Chr(iG)+Chr(iL)+Chr(iO);
GLO:=Lowercase(GLO);
if(GLO='gon') then begin
WriteLog('gon');
IDPlayer:=gGlobal.Get('ID');
GlaiderOn;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
GlaiderOn;
gBlockPacket;
end;
if(GLO='gof') then begin
WriteLog('gof');
IDPlayer:=gGlobal.Get('ID');
GlaiderOff;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
GlaiderOff;
gBlockPacket;
end;
if(GLO='son') then begin
WriteLog('son');
IDPlayer:=gGlobal.Get('ID');
SpeedHackOn;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
SpeedHackOn;
gBlockPacket;
end;
if(GLO='sof') then begin
WriteLog('sof');
IDPlayer:=gGlobal.Get('ID');
SpeedHackOff;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
SpeedHackOff;
gBlockPacket;
end;
if(GLO='poz') then begin WriteLog('poz'); PodZemlu; gBlockPacket; end;
if(GLO='nan') then begin WriteLog('nan'); NaNebo; gBlockPacket; end;
if(GLO='naz') then begin WriteLog('naz'); NaZemlu; gBlockPacket; end;
if(GLO='rid') then begin WriteLog('rid'); gGlobal.Put('ID',gGlobal.Get('ID'),0); gGlobal.TimePurge; gBlockPacket; end;
end;
end;
if length(_gBuff)=19 then begin
if (not _gFromServ) and (ID=80) then begin
ScanPck5( _gBuff, 6, 'hh', IDPlayerw, IDPlayerw2, null,null,null );
IDPlayer:=IntToHex(IDPlayerw,2);
IDP:=IntToHex(IDPlayerw,2);
IDP2:=IntToHex(IDPlayerw2,2);
if(length(IDP2)>2) then IDP2:=Copy(IDP2,length(IDP2)-1,2);
GLO:=Copy(IDP2,1,2);
Insert(GLO,IDPlayer,3);
if(IDPlayer=constGlaiderOn)then begin
WriteLog('gon');
IDPlayer:=gGlobal.Get('ID');
GlaiderOn;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
GlaiderOn;
gBlockPacket;
end;
if(IDPlayer=constGlaiderOff) then begin
WriteLog('gof');
IDPlayer:=gGlobal.Get('ID');
GlaiderOff;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
GlaiderOff;
gBlockPacket;
end;
if(IDPlayer=constSpeedHackOn) then begin
WriteLog('son');
IDPlayer:=gGlobal.Get('ID');
SpeedHackOn;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
SpeedHackOn;
gBlockPacket;
end;
if(IDPlayer=constSpeedHackOff) then begin
WriteLog('sof');
IDPlayer:=gGlobal.Get('ID');
SpeedHackOff;
Delete(IDPlayer,6,1);
IDPlayer:=IDPLayer+'1';
SpeedHackOff;
gBlockPacket;
end;
if(IDPlayer=constPodZemlu) then begin WriteLog('poz'); PodZemlu; gBlockPacket; end;
if(IDPlayer=constVNebo) then begin WriteLog('nan'); NaNebo; gBlockPacket; end;
if(IDPlayer=constNaZemlu) then begin WriteLog('naz'); NaZemlu; gBlockPacket; end;
if(IDPlayer=constRefreshID) then begin WriteLog('rid'); gGlobal.Put('ID',gGlobal.Get('ID'),0); gGlobal.TimePurge; gBlockPacket; end;
end;
end;
end else begin
if length( _gBuff ) = 39 then begin
ID := gInt( _gBuff, 5, 2 );
if (not _gFromServ) and ( ID = 136) then begin
ScanPck5( _gBuff, 6, 'hh', IDPlayerw, IDPlayerw2, null,null,null );
IDPlayer:=IntToHex(IDPlayerw,2);
IDP:=IntToHex(IDPlayerw,2);
IDP2:=IntToHex(IDPlayerw2,2);
if(length(IDP2)>2) then IDP2:=Copy(IDP2,length(IDP2)-1,2);
GLO:=Copy(IDP2,1,2);
Insert(GLO,IDPlayer,3);
gGlobal.Put('ID',IDPlayer,60000);
WriteLog('put: ');
writeLog(IDPlayer);
end;
end;
end;
end.
Что изменилось:
Исправил добавление и убирание скилов сх.
Исправил частый баг, при котором скрипт отказывался работать (по некоторым причинам он иногда не пашет до сих пор)
Теперь можно отправляться и в небо.
Добавил управление с помощью эмоций (то есть клацаете скилл - активируется сх)
Добавил возможность рефрешить ID, дальше напишу зачем.
Добавил возможность добавлять сх питомцу, дальше обьясню как (тут и пригодится рефреш).
Мини-гайды по скрипту:
Как менять хот кеи скилов:
По дефолту стоят:
constGlaiderOn-привет (врубает глайдер)
constGlaiderOff-радость (вырубает глайдер)
constSpeedHackOn-грусть (врубает сх)
constSpeedHackOff-удивление (вырубает сх)
constPodZemlu-недоумение (ТПшит под землю)
constNaZemlu-злость (возвращает на землю)
constVNebo-извинение (ТПшит в небо)
constRefreshID-тайна (рефрешит ИД)
Как сменить: В начале кода стоят константы (выше написаны, как называются и что делают), около них ID скила, меняем их
Чтоб найти новое значение скила, юзаем эмоцию, идём в AutoLogger->выбираем Archeage ищем пакет StartSkill и копируем SkillID+'00'
Как добавить СХ волку:
садимся на маунта
пишем "rid" или юзаем эмоцию под константой "constRefreshID"
ждём 20 сек.
пишем "son" или юзаем эмоцию под константой "constSpeedHackOn".
Если не сработало, то отпишите мне в лс кусок лога скрипта, и настоящий ID(вытяните с пакета CSMoveUnit).
Если "son" просто отправилось в чат, напишите ещё раз
Стандартное вправление через чат:
пишем в чат gon - врубает бесконечный глэйдер
пишем в чат gof - вырубает бесконечный глэйдер
пишем в чат son - врубает 2 спидхака, сумарная прибавка к скорости - 290%
пишем в чат sof - вырубает спидхак.
Пишем в чат poz - ТП под землю
Пишем в чат naz - возврат на землю
Пишем в чат nan - ТП на небо
Пишем в чат rid - рефрешит ID
Текущие проблемы:
При летании на глайдере, эмоции не пашут, так что пока что можно вырубать только через чат.
Последний раз редактировалось Big Bad Sensey; 14.11.2014 в 16:50.
Я подумаю как, с WP PPC почти не работал, писал по документации. Думаю что можно.
Как вариант могу написать малюсенькую прогу, которая имитирует нажатие ентера и быстрое написание сообщение.
Добавлено через 1 час 41 минуту
Пока не придумал другого решения, предлагаю сделать так: вместо кнопок-хоткеев юзать пакеты танцев. Сам танец блочится, но сх врубается. Если поддержите идею - попробую реализовать!
3 танца: 1-врубает сх
2-врубает глэдер
3-вырубает всё
Или вообще эмоции
Последний раз редактировалось Kp0c; 26.03.2014 в 00:05.
Причина: Добавлено сообщение
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 100 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.
Чтобы его прочитать, вы должны заработать сообщения. Как это сделать бесплатно, описано в правилах форума. Как купить доступ, описано в Платных услугах.
Последний раз редактировалось koordinat; 26.03.2014 в 00:58.