Жесткий скриптингРаздел для обсуждения готовых и тестируемых скриптов
Внимание! В разделе введена жесткая модерация, темы и сообщения публикуются только после проверки модераторами
Я так и не понял как узнать полученный аугмент, единственное что в голову пришло: одевать пуху и смотреть изменение в скиллах(это я реализовал)
По моим тестам во время нажатия кнопки "аугмент" и после нее, инфа об ауге не приходит... значет можно узнать какие ауги ты можешь получить не аугментируя пухи...
Полученый агумент приходит в пакете inventoryupdate
0034 d AugId: 174800762
а клиент уже по полученому ид показывает инфу об агументе
Предлагаю вашему вниманию переделанный скрипт mks на аугментацию, кусочек взят из кода Slaventy на открытие окошек в клиенте, откорректирован под Gracia Final (Java):
Код:
const
nik='ваш ник';
var
WeaponID, LsID, GemID, GemCount: integer;
procedure Init; //Вызывается при включении скрипта
begin
end;
procedure OnTimer01(Sender: TObject);
begin
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения
begin
end;
procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromClient and (pck[1]=#$D0) then
begin
WeaponID:=ReadD(4);
LsID:=ReadD(8);
GemID:=ReadD(12);
GemCount:=ReadD(16);
end;
//Cancel Augment
if FromClient and (pck = HStr('56 0D 00 00 00 00 00 00 00 00 ')) then //56 0D 00 00 00 00 00 00 00 00 (Social No)
begin
buf:=hstr('FE 52 00 ');//окно удаления арГ
SendToClient;
delay(300);
pck:='';
Buf:=#$D0#$42#$00;
WriteD(WeaponID);
SendToServerEx(nik);
Buf:=#$D0#$43#$00;
WriteD(WeaponID);
SendToServerEx(nik);
end;
//Augment
if FromClient and (pck = HStr('56 0C 00 00 00 00 00 00 00 00 ')) then //56 0C 00 00 00 00 00 00 00 00 (Social Yes)
begin
buf:=hstr('FE 51 00 ');//окно Арг
SendToClient;
delay(300);
pck:='';
Buf:=#$D0#$26#$00;
WriteD(WeaponID);
SendToServerEx(nik);
delay(50);
Buf:=#$D0#$27#$00;
WriteD(WeaponID);
WriteD(LsID);
SendToServerEx(nik);
delay(50);
Buf:=#$D0#$28#$00;
WriteD(WeaponID);
WriteD(LsID);
WriteD(GemID);
WriteD(GemCount);
SendToServerEx(nik);
delay(50);
Buf:=#$D0#$41#$00;
WriteD(WeaponID);
WriteD(LsID);
WriteD(GemID);
WriteD(GemCount);
SendToServerEx(nik);
end;
end.
я так и не понял одного...Аргументировать по скрипту можно без ЛСа или просто в любом месте???
нет, одним нажатием вставляешь лс(не приходится выставлять пуху, лс, гемы) и вторым вытаскиваешь, причем без задержек, в общем скриптом можно сотню лсов перевставлять за 5 минут, в поиске нужного
У меня клиент финала сторил пакет так, что в конце было 8 нулей и без них он отказывался аугументить... Вот исправил. Включаем скрипт, аугументим первый раз руками, потом первое социальное действие - вставить, второе - удалить.
Код:
const
nik='v0ltag3';
var
WeaponID, LsID, GemID, GemCount, zero: integer;
procedure Init; //Вызывается при включении скрипта
begin
end;
procedure OnTimer01(Sender: TObject);
begin
end;
procedure Free; //Вызывается при выключении скрипта
begin
end;
procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения
begin
end;
procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения
begin
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromClient and (pck[1]=#$D0) then
begin
WeaponID:=ReadD(4);
LsID:=ReadD(8);
GemID:=ReadD(12);
GemCount:=ReadD(16);
zero:=ReadD(20);
end;
//Cancel Augment
if FromClient and (pck = HStr('56 0D 00 00 00 00 00 00 00 00 ')) then //56 0D 00 00 00 00 00 00 00 00 (Social No)
begin
buf:=hstr('FE 52 00 ');//окно удаления арГ
SendToClient;
delay(300);
pck:='';
Buf:=#$D0#$42#$00;
WriteD(WeaponID);
SendToServerEx(nik);
Buf:=#$D0#$43#$00;
WriteD(WeaponID);
SendToServerEx(nik);
end;
//Augment
if FromClient and (pck = HStr('56 0C 00 00 00 00 00 00 00 00 ')) then //56 0C 00 00 00 00 00 00 00 00 (Social Yes)
begin
buf:=hstr('FE 51 00 ');//окно Арг
SendToClient;
delay(300);
pck:='';
Buf:=#$D0#$26#$00;
WriteD(WeaponID);
SendToServerEx(nik);
delay(50);
Buf:=#$D0#$27#$00;
WriteD(WeaponID);
WriteD(LsID);
SendToServerEx(nik);
delay(50);
Buf:=#$D0#$28#$00;
WriteD(WeaponID);
WriteD(LsID);
WriteD(GemID);
WriteD(GemCount);
WriteD(zero);
SendToServerEx(nik);
delay(50);
Buf:=#$D0#$41#$00;
WriteD(WeaponID);
WriteD(LsID);
WriteD(GemID);
WriteD(GemCount);
WriteD(zero);
SendToServerEx(nik);
end;
end.
Подскажите пожалуйста, что надо откорректировать в скрипте от авторов: Kitsune & v0ltag3, чтобы он у меня вставлял гемстоуны, этот этап приходится постоянно делать самому.
Сервер gracia final (java какая-то).