Cześć,
Na wstępie chciałbym zaznaczyć, że nie jest to gotowiec a jedynie szablon, który można modyfikować wedle własnych upodobań.
____
Poniżej przedstawiam Wam łatwy sposób na połączenie Skripta z bazą danych.
Przepraszam za tytuł posta, ale nie miałem pojęcia jak go nazwać, nie wiedziałem też czy wybieram dobry dział, ale skoro bazuje na samym skript'cie + php to dział pluginy odpada.
Przykłady:
- lista najbogatszych graczy na stronie
- nazwa gildii, ilość kasy jaką posiada gracz pod avatarem na zew. forum
Mamy zewnętrzne forum, np. MyBB i chcemy aby pod avatarem czy też pod ilością postów wyświetlały się dodatkowe rzeczy.
Opiszę Wam jak to zrobić na przykładzie wyświetlania ilości wirtualnej waluty jaką gracz posiada.
Do tego oczywiście będzie wymagana integracja MyBB z pluginem obsługującym konta w grze (np. AuthME, czy jakikolwiek inny, przykładu nie przytoczę, bo niestety innych nie używałem).
Do rzeczy.
Wymagania:
1. Serwer z obsługą PHP/MySQL (może być zewnętrzny)
2. Skript+ (poprawcie mnie proszę jeśli się mylę, ale wydaje mi się, że odczyt url nie jest w standardowej wersji możliwy).
3. MyBB (opcjonalnie)
Ja u siebie skonfigurowałem AuthME tak, żeby współpracowało z MyBB.
1.Do tabeli mybb_users dodaj kolumnę money jako integer.
2. Plik skript.php załączony poniżej proszę zapisać i umieścić w katalogu WWW
<?php/* Ustawienia bazy danych */ $db_host = 'localhost'; //adres bazy danych, localhost = lokalny $db_port = '3306'; //port, domyślnie 3306 $db_user = ''; //nazwa użytkownika bazy $db_pass = ''; //hasło użytkownika bazy $db_name = ''; //nazwa bazy danych $db_tablename = ''; //nazwa tabeli /* Połączenie z bazą danych */ $info = $_GET['info']; $podziel = explode("$",$info); $player_name = $podziel[0]; $player_money = $podziel[1]; if (!empty($_GET['info'])) { $connect = mysql_connect("$db_host:$db_port", $db_user, $db_pass); //otwieramy połączenie do bazy danych mysql_select_db($db_name); // wybieramy konkretną baze danych $update_money = "UPDATE $db_tablename SET money = '$player_money' WHERE username='$player_name'"; $wykonaj = mysql_query($update_money); if($wykonaj === FALSE){die(mysql_error());} //tylko do debugowania mysql_close($connect); //zamykamy połączenie } else echo "error"; ?>
Jako, że player's money zwraca nam liczbę poprzedzoną znakiem $, użyłem funkcji explode i zamieniłem je na dwie zmienne.
Sugerowałbym operować na jednej zmiennej(GET) dodając jakiś znak, który będzie potem pomocny do parsowania GET'a i rozbicia go na pozostałe zmienne.
3. Skript:
set {_x} to text from url "http://naszastrona.pl/skript.php?info=%player%%player's money%"
Jeśli chcemy, żeby stan konta aktualizował się po wylogowaniu to użyjemy:
on disconnect: set {_x} to text from url "http://naszastrona.pl/skript.php?info=%player%%player's money%"
Każdy krok zakomentowałem (chyba), więc jakby pojawiły się jakieś pytania to śmiało.
Chciałbym tylko raz jeszcze przypomnieć, że to nie jest gotowiec, celem też nie było nauczyć kogoś podstaw PHP czy Skriptu. Na tym możecie bazować tworząc własne pomysły