PDA

Просмотр полной версии : Титул скриптом


TAMBIK
03.05.2009, 16:32
Вот нашел
//©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.

Grinch
03.05.2009, 17:18
не догнал в чем соль?

alexteam
03.05.2009, 17:54
можно сделать бегущую строку :D
по типу
'забанте меня! '
'абанте меня! з'
'банте меня! за'
'анте меня! заб'
'нте меня! заба'
'те меня! забан'
'е меня! забант'
' меня! забанте'
'меня! забанте '
'еня! забанте м'
'ня! забанте мe'
'я! забанте мeн'
'! забанте меня'
' забанте меня!'
долго бегать с такой фигней не прийдеться :p

TAMBIK
03.05.2009, 20:42
не догнал в чем соль?

не все норм работает

Добавлено через 1 минуту
можно сделать бегущую строку :D
по типу
'забанте меня! '
'абанте меня! з'
'банте меня! за'
'анте меня! заб'
'нте меня! заба'
'те меня! забан'
'е меня! забант'
' меня! забанте'
'меня! забанте '
'еня! забанте м'
'ня! забанте мe'
'я! забанте мeн'
'! забанте меня'
' забанте меня!'
долго бегать с такой фигней не прийдеться :p

спасибо пробовал уже
здесь немного дгугое решение просто поделился

Grinch
03.05.2009, 21:37
не все норм работает
дык я знаю что норм работает, по коду пробежался, только зачем оно надо. разве только перед уходом с серва понты прогнать :)

TAMBIK
04.05.2009, 13:46
дык я знаю что норм работает, по коду пробежался, только зачем оно надо. разве только перед уходом с серва понты прогнать :)

если поставить интервал сек 10 палева нетак будит
вот с строкой бегушей эт палево

Johnson
11.05.2009, 08:34
хе) знакомая вещь ;)
Как мне нравятся люди, которые заменяют копирайты :)
Вобщето автор скрипта я, и иписал для ЧитПортала...
http://cheatportal.ru/f3/thread4351.html

а насчет бана... долго бегал с этой фичей и на пвп серверах и на х10... причем рядом несколько раз были ГМы. Ни слова не сказали про запрещенность...
Просто не каждому (простому игроку) сразу в голову придёт мысль о стороннем ПО

Щас только заметил))) Он даже ник мой не соизволил заменить :)

TAMBIK
11.05.2009, 11:35
хе) знакомая вещь ;)
Как мне нравятся люди, которые заменяют копирайты :)
Вобщето автор скрипта я, и иписал для ЧитПортала...
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.

0rfin
11.03.2010, 19:59
Не пашет на грации эпилог на яве пвп.
и это не пашет, в игре приходит сообщение 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.

Vilson
11.03.2010, 20:13
Не пашет на грации эпилог на яве пвп.
и это не пашет, в игре приходит сообщение 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 есть в виде функций.

QaK
11.03.2010, 21:20
//процедура смена титула
procedure ChangeTitle(CharName,Title:String);
begin buf:=#$55;
* * * WriteS(CharName);
* * * WriteS(Title);
* * * SendToServer;
end;
вместо 55 поставь 0В

0rfin
12.03.2010, 21:21
Заработало но скрипт Qaka с формой нет, странно я использовал скрипт StekloReZа там уже написано 0b и не работало, может быть имеет значение регистр или я не заметил что то.
Как блокировать пакет который засоряет системные сообщения, пишет ник сменен. СС пакет
наверно так

if FromServer and (pck[1]=#$CC) then
begin
buf:='';
SendToClient
end;

не помогает, возможно чушь написал)

QaK
12.03.2010, 22:34
0rfin,
if FromServer and (pck[1]=#$CC) then
begin
pck:='';
exit;
end;

0rfin
12.03.2010, 23:10
Поместил сюда, все равно приходит пакет

//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
if FromServer and (pck[1]=#$CC) then
begin
pck:='';
exit;
end;
end.

QaK
13.03.2010, 10:53
0rfin, значит или не СС идшник пакета, или хз что, аномалия какая-то ...

0rfin
13.03.2010, 13:22
Тоже хз
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: Мы проложим ма

QaK
13.03.2010, 20:19
0rfin, весь скрипт, как ты его запускаешь, выложи ... возможно где-то кривой код =)

0rfin
13.03.2010, 22:15
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.

QaK
14.03.2010, 11:54
0rfin, во-первых - поставь побольше интервал не 300, а 2000 например. Во-вторых в ините лучше таймер не включать, сделай по социальному действию влючение и выключение таймера. Не блочится, скорре всего из-за меленького интервала таймера.

0rfin
14.03.2010, 21:55
Пакет не блокировался потому что я скрипт запускал через кнопку плей а не через галочку, теперь пакет не приходит. Оказывается там еще пакет приходил, он был в фильтах и я его не видел.
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)