Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Бот для онлайн игрухи. (https://forum.antichat.xyz/showthread.php?t=78182)

blood-looney 23.07.2008 15:55

Бот для онлайн игрухи.
 
Создание бота на php для он-лайн игры
я думаю не мне одному новичку будет это интересно. Спасибо всем помогающим!
------------------------------------------
Интересуют примеры ботов.
Полный новичок.
Мои представления:
Хочу написать на php. Бот должен аутефицироваться в игре, ходить по локациям : переход к новой локацией осуществляется: world.php?d=1&r=(номер локации)
атаковать противника world.php?a=am&mid=(номер противника)
а дальше как я понимаю нужен парсер, чтобы действовать во время боя.
Вообщем хотяб линками посоветуйте где что почитать можно =)

mouse.pro 23.07.2008 16:10

Элементарно почитай для начала о функциях php, легче станет

mr.The 23.07.2008 16:22

Цитата:

Элементарно почитай для начала о функциях php, легче станет
+1.

ТС, там парсить многоч чего нужно будет. почитай про регулярные выражения и сокеты в php, думаю нагуглить сможеш сам.

blood-looney 23.07.2008 16:28

ок, буду разбираться

Carnivore.Sys 23.07.2008 16:30

Цитата:

Сообщение от mouse.pro
Элементарно почитай для начала о функциях php, легче станет

Да без этого уж никуда)))

blood-looney 24.07.2008 09:43

окей окей уже разбираюсь
примерами реализации не поделитесь? кто нибудь писал? на что обратить внимание....

Rebz 24.07.2008 09:46

обрати внимание на то, что если это крупная онлайн игруля, то там наверняка предотвращают подобного рода баловство с ботами. Иначе сам подумай.. наверняка не ты первый, не ты последний, кому подобная идея пришла в голову -).

blood-looney 24.07.2008 12:10

нет, не крупная
интересен сам процесс

mr.The 24.07.2008 12:13

Rebz, хооршую эмуляцию работы пользователя можно сделать всегда)

Цитата:

примерами реализации не поделитесь? кто нибудь писал? на что обратить внимание....
я не писал. но по опыту написания автокликеров скажу: обязательно делай рандомные паузы между запросами на сервер. 5-30 секунд думаю подойдёт. в некоторых случаях нужно загружить картинки со страницы. я видел подобного рода проверку.
незвбывай проверять не установила ли страница куки. и передавать их дальше. и самостоятельно разберись со всеми Java скриптами на страницах.

blood-looney 27.07.2008 02:49

Нужна Ваша помощь.
Вот всё что наклипал. Делаю на примерах.
Хочу для начала пройти авторизацию, и перейти по локации.
Может быть в регулярном выражении preg_match дело? Не совсем понимаю как принять куки и проверить их.

Перс нулённый chi прописан.


PHP код:

<?
error_reporting
(0); 
set_time_limit(0); 
# Переменные 
$user_agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"

$name strip_tags($_POST['name'], ""); 
$password strip_tags($_POST['password'], ""); 

?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
<title>Бот</title> 
</head> 
<?php 
if ($_POST['submit']) { 
# соедининение с ксином
$fp=fsockopen("xin.ru",80,$errno,$errstr,10); 
if (!
fp) {die();} 
# Авторизуемся 
$out "GET /login.php?name=chi&password=123456 HTTP/1.0\r\n"
$out .= "Host: xin.ru\r\n"
$out .= "User-Agent: ".$user_agent."\r\n"
$out .= "Cookie: income=1\r\n"
$out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n"
fwrite($fp,$out); 
$ans=''
while(!
feof($fp))  

    
$ans.=fgets($fp,128); 

fclose($fp); 
# вытаскивание куков 
preg_match_all("/Set-Cookie\: (\S*)=(\S*)(|;)/"$res$cookie); 
    for ( 
$i=0$i<count($cookie[0]); $i++ ) 
    { 
        
$cookie[0][$i] = str_replace("Set-Cookie: """$cookie[0][$i]); 

        if ( !
strpos($cookies$cookie[0][$i]) ) 
        { 
            
$cookies .= $cookie[0][$i].' '
        } 
    } 
# новое соединение 
for($i=$begin;$i<$end;$i++) { 
$fp=fsockopen("xin.ru",80,$errno,$errstr,10); 
$out  "GET /world.php?d=3&r=18 HTTP/1.0\r\n";   
$out .= "Host: xin.ru\r\n";  
$out .= "User-Agent: ".$user_agent."\r\n";  
$out .= "Cookie: ".$cookies."\r\n\r\n"
fwrite($fp$out); 
$ans=''
while(!
feof($fp)) 

    
$ans.=fgets($fp,128); 

?> 
</html>



Время: 08:14