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

Plugin ściągający liczbę graczy z serwera + prosty banner


531

Rekomendowane odpowiedzi

Uczeń
Opublikowano

BD5oG9Y.png


(wygląd banneru)


 


 


Witaj jeśli chciałbyś wstawić swoją liczbę graczy gdziekolwiek na swojej stronie bądź stworzyć swój własny banner to trafiłeś dobrze.


Przedstawiam tobie plugin który pobiera z serwera liczbę graczy i zapisuje ją w bazie danych, potem za pomocą php'a wyciągamy dane na naszą strone.


Dodatkowo przedstawiłem też prosty banner który możesz w dowolny sposób edytować.


Plugin wiadomo będzie udoskonalany kiedy tylko będę miał czas, lecz wiem że w końcowej fazie chce mieć tam automatyczny sklep z bajerami + panel administratora, oczywiście wszystko po stronie www.


 


x


 


 


Instalacja:


 


@plugin


 


- Wrzucamy w katalog oxide/plugins (wymagany jest oxide wiadomo)


- Restartujemy serwer


- Generuje nam się plik konfiguracyjny o nazwie "WebHurtworld" w katalogu oxide/configs


- Otwieramy plik konfiguracyjny dowolnym edytorem tekstowym


 


Pojawia nam się:



{
"database_mysql": "hw", // Tutaj wpisujemy nazwę bazy danych
"host_mysql": "localhost", // Tutaj adres serwera mysql, czyli po prostu IP
"interval": "60", // Co ile czasu plugin ma pobierać liczbę graczy, najlepiej zostawić te 60 sekund.
"password_mysql": "", // Tutaj wpisujemy hasło do bazy danych
"user_mysql": "root" // A tutaj wpisujemy nazwę użytkownika bazy danych
}

Kiedy już wypełniłem wszystko zgodnie z powyższą instrukcją, zrestartuj serwer.


 


Teraz przejdźmy do bazy danych, logujemy się do phpmyadmin.


Przed tym oczywiście tworzymy bazę danych "hw".


Teraz wchodzimy w polecenia SQL. (Na samej górze jest to jako "SQL")


 


Wklejamy to:



CREATE TABLE IF NOT EXISTS hw.players (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`players` INT(25) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MYISAM AUTO_INCREMENT=9 DEFAULT CHARSET=LATIN1;

Tworzy nam się tabela o nazwie "players".


 


Wklejamy kolejne polecenie SQL:



INSERT INTO `players` (`id`, `players`) VALUES ('1', '1');

I to wszystko.


Teraz wrzucamy pliki z katalogu /web na nasz serwer.


Przed tym edytujemy plik "Index.php"


I w pierwszych linijkach kodu mamy tak:



$db_user = 'root';
$db_password = '';
$db_host = 'localhost';
$db_name = 'hw';

Uzupełniamy tak samo jak w pliku konfiguracyjnym w oxide/configs


Odświeżamy stronę i mamy banner, oczywiście polecam zabrać się za dokumentację php odnośnie generowania plików PNG


Jeżeli chce ktoś zrobić lepszy wygląd od tego co jest wyżej bo nie oszukujmy się, było to robione 5min.


 


Jest jeszcze plik "get.php", który po ściąga nam liczbę graczy z bazy danych i wpisuje po prostu na stronę.


Wstawiasz te linijki tam gdzie chcesz mieć listę graczy.


To tyle, elo.


 


 


 


// Jak coś nie bd działać to piszcie


Opublikowano

Rozumiem rozwiązanie we wczesnej fazie do oceny? :)

Sugerowałbym zainteresować się nagłówkami Cache-Control, aby baner nie odświeżał się raz na ruski miesiąc :P

Polskie nazwy zmiennych trochę mało profesjonalnie wyglądają, tym bardziej na git, chociaż na tym forum nie ma co tego wymagać.

Konfigurację tła, czcionek itd. wyciągnął bym do jakiegoś nawet osobnego pliku konfiguracyjnego, a nie zostawiał tak w środku skryptu, to na pewno pomoże mniej zaawansowanym.

 

Ciekawy sposób na generowanie banerków i jeden z prostszych - niezawodnych, na początku też miałem jednak jedynie myślowy pomysł by rozwiązać to w podobny własnie sposób.

 

Osobiście do generowania banerów ze względu na full obiektywność używam klasy Imagick, lecz generuje w przeciwieństwie do zastosowanego tu GD brzydkie postrzępione czcionki, nie wiesz może jak temu zaradzić?

Uczeń
Opublikowano

@Over9000

 

Tak to było pisane dosłownie pół godziny, a banner odświeża się co minutę bo jak wprowadza plugin dane do mysql to odrazu pojawiają się na bannerze.

Z resztą się zgodzę, siedzę w phpie od niedawna w sumie - więc dzięki za naprowadzenie. :)

 

Jak na razie epoka kamienia łupanego, ale będzie rozwijane.

  • 4 tygodnie później...
Opublikowano

Co się dzieje?

09:18 [Error] Error while compiling WebHurtworld.cs(25,26): error CS0246: The type or namespace name `Ext' could not be found. Are you missing an assembly reference?

 

log podczasz kompilacji

Opublikowano

że tak powiem:

 

Oxide build 2.0.2710

 

 
[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.CSharp.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.JavaScript.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.Lua.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.MySql.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.Python.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.SQLite.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

[Oxide] 22:51 [Debug] Cleanup file: C:\Users\Radek\Desktop\OriSerwer\Hurtworld_Data\Managed\Oxide.Ext.Unity.dll
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

I'm Radek47

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...