Просмотр полной версии : Титул скриптом
Вот нашел
//©zlilo, специально для stormcheats.com
//2009г.
//Скрипт работает только на хрониках Kamael и Gracia
Var
MyNick :string;
TitleList: TStringList;
Tim1: TTimer;
j,j2: integer;
procedure Init;
begin
MyNick:='Johnson'; //Тут пишем свой ник!
TitleList:= TStringList.Create;
TitleList.Add('Title1'); //Тут список перечисляемых титулов
TitleList.Add('Title2'); //При необходимости можно добавить
TitleList.Add('Title3'); //или удалить соответствующие строки
TitleList.Add('Title4');
TitleList.Add('Title5');
Tim1:=Ttimer.Create(nil);
Tim1.Interval:=1000; //Тут задаём скорость переключения, мс (1секунда = 1000мс)
Tim1.OnTimer:=@OnTimerProc;
Tim1.Enabled:=true;
j:=0;
j2:=TitleList.Count-1;
end;
procedure Free;
begin
Tim1.Enabled:=False;
Tim1.Free;
end;
Procedure OnTimerProc;
begin
SetTitle(TitleList[j]);
If j<j2 then j:=j+1
else j:=0;
end;
Procedure SetTitle(title:string);
begin
buf:=#$0B;
WriteS(MyNick);
WriteS(title);
SendToServer;
end;
begin
end.
alexteam
03.05.2009, 17:54
можно сделать бегущую строку :D
по типу
'забанте меня! '
'абанте меня! з'
'банте меня! за'
'анте меня! заб'
'нте меня! заба'
'те меня! забан'
'е меня! забант'
' меня! забанте'
'меня! забанте '
'еня! забанте м'
'ня! забанте мe'
'я! забанте мeн'
'! забанте меня'
' забанте меня!'
долго бегать с такой фигней не прийдеться :p
не догнал в чем соль?
не все норм работает
Добавлено через 1 минуту
можно сделать бегущую строку :D
по типу
'забанте меня! '
'абанте меня! з'
'банте меня! за'
'анте меня! заб'
'нте меня! заба'
'те меня! забан'
'е меня! забант'
' меня! забанте'
'меня! забанте '
'еня! забанте м'
'ня! забанте мe'
'я! забанте мeн'
'! забанте меня'
' забанте меня!'
долго бегать с такой фигней не прийдеться :p
спасибо пробовал уже
здесь немного дгугое решение просто поделился
не все норм работает
дык я знаю что норм работает, по коду пробежался, только зачем оно надо. разве только перед уходом с серва понты прогнать :)
дык я знаю что норм работает, по коду пробежался, только зачем оно надо. разве только перед уходом с серва понты прогнать :)
если поставить интервал сек 10 палева нетак будит
вот с строкой бегушей эт палево
хе) знакомая вещь ;)
Как мне нравятся люди, которые заменяют копирайты :)
Вобщето автор скрипта я, и иписал для ЧитПортала...
http://cheatportal.ru/f3/thread4351.html
а насчет бана... долго бегал с этой фичей и на пвп серверах и на х10... причем рядом несколько раз были ГМы. Ни слова не сказали про запрещенность...
Просто не каждому (простому игроку) сразу в голову придёт мысль о стороннем ПО
Щас только заметил))) Он даже ник мой не соизволил заменить :)
хе) знакомая вещь ;)
Как мне нравятся люди, которые заменяют копирайты :)
Вобщето автор скрипта я, и иписал для ЧитПортала...
http://cheatportal.ru/f3/thread4351.html
а насчет бана... долго бегал с этой фичей и на пвп серверах и на х10... причем рядом несколько раз были ГМы. Ни слова не сказали про запрещенность...
Просто не каждому (простому игроку) сразу в голову придёт мысль о стороннем ПО
Щас только заметил))) Он даже ник мой не соизволил заменить :)
ТАК Я НАПИСАЛ НАШЕЛ. и описание скрипта оставлено как было
StekloReZ
09.01.2010, 22:47
Немного изменил, что бы не вбивать строки от руки.
(Грация)
Var
MyNick :string;
Title,GoTitle,NowTitle,Space: String;
Tim1: TTimer;
j,j2: integer;
procedure Init;
begin
Space:=' '; //пустая часть титла - 16 любых передвигаемых символов
// их количество лучше не менять
MyNick:='xxxxxxxx'; //Тут пишем свой ник!
Title:='Мракобесие и Джаз, не поверишь, всё украдено до нас. (с) "Пикник"'; //Сама строка титула
GoTitle:='';
Tim1:=Ttimer.Create(nil);
Tim1.Interval:=800; //Тут задаём скорость переключения, мс (1секунда = 1000мс)
Tim1.OnTimer:=@OnTimerProc;
Tim1.Enabled:=true;
j:=0;
j2:=Length(Title); // Узнаю длинну титула
GoTitle:=(Space+Title+Space);
end;
procedure Free;
begin
Tim1.Enabled:=False;
Tim1.Free;
end;
Procedure OnTimerProc;
begin
NowTitle:=Copy(GoTitle,j,16);
SetTitle(NowTitle);
if j<j2+16 then j:=j+1
else j:=0;
end;
Procedure SetTitle(title:string);
begin
buf:=#$0b;
WriteS(MyNick);
WriteS(title);
SendToServerEx(MyNick) ;
end;
begin
end.
Не пашет на грации эпилог на яве пвп.
и это не пашет, в игре приходит сообщение That player is not online
Поймал пакет на смену титула
Tип: 0x0B (RequestGiveNickName)
Pазмер: 25+2
Время прихода: 21:06:52:246
0002 s Target: Игорь
000E s Title: 12345
0B 18 04 33 04 3E 04 40 04 4C 04 00 00 31 00 32 00 33 00 34 00 35 00 00 00
//by QaK
//Скрипт на титул бегущей строкой
var
Main : TForm;
Timer : TTimer;
Button : TButton;
Edit: TEdit;
Start : Boolean = False;
Pos_i : Integer;
procedure Init; //Вызывается при включении скрипта
begin
Pos_i:=1;
//формочка
Main := TForm.Create(nil);
Main.Caption := 'Анимированный Титул v 1.0';
Main.BorderStyle := bsSizeable;
Main.Position := poDesigned;
Main.Left :=725;
Main.Top :=0;
Main.Width :=300;
Main.Height :=150;
//пример титула будет выводиться сюда
Edit := TEdit.Create(Main);
Edit.Parent := Main;
Edit.Left := 100;
Edit.Top := 10;
Edit.Width := 102;
//таймер
Timer := TTimer.Create(Main);
Timer.Interval := 1050;
Timer.Enabled := False;
Timer.onTimer := @TimerTimer;
Button := TButton.Create(Main);
Button.Parent := Main;
Button.Caption := 'Старт';
Button.Left := 10;
Button.Top := 10;
Button.onClick := @ButtonClick;
Main.Show;
end;
procedure Free; //Вызывается при выключении скрипта
begin
Edit.Free;
Timer.Free;
Button.Free;
Main.Free;
end;
//процедура смена титула
procedure ChangeTitle(CharName,Title:String);
begin buf:=#$55;
WriteS(CharName);
WriteS(Title);
SendToServer;
end;
//обработчик таймера
procedure TimerTimer(Sender : TTimer);
var i:integer;
Title:string; //Титул текущий
Full_Title : String = 'ХАахха';//титул полностью - строка любой длины
Char_Name : String = 'Игорь'; //имя перса
begin Title:='';
for i:=1 to 16 do //читаем 16 символов = макс длина титула
if ((i+Pos_i)mod(Length(Full_Title)+1))=0 //если читаем нулевой символ строки Full_Title
then Title:=Title+' ' //вставляем пробел
else Title:=Title+Full_Title[(i+Pos_i)mod(Length(Full_Title)+1)];//если нет - то вставляем символ
Pos_i:=(Pos_i+1)mod(Length(Full_Title)+1); //меняем позицию +1 и если дошли до конца строки - идем читать сначала
Edit.Text:=Title;
ChangeTitle(Char_Name,Title);
end;
//запуск титула
procedure ButtonClick(Sender : TButton);
begin
Start := Not (Start);
Timer.Enabled := Start;
If Start
then Button.Caption:='Стоп'
else Button.Caption:='Старт';
end;
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
end.
Не пашет на грации эпилог на яве пвп.
и это не пашет, в игре приходит сообщение That player is not online
Потому что 55 это:
procedure AnswerTradeRequest (ConName: string; Answer: integer = 0); //ответ на приглашение торговать
begin
buf:=#$55;
WriteD(Answer);
SendToServerEx(ConName);
end;
а тебе нужно:
procedure RequestGiveNickName(ConName, Target, Title:string); // изменить титул чара
begin
buf:=#$0B;
WriteS(Target);
WriteS(Title);
SendToServerEx(ConName);
end;
Скачай из этой темы http://coderx.ru/showthread.php?t=4070 PacketsT2.rar там почти все полезные пакеты для Т2 есть в виде функций.
//процедура смена титула
procedure ChangeTitle(CharName,Title:String);
begin buf:=#$55;
* * * WriteS(CharName);
* * * WriteS(Title);
* * * SendToServer;
end;
вместо 55 поставь 0В
Заработало но скрипт Qaka с формой нет, странно я использовал скрипт StekloReZа там уже написано 0b и не работало, может быть имеет значение регистр или я не заметил что то.
Как блокировать пакет который засоряет системные сообщения, пишет ник сменен. СС пакет
наверно так
if FromServer and (pck[1]=#$CC) then
begin
buf:='';
SendToClient
end;
не помогает, возможно чушь написал)
0rfin,
if FromServer and (pck[1]=#$CC) then
begin
pck:='';
exit;
end;
Поместил сюда, все равно приходит пакет
//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$CC) then
begin
pck:='';
exit;
end;
end.
0rfin, значит или не СС идшник пакета, или хз что, аномалия какая-то ...
Тоже хз
CC E0 51 02 10 20 00 20 00 1C 04 4B 04 20 00 3F 04 40 04 3E 04 3B 04 3E 04 36 04 38 04 3C 04 20 00 3C 04 30 04 00 00
Tип: 0xCC (NicknameChanged)
Pазмер: 39+2
Время прихода: 14:20:19:128
0002 d ObjectID: 268587488 (0x100251E0)
0006 s Title: Мы проложим ма
0rfin, весь скрипт, как ты его запускаешь, выложи ... возможно где-то кривой код =)
Var
MyNick :string;
Title,GoTitle,NowTitle,Space: String;
Tim1: TTimer;
j,j2: integer;
procedure Init;
begin
Space:=' '; //пустая часть титла - 16 любых передвигаемых символов
// их количество лучше не менять
MyNick:='Игорь'; //Тут пишем свой ник!
Title:='Мы проложим магистрали там где раньше волки срали'; //Сама строка титула
GoTitle:='';
Tim1:=Ttimer.Create(nil);
Tim1.Interval:=300; //Тут задаём скорость переключения, мс (1секунда = 1000мс)
Tim1.OnTimer:=@OnTimerProc;
Tim1.Enabled:=true;
j:=0;
j2:=Length(Title); // Узнаю длинну титула
GoTitle:=(Space+Title+Space);
end;
procedure Free;
begin
Tim1.Enabled:=False;
Tim1.Free;
end;
Procedure OnTimerProc;
begin
NowTitle:=Copy(GoTitle,j,16);
SetTitle(NowTitle);
if j<j2+16 then j:=j+1
else j:=0;
end;
Procedure SetTitle(title:string);
begin
buf:=#$0B;
WriteS(MyNick);
WriteS(title);
SendToServerEx(MyNick) ;
end;
begin
if FromServer and (pck[1]=#$CC) then
begin
pck:='';
exit;
end;
end.
0rfin, во-первых - поставь побольше интервал не 300, а 2000 например. Во-вторых в ините лучше таймер не включать, сделай по социальному действию влючение и выключение таймера. Не блочится, скорре всего из-за меленького интервала таймера.
Пакет не блокировался потому что я скрипт запускал через кнопку плей а не через галочку, теперь пакет не приходит. Оказывается там еще пакет приходил, он был в фильтах и я его не видел.
62 D6 00 00 00 00 00 00 00
Tип: 0x62 (SystemMessage)
Pазмер: 9+2
Время прихода: 19:05:05:217
0002 d MsgID: Титул изменен. ID:214 (0x00D6)
0006 d typesCount: 0 (0x00000000)
Var
MyNick :string;
Title,GoTitle,NowTitle,Space: String;
Tim1: TTimer;
j,j2: integer;
var
Status, socialid: Integer;
procedure SAY(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;
procedure Init;
begin
Space:=' '; //пустая часть титла - 16 любых передвигаемых символов
// их количество лучше не менять
MyNick:='Игорь'; //Тут пишем свой ник!
Title:='Мы проложим магистрали там где раньше волки срали'; //Сама строка титула
GoTitle:='';
Tim1:=Ttimer.Create(nil);
Tim1.Interval:=1000; //Тут задаём скорость переключения, мс (1секунда = 1000мс)
Tim1.OnTimer:=@OnTimerProc;
Tim1.Enabled:=False;
j:=0;
j2:=Length(Title); // Узнаю длинну титула
GoTitle:=(Space+Title+Space);
end;
procedure Free;
begin
Tim1.Enabled:=False;
Tim1.Free;
end;
Procedure OnTimerProc;
begin
NowTitle:=Copy(GoTitle,j,16);
SetTitle(NowTitle);
if j<j2+16 then j:=j+1
else j:=0;
end;
Procedure SetTitle(title:string);
begin
buf:=#$0B;
WriteS(MyNick);
WriteS(title);
SendToServerEx(MyNick) ;
end;
begin
if FromClient and (pck[1]=#$56) then //социальное действие
begin
SocialID:=ReadD(2);
case ord(pck[2]) of
$18:begin //socialyes
Tim1.Enabled:=True;
SAY('Вкл');
end;
$19:begin //socialno
Tim1.Enabled:=False;
SAY('Выкл');
end;
end;
end;
if FromServer and (pck=#$62#$D6#$00#$00#$00#$00#$00#$00#$00) then
begin
pck:='';
exit;
end;
end.
Тупость, не работает, раньше работало, пакет на смену титула тупо не посылается...
мин 20 спустя..
Убрал здесь это(красным) и заработало
Procedure SetTitle(title:string);
begin
buf:=#$0B;
WriteS(MyNick);
WriteS(title);
SendToServerEx(MyNick) ;
end;
К стати твой скрипт пашет Qak
Добавлено через 9 часов 26 минут
Кто нить помнит девушка выкладывала скрипт там перс в пм рассказывал анекдоты всем кто купит что то. Я хочу чтоб в титуле проигрывались предложения по порядку из файла.
...
а вот нашел ссылко (http://coderx.ru/showpost.php?p=372&postcount=7)
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot