PDA

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


z0mbie
02.06.2009, 15:36
Здраствуйте я хотел бы спрасить как сделать из этого скрипта чтоб можно было рисовать рисунки в чате типа:
____________$$$$$$$*$______$$$$$$$$$
__________$$$$$$$$$*$$$__$$$$$$$__$$$$
_________$$$$$$$$$$*$$$$$$$$$$$$$$__$$$
_________$$$$$$$$$$*$$$$$$$$$$$$$$__$$$
_________$$$$$$$$$$*$$$$$$$$$$$$$$__$$$
__________$$$$$$$$$*$$$$$$$$$$$$$__$$$
____________$$$$$$$*$$$$$$$$$$$$$$$$
_______________$$$$*$$$$$$$$$$$$$
_________________$$*$$$$$$$$$$$
___________________*_$$$$$$$
Вот и сам скрипт как его можно переделать?
const
MaxMessages = 1000;
var
m: TMemo;
frm:TForm;
penel: TPanel;
etext: tedit;
button: tbutton;
box : TCheckBox;
every : TEdit;
_Name : TEdit;
i: Integer;
tm:TTimer;
Message, Name: String;

procedure SendMs(Sender: TObject);
var
Msg, Nm: String;
dd: integer;
begin
if etext.text<>'' then begin
buf:=#$38;
case etext.text[1] of
'!': begin
Msg:=Copy(etext.text,2,1000);
dd:=1;
nm:='';
end;
'$': begin
Msg:=Copy(etext.text,2,1000);
dd:=9;
nm:='';
end;
'+': begin
Msg:=Copy(etext.text,2,1000);
dd:=8;
nm:='';
end;
'"': begin
dd:=pos(' ', etext.text);
Msg:=Copy(etext.text,dd+1,1000);
nm:=Copy(etext.text,2,dd-3);
dd:=2;
end;
'#': begin
Msg:=Copy(etext.text,2,1000);
dd:=3;
nm:='';
end;
'@': begin
Msg:=Copy(etext.text,2,1000);
dd:=4;
nm:='';
end;
else begin
Msg:=etext.text;
dd:=0;
nm:='';
end;
end;
WriteS(Msg);
WriteD(dd);
if nm<>'' then WriteS(Nm);
SendToServerEx(_Name.Text);
end;
end;
procedure onNewCommand(obj:TObject;key:string);
var i:integer;
var symbol:Variant;
var after:string;
begin
if (key[1]=#$0D) then begin
SendMs(obj);
symbol := etext.Text[1];
after := '';
if symbol = '#' then after := '#';
if symbol = '!' then after := '!';
if symbol = '@' then after := '@';
if symbol = '$' then after := '$';
etext.Text := after;
end;
end;
procedure onTimer(Sender:TObject);
begin
tm.Interval := StrToInt(every.Text);
if box.checked = true then SendMs(Sender);
end;
procedure Init;
begin
frm := TForm.Create(nil);
frm.Caption := 'Chat';
frm.BorderStyle := bsSizeable;
frm.Position := poDesigned ;
frm.Width:=400;
frm.Height:=600;
m:=TMemo.Create(frm);
m.parent:=frm;
m.align:=alClient;
m.ReadOnly:=true;
m.ScrollBars:=ssBoth;
penel:=TPanel.Create(frm);
penel.parent:=frm;
penel.align:=alBottom;
penel.height:=48;
etext:=tedit.Create(penel);
etext.parent:=penel;
etext.align:=alTop;
button:=tbutton.Create(penel);
button.parent:=penel;
button.top := etext.height;
button.caption:='Send';
button.onClick:=@SendMs;
box := TCheckBox.Create(penel);
box.parent := penel;
box.Top := etext.height + 2;
box.Left := button.width + button.left +2;
box.Caption := 'Шторм через: ';
every:=tedit.Create(penel);
every.parent:=penel;
every.Left := box.Left + box.Width;
every.Top := button.top;
every.Text := IntToStr(3000);
tm := TTimer.Create(frm);
tm.Interval := 1000;
tm.Enabled := true;
tm.OnTimer := @OnTimer;
etext.OnKeyPress := @onNewCommand;
_Name:=tedit.Create(frm);
_Name.parent:=frm;
_Name.align := alTop;
_Name.Text := '';
frm.Show;
end;

procedure SaveToFile(prefix:string);
var name:string;
begin
name := prefix+'.'+ConnectName+'.'+DateToStr(Date)+'.'+Tim eToStr(Time)+'.txt';
while Pos(':',name) <> 0 do begin
name[Pos(':',name)] := '-';
end;
m.Lines.SaveToFile(name);
end;

procedure Free;
begin
SaveToFile('ChatLog');
box.Free;
every.Free;
tm.Free;
etext.Free;
button.Free;
penel.Free;
m.Free;
frm.Free;
end;



var tp:integer;
var ct:string;
var MessageCounter:integer;
begin
if _Name.Text = '' then _Name.Text := ConnectName;
if FromServer and (ConnectName = _Name.Text) and (pck[1]=#$4a) then
begin
i:=10;
name:=ReadS(i);
message:=ReadS(i);
tp := ReadD(6);
ct := '???';
if tp = 0 then ct := 'GNR';
if tp = 8 then ct := 'TRD';
if tp = 3 then ct := 'PRT';
if tp = 4 then ct := 'CLN';
if tp = 9 then ct := 'ALY';

ct := DateToStr(Date) + ' '+ TimeToStr(Time) + ', '+ ct;

if name='' then name:='Объявление: ';
m.Lines.Add('['+ct+'] '+Name+': '+message);

if MessageCounter > MaxMessages then begin
SaveToFile('Backup');
//m.Lines.Add('BACKUPED');
MessageCounter := 0;
end;
MessageCounter := MessageCounter+1;
end;
end.


Добавлено через 16 часов 56 минут
Вот делал в клан чат т.к. в обычный неполучиться нада чтоб все заткнулись а то вручную делать долго и пока ты 1 строку делать будешь там докуя строк будет (
http://s50.radikal.ru/i127/0906/cf/4b8b1f00e006.jpg

Добавлено через 2 часа 49 минут
Чё никто неможет переделать скрипт? мне хотябы чтоб вылазило несколько окошек чтоб я каждую строчку в окошко писал и отправлял всё по одному нажатию

NLObP
04.06.2009, 13:16
Набросал на скорую руку для Грации

1.Как обычно правим NAME
2.Запускаем скрипт
3.В папке \scripts\picture.txt должен лежать файл с текстом или рисунком
4.загружаем командой в чате> load=picture
5.сообщаем в какой чат писать, командой в чате> dest=1 или chat=1 (0 - общий чат и т.д.)
6.запускаем на исполнение, командой в чате> start или run
7.экстренная остановка скрипта, командой в чате> stop
8.после вывода картинки скрипт останавливается сам.

put script and file, which you want to draw in chat then

1.Change NAME constant
2.Run script
3.In folder \scripts\ must be *.txt file? for example picture.txt
4.Load file with send to chat command> load=picture, where "picture" is filename with strings
5.Then we should set the chat type> dest=1 or chat=1 ,where 1 - is chat type
6.To start drawing in chat use command> start or run
7.To stop drawing use command> stop
8.After drawing all pictire/text script stop automaticaly.


____________$$$$$$$*$______$$$$$$$$$
__________$$$$$$$$$*$$$__$$$$$$$__$$$$
_________$$$$$$$$$$*$$$$$$$$$$$$$$__$$$
_________$$$$$$$$$$*$$$$$$$$$$$$$$__$$$
_________$$$$$$$$$$*$$$$$$$$$$$$$$__$$$
__________$$$$$$$$$*$$$$$$$$$$$$$__$$$
____________$$$$$$$*$$$$$$$$$$$$$$$$
_______________$$$$*$$$$$$$$$$$$$
_________________$$*$$$$$$$$$$$
____________________$$$$$$$$
_____________________$$$$$
______________________$$$
_______________________$

z0mbie
04.06.2009, 13:31
NLObP, респект спасибо огоромное ща буду тестить)

NLObP
04.06.2009, 13:37
z0mbie, смотри чтобы не забанили :D

z0mbie
04.06.2009, 14:06
Млин нифега невыходит, я ставлю галочку чтоб скрипт запустить и всё больше ничего не происходит
//nlobp:ты мое сообщение внимательно читал?

Добавлено через 24 минуты
Да читал тока я непонял как его запустить какой командой, то есть в чате писать load=picture ? или что?

NLObP
04.06.2009, 14:33
4.загружаем командой> load=picture
5.сообщаем в какой чат писать, командой> dest=0 (0 - общий чат и т.д.)
6.запускаем на исполнение> start или run

PS: на картинке видно команды запуска
PPS: можно после включения скрипта написать в чат run, картинка из picture.txt (файл по умолчанию) будет выводиться в общий чат

z0mbie
04.06.2009, 14:39
Если чесно нифега непонял как ты загрузил командой:unknw:

NLObP
04.06.2009, 14:41
:mad: в чат пиши RUN

PS: Ты сообщение (http://coderx.ru/showpost.php?p=31386&postcount=2) читал, как надо делать 1,2,3 и т.д?
PPS: пиши как ты его запускал, по шагам, а то разговор глухого со слепым.

z0mbie
04.06.2009, 14:52
Писал я в чат и RUN и .run и >run нифега неполучаеться)

Breadfan
04.06.2009, 15:16
а хроники то какие ?

NLObP
04.06.2009, 15:29
Скрипт для Грации. Самостоятельно измените ID пакетов для других хроник.
procedure SendMs(msg: string; dest: integer);
begin
buf:=#$49; //Грация
//buf:=#$38; //Интерлюдия
WriteS(Msg);
WriteD(dest);
WriteS('');
SendToServerEx(Name);
end;
...
if (ConnectName=Name) and FromClient then
begin
case pck[1] of
//************************************************** **********************
#$49: UserCommands; //Say2:s(Text)d(Type)s(Target) Грация
//#$38: UserCommands; //Say2:s(Text)d(Type)s(Target) Интерлюдия
end;
end;

z0mbie
07.06.2009, 13:44
Нифега неполучаеться, может руки кривые хз(
Вот под интерлюд правильно сделал нет?
Скрипт распространяется как есть, и я не несу ответственности за то,
что ВЫ натворили у себя, его используя.

1.Как обычно правим NAME
2.Запускаем скрипт
3.В папке \scripts должен лежать файл с текстовым рисунком picture.txt
4.загружаем командой> load=picture
5.сообщаем в какой чат писать, командой> dest=0 (0 - общий чат и т.д.)
6.запускаем на исполнение> start или run
7.экстренная остановка скрипта> stop
8.после вывода картинки скрипт останавливается сам.
}
//************************************************** ****************************
program Risuem_w_chat2;
const
Name='*Imperator*'; //имя персонажа в игре

Pathtxt='.\scripts\'; //путь к файлу
NameTxt='picture.txt'; //имя файла с рисунком

debug=false;

DefaultExecuteDelay=500;
//.................................................. ............................
var
TextPic : TStringlist; //сюда загружаем текст из файла
ExecuteTimer: Ttimer; //основной таймер исполнения команд
ExecuteDelay: integer; //задержка между командами валкера

strIndex: integer; //номер строки
chat: integer; //в какой чат слать

//************************************************** ****************************
procedure Init; //Вызывается при включении скрипта
var
i, j :integer;
begin
TextPic:=TStringList.Create;
//загружаем скрипт валкера из файла
TextPic.LoadFromFile(PathTxt+NameTxt);

strIndex:=0; //начинаем с первой строки

ExecuteDelay:=DefaultExecuteDelay; //задержка между сообщениями в чат

ExecuteTimer:=TTimer.Create(nil);
ExecuteTimer.Enabled:=false;
ExecuteTimer.Interval:=ExecuteDelay; //время задержки
ExecuteTimer.OnTimer:=@OnExecute;
end;
//.................................................. ............................
procedure Free; //Вызывается при выключении скрипта
begin
ExecuteTimer.Enabled:=False; //остановим на всякий случай
Executetimer.Free;
TextPic.free;
end;
//************************************************** ****************************
{
Вспомогательные процедуры и функции
}
//************************************************** ****************************
procedure debugMsg(msg: string);
begin
if debug then
begin
sendMSG(msg);
SendMessage(msg);
end;
end;
//************************************************** ****************************
{
Посылаем пакеты
}
//************************************************** ****************************
//послать сообщение в чат
//use: SendMessage(msg);
procedure SendMessage(msg:string); //отправка системных сообщений клиенту
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClientEx(Name);
end;

//49=Say2:s(Text)d(Type)s(Target)
procedure SendMs(msg: string; dest: integer);
begin
//buf:=#$49; //Грация
buf:=#$38; //Интерлюдия
WriteS(Msg);
WriteD(dest);
WriteS('');
SendToServerEx(Name);
end;


//.................................................. ............................
function ExtractValue(sData, sFind: string;): string;
{возвращаем конец строки после найденного символа}
var
s: string;
i,j: integer;
begin
i:=0;
result:='';
i:=find(sData, sFind);
if i>0 then result:=copy(sData, i+length(sFind), length(sData));
end;
function RtrimEx(sData, sDelimiter: string): string;
{Удаление из строки S заданные символы справа}
var
m,i : integer;
s: string;
begin
s:=sData;
i:=0;
while i=0 do
begin
m:=length(s);
if m>0 then begin
if s[m]<>sDelimiter then i:=1;
if s[m]=sDelimiter then delete(s,m,1);
end;
if m <= 0 then i:=1;
end;
result:=s;
end;
//.................................................. ............................
function LtrimEx(sData, sDelimiter:String): string;
{Удаление из строки S заданные символы слева}
var
m,i : integer;
s: string;
begin
s:=sData;
i:=0;
while i=0 do
begin
m := length(s);
if m > 0 then
begin
if s[1]<>sDelimiter then i:=1;
if s[1]=sDelimiter then delete(s,1,1);
end;
if m <= 0 then i:=1;
end;
result:=s;
end;
//.................................................. ............................
function Ltrim(sData:String): string;
{Удаление из строки S заданные символы слева}
begin
result:=LtrimEx(sData,' ');
end;
//.................................................. ............................
function Rtrim(sData:String): string;
{Удаление из строки S заданные символы слева}
begin
result:=RtrimEx(sData,' ');
end;
//.................................................. ............................
function AllTrimEx(sData, sDelimiterLeft, sDelimiterRight: String): string;
{Удаление из строки S заданные символы слева и справа}
begin
result:=LtrimEx(RtrimEx(sData, sDelimiterRight), sDelimiterLeft);
end;
//.................................................. ............................
function AllTrim(sData: String): string;
{Удаление из строки S заданные символы слева и справа}
begin
result:=Ltrim(Rtrim(sData));
end;
//.................................................. ............................
function ExtractName(sData, sFind: string): string;
{возвращаем строку до найденного символа}
var
i: integer;
begin
i:=0;
result:='';
i:=find(sData, sFind);
if i>0 then result:=copy(sData, 1, i-length(sFind)+1);
end;
//.................................................. ............................
function Find(const S, P: string): Integer;
{Функция Find ищет подстроку P в строке S и возвращает индекс первого символа
подстроки или 0, если подстрока не найдена. Хотя в общем случае этот метод,
как и большинство методов грубой силы, малоэффективен, в некоторых ситуациях
он вполне приемлем.}
var
i, j: Integer;
begin
Result:=0;
if Length(P)>Length(S) then
begin
debugMSG('Несоответствие длин: p='+inttostr(Length(P))+' > S='+inttostr(Length(s)));
debugMSG('Строка: '+inttostr(strIndex));
Exit;
end;
for i:=1 to Length(S)-Length(P)+1 do //x0 начало смещения для поиска в строке
begin
for j:=1 to Length(P) do
begin
if P[j]<>S[i+j-1] then
Break
else if j=Length(P) then
begin
Result:=i;
Exit;
end;
end;
end;
end;

//************************************************** ****************************
// Парсер/Исполнитель: главный цикл обработки команд Валкера
//************************************************** ****************************
function OnExecute(Sender: TObject): integer; //CommandList: TStringList
var
s, cmd, param : string;
begin
try
s:=TextPic[strIndex]; //считываем команду из листа
SendMs(s, chat);
inc(strIndex);
except
ExecuteTimer.Enabled:=False; //остановим
end;
end;

procedure UserCommands; //комманды пользователя
var
s, cmd: string;
begin //если комманда обработана удачно, то в чат сообщение не попадет, а будет выдано системное сообщение прямо в клиент
s:=ReadS(2);
debugMsg(s);
s:=s+'='; //чтобы можно было взять число в конце
cmd:=RTrimEx(ExtractName(s, '='), '='); //получили строку вплодь до найденного символа
cmd:=UpperCase(alltrim(cmd));
case cmd of
//команда загрузки скрипта> load=picture
'LOAD': begin
s:=ExtractValue(s, '='); //получили остаток строки начиная с искомого символа
s:=RTrimEx(ExtractName(s, '='), '='); //получили строку вплодь до найденного символа
TextPic.clear;
TextPic.LoadFromFile(PathTxt+s+'.txt'); //загружаем скрипт
pck:='';
end;
'START','RUN': begin
strIndex:=0; //начинаем с первой строки
ExecuteDelay:=DefaultExecuteDelay; //задержка между командами валкера
ExecuteTimer.Enabled:=true; //включим интерпретацию скрипта валкера
pck:='';
end;
'STOP': begin
ExecuteTimer.Enabled:=false; //выключим интерпретацию скрипта валкера
pck:='';
end;
'DEST': begin
s:=ExtractValue(s, '='); //получили остаток строки начиная с искомого символа
s:=RTrimEx(ExtractName(s, '='), '='); //получили строку вплодь до найденного символа
chat:=strtoint(s); //сохраним тип чата куда слать сообщение
pck:='';
end;
end;
end;

//************************************************** ****************************
{
основная часть скрипта, вызывается при приходе каждого пакета, если скрипт включен
}
//************************************************** ****************************
begin
//************************************************** **************************
//не обрабатываем пустые пакеты
if pck='' then exit;

//************************************************** **************************
if (ConnectName=Name) and FromClient then
begin
case pck[1] of
//************************************************** **********************
//#$49: UserCommands; //Say2:s(Text)d(Type)s(Target) Грация
#$02: UserCommands; //Say2:s(Text)d(Type)s(Target) Интерлюдия
end;
end;
end.

NLObP
07.06.2009, 16:33
Да. Попробуй исправь эту стрчку
ExecuteTimer.Enabled:=false;
на эту
ExecuteTimer.Enabled:=true;
тогда при включении скрипта сразу начнет в чат выводить.

Добавлено через 1 минуту
Напиши, что ты сделал по шагам, начиная с копирования скрипта с форума.

8tomat8
11.06.2009, 20:53
NLObP, аналогично, скрипт не пашит, все по инструкции...
он не реагирует на команды( юзаю версию 3,5,9,113 сервер интерлюд

NLObP
12.06.2009, 00:06
8tomat8, глянул, нашел ошибку в айди пакета, должно быть так

#$38: UserCommands; //Say2:s(Text)d(Type)s(Target) Интерлюдия

PS: обновил скрипт

8tomat8
12.06.2009, 00:27
uuu да логично) я не смог когда смотрел вчехлить нафига там 02))) спасибо

NLObP
12.06.2009, 00:29
8tomat8, получилось?

8tomat8
12.06.2009, 01:16
да все пашит) спасиб еще раз

Добавлено через 40 секунд
Уже свои заслуженые 7 банов схватил):D хороший скрипт)))

NLObP
12.06.2009, 01:24
:D

charly911
31.07.2009, 08:46
Hi! im trying to use this script, but y do not know how to send the "load" command. I have tryed several ways but i could't, and translation doesn't help :s
What do i exactly need to write to use it??

Thx in advance, Charly.

QaK
31.07.2009, 09:54
charly911, put script and file, which you want to draw in chat then

1.Change NAME constant
2.Run script
3.In folder \scripts\ must be *.txt file? for example picture.txt
4.Load file with send to chat command> load=picture, where "picture" is filename with strings
5.Then we should set the chat type> dest=1 or chat=1 ,where 1 - is chat type
6.To start drawing in chat use command> start or run
7.To stop drawing use command> stop
8.After drawing all pictire/text script stop automaticaly.

z0mbie
31.07.2009, 17:09
первая строка только в чат пишит

NLObP
31.07.2009, 17:18
первая строка только в чат пишит

Не понял, поясни.

z0mbie
31.07.2009, 19:12
Ну первая строчка рисунка в чате пишеться и всё

charly911
31.07.2009, 21:00
Worked! :D , but not 100%.
Only the first line is showed :confused:

Charly.

z0mbie
31.07.2009, 21:29
charly911, у меня также!

charly911
31.07.2009, 22:13
Solution:


try
s:=TextPic[strIndex]; //????????? ?????? ???????
SendMs(s, chat); //??????? ? ???
inc(strIndex); //????????? ??????
Except // <--<-- Change this!!
ExecuteTimer.Enabled:=False; //?????????
end;


:D ;)

Charly.

SexGuru
19.09.2009, 16:10
играю на интерлюде , ставлю правленный скрипт от зомби, ставлю галочку , вписываю команды, ничего не происходит

FrankJScott
30.06.2025, 06:58
In response to the man inquiring about game slot online terbaik, prediksi angka togel hk, judi slot gampang menang, slot game terbaru, angka togel hongkong hari ini, provider slot, slot pragmatic, slot online terbaik, login situs togel, nomor togel sgp hari ini, I highly suggest this continue about tajir4d details (https://lorenzolahm40739.gigswiki.com/5742142/20_excellent_pieces_of_advice_for_picking_asian2be t_login_sites) or slot bandar togel, situs judi online terpercaya, slot live casino, 5 situs togel terpercaya, game slot terbaru, judi online uang asli, togel keluaran singapore, mesin slot link, login slot joker, permainan yang bisa, bearing in mind this read more here about asian2bet login site (https://cesarfuhr53186.hyperionwiki.com/1455615/20_excellent_suggestions_for_picking_tajir4d_login _sites) bearing in mind slot microgaming, jitu togel login, 5 bandar togel terpercaya, masuk game slot online, situs judi slot terbesar, game slot jackpot terbesar, game slot termudah menang, di slot, situs togel, data angka togel hari ini, together with this great asian2bet forum (https://edwinevfl52085.wikibuysell.com/1599642/20_handy_pieces_of_advice_for_picking_tajir4d_logi n_websites) which is also great. Also, have a look at this click here for asian2bet tips (https://tysoncpzi19631.newbigblog.com/42225214/20-new-pieces-of-advice-for-choosing-tajir4d-sites) not forgetting sites such as prediksi angka sgp hari ini, game judi online, togel link, tentang judi slot online, judi togel sidney, pusat judi online, jenis permainan slot, games slot pg, permainan slot pragmatic yang mudah menang, game judi tembak ikan online, not to mention this useful asian2bet login link (https://charlieifyq66432.theideasblog.com/36460150/20-free-ways-for-choosing-tajir4d-websites) bearing in mind situs togel dan slot terlengkap, angka togel hongkong, sgp angka keluar hari ini, togel slot login, angka keluar sgp live draw, recommended site on (https://titusqemr12345.bloggazza.com) bearing in mind game slot terbaik, slot terbaru online, keluaran togel hk, game slot game slot, data togel link, for good measure. Check more @ Top Double Decker Bed Info (http://www.yamaha-1000-fzr.com/forum/viewtopic.php?f=60&t=15142&p=427714#p427714) 3eef87f

Добавлено через 2 часа 32 минуты
In reply to the lady inquiring about kumpulan situs judi slot terpercaya, live draw sgp hari ini tercepat, game slot gampang menang, slot casino indonesia, bandar togel darat, keluar angka hk, angka togel hk, situs slot online terbaik di indonesia, main game slot online, situs terbaru slot online, I highly recommend this source about tajir4d link (https://cypriotdirectory.com/listings13258327/situs-judi-resmi-dan-slot-pragmatic-play) or situs judi slot indonesia, pragmatic play itu apa, web slot terbaru, prediksi togel sgp hari ini, togel sdy sgp hk, keluar angka sgp hari ini, judi tembak ikan online, angka keluar sgp hari ini live result, situs online slot, judi slot yang gampang menang, which is worth considering with this right here about tajir4d login details (https://directoryrecap.com/listings13252008/idn-slot-dan-situs-judi-slot) alongside all indonesia slot online, situs slot yg mudah menang, angka togel singapore, tentang judi slot, web judi togel, slot situs baru, data togel singapore hari ini, slot bandar judi, keluaran angka togel, angka jitu togel hk hari ini, bearing in mind this recommended you read for asian2bet login tips (https://carter8e18ayj5.shivawiki.com/user) which is also great. Also, have a look at this what do you think for tajir4d info (https://bookmarkja.com/story22324917/toto-slot-login-dan-agen-slot-terpercaya) not to mention link slot online terpercaya, situs judi slot terbaik, situs slot online terbesar, situs game slot terpercaya, situs togel online terpercaya di indonesia, situs slot terbaik, data lengkap togel, 5 bandar togel terpercaya, joker123 slot online, game tembak ikan judi, as well as this top tajir4d login advice (https://sociallawy.com/story10275959/situs-judi-slot-online-dan-agen-slot-terpercaya) not forgetting sites such as situs togel bonus terbesar, togel terpercaya indonesia, data sgp live draw, pragmatic play itu apa, situs game slot terbaru, basics about (https://milormga11000.estate-blog.com) not to mention data togel sidney, game slot mudah menang, game slot judi uang asli, togel games, judi togel online terpercaya, for good measure. Check more @ Recommended Custom Printing Service Sydney Website (http://simpsonit.org/keskustelupalsta/index.php?topic=445.new#new) 9ac2856