Więc tak skrypt ten ma na celu pobieranie informacji o danym koncie z gry i tworzenie aktualnej sygnaturki na forum.
zanim pokaże skrypt który posiadam na swoim serwerze dam wcześniej link do postu autora gdzie został on przedstawiony, może coś źle zrobiłem lub tp.
Wiec tak link do postu autora znajdziecie tutaj :Dynamiczna sygnaturka
a oto moja praca, no nie do końca moja ale przerobione dla mojej strony:
Pierwszy plik znajdujący się w głównym katalogu wg instrukcji:
Kod
<?php
$page['url'] = 'http://diabloteam.pl"/"';
$sciezka = "signatures/";
$lista=array();
$katalog = opendir($sciezka);
while ($plik = strtolower(readdir($katalog))) {
$sa = explode('.',$plik);
if (($plik<>".")&&($plik<>"..")&&($sa[1]=='jpg')||($sa[1]=='png')) if(!is_dir($sciezka.$plik))
$lista[]=$plik;
}
closedir($katalog);
echo '<h2>Wybierz sygnaturkę: </h2>';
$w = count($lista);
for($s=0;$s<$w;$s++) {;
echo '<p><a href="index.php?add='.$lista[$s].'" title="'.$lista[$s].'"><img src="signatures/'.$lista[$s].'" alt="'.$lista[$s].'"></a></p>';
}
if(isset($_GET['add'])) {
$add = htmlspecialchars(addslashes($_GET['add']));
echo 'Poprawnie wybrałeś sygnaturkę. Teraz wpisz nick swojej postaci: ';
echo '<p>';
echo '<form method="post">';
echo '<input type="text" name="nick" />';
echo '<input type="hidden" name="signature" value="'.$add.'" />';
echo '<input type="submit" value="Generuj" />';
echo '</form>';
echo '</p>';
if(isset($_POST['nick'])) {
if(empty($_POST['signature']) || empty($_POST['nick'])) {
echo 'Wypełnij wszystkie pola.';
}
else {
mysql_connect('localhost','diabxxxx','topsecrect') or die(mysql_error());
mysql_select_db('signatures') or die(mysql_error());
$nick = stripslashes(addslashes($_POST['nick']));
$nick = str_replace(' ','+',$nick);
$zmienna = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.$nick.'');
preg_match('/Name:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik1);
if($wynik1[1] != $_POST['nick']) {
echo 'Taka postać nie istnieje.';
} else {
echo 'Sygnaturka została wygenerowana dla postaci: <h2>'.stripslashes(addslashes($_POST['nick'])).'</h2>';
for ($i=0; $i<9; $i++) {
$id = rand(0, 9999);
}
echo '<p>Oto twoja sygnaturka: <a href="signatures/signature.php?id='.intval($id).'" target="_blank">'.$page['url'].'signatures/signature.php?id='.intval($id).'</a></p>';
echo '<br />Adres bezpośredni: <p><input type="text" value="'.$page['url'].'signatures/signature.php?id='.intval($id).'" style="width: 350px;" readonly /></p>';
echo '<br />BBcode na forum: <p><input type="text" value="
[img]'.$page['url'].'signatures/signature.php?id='.intval($id).'[/img]" style="width: 350px;
" readonly /></p>';
echo '<br />Html: <p><input type="text" value="
<img src="'.$page['url'].'signatures/signature.php?id='.intval($id).'" alt="'.$page['url'].'" />" style="width: 350px;
" alt="Test" />" readonly /></p>';
if(!mysql_query('INSERT INTO signatures VALUES('.$id.',"'.mysql_real_escape_string($_POST['nick']).'","'.mysql_real_escape_string($_POST['signature']).'")')) {
echo 'Error in query:<br />';
echo mysql_error();
}
}
mysql_close();
}
}
}
?>
$page['url'] = 'http://diabloteam.pl"/"';
$sciezka = "signatures/";
$lista=array();
$katalog = opendir($sciezka);
while ($plik = strtolower(readdir($katalog))) {
$sa = explode('.',$plik);
if (($plik<>".")&&($plik<>"..")&&($sa[1]=='jpg')||($sa[1]=='png')) if(!is_dir($sciezka.$plik))
$lista[]=$plik;
}
closedir($katalog);
echo '<h2>Wybierz sygnaturkę: </h2>';
$w = count($lista);
for($s=0;$s<$w;$s++) {;
echo '<p><a href="index.php?add='.$lista[$s].'" title="'.$lista[$s].'"><img src="signatures/'.$lista[$s].'" alt="'.$lista[$s].'"></a></p>';
}
if(isset($_GET['add'])) {
$add = htmlspecialchars(addslashes($_GET['add']));
echo 'Poprawnie wybrałeś sygnaturkę. Teraz wpisz nick swojej postaci: ';
echo '<p>';
echo '<form method="post">';
echo '<input type="text" name="nick" />';
echo '<input type="hidden" name="signature" value="'.$add.'" />';
echo '<input type="submit" value="Generuj" />';
echo '</form>';
echo '</p>';
if(isset($_POST['nick'])) {
if(empty($_POST['signature']) || empty($_POST['nick'])) {
echo 'Wypełnij wszystkie pola.';
}
else {
mysql_connect('localhost','diabxxxx','topsecrect') or die(mysql_error());
mysql_select_db('signatures') or die(mysql_error());
$nick = stripslashes(addslashes($_POST['nick']));
$nick = str_replace(' ','+',$nick);
$zmienna = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.$nick.'');
preg_match('/Name:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik1);
if($wynik1[1] != $_POST['nick']) {
echo 'Taka postać nie istnieje.';
} else {
echo 'Sygnaturka została wygenerowana dla postaci: <h2>'.stripslashes(addslashes($_POST['nick'])).'</h2>';
for ($i=0; $i<9; $i++) {
$id = rand(0, 9999);
}
echo '<p>Oto twoja sygnaturka: <a href="signatures/signature.php?id='.intval($id).'" target="_blank">'.$page['url'].'signatures/signature.php?id='.intval($id).'</a></p>';
echo '<br />Adres bezpośredni: <p><input type="text" value="'.$page['url'].'signatures/signature.php?id='.intval($id).'" style="width: 350px;" readonly /></p>';
echo '<br />BBcode na forum: <p><input type="text" value="
[img]'.$page['url'].'signatures/signature.php?id='.intval($id).'[/img]" style="width: 350px;
" readonly /></p>';
echo '<br />Html: <p><input type="text" value="
<img src="'.$page['url'].'signatures/signature.php?id='.intval($id).'" alt="'.$page['url'].'" />" style="width: 350px;
" alt="Test" />" readonly /></p>';
if(!mysql_query('INSERT INTO signatures VALUES('.$id.',"'.mysql_real_escape_string($_POST['nick']).'","'.mysql_real_escape_string($_POST['signature']).'")')) {
echo 'Error in query:<br />';
echo mysql_error();
}
}
mysql_close();
}
}
}
?>
Drugi plik znajdujący się w katalogu signatures wg instrukcji:
Kod
<?php
$id = intval($_GET['id']);
mysql_connect('localhost','diaxxxx','topsecrect') or die(mysql_error());
mysql_select_db('signatures') or die(mysql_error());
$sig_query = mysql_query("SELECT nick,signature FROM signatures WHERE id = $id") or die('<strong>Blad mysql</strong>: '.mysql_error());
if(!mysql_num_rows($sig_query)) {
echo 'Taka sygnatura nie istnieje. <a href="signature.php?create">Utwórz swoją własną</a>';
} else {
$sig = mysql_fetch_array($sig_query);
$nick = str_replace(' ','+',$sig['nick']);
$zmienna = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.$nick.'');
preg_match('/Name:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik1);
preg_match('/Level:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik2);
preg_match('/Profession:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik3);
preg_match('/Sex:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik4);
preg_match('/Account*Status:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik5);
preg_match('/World:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik6);
preg_match('/Residence:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik7);
preg_match('/<td><nobr>Achievement Points:<\/nobr><\/td><td>(.+)<\/td>/Ui', $zmienna, $wynik8);
$avatar = imagecreatefrompng( ''.$sig['signature'].'' );
$bialy = imagecolorallocate( $avatar, 255, 255, 255 );
$czerwony = imagecolorallocate( $avatar, 255, 0, 0 );
$zielony = imagecolorallocate( $avatar, 0, 255, 0 );
$lewa = imagecolorallocate( $avatar, 255, 255, 0 );
imagestring( $avatar, 4, 3, 2, 'Name', $lewa );
imagestring( $avatar, 4, 100, 2, $wynik1[1], $bialy );
imagestring( $avatar, 2, 3, 20, 'Level', $lewa );
imagestring( $avatar, 2, 100, 20, $wynik2[1], $bialy );
imagestring( $avatar, 2, 3, 38, 'Profession', $lewa );
imagestring( $avatar, 2, 100, 38, $wynik3[1], $bialy );
imagestring( $avatar, 2, 3, 56, 'World', $lewa );
imagestring( $avatar, 2, 100, 56, $wynik6[1], $bialy );
imagestring( $avatar, 2, 3, 74, 'Sex', $lewa );
imagestring( $avatar, 2, 100, 74, $wynik4[1], $bialy );
imagestring( $avatar, 2, 3, 92, 'Residence', $lewa );
imagestring( $avatar, 2, 100, 92, $wynik7[1], $bialy );
imagestring( $avatar, 2, 3, 120, 'Achiev. Points', $lewa );
imagestring( $avatar, 2, 100, 120, $wynik8[1], $bialy );
if($wynik5[1] == 'Free Account') {
imagestring( $avatar, 2, 100, 138, $wynik5[1], $czerwony );
} else {
imagestring( $avatar, 2, 100, 138, $wynik5[1], $zielony );
}
header( 'Content-type: image/png' );
imagepng( $avatar );
imagedestroy( $avatar );
}
if(isset($_GET['create'])) {
?>
<?php
}
?>
$id = intval($_GET['id']);
mysql_connect('localhost','diaxxxx','topsecrect') or die(mysql_error());
mysql_select_db('signatures') or die(mysql_error());
$sig_query = mysql_query("SELECT nick,signature FROM signatures WHERE id = $id") or die('<strong>Blad mysql</strong>: '.mysql_error());
if(!mysql_num_rows($sig_query)) {
echo 'Taka sygnatura nie istnieje. <a href="signature.php?create">Utwórz swoją własną</a>';
} else {
$sig = mysql_fetch_array($sig_query);
$nick = str_replace(' ','+',$sig['nick']);
$zmienna = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.$nick.'');
preg_match('/Name:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik1);
preg_match('/Level:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik2);
preg_match('/Profession:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik3);
preg_match('/Sex:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik4);
preg_match('/Account*Status:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik5);
preg_match('/World:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik6);
preg_match('/Residence:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik7);
preg_match('/<td><nobr>Achievement Points:<\/nobr><\/td><td>(.+)<\/td>/Ui', $zmienna, $wynik8);
$avatar = imagecreatefrompng( ''.$sig['signature'].'' );
$bialy = imagecolorallocate( $avatar, 255, 255, 255 );
$czerwony = imagecolorallocate( $avatar, 255, 0, 0 );
$zielony = imagecolorallocate( $avatar, 0, 255, 0 );
$lewa = imagecolorallocate( $avatar, 255, 255, 0 );
imagestring( $avatar, 4, 3, 2, 'Name', $lewa );
imagestring( $avatar, 4, 100, 2, $wynik1[1], $bialy );
imagestring( $avatar, 2, 3, 20, 'Level', $lewa );
imagestring( $avatar, 2, 100, 20, $wynik2[1], $bialy );
imagestring( $avatar, 2, 3, 38, 'Profession', $lewa );
imagestring( $avatar, 2, 100, 38, $wynik3[1], $bialy );
imagestring( $avatar, 2, 3, 56, 'World', $lewa );
imagestring( $avatar, 2, 100, 56, $wynik6[1], $bialy );
imagestring( $avatar, 2, 3, 74, 'Sex', $lewa );
imagestring( $avatar, 2, 100, 74, $wynik4[1], $bialy );
imagestring( $avatar, 2, 3, 92, 'Residence', $lewa );
imagestring( $avatar, 2, 100, 92, $wynik7[1], $bialy );
imagestring( $avatar, 2, 3, 120, 'Achiev. Points', $lewa );
imagestring( $avatar, 2, 100, 120, $wynik8[1], $bialy );
if($wynik5[1] == 'Free Account') {
imagestring( $avatar, 2, 100, 138, $wynik5[1], $czerwony );
} else {
imagestring( $avatar, 2, 100, 138, $wynik5[1], $zielony );
}
header( 'Content-type: image/png' );
imagepng( $avatar );
imagedestroy( $avatar );
}
if(isset($_GET['create'])) {
?>
<?php
}
?>
Wyniki mojej pracy znajdziecie na:moja strona
niestety wywala mi błąd że dany nick nie istnieje np nick Marek, ale jak sprawdzimy to na stronie tej gry "tibia" podany nick jest zarejestrowany, więc powinno przejść dalej do tworzenia sygnatury, lecz tak nie jest.
Jeśli ktoś z was dałby radę przerobić mi ten skrypt by działał byłbym bardzo wdzięczny

dla szczegółów podam że nie jest mi potrzebna sygnaturka akurat pod tą grę tylko pod Combat Arms
wiec będzie i tak trzeba przerobić ten skrypt by pobierał inne dane jednak zasada powinna być podobna, ( chyba że ktoś się skusi poprawić mi odrazu pod tą grę )
Kolejne moje pytanie to: Czy owy skrypt aktualizuje sygnaturkę automatycznie np co 5 h lub tp. jeśli nie to czy da rade tak zrobić.
i następne pytanie : czy da rade określać rozmiar i kolor czcionki przy tworzeniu sygnaturki np poprzez wybór czcionki w sygnaturce
i ostatnie: jak zrobić by podczas robienia sygnaturki skrypt pytał się które dane mają być wyświetlane ( np czy ma pokazać w sygnaturce nick, klan lub tp )
Wiem że sporo jest pracy przy tym jednaj za bardzo raczkuje w tym temacie by zrobić to sam i proszę was o pomoc