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

Pobyt w CT dopiero od x godzin na serwerze


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

#21 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 11:58

OK, już skompilowałem, lecz jeszcze taka drobnostka.
Chcę dać paru graczom od razu godziny, by mogli być w CT. By przez te 5 godzin nie panowała samowolka bez CT. Więc tak. Najpierw wyłączam plugin i restartuję serwer. Potem dodaję godziny w bazie (http://img37.imagesh...9924/bazaak.png), lecz jak włączę plugin ponownie, godziny się resetują do stanu przed zmianą. Pytanie - jak dodać komuś godziny przegrane na serwerze? I czy ten plugin nie miał wykorzystywać Psychostats?

#22 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

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

Napisano 24.09.2011 12:01

Więc tak nie możesz być na serwerze jak to zmienisz na 5 h to musisz zrestartować serwer .
Bo jak dodasz i wejdziesz to nie będziesz miał bo zmienna dalej będzie miała podaną ilość twojego czasu
więc dodajesz i restartujesz serwer po czym wbijasz i masz :]

Użytkownik speedkill123 edytował ten post 24.09.2011 12:02

  • +
  • -
  • 1

If you can dream it, you can do it.


#23 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 12:03

Więc tak nie możesz być na serwerze jak to zmienisz na 5 h to musisz zrestartować serwer .
Bo jak dodasz i wejdziesz to nie będziesz miał bo zmienna dalej będzie miała podaną ilość twojego czasu
więc dodajesz i restartujesz serwer po czym wbijasz i masz :]

Czyli dodaję godziny i restartuję serwer nie wchodząc na niego w ten czas (np. poprzez panel hostingu)?

#24 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

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

Napisano 24.09.2011 12:05

Tak :)
  • +
  • -
  • 0

If you can dream it, you can do it.


#25 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 12:14

OK, teraz się zapisało. Mam ustawione 5h na serwerze, lecz wciąż nie mogę iść do CT...
Wyszedłem z serwera i znowu cofnęło godziny... Możesz mi opisać to krok po kroku?

Użytkownik Redux edytował ten post 24.09.2011 12:18


#26 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 192
Profesjonalista

  • Postów:438
Offline

Napisano 24.09.2011 12:18

Łap z psychostats'ami, w końcu ponaprawiałem wszystkie błędy ; )
Spoiler


Biblioteke colorchat musisz wgrać na serwer i jeżeli nie masz to sqlx. A co do tego, co wyżej pisałeś, to albo musisz zmienić ich czas gry w psychostats'ach, albo trzeba wyedytowac plik sma :)

Załączone pliki


Użytkownik SeeK edytował ten post 24.09.2011 12:20

  • +
  • -
  • 1
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#27 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 12:54

Łap z psychostats'ami, w końcu ponaprawiałem wszystkie błędy ; )

Spoiler


Biblioteke colorchat musisz wgrać na serwer i jeżeli nie masz to sqlx. A co do tego, co wyżej pisałeś, to albo musisz zmienić ich czas gry w psychostats'ach, albo trzeba wyedytowac plik sma :)


Jest problem. Pokazuje się takie coś:

[JB] Twoj czas gry wynosi
[JB] Aby byc straznikiem, musisz miec przegrane przynajmniej 5 godzin.

I nie można przejść do CT.

CVary uzupełniłem tak:

amx_sn_ps_host "cs-wysypisko.pl"
amx_sn_ps_user "18_psychostats"
amx_sn_ps_pass "dobrehasło"
amx_sn_ps_db "18_jb"


Użytkownik Redux edytował ten post 24.09.2011 12:55


#28 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 192
Profesjonalista

  • Postów:438
Offline

Napisano 24.09.2011 13:19

Ok wiem co jest źle. Zmieniałem cvary względem tego pierwszego kodu, teraz wyglądają one tak:
// Dane bazy sql
amx_ps_host ""
amx_ps_user ""
amx_ps_pass ""
amx_ps_db ""
 
// Minimalny czas w sekundach, aby moc byc CT
jb_min_czas ""

Jeszcze poprawiłem kod, jeżeli nie podłączy się do bazy danych, to plugin się "wyłącza"
Spoiler

Załączone pliki


Użytkownik SeeK edytował ten post 24.09.2011 13:22

  • +
  • -
  • 1
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#29 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 13:44

To samo. Wycinek z logów:

L 09/24/2011 - 14:24:53: [CzasCT.amxx] Load - Could not connect to SQL database. [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)



#30 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 192
Profesjonalista

  • Postów:438
Offline

Napisano 24.09.2011 14:17

Wgrałeś tą ostatnią wersję, którą podałem i usunąłeś z cvarów te wcześniejsze wpisy i dodałeś nowe?

Jeżeli tak, to spróbuj jeszcze podmienić w folderze "cstrike/addons/amxmodx/scripting/include" plik sqlx.ini. Załączam go do postu

Załączone pliki

  • Załączony plik  sqlx.inc   10,45 KB  17 Ilość pobrań

Użytkownik SeeK edytował ten post 24.09.2011 14:22

  • +
  • -
  • 1
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#31 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 14:20

Tak.

amx_ps_host "cs-wysypisko.pl"
amx_ps_user "18_psychostats"
amx_ps_pass "dobrehasło;>"
amx_ps_db "18_jb"



#32 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 192
Profesjonalista

  • Postów:438
Offline

Napisano 24.09.2011 14:23

Jeszcze się upewnię. Te dane to są dane do bazy sql psychostatsów? Czy utworzyłeś nową bazę?

Spróbuj jeszcze podmienić w folderze "cstrike/addons/amxmodx/scripting/include" plik sqlx.ini. Załączam go do postu

Załączone pliki

  • Załączony plik  sqlx.inc   10,45 KB  19 Ilość pobrań

  • +
  • -
  • 1
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#33 Redux

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 5
Nowy

  • Postów:109
  • GG:
  • Steam:steam
  • Imię:Redux
  • Lokalizacja:Nie wiem.
Offline

Napisano 24.09.2011 14:30

Jeszcze się upewnię. Te dane to są dane do bazy sql psychostatsów? Czy utworzyłeś nową bazę?

Spróbuj jeszcze podmienić w folderze "cstrike/addons/amxmodx/scripting/include" plik sqlx.ini. Załączam go do postu


Plik podmieniłem, bez skutku.
Jest to połączenie do bazy Psychostats, a dziwne jest to, że jeden z poprzednich pluginów (ten, co bodajże robił swój wpis w bazie i tam "nagrywał" godziny) działał.

EDIT: SeeK pomógł mi na PW, już wszystko działa. Wszyscy, którzy mi pomogli, otrzymują ode mnie + jako zadośćuczynienie za poświęcenie mi czasu. :cfaniak:

:lock:

Użytkownik Redux edytował ten post 24.09.2011 15:16


#34 SeeK

    Wszechobecny

  • Użytkownik

Reputacja: 192
Profesjonalista

  • Postów:438
Offline

Napisano 24.09.2011 15:17

Udało się rozwiązać problem. Przyczyną był adres hosta. Trzeba było podać jego adres ip, czyli w tym przypadku
amx_ps_host "80.54.133.22"

  • +
  • -
  • 0
https://sklep-sms.pl - Sklep SMS pozwala zarabiać na swoich serwerach gier opartych o silniki AMX Mod X oraz SOURCEMOD
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?

#35 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 24.09.2011 16:18

nie lepiej użyć team_assing?
#include <amxmodx>
#include <sqlx>
#include <cstrike>
#include <colorchat>

#define VERSION "1.0"

new Handle:g_SqlTuple

new dane[33]
new czas[33]
new bool:stan[33]
new bool:connect = true

public plugin_init()
{
register_plugin("JB czas CT", VERSION,"SeeK")
set_task(1.0, "MySql_Init")

register_cvar("amx_ps_host", "localhost");
register_cvar("amx_ps_user", "root");
register_cvar("amx_ps_pass", "");
register_cvar("amx_ps_db", "nauka");

register_cvar("jb_min_czas", "18000")
register_event("TeamInfo","team_assign","a");
}

public MySql_Init()
{
new Host[32], User[32], Pass[32], DB[32];
get_cvar_string("amx_ps_host", Host, 31);
get_cvar_string("amx_ps_user", User, 31);
get_cvar_string("amx_ps_pass", Pass, 31);
get_cvar_string("amx_ps_db", DB, 31);
g_SqlTuple = SQL_MakeDbTuple(Host,User,Pass,DB)
}

