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
 

Zdjęcie

[ROZWIĄZANE] [MySQL] Thread worker was unable to start


  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 karololo

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 13.03.2012 16:35

Witam,
Gdy w publicu: public client_disconnect() umieszczę zapytanie dodające do bazy jakieś zmienne to otrzymuje taki błąd:

[MySQL] Thread worker was unable to start


Problem znika, kiedy zamiast public client_disconnect() umieszczę zwykły public, public test() i będzie on wykonywany bo napisaniu /test na say'u. Dlaczego tak jest? Nie można wykonać zapytania do bazy podczas client_disconnect?
  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 554
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 13.03.2012 17:05

spróbuj zainstalować amxx 1.8.2
zbyt wiele połączeń może być wykonywanych w czasie łączenia się gracza ( amxbans mocno obciąża )
  • +
  • -
  • 1

#3 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 13.03.2012 17:12

Połączeń jest mało. Podkreślam, że gdy wykonam tą funkcję np. podczas napisania na say'u /test to działa i obywa się bez błędów, a gdy dodam to w client_disconnect wtedy otrzymuje błąd. Dla zobrazowania:


public plugin_init() {
register_clcmd("say /test", "test");
}
public client_disconnect(id) {
//w tym public'u nie działa, wysypuje błędy
}
public test(id) {
//działa bez błędów
}

Użytkownik Poprostu Maniac edytował ten post 13.03.2012 17:20

  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 13.03.2012 17:25

To dziwne ponieważ ja tak nie mam, możesz dać kod z client_disconnect(id) + zapis danych, wtedy łatwiej będzie zobaczyć o co chodzi ;)
Ps.oraz tak jak Dark napisał spróbuj zainstalować amxx 1.8.2
  • +
  • -
  • 1

If you can dream it, you can do it.


#5 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 13.03.2012 17:49

public client_disconnect(id) {
new authid[36]

get_user_authid(id,authid,35)

new Data[1]
Data[0] = id

format(g_Query,511,"SELECT * FROM `x` WHERE steamid='%s'",authid)
SQL_ThreadQuery(g_SqlHandle,"x",g_Query,Data,1)
return PLUGIN_HANDLED
}
public x(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
new id
id = Data[0]
new authid[36]
new name[32]

get_user_authid(id,authid,35)
get_user_name(id, name, 31)

format(g_Query,511,"UPDATE `x` SET x = 1 WHERE steamid='%s'", authid)
SQL_ThreadQuery(g_SqlHandle,"IgnoreHandle",g_Query)
return PLUGIN_HANDLED
}

public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
return PLUGIN_HANDLED
}


na pewno ma to coś wspólnego z tym, że public wykonuje się podczas odłączenia się gracza bo w normalnym publicu działa bez zarzutów.

Użytkownik Poprostu Maniac edytował ten post 13.03.2012 17:49

  • +
  • -
  • 0

#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 13.03.2012 17:52

Przy rozłączeniu się gracza chyba nie daje się zapytania "SELECT", bo po co?
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#7 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 13.03.2012 17:59

W disconnect nie wykonuj SELECT, tylko UPDATE, wpis z nickiem gracza ( jeśli nie istnieje robisz jak wbija na serwer. )
Ps.Dlatego miałeś błędy :P
  • +
  • -
  • 1

If you can dream it, you can do it.


#8 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 13.03.2012 18:55

Jak myślicie pomogło? ;P Pewnie, że tak! Z przyzwyczajenia robiłem tak do każdego publicu nawet do tego w którym nic nie robiłem z wybranymi wynikami. Także, dziękuje bardzo
  • +
  • -
  • 0

#9 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 13.03.2012 19:00

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

If you can dream it, you can do it.





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych