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.
|
Pobyt w CT dopiero od x godzin na serwerze
#21
Napisano 24.09.2011 11:58
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
Napisano 24.09.2011 12:01
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
If you can dream it, you can do it.
#23
Napisano 24.09.2011 12:03
Czyli dodaję godziny i restartuję serwer nie wchodząc na niego w ten czas (np. poprzez panel hostingu)?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
#24
Napisano 24.09.2011 12:05
If you can dream it, you can do it.
#25
Napisano 24.09.2011 12:14
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
Napisano 24.09.2011 12:18
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
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?
#27
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ś:
I nie można przejść do CT.[JB] Twoj czas gry wynosi
[JB] Aby byc straznikiem, musisz miec przegrane przynajmniej 5 godzin.
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
Napisano 24.09.2011 13:19
// 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"
Załączone pliki
Użytkownik SeeK edytował ten post 24.09.2011 13:22
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?
#29
Napisano 24.09.2011 13:44
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
Napisano 24.09.2011 14:17
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
Użytkownik SeeK edytował ten post 24.09.2011 14:22
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?
#31
Napisano 24.09.2011 14:20
amx_ps_host "cs-wysypisko.pl"
amx_ps_user "18_psychostats"
amx_ps_pass "dobrehasło;>"
amx_ps_db "18_jb"
#32
Napisano 24.09.2011 14:23
Spróbuj jeszcze podmienić w folderze "cstrike/addons/amxmodx/scripting/include" plik sqlx.ini. Załączam go do postu
Załączone pliki
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?
#33
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.
Użytkownik Redux edytował ten post 24.09.2011 15:16
#34
Napisano 24.09.2011 15:17
amx_ps_host "80.54.133.22"
https://nalunch.com - A Ty, gdzie pójdziesz dziś na lunch?
#35
Napisano 24.09.2011 16:18
#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
}
#36
Napisano 01.12.2011 17:08
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.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych