Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.Ru LIVE! Реклама на Zhyk.Ru Доска почета top.zhyk.ru (beta) Премиум-аккаунт

Ответ
 
Опции темы Опции просмотра
Старый 03.06.2019, 23:52   #76
 Сержант
Аватар для Stratego
 
Stratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака Норриса
Регистрация: 25.03.2013
Сообщений: 153
Популярность: 7326
Сказал(а) спасибо: 8
Поблагодарили 35 раз(а) в 17 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

Обновление инструмента обучения базы.
Добавлена галка позволяющая пропускать все корректно распознанные символы.
Значительно повысилось удобство обучения базы.

Улучшилось визуальное восприятие корректности распознавания символов при обучение.

Как правильно использовать эту функцию показано на видео

[Ссылки могут видеть только зарегистрированные пользователи. ]

[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 05.08.2019, 12:34   #77
 Разведчик
Аватар для Bocharas
 
Bocharas никому не известный тип
Регистрация: 10.10.2016
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

Крутяс кто уже опробовал?
  Ответить с цитированием
Старый 09.06.2020, 14:18   #78
 Сержант
Аватар для Stratego
 
Stratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака Норриса
Регистрация: 25.03.2013
Сообщений: 153
Популярность: 7326
Сказал(а) спасибо: 8
Поблагодарили 35 раз(а) в 17 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

Много разных обновлений было.

Одно из них, это парсер JSON формата:

Код:
/*
{
"clientKey":"dce6bcbb1a728ea8d563de6d169a2057",
"task":
{
"type":"ImageToTextTask",
"body":"BASE64_BODY_HERE!",
"phrase":false,
"case":false,
"numeric":0,
"math":false,
"minLength":0,
"maxLength":0
}
}
*/

string Json="{^"clientKey^":^"" + "dce6bcbb1a728ea8d563de6d169a2057^"," +
"^"task^":" +
"{^"type^":^"ImageToTextTask^"," +
"^"body^":^"BASE64_BODY_HERE!^"," +
"^"phrase^":false," +
"^"case^":false," +
"^"numeric^":0," +
"^"math^":false," +
"^"minLength^":0," +
"^"maxLength^":0}}";

messagebox (Json);

parserjson(Rez_Json, Json);//Создаем объект JSON с символьным именем Rez_Json и Парсим запись JSON с Json

messagebox (Rez_Json.task.case);//Выводим значение объекта JSON

Узнать все name и value массива stats

Файл C:\json.txt
Код:
{
"playerstats": {
"steamID": "76561198050187807",
"gameName": "ValveTestApp260",
"stats": [
{
"name": "total_kills",
"value": 35179
},
{
"name": "total_deaths",
"value": 30241
},
{
"name": "total_time_played",
"value": 2444377
}
]
}
}
Скрипт
Код:
string исходник="";
string Tt;

if (fopen ("C:\json.txt", "r")!=0)//открываем файл для чтения "r"
{
while (freadline(Tt))исходник=исходник+Tt;
fclose();
}



parserjson(Rez_Json, исходник);

int n=0;
while (Rez_Json.playerstats.stats[n].name!="ERROR_SEARCH_JSON")
{
messagebox (Rez_Json.playerstats.stats[n].name+" = "+Rez_Json.playerstats.stats[n].value);
n++;
}
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 08.07.2020, 02:55   #79
 Сержант
Аватар для Stratego
 
Stratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака Норриса
Регистрация: 25.03.2013
Сообщений: 153
Популярность: 7326
Сказал(а) спасибо: 8
Поблагодарили 35 раз(а) в 17 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

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

В случае нахождения рабочего прокси выдает страницу [Ссылки могут видеть только зарегистрированные пользователи. ] на которую скрипт заходит через это прокси и выдает IP и порт для дальнейшего использования бесплатного прокси по назначению.

Код:
int pos_size_edit0[1][4];
string text_edit0[1];

pos_size_edit0[0][0]=10; pos_size_edit0[0][1]=9; pos_size_edit0[0][2]=221; pos_size_edit0[0][3]=20;
text_edit0[0]="Парсинг прокси...";

createdialog(0, EDIT, #pos_size_edit0[0][0], #text_edit0[0]);
showdialog(0, "Поиск прокси", 200, 200, 250, 70, 1, 1);
//////////



find_proxi();



function find_proxi()
{
int pade=1;
string T;
S:;
if (sendgetweb(#T, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0", "GET", "http:/^/foxtools.ru", "Proxy?page="+format(pade)))
{
text_edit0[0]="Парсинг прокси...";
//messagebox ("Proxy?page="+format(pade));
/*
if (fopen ("c:\5.txt", "w")!=0)
{//если открылся
fwrite(T);
fclose();//закрываем файл
}
start("c:\5.txt");
*/

string P[100];
string R="(?<=input type=^"checkbox^" class=^"ch^" value=^")[\d]+(\.)[\d]+(\.)[\d]+(\.)[\d]+(:)[\d]+(?=^" onclick=^"SelectProxy\(this\)^")";
int k=regexsearch(100, #P[0], T, R);
if (k==0)
{
messagebox ("Прокси нет");
return;
}
for (int n=0; n<k; n++)
{
//messagebox (P[n]);
text_edit0[0]=P[n];

if (sendgetweb(P[n], #T, "", "GET", "https:/^/kibor-bot.com", "forum"))
{
if (T!="")
{
//messagebox (IP[n]+":"+PORT[n]);
messagebox (P[n]+" - "+T);
if (fopen ("c:\5.txt", "w")!=0)
{//если открылся
fwrite("Рабочий прокси "+P[n]+"^r^n"+T);
fclose();//закрываем файл
}
start("c:\5.txt");
return;
}
}

}
}
pade++;
goto S;
}
  Ответить с цитированием
Старый 31.07.2020, 00:21   #80
 Сержант
Аватар для Stratego
 
Stratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака Норриса
Регистрация: 25.03.2013
Сообщений: 153
Популярность: 7326
Сказал(а) спасибо: 8
Поблагодарили 35 раз(а) в 17 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

Выполнение скриптов Python в Кибор

[Ссылки могут видеть только зарегистрированные пользователи. ]

Необходим интерпретатор Питона. Его можно установить самому или скачать нужные файлы [Ссылки могут видеть только зарегистрированные пользователи. ] В архиве 2 фала. python.exe и python38.dll и папки DLLs и Lib. Их надо поместить в папку с программой Кибор.

Этот скрипт показывает выполнение отдельных команд с выводом результата. Так же само можно выполнять полный скрипт с файла, без промежуточного вывода.

Код:
#define STARTF_USESHOWWINDOW 1
#define STARTF_USESTDHANDLES 256
#define SW_HIDE 0
#define INFINITE -1
external(INT, "CreatePipe", "CreatePipe", "kernel32.dll");
external(VOID, "ZeroMemory", "RtlZeroMemory", "kernel32.dll");
external(VOID, "GetStartupInfo", "GetStartupInfoA", "kernel32.dll");
external(INT, "CreateProcess", "CreateProcessA", "kernel32.dll");
external(INT, "ReadFile", "ReadFile", "kernel32.dll");
external(INT, "WriteFile", "WriteFile", "kernel32.dll");
external(INT, "TerminateProcess", "TerminateProcess", "kernel32.dll");
external(INT, "WaitForSingleObject", "WaitForSingleObject", "kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "kernel32.dll");

string path_python=pathfolder()+"python.exe -i";//Можно писать полный путь к интерпретатору Python если он не в папке с Кибор
int hReadPipe1, hWritePipe1, hReadPipe2, hWritePipe2;
char pi[16];
char W_buff[1000000];
string Rez;



if (StartPython())//Запустить интерпретатор python и наладить с ним связь PIPE
{
ReadPython();

WritePython("print(5+25)");// Выполнить в питоне "print(5+25)"
sleep(10);
Rez=ReadPython();// Получить ответ
messagebox (Rez);// Показать ответ

WritePython("print(2+5)");// Выполнить в питоне "print(2+5)"
sleep(10);
Rez=ReadPython();// Получить ответ
messagebox (Rez);// Показать ответ

WritePython("import webbrowser");// Выполнить в питоне "import webbrowser"
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("webbrowser.open(^'https:/^/google.com^', new=2)");// Выполнить в питоне "webbrowser.open('https://google.com', new=2)"
sleep(10);
Rez=ReadPython();// Получить ответ
messagebox (Rez);// Показать ответ

ClosePython();//Завершить работу с каналом и интерпретатором
}





function StartPython()
{
int ret;

//SECURITY_ATTRIBUTES
char sa[12];
initialarray(#sa[0], 0);
writeaddress(sizearray(sa), address(#sa[0]));
writeaddress(0, address(#sa[4]));
writeaddress(1, address(#sa[8]));

ret=CreatePipe(address(#hReadPipe1),address(#hWritePipe1),address(#sa[0]),0);
if (ret==0)return 0;
ret=CreatePipe(address(#hReadPipe2),address(#hWritePipe2),address(#sa[0]),0);
if (ret==0)return 0;

//STARTUPINFO
char si[68];
initialarray(#si[0], 0);
ZeroMemory(address(#si[0]),sizearray(si));
GetStartupInfo(address(#si[0]));
writeaddress(sizearray(si), address(#si[0]));
writeaddress(STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES, address(#si[44]));
writeaddress(SW_HIDE, address(#si[48]));
writeaddress(hReadPipe2, address(#si[56]));
writeaddress(hWritePipe1, address(#si[60]));
writeaddress(hWritePipe1, address(#si[64]));

//PROCESS_INFORMATION
initialarray(#pi[0], 0);
ret=CreateProcess(0,path_python,0,0,1,0,0,0,address(#si[0]),address(#pi[0]));
if (ret==0)return 0;

return 1;
}

function WritePython(string COMMAND)
{
int lBytesWrite;
WriteFile(hWritePipe2,COMMAND+"^n", size(COMMAND+"^n"), address(#lBytesWrite), 0);
}

function ReadPython()
{
int readed;
int W_Ta=0;
  while(ReadFile(hReadPipe1, address(#W_buff[W_Ta]), 1024 , address(#readed), 0)==1)
  {
  W_Ta=W_Ta+readed;
  if (W_Ta>3){if (W_buff[W_Ta-2]=='>' && W_buff[W_Ta-3]=='>' && W_buff[W_Ta-4]=='>') {W_Ta=W_Ta-4; break;}}
  if(readed!=1024) break;
  }
W_buff[W_Ta]=0;
return format(#W_buff[0]);
}

function ClosePython()
{
TerminateProcess(addressi(address(#pi[0])), 0);
WaitForSingleObject(addressi(address(#pi[0])), INFINITE );
CloseHandle(addressi(address(#pi[0])));
CloseHandle(addressi(address(#pi[4])));
CloseHandle(hReadPipe1);
CloseHandle(hWritePipe1);
CloseHandle(hReadPipe2);
CloseHandle(hWritePipe2);
}

Последний раз редактировалось Stratego; 31.07.2020 в 17:05.
  Ответить с цитированием
Старый 01.08.2020, 02:11   #81
 Сержант
Аватар для Stratego
 
Stratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака Норриса
Регистрация: 25.03.2013
Сообщений: 153
Популярность: 7326
Сказал(а) спасибо: 8
Поблагодарили 35 раз(а) в 17 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

Пример как использовать Selenium для автоматизации действий в браузере.
Используется Python. В дальнейшем планируется его интегрировать в Кибор.
Для работы необходимо разместить в папке с Кибор файлы с [Ссылки могут видеть только зарегистрированные пользователи. ]. Это Python с Selenium.

[Ссылки могут видеть только зарегистрированные пользователи. ]

[Ссылки могут видеть только зарегистрированные пользователи. ]

Скрипт запускает браузер Firefox
После запуска браузера переходит на поисковую систему Гугл
Находит по ID элемент поля ввода запроса
Вводит туда запрос "Kibor"
Нажимает Enter
В результатах поиска находит ссылку с частичным текстом kibor-bot.com
Переходит по ней на сайт [Ссылки могут видеть только зарегистрированные пользователи. ]

Код:
#define STARTF_USESHOWWINDOW 1
#define STARTF_USESTDHANDLES 256
#define SW_HIDE 0
#define INFINITE -1
external(INT, "CreatePipe", "CreatePipe", "kernel32.dll");
external(VOID, "ZeroMemory", "RtlZeroMemory", "kernel32.dll");
external(VOID, "GetStartupInfo", "GetStartupInfoA", "kernel32.dll");
external(INT, "CreateProcess", "CreateProcessA", "kernel32.dll");
external(INT, "ReadFile", "ReadFile", "kernel32.dll");
external(INT, "WriteFile", "WriteFile", "kernel32.dll");
external(INT, "TerminateProcess", "TerminateProcess", "kernel32.dll");
external(INT, "WaitForSingleObject", "WaitForSingleObject", "kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "kernel32.dll");

string path_python=pathfolder()+"python.exe -i";//Можно писать полный путь к интерпретатору Python если он не в папке с Кибор
string path_browser="C:\Program Files (x86)\Mozilla Firefox\firefox.exe";//Путь к браузеру Firefox

int hReadPipe1, hWritePipe1, hReadPipe2, hWritePipe2;
char pi[16];
char W_buff[1000000];
string Rez;

/*
Скрипт Python
Работает через Selenium драйвер браузера
Скрипт запускает браузер Firefox
После запуска браузера переходит на поисковую систему Гугл
Находит по ID элемент поля ввода запроса
Вводит туда запрос "Kibor"
Нажимает Enter
В результатах поиска находит ссылку с частичным текстом kibor-bot.com
Переходит по ней на сайт [Ссылки могут видеть только зарегистрированные пользователи. ]
*/

/*
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
web = webdriver.Firefox(executable_path=r'C:\Program Files (x86)\Kibor\webdriver\geckodriver.exe', firefox_binary=r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
web.get('https://www.google.com')
time.sleep(1);
element = web.find_element_by_name('q')
element.send_keys("Kibor")
time.sleep(1);
element.send_keys(Keys.ENTER)
time.sleep(3);
web.find_element_by_partial_link_text("kibor-bot.com").click()
*/


if (StartPython())//Запустить интерпретатор python и наладить с ним связь PIPE
{
ReadPython();

WritePython("import time");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("from selenium import webdriver");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("from selenium.webdriver.common.keys import Keys");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("web = webdriver.Firefox(executable_path=r^'"+pathfolder()+"\webdriver\geckodriver.exe^', firefox_binary=r^'"+path_browser+"^')");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("web.get(^'https:/^/www.google.com^')");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("time.sleep(1)");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("element = web.find_element_by_name(^'q^')");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("element.send_keys(^"Kibor^")");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("time.sleep(1)");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("element.send_keys(Keys.ENTER)");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("time.sleep(3)");
sleep(10);
Rez=ReadPython();// Получить ответ

WritePython("web.find_element_by_partial_link_text(^"kibor-bot.com^").click()");
sleep(10);
Rez=ReadPython();// Получить ответ

ClosePython();//Завершить работу с каналом и интерпретатором
}





function StartPython()
{
int ret;

//SECURITY_ATTRIBUTES
char sa[12];
initialarray(#sa[0], 0);
writeaddress(sizearray(sa), address(#sa[0]));
writeaddress(0, address(#sa[4]));
writeaddress(1, address(#sa[8]));

ret=CreatePipe(address(#hReadPipe1),address(#hWritePipe1),address(#sa[0]),0);
if (ret==0)return 0;
ret=CreatePipe(address(#hReadPipe2),address(#hWritePipe2),address(#sa[0]),0);
if (ret==0)return 0;

//STARTUPINFO
char si[68];
initialarray(#si[0], 0);
ZeroMemory(address(#si[0]),sizearray(si));
GetStartupInfo(address(#si[0]));
writeaddress(sizearray(si), address(#si[0]));
writeaddress(STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES, address(#si[44]));
writeaddress(SW_HIDE, address(#si[48]));
writeaddress(hReadPipe2, address(#si[56]));
writeaddress(hWritePipe1, address(#si[60]));
writeaddress(hWritePipe1, address(#si[64]));

//PROCESS_INFORMATION
initialarray(#pi[0], 0);
ret=CreateProcess(0,path_python,0,0,1,0,0,0,address(#si[0]),address(#pi[0]));
if (ret==0)return 0;

return 1;
}

function WritePython(string COMMAND)
{
int lBytesWrite;
WriteFile(hWritePipe2,COMMAND+"^n", size(COMMAND+"^n"), address(#lBytesWrite), 0);
}

function ReadPython()
{
int readed;
int W_Ta=0;
while(ReadFile(hReadPipe1, address(#W_buff[W_Ta]), 1024 , address(#readed), 0)==1)
{
W_Ta=W_Ta+readed;
if (W_Ta>3){if (W_buff[W_Ta-2]=='>' && W_buff[W_Ta-3]=='>' && W_buff[W_Ta-4]=='>') {W_Ta=W_Ta-4; break;}}
if(readed!=1024) break;
}
W_buff[W_Ta]=0;
return format(#W_buff[0]);
}

function ClosePython()
{
TerminateProcess(addressi(address(#pi[0])), 0);
WaitForSingleObject(addressi(address(#pi[0])), INFINITE );
CloseHandle(addressi(address(#pi[0])));
CloseHandle(addressi(address(#pi[4])));
CloseHandle(hReadPipe1);
CloseHandle(hWritePipe1);
CloseHandle(hReadPipe2);
CloseHandle(hWritePipe2);
}
  Ответить с цитированием
Старый 03.08.2020, 13:56   #82
 Сержант
Аватар для Stratego
 
Stratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака НоррисаStratego троюродный дядя Чака Норриса
Регистрация: 25.03.2013
Сообщений: 153
Популярность: 7326
Сказал(а) спасибо: 8
Поблагодарили 35 раз(а) в 17 сообщениях
 
По умолчанию Re: Интегрированная среда разработки ботов

[Ссылки могут видеть только зарегистрированные пользователи. ]

Возможно выполнение скрипта с файла, вызов функций Питона с файлов.
Так же возможно выполнение отдельных команд Питона в коде Кибор и взаимный обмен данными.
Скрипт Питона можно запускать синхронно и асинхронно с выполнением скрипта Кибор.

Описание новых функций:
Цитата:
runpython()

Запускает интерпретатор Питон.
Возвращает 1 при удачном запуске
0 при неудаче.

Цитата:
closepython()

Завершает работу с интерпретатором.
Возвращает 1 если завершил работу.
0 если интерпретатор не был запущен.

Цитата:
wpython("print(^'yes^')");

Отправляет Питону команду print('yes') и нажимает Ентер. Не синхронная. Не ждет окончания команды.
Возвращает 1 при удаче.

Цитата:
rpython()

Считывает последний ответ с Питона.
Возвращает string.
То есть если перед этим мы отправили print('yes'), то прочитаем yes
Данная функция может считать ответ только один раз. При повторных попытках считывания или если Питон не готов выдать ответ (выполняет какую то задачу) эта функция вернет ERROR_READ_PYTHON

Цитата:
wrpython("print(^'yes^')");

Посылает Питону print('yes') и сразу же получает ответ. Возвращает string. В данном случае yes.. Синхронная. После отправки ждет отработки кода и получения ответа.
Синхронность работы не распространяется на вызов Питон функций.

Цитата:
fpython("C:\Program Files (x86)\Kibor\script.txt")

Считывает скрипт Питона с файла и выполняет его. Ответ, если есть необходимость надо получать так же как и в случае wpython функцией rpython
В файле допускаются функции и их вызов.
Перевод срока в файле является Ентером.

[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Среда разработки для HTML верстальщика Mr.Alexander Вопросы и ответы, обсуждения 1 13.01.2013 22:40
Цикл разработки Майнкрафта joker_fist Общение на темы MineCraft 1 13.11.2012 20:08
[Файл] Программа для разработки макросов Drakus Скрипты и прочий софт для Point Blank 0 21.03.2011 17:21
СС (судная среда) Corsar2232 Общение и обсуждение, архив Point Blank 12 18.05.2010 16:02

www.webmoney.ru
Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 01:55.

Пишите нам: forum@zhyk.ru
Copyright © 2020 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net