PDA

Просмотр полной версии : Анимация значка клана


J-Fobos
16.01.2011, 01:54
Наткнулся случайно на этот скрипт. Довольно интересная реализация идеи с анимированным титулом.
//Crests are captured from RequestSetPledgeCrest and copied verbatim (minus the spaces)
//Set your char nick in 'name'
//Crest change delay should be set to at least 3000 (3s) to work
//Script is enabled/disabled (toggle) with /socialvictory in game
const
name='YOURNICK';
crestnr=2;
d = 3000;

crest1='0900010000444453207C0000000710080010000000 10000000800000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000200000000400000044585431000000 00000000000000000000000000000000000000000000000000 000000000000000000000000FFFF000000000000FFFF000000 000000FFFF000000000000FFFF00000000000000D9F0DE0050 40400099F0DE00050404E0A3000855E74DC7E0BC0000555E56 54E0AE00991595959500D9E0A6045F0C7C00B9E0DE10151055 0081E0FF010101010083000035152555005100830404060000 99E0DE1010500000D9E0DE01010500';
crest2='0900010000444453207C0000000710080010000000 10000000800000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000200000000400000044585431000000 00000000000000000000000000000000000000000000000000 000000000000000000000000FFFF000000000000FFFF000000 000000FFFF000000000000FFFF0000000000000000F7BD0000 4040DDFF0000555558600000FFFF00000824BCF7000055555B 5CDEFF000095151535FFFF0842CF2737A7DDFF2000890509B3 7EEF000056555556BDF7000025255555DDFF0000C0DE5555F7 BD000058565555F7BD000054575555';

var
y:integer;
c,t,stop: integer;
n:integer;

procedure Init; //will be called on script initialization
begin
c:=0;
t:=0;
stop:=1;
n:=0;
end;


function GetTickCount(): integer;
var
lib,res: integer;
begin
lib := LoadLibrary('kernel32.dll');
res := CallFunction(lib, 'GetTickCount', 0, [nil]);
FreeLibrary(lib);
result := res;
end;

//Primary part of dcript
//calls alltime when l2ph got new packet
begin
if (FromClient) and (pck[1] = #$34) then
begin
y := ReadD(2);
if (y = 3) then
begin
if (stop=0) then
begin
stop:=1;
end
else
begin
stop:=0;
end;
pck := '';
end;
end;
c := GetTickCount()-t;
if (stop = 0) and (c > d) then
begin
t := GetTickCount();
if (n=0) then
begin
buf:= Hstr(Crest1);
n:=1;
end

else if (n=1) then
begin
buf:= Hstr(Crest2);
n:=2;
end;
if (n=crestnr) then n:=0;

SendToServerEx(name);
end;
end.

ps: прошу прощения что не указываю автора, я не знаю кто написал скрипт.

supernewbie
16.01.2011, 09:26
интересно интересно)

тока блин, че он загрузку из файла то не дописал да и на какие хроники этот скрипт мать вашу, надо переделать...

интересно что передают в этом пакете, судя по всему размер и дескриптор бмпшки, только как его в стринг та перевести...

SeregaZ
16.01.2011, 13:02
всмысле как перевести? ты когда будешь указывать значок клана смотри какой пакет шлет клиент серверу - в нем и должен быть этот твой дескритор бмпки.

supernewbie
16.01.2011, 14:12
ну это то не круто) надо самому делать в скрипте это)

wimax
16.01.2011, 22:03
скрипт то кулл. лагать можит сильно иза него та и паливно )

Liiion911
16.01.2011, 22:05
А почему лагать ?
наоборот, благодаря подгружаемой библиотеке и неиспользуемому таймеру скрипт шустрый , да и картинки даются уже в коде.

ИМХО, круто. автору спс )

dyh9l
16.01.2011, 22:41
да лан? эт че поди еще и не тока клиент видит такой шедевр но и весь сервер?

Liiion911
17.01.2011, 05:54
Ага ) Правда бан можно словить мгновенно, на двигающийся титул я отмазываюсь, говоря Макрос, (и правда такой макрос имею, но пакетхаком веселей) ,а вот на мигающий значок клана такое не скажешь )