Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

JanuszAMXX - zdjęcie

JanuszAMXX

Rejestracja: 02.09.2018
Aktualnie: Nieaktywny
Poza forum Ostatnio: 24.06.2019 16:29
-----

Moje posty

W temacie: [ReHLDS] Crashe serwera

23.09.2018 16:21

Sprawdź czy używasz najnowszej wersji ReHLDS oraz wersji AMXX'a przeznaczonego pod nią.

 
ReHLDS oraz AMX były wgrywane poprzez instalator w panelu na hostingu (hosting 1s1k), także powinno być ok.
 
 

+podaj meta list, pamiętam, że u mnie się tak działo jak omyłkowo serwer używał i dproto i reuniona jednocześnie.

 

Co do pluginów metamoda:

 

Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.3-d ini Start ANY
[ 2] Reunion RUN - reunion_mm_i386. v0.1.73 ini Start Never
[ 3] VoiceTranscoder RUN - VoiceTranscoder. v2017RC3 ini ANY ANY
[ 4] POD-Bot mm RUN - podbot_mm_i386.s v3.0B19d ini Chlvl ANY
[ 5] MySQL RUN - mysql_amxx_i386. v1.8.3-d pl1 ANY ANY
[ 6] Fun RUN - fun_amxx_i386.so v1.8.3-d pl1 ANY ANY
[ 7] Engine RUN - engine_amxx_i386 v1.8.3-d pl1 ANY ANY
[ 8] FakeMeta RUN - fakemeta_amxx_i3 v1.8.3-d pl1 ANY ANY
[ 9] CStrike RUN - cstrike_amxx_i38 v1.8.3-d pl1 ANY ANY
[10] CSX RUN - csx_amxx_i386.so v1.8.3-d pl1 ANY ANY
[11] Ham Sandwich RUN - hamsandwich_amxx v1.8.3-d pl1 ANY ANY
11 plugins, 11 running

 

Mam wgrany VoiceTranscoder, ponieważ ReVoice po prostu nie działa...

W temacie: [ROZWIĄZANE] Połączenie z bazą danych MySql - Optymalizacja

03.09.2018 15:49

Tak zrobiłem i od wczoraj jest non stop w porządku ;)

 

Dzięki wielkie za pomoc.

Do zamknięcia ;)

W temacie: [ROZWIĄZANE] Połączenie z bazą danych MySql - Optymalizacja

03.09.2018 01:11

Teraz rozumiem (tak sądzę). Wszędzie tam, gdzie nie ma zakończonego połączenia, muszę powstawiać SQL_FreeHandle(...) odnoszące się do danego uchwytu, tak?

W temacie: [ROZWIĄZANE] Połączenie z bazą danych MySql - Optymalizacja

02.09.2018 20:57

To jest ogólna zasada do wszystkich aplikacji wykorzystujących bazy danych (żeby tylko raz się łączyć), bez sensu łączyć się na nowo dla każdego zapytania (w ten sposób komercyjne aplikacje szybko by "zdosowały" silnik bazy). Nie pisałem pluginów w tym podejściu (z użyciem SQL_Connect), więc mogę się mylić.

W plugin_cfg zamień

new Handle:SqlConnection = SQL_Connect(g_SqlTuple, szErr, szError, charsmax( szError ))

Na

SqlConnection = SQL_Connect(g_SqlTuple, szErr, szError, charsmax( szError ))

Natomiast uchwyt SqlConnection utwórz gdzieś wyżej nad wszystkimi funkcjami, aby był globalny dostępny oraz usuń we wszystkich funkcjach

SQL_FreeHandle(SqlConnection); 

Stwórz event plugin_end i przenieś to do niego. Połączenie zamknie się samo przy końcu mapy.

 

W całej reszcie funkcji usuń również

new Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,szError,511) 

Od teraz powinieneś nawiązać jedno połączenie i tylko z niego korzystać.

 

Po zrobieniu wg powyższych zaleceń, plugin nie kompiluje się i wyrzuca dość sporo błędów.

Jeśli SQL_FreeHandle(SqlConnectionma być globalne, to należy je jakość zadeklarować przy wykorzystaniu choćby new itp?

W temacie: [ROZWIĄZANE] Połączenie z bazą danych MySql - Optymalizacja

02.09.2018 14:26

Teoretycznie najlepszym wyjściem byłaby tutaj zmiana hostingu lub wykupienie droższego pakietu. Jeśli chodzi o kod to zasadniczy błąd jaki zrobiłeś to to, że łączysz się na nowo z bazą przy każdym odczycie i zapisie (zakładając, że to się dzieje przy wchodzeniu i wychodzeniu graczy to dosyć łatwo przekroczyć limit) zamiast połączyć się raz przy starcie mapy, trzymać to połączenie cały czas aktywne i zamknąć je dopiero przy końcu mapy.

Łączysz się już raz w plugin_cfg i to wystarczy, utwórz globalny uchwyt i nie zwalniaj go od razu tylko dopiero w plugin_end.

 

Mógłbym prosić o przykład co mam podmienić na co, aby było poprawnie. Jak już wyżej wspominałem jestem początkujący, jeśli chodzi o MySql :)