public team_assign()
{
if(!connect)
return PLUGIN_HANDLED

new id = read_data(1);
if(stan[id] != true)
{
new informacja[2][100]
new team[32];
read_data(2, team, charsmax(team));

for(new i = 0; i < 2; ++i)
{
new tekst[3][15]
new time2[3]
if(i == 0)
time2[0] = czas[id]

if(i == 1)
time2[0] = get_cvar_num("jb_min_czas")

while(time2[0] >= 60)
{
time2[0] -= 60;
time2[1]++;

}
while(time2[1] >= 60)
{
time2[1] -= 60;
time2[2]++;
}
if(time2[2] > 0)
format(tekst[0],32,"%d godz.",time2[2])

if(time2[1] > 0)
format(tekst[1],32,"%d min.",time2[1])

if(time2[0] > 0)
format(tekst[2],32,"%d sec.",time2[0])

format(informacja[i],99,"%s %s %s",tekst[0],tekst[1],tekst[2])
}

if(equal(team,"CT"))
{

ColorChat(id,BLUE,"^x04[JB]^x03 Aby byc straznikiem, musisz miec przegrane przynajmniej ^x04%s",informacja[1])
cs_set_user_team(id, CS_TEAM_T);

return PLUGIN_HANDLED;
}
}
ColorChat(id,BLUE,"^x04[JB]^x03 Twoj czas gry wynosi ^x04%s",informacja[0])
return PLUGIN_HANDLED;
}

public client_disconnect(id)
{
stan[id] = false
}

public client_putinserver(id)
{
new Data[1]
Data[0] = id
new szTemp[500]
new name[32]
get_user_name(id,name,31)
format(szTemp,charsmax(szTemp),"SELECT * FROM `ps_plr_ids_name` WHERE (`ps_plr_ids_name`.`name` = '%s')", name)
SQL_ThreadQuery(g_SqlTuple,"checkPS",szTemp,Data,1)
}

public checkPS(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(Errcode)
log_amx("Blad w zapytaniu: %s [SaveData]", Error)

if(FailState == TQUERY_CONNECT_FAILED)
{
log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error)
connect = false
return PLUGIN_HANDLED
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_amx("Load Query failed. [%d] %s", Errcode, Error)
connect = false
return PLUGIN_HANDLED
}
new id = Data[0]
if(!(SQL_NumResults(Query) > 0))
return PLUGIN_HANDLED

dane[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query,"plrid"))

connect = true

if(dane[id] >= 0)
pobierznazwePS(id)

return PLUGIN_CONTINUE
}

public pobierznazwePS(id)
{
new Data[1]
Data[0] = id
new szTemp[500]
new name[32]
get_user_name(id,name,31)
format(szTemp,charsmax(szTemp),"SELECT * FROM `ps_c_plr_data` WHERE (`ps_c_plr_data`.`plrid` = '%d')", dane[id])
SQL_ThreadQuery(g_SqlTuple,"checkPS2",szTemp,Data,1)
}

public checkPS2(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(Errcode)
log_amx("Blad w zapytaniu: %s [SaveData]", Error)

if(FailState == TQUERY_CONNECT_FAILED)
{
log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error)
connect = false
return PLUGIN_HANDLED
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_amx("Load Query failed. [%d] %s", Errcode, Error)
connect = false
return PLUGIN_HANDLED
}
if(!(SQL_NumResults(Query) > 0))
return PLUGIN_HANDLED

new id = Data[0]

czas[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query,"onlinetime"))

if(czas[id] >= get_cvar_num("jb_min_czas"))
stan[id] = true
return PLUGIN_CONTINUE
}

  • +
  • -
  • 0

#36 Mgkus

    Życzliwy

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:23
  • Imię:Robert
  • Lokalizacja:Katowice
Offline

Napisano 01.12.2011 17:08

L 12/01/2011 - 12:18:39: [jbczas.amxx] Blad w zapytaniu: Table 'jb_czas.ps_plr_ids_name' doesn't exist [SaveData]
L 12/01/2011 - 12:18:39: [jbczas.amxx] Load Query failed. [1146] Table 'jb_czas.ps_plr_ids_name' doesn't exist

Przerobi ktoś, aby samo tworzyło tabele w bazie jeśli nie istnieją? Za bardzo nie wiem, jakie mają być te tabele.
  • +
  • -
  • 0




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

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