Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut] Jak zrobić sugnaturę w PHP


Propagandhi

Rekomendowane odpowiedzi

Opublikowano

Dopieściłem to na szybko, także może wizualnie cudne nie jest, ale nie chodzi o stronę graficzną, tylko o kod takiej sygny i to co robi za nas:

 

sygnatura5.png

 

Statystki naszej postaci pobiera sobie ze strony CA. Nie wiem dokładnie od jakiego levelu w grze nasze statystki są udostępniane w sieci, także sprawdźcie to jeszcze wcześniej choćby tu: Rankingi Graczy. Jeśli jesteśmy na liście, to możemy coś takiego zmontować.

 

Co nam będzie potrzebne:

- konto www z obsługą PHP i możliwością edycji pliku .htaccess: np http://www.pdg.pl

- wysoce zaawansowany edytor php z możliwością zapisywania wyników do pliku png: np windowsowy notatnik

 

Pierwsze co musimy zrobić po założeniu konta na pdg, to stworzyć nasz plik .htaccess. Jak się zalogujecie wchodzicie w menadżera plików DirectAdmin na stronie, do katalogu public_html, potem katalogu z nazwą domeny (u mnie np propagandhi.pdg.pl)i znów do public_html. Możnaby działać w tym katalogu, ale ja załozyłem w tym miejscu inny o nazwie mpc.

 

dd9d5b4b04b49088med.png

 

W katalogu mpc tworzymy plik .htaccess a w jego kodzie wpisujemy taką linijke:

 

AddType application/x-httpd-php .png AddType application/x-httpd-php .jpg AddType application/x-httpd-php .gif

 

Pozwala ona zapisywać kod php w postaci grafiki.

 

W notatniku wklepujemy coś takiego:

 

<?
$wysokosc=100;
$szerokosc=600;
$obraz=ImageCreateTrueColor($szerokosc, $wysokosc);
$bialy=ImageColorAllocate($obraz, 255, 255, 255);
$niebieski=ImageColorAllocate($obraz, 0, 0, 0);
$znaczek = imagecreatefrompng('CombatArmsZnak.png');

$plik=file("http://combatarms.nexoneu.com/Modules/Community/Profile/Profile.aspx?NickName=twoj_nick");
//kd
$kdstr = $plik[65];
$tablica = explode("<dd>", $kdstr);
$kd = explode("</dd>", $tablica[1]);
//ranking
$ranstr = $plik[63];
$tablica2 = explode("<dd>", $ranstr);
$ran = explode("</dd>", $tablica2[1]);
//doswiadczenie
$dosstr = $plik[67];
$tablica3 = explode("<dd>", $dosstr);
$dos = explode("</dd>", $tablica3[1]);

ImageFill($obraz, 0, 0, $niebieski);
ImageString($obraz, 3, 10, 10, "Gracz: twoj_nick", $bialy);
ImageString($obraz, 3, 10, 30, "Współczynnik K/D: ".$kd[0]."", $bialy);
ImageString($obraz, 3, 10, 50, "Ranking: ".$ran[0]."", $bialy);
ImageString($obraz, 3, 10, 70, "Doswiadczenie: ".$dos[0]."", $bialy);

$marge_right = 10; // marginesy znaczka
$marge_bottom = 1;
$sx = imagesx($znaczek); // wymiary znaczka
$sy = imagesy($znaczek);

imagecopy($obraz, $znaczek, imagesx($obraz) - $sx - $marge_right, imagesy($obraz) - $sy - $marge_bottom, 0, 0, imagesx($znaczek), 

imagesy($znaczek));

//zapisz i zwolnij pamięć
Header('Content-type: image/png');
ImagePng($obraz, $syg);
ImageDestroy($obraz);
?>

 

Przy linijce:

$plik=file("http://combatarms.nexoneu.com/Modules/Community/Profile/Profile.aspx?NickName=twoj_nick"); musicie zmienić nick na swój w adresie.

 

Taki plik zapisujemy w notatniku do formatu *.png i wysyłamy na serwer do katalogu ze zmodyfikowanym plikiem .htaccess.

 

Ten znaczek w sygnaturze:

 

CombatArmsZnak.png

 

jest importowany z innego pliku i nakładany na czarny prostokąt, który tworzymy za pomocą php, dlatego też trzeba go wrzucić na serwer, albo podać ścieżkę w postaci adresu.

 

$wysokosc=100; // to są parametry tego prostokąta

$szerokosc=600;

 

$znaczek = imagecreatefrompng('CombatArmsZnak.png'); //zmienna przechowująca info o znaczku

 

ImageString($obraz, 3, 10, 10, "Gracz: twoj_nick", $bialy); //tworzy napis na naszym prostokacie; 3 -rozmiar czcionki, 10,10 - współrzedne położenia (x,y) napisu od górnego, lewego rogu; "Gracz: twoj_nick" - tekst do wyświetlenia; $bialy - kolor czcionki, zdefiniowany wcześniej jako $bialy=ImageColorAllocate($obraz, 255, 255, 255);

 

 

Jak wyszukiwać statystyki:

Na przykładzie K/D ratio

 

//kd

$kdstr = $plik[65];

$tablica = explode("<dd>", $kdstr);

$kd = explode("</dd>", $tablica[1]);

 

$kdstr = $plik[65]; odczytuje 65'ą linjke z pliku pod adresem http://combatarms.nexoneu.com/NXEU.aspx?PART=/Community/Profile&NickName=twoj_nick

 

Jak edytujecie plik, to możecie szukać innych statystyk. Jest ich tam cała masa. Grunt, żeby podać poprawną linijkę.

 

Odczytana linijka wyglada tak: <dd>1.39</dd>

Musimy pozbyć się znaczników <dd> i </dd>

$tablica = explode("<dd>", $kdstr); rozdziela nam linijke przy pomocy <dd> i zapisuje oba elemety do tablicy

$kd = explode("</dd>", $tablica[1]); drugi element w tablicy (tablica[1]), czyli to zostało na prawo po podzieleniu przez <dd> dzielimy jeszcze raz za pomocą </dd>

 

ImageString($obraz, 3, 10, 30, "Współczynnik K/D: ".$kd[0]."", $bialy); w stringu wyświetlamy teraz pierwszy element tablicy kd ($kd[0]), czyli to co zostało po podzieleniu na lewo od </dd> - nasze K/D

 

To tyle. Jak coś nie jest jasne, to pytać. Jak znajdę więcej czasu, to pokaże parę innych sztuczek z php.

Gość KrZySiEqq xDD
Opublikowano

Niezły poradnik napewno się przyda.

  • 3 tygodnie później...
  • 7 miesięcy temu...
  • 2 miesiące temu...
  • 1 miesiąc temu...
  • 1 miesiąc temu...
  • 1 miesiąc temu...
Opublikowano

mi to nie działa :/

", $kdstr); $kd = explode("", $tablica[1]); //ranking $ranstr = $plik[63]; $tablica2 = explode("
   ", $ranstr); $ran = explode("", $tablica2[1]); //doswiadczenie $dosstr = $plik[67]; $tablica3 = explode("
   ", $dosstr); $dos = explode("", $tablica3[1]); ImageFill($obraz, 0, 0, $niebieski); ImageString($obraz, 3, 10, 10, "Gracz: twoj_nick", $bialy); ImageString($obraz, 3, 10, 30, "Współczynnik K/D: ".$kd[0]."", $bialy); ImageString($obraz, 3, 10, 50, "Ranking: ".$ran[0]."", $bialy); ImageString($obraz, 3, 10, 70, "Doswiadczenie: ".$dos[0]."", $bialy); $marge_right = 10; // marginesy znaczka $marge_bottom = 1; $sx = imagesx($znaczek); // wymiary znaczka $sy = imagesy($znaczek); imagecopy($obraz, $znaczek, imagesx($obraz) - $sx - $marge_right, imagesy($obraz) - $sy - $marge_bottom, 0, 0, imagesx($znaczek), imagesy($znaczek)); //zapisz i zwolnij pamięć Header('Content-type: image/png'); ImagePng($obraz, $syg); ImageDestroy($obraz); ?>

Szukam grafików, questerów Metin2, koderów www, skrypterów, programistów visual c++, c++.
Techników od bazy danych, systemów linuksowych( głównie FreeBSD).

[email protected] - > Pisać - > Rozpatrzę propozycje :)

Opublikowano

mi to nie działa :/

", $kdstr); $kd = explode("", $tablica[1]); //ranking $ranstr = $plik[63]; $tablica2 = explode("
", $ranstr); $ran = explode("", $tablica2[1]); //doswiadczenie $dosstr = $plik[67]; $tablica3 = explode("
", $dosstr); $dos = explode("", $tablica3[1]); ImageFill($obraz, 0, 0, $niebieski); ImageString($obraz, 3, 10, 10, "Gracz: twoj_nick", $bialy); ImageString($obraz, 3, 10, 30, "Współczynnik K/D: ".$kd[0]."", $bialy); ImageString($obraz, 3, 10, 50, "Ranking: ".$ran[0]."", $bialy); ImageString($obraz, 3, 10, 70, "Doswiadczenie: ".$dos[0]."", $bialy); $marge_right = 10; // marginesy znaczka $marge_bottom = 1; $sx = imagesx($znaczek); // wymiary znaczka $sy = imagesy($znaczek); imagecopy($obraz, $znaczek, imagesx($obraz) - $sx - $marge_right, imagesy($obraz) - $sy - $marge_bottom, 0, 0, imagesx($znaczek), imagesy($znaczek)); //zapisz i zwolnij pamięć Header('Content-type: image/png'); ImagePng($obraz, $syg); ImageDestroy($obraz); ?>

 

To nie html. Jeśli to wygląda w sposób, jaki podałeś, to np //ranking $ranstr = $plik[63]; $tablica2 = explode(" potraktuje w całości jako komentarz i automatycznie reszta kodu się posypie, bo $ranstr = $plik[63]; $tablica2 = explode(" częścią tego komentarza nie jest. Gwoli ścisłości jednolinijkowe komentarze w php piszemy po podwójnym backslashu (//), hashu (#) a wielolinijkowe umieszczamy w takiej kontrukcji /* komentarz */

  • 4 miesiące temu...
Opublikowano

Witam. Mam taki sam problem jak Adi13089 w poście #15. Zamiast obrazka pojawia się fragment kodu, i nie wiem jak się tego błędu pozbyć. Mógłby ktoś mi pomóc? Będę wdzięczny, pozdrawiam

  • 1 miesiąc temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...