/ *
Copyright 2011 - 2012 , m0skVi4a ;]
Plugin létrehozott Rousse , Bulgária
Plugin menet 1 :
https://forums.alliedmods.net/showthread.php?t=171460
Plugin menet 2 :
http://amxmodxbg.org/forum/viewtopic.php?t=37116
Eredeti Írta m0skVi4a ;]
Leírás:
Ez a nyilvántartási rendszer . Tudod, hogy a jelszót a nevét, és ha valaki csatlakozni a szerverhez, az azonos nevű ő lesz rúgva , ha nem be .
parancsok:
mondjuk / reg
item / reg
Nyissa meg a nyilvántartási rendszer menüből
cvars :
" rs_on " - A plugin ( 1) vagy kikapcsolása (0) . Alapértelmezett: 1
" rs_save_type " - Hol seve információk : fájlba (0) vagy a MySQL (1). Alapértelmezett: 0
" rs_host " - A gazda az adatbázis számára. Alapértelmezett: 127.0.0.1
" rs_user " - a felhasználónév az adatbázis bejelentkezéshez. Alapértelmezett : root
" rs_pass " - A jelszó az adatbázis bejelentkezéshez. Alapértelmezett:
" rs_db " - Az adatbázis neve . Alapértelmezett: registersystem
" rs_password_prefix " - Az előtag a setinfo az Automatikus bejelentkezés funkció . Alapértelmezett: _rspass
" rs_register_time " - Mennyi időt az ügyfél a regisztrációhoz. Ha értéke 0 bejegyzés nem kötelező. Alapértelmezett: 0
" rs_login_time " - Mennyi időt , hogy az ügyfél , ha be van jegyezve . Alapértelmezett : 60.0
" rs_messages " - Mi az üzenet jelenik meg, ha az ügyfél csatlakozik - csak HUD üzenet ( 1) , csak a chat-üzenetek (2 ), illetve a HUD és a chat üzeneteket (3). Alapértelmezett: 3
" rs_password_len " - Mi hossza legalább a jelszót. Alapértelmezett: 6
" rs_attempts " - Mennyi kísérletek az ügyfél be , ha rossz jelszót adja meg . Alapértelmezett: 3
" rs_chngpass_times " - Mennyi idők az ügyfél megváltoztathatja a jelszavát egy térkép . Alapértelmezett: 3
" rs_register_log " - Ez lehetővé tette a plugin log fájlban , amikor az ügyfél be van jegyezve. Alapértelmezett: 1
" rs_chngpass_log " - Ez lehetővé tette a plugin log fájlban , ha az ügyfél nem változtatja meg a jelszót . Alapértelmezett: 1
" rs_autologin_log " - ez lehetővé tette a plugin log fájlban , ha az ügyfél nem változtatja meg automatikus bejelentkezési funkciót . Alapértelmezett: 1
" rs_name_change " - Melyik az ügyfelek változtatnia a nevét - az összes ügyfél (0 ) , az összes ügyfél nem naplózott együtthatók (1 ), illetve senki sem (2). Alapértelmezett: 1
" rs_blind " - Hogy ügyfelek, akik nem jelentkezett , vagy aki kell regisztrálnia kell vak . Alapértelmezett: 1
" rs_chat " - Hogy ügyfelek, akik nem jelentkezett , vagy aki kell regisztrálnia a csevegés blokkolja. Alapértelmezett: 1
" rs_logout " - Mi a teendő, ha a kliens Kijelentkezés - rúgni a szerverről (0 ), vagy várjon a bejelentkezési alatt a bejelentkezési idő (1). Alapértelmezett: 0
Minden cvars az idézőjelek nélkül
Credits :
m0skVi4a ;] - az ötlet , és a plugin
ConnorMcLeod - az ő segítségével , hogy megakadályozza a névváltoztatást bejelentkezett ügyfelek
Sylwester - Az ötlet a Titkosítás
dark_style - ötletek a plugin
Changelog:
November 6, 2011 - V1.0 BETA :
- First Release
November 20, 2011 - V1.1 FINAL
- Javítva néhány hiba
- Hozzáadott hange Password funkció
- Hozzáadott Info / Segítség
- Hozzáadott cvars mutatni , ha az ügyfél a regisztrált és megváltoztatni a jelszót
- A jelszó most titkosítva a nagyobb biztonság
November 23, 2011 - V1.1 FINAL FIX 1
- Javítva , ha az ügyfél típusát , mint CVAR setted kísérletek jelszó
November 28, 2011 - V1.1 FINAL FIX 2
- Javítva , ha ez a menü nem jelenik meg , amikor a felhasználó csatlakozik
December 26., 2011 - V2.0
- Fixed bug , ha a játékos megváltoztatja a nevét , és a rendszer nem ellenőrzi az új nevet
- Hozzáadott block chooseteam , ha az ügyfél a regisztrált, de nem vagy bejelentkezve
- Hozzáadott MySQL támogatás
- Hozzáadott . CFG fájlt manuálisan a beállításokat a rendszer
- Hozzáadott CVAR a beállítása , amely az ügyfelek változtatnia a nevét
- Added auto login changevel vagy ügyfél újra
December 27, 2011 - V2.0 FIX 1
- Javítva a rúgás funkcióval
Január 3, 2012 - V2.0 FIX 2
- Javítva az automatikus bejelentkezési funkció , ami nem működik a gőz ügyfelek
Január 24, 2012 - V3.0
- Javítva a MySQL kapcsolat
- Új stílus a Jelszó módosítása funkciót
- Eltávolított néhány cvars és új
- Most a nyilvántartási rendszer fájl vagy a MySQL tábla nem menti a dátumot és az időt , regisztráció vagy jelszó megváltoztatása az ügyfél számára. Ezek mentés speciális log file névvel register_system_log.txt
Február 17, 2012 - V4.0
- Javítva egy kis hiba
- Új stílus a főmenü
- Megszüntette azt a lehetőséget SQL Injection
- Az egész névváltoztatást funkció újraírt
- Új lehetőség a nem regisztrált és nem jelentkezett be az ügyfelek , hogy vak
- Új lehetőség a nem regisztrált és nem jelentkezett az ügyfelek beszélgetés van az, hogy blokkolja
- Hozzáadott bemutató információkat a konzolok az ügyfelek arról, hogy miért rúgott
Február 19, 2012 - V4.0 FIX 1
- Javítva a Csatlakozás a Spectator csapat
- Új Auto Assign opciót a főmenüben
- Kis újraírása az Automatikus bejelentkezés funkció
Március 10., 2012 - V5.0
- Fixed bug % , hogy cserélje ki a tér a nevét az ügyfél
- Javítva a hiba a menü , hogy áll , ha ügyfél választ csapat
- Javítva egy kis hiba
- Új stílus a főmenü
Lépjen kapcsolatba velem a :
SKYPE : pa7ohin
* /
# include <amxmodx>
# include <amxmisc>
# include <cstrike>
# include <fakemeta>
# include <sqlx>
# define TASK_MESS 2133
# define TASK_KICK 3312
# define SALT " 8c4f4370c53e0c1e1ae9acd577dddbed " / / a só a jelszó titkosítást . Meg lehet szerkeszteni !
új g_on , g_save , g_host , g_user , g_pass , g_db , g_setinfo_pr , g_regtime , g_logtime , g_msg , g_pass_length , g_attempts , g_chp_time , g_reg_log , g_chp_log , g_aulog_log , g_name , g_blind , g_chat , g_logout / / cvar mutatók
új reg_file [ 256 ] , configs_dir [ 64 ] fájl [ 192 ] , params [2] , name [32] , check_name [32] , check_pass [34] , check_status [10] , query [ 512 ] Jelszó [ 34 ] [ 34 ] , namepass [ 512 ] , typedpass [32] , new_pass [ 33 ] [ 33 ] , passsalt [ 64 ] , hash [34] , pass_prefix [32] / / tömb
új bool : is_logged [33] , bool : is_registered [33] , bool : is_autolog [ 33 ] kísérlet [33 ] alkalommal [ 33] / / Logikai és más tömbök
új menü [ 512 ] , kulcsok , hossz , / / változók és tömb a menük
Új Handle : g_SQLTuple , g_error [ 512 ] / / SQL tömb és fogantyú
új g_saytxt , g_screenfade / / többi változó
új const prefix [] = " [ Regisztrációs Rendszer ] " , / / Az előtag a chat üzeneteket. Meg lehet szerkeszteni !
új const log_file [] = " register_system_log.txt " / / A név a log fájlt. Meg lehet szerkeszteni !
új const JOIN_TEAM_MENU_FIRST [] = "# Team_Select " / / A szöveg a Csapat Select menü . Sem változnak!
új const JOIN_TEAM_MENU_FIRST_SPEC [] = "# Team_Select_Spect " / / A szöveg a Spectator Csapat Select menü . Sem változnak!
új const JOIN_TEAM_MENU_INGAME [] = "# IG_Team_Select " / / A szöveg a játékbeli Csapat Select menü . Sem változnak!
új const JOIN_TEAM_MENU_INGAME_SPEC [] = "# IG_Team_Select_Spect " / / A szöveg a játékbeli Spectator Csapat menü kiválasztásához. Sem változnak!
új const JOIN_TEAM_VGUI_MENU = 2 / / A szám a VGUI menü csapat kiválasztása . Sem változnak!
új const NAME_CHANGE_MSG [] = "# Cstrike_Name_Change ", / / / / A szöveg a névváltoztatás üzenet . Sem változnak!
/ * ================================================ ==============================
Kezdete Plugin init
================================================== ============================== * /
nyilvános plugin_init ( )
{
register_plugin ( " nyilvántartó rendszer " , " 5.0" , " m0skVi4a ;] " )
g_on = register_cvar ( " rs_on ", "1 " ) / / A plugin ( 1) vagy kikapcsolása (0)
g_save = register_cvar ( " rs_save_type " , " 0 " ) / / Hol seve információk : fájlba (0) vagy a MySQL (1).
g_host = register_cvar ( " rs_host " , " 127.0.0.1 " ) / / A fogadó az adatbázis számára.
g_user = register_cvar ( " rs_user " , "root" ) / / A felhasználónév az adatbázis bejelentkezéshez.
g_pass = register_cvar ( " rs_pass " , " " ) / / A jelszó az adatbázis bejelentkezéshez.
g_db = register_cvar ( " rs_db " , " registersystem " ) / / Az adatbázis neve .
g_setinfo_pr = register_cvar ( " rs_password_prefix " , " _rspass " ) / / Az előtag a setinfo az automatikus bejelentkezést .
g_regtime = register_cvar ( " rs_register_time " , " 0 " ) / / Mennyi idő van az ügyfélnek , hogy regisztrálj. Ha értéke 0 bejegyzés nem kötelező.
g_logtime = register_cvar ( " rs_login_time " , " 60,0 " ) / / Mennyi idő van a kliens , ha be van jegyezve .
g_msg = register_cvar ( " rs_messages " , " 3" ) / / Milyen üzenet jelenik meg, ha az ügyfél csatlakozik - csak HUD üzenet ( 1) , csak a chat-üzenetek (2 ), illetve a HUD és a chat üzeneteket (3).
g_pass_length = register_cvar ( " rs_password_length " , " 6") / / Mi a hossza legalább a jelszót.
g_attempts = register_cvar ( " rs_attempts " , " 3" ) / / Mennyi kísérletek az ügyfél be , ha rossz jelszót adja meg .
g_chp_time = register_cvar ( " rs_chngpass_times " , " 3" ) / / Mennyi idő tehet az ügyfél megváltoztathatja a jelszavát egy térkép .
g_reg_log = register_cvar ( " rs_register_log ", "1 " ) / / Ez lehetővé tette a plugin log fájlban , amikor az ügyfél be van jegyezve.
g_chp_log = register_cvar ( " rs_chngpass_log ", "1 " ) / / Ez lehetővé tette a plugin log fájlban , ha az ügyfél megváltoztathatja a jelszavát .
g_aulog_log = register_cvar ( " rs_autologin_log ", "1 " ) / / Ez lehetővé tette a plugin log fájlban , ha az ügyfél nem változtatja meg automatikus bejelentkezési funkciót .
g_name = register_cvar ( " rs_name_change ", "1 " ) / / Melyik ügyfelek változtatnia a nevét - az összes ügyfél (0 ) , az összes ügyfél nélkül Naplózva együtthatók (2 ), illetve senki sem (3).
g_blind = register_cvar ( " rs_blind ", "1 " ) / / Hogy az ügyfelek, akik nem jelentkezett , vagy aki kell regisztrálnia kell vak .
g_chat = register_cvar ( " rs_chat ", "1 " ) / / Hogy az ügyfelek, akik nem jelentkezett , vagy aki regisztrálnia kell beszélgetni az blokkolja.
g_logout = register_cvar ( " rs_logout " , " 0 " ) / / Mi a teendő, ha a kliens Kijelentkezés - rúgni a szerverről (0 ), vagy várjon a bejelentkezési alatt a bejelentkezési idő (1).
register_message ( get_user_msgid ( " ShowMenu "), " ShowMenu " )
register_message ( get_user_msgid ( " VGUIMenu "), " VGUIMenu " )
register_menucmd ( register_menuid ( " Main Menu " ) , 1023 , " HandlerMainMenu " )
register_menucmd ( register_menuid ( " Options Menu" ) , 1023 , " HandlerOptionsMenu " )
register_menucmd ( register_menuid ( "Jelszó Menu" ) , 1023 , " HandlerConfirmPasswordMenu " )
register_clcmd ( " jointeam ", " HookJoinCommands " )
register_clcmd ( " chooseteam ", " HookJoinCommands " )
register_clcmd ( "say" , " HookSayCommands " )
register_clcmd ( " item " , " HookSayCommands " )
register_clcmd ( " LOGIN_PASS " , "Login " )
register_clcmd ( " REGISTER_PASS " , " Register" )
register_clcmd ( " CHANGE_PASS_NEW ", " ChangePasswordNew " )
register_clcmd ( " CHANGE_PASS_OLD ", " ChangePasswordOld " )
register_clcmd ( " AUTO_LOGIN_PASS ", " AutoLoginPassword " )
register_forward ( FM_PlayerPreThink " PlayerPreThink " )
register_forward ( FM_ClientUserInfoChanged " ClientInfoChanged " )
register_dictionary ( " register_system.txt " )
g_saytxt = get_user_msgid ( " SayText " )
g_screenfade = get_user_msgid ( " ScreenFade " )
}
/ * ================================================ ==============================
Vége Plugin Init
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a végrehajtása plugin config és válassza ki a takarékos üzemmód
================================================== ============================== * /
nyilvános plugin_cfg ( )
{
if ( ! get_pcvar_num ( g_on ) )
vissza PLUGIN_HANDLED
get_configsdir ( configs_dir , charsmax ( configs_dir ) )
formatex (fájl , charsmax (file ) "% s / registersystem.cfg " configs_dir )
if ( ! file_exists (file ) )
{
server_print ( "% L " , LANG_SERVER " ERROR_CFG " file)
}
más
{
server_cmd ( " exec % s " fájl)
server_print ( "% L " , LANG_SERVER " CFG_EXEC " file)
}
if ( get_pcvar_num ( g_save ) )
{
új Host [ 64 ] , Felhasználó [32] , Pass [32] , DB [128] ;
get_pcvar_string ( g_host , címe, charsmax ( Host ) )
get_pcvar_string ( g_user , User, charsmax ( Felhasználó) )
get_pcvar_string ( g_pass , Pass, charsmax ( Pass ) )
get_pcvar_string ( g_db , DB , charsmax ( DB) )
g_SQLTuple = SQL_MakeDbTuple ( címe, User, Pass, DB)
új errorCode Handle : SqlConnection = SQL_Connect ( g_SQLTuple , errorCode g_error , charsmax ( g_error ) )
if ( SqlConnection == Empty_Handle )
{
server_print ( "% L " , LANG_SERVER " ERROR_MYSQL " )
set_fail_state ( g_error )
}
más
{
server_print ( "% L " , LANG_SERVER " mysql_connect " )
}
Új Handle : Query
Query = SQL_PrepareQuery ( SqlConnection , " CREATE TABLE IF NOT EXISTS registersystem ( név VARCHAR (32 ) , jelszó VARCHAR (34) , Status VARCHAR (10) ) " )
if ( ! SQL_Execute ( Query ) )
{
SQL_QueryError ( Query , g_error , charsmax ( g_error ) )
set_fail_state ( g_error )
}
SQL_FreeHandle ( Query)
SQL_FreeHandle ( SqlConnection )
}
más
{
get_configsdir ( configs_dir , charsmax ( configs_dir ) )
formatex ( reg_file , charsmax ( reg_file ) "% s / regusers.ini " configs_dir )
if ( ! file_exists ( reg_file ) )
{
write_file ( reg_file , " nyilvántartási rendszer fájl ^ n , módosítása miatt a kliensek tudok belépni ^ n ^ n" )
server_print ( "% L " , LANG_SERVER " ERROR_FILE " reg_file )
}
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége a végrehajtása plugin config és válassza ki a takarékos üzemmód
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el az Ügyfél Connect és disconenct funkciók
================================================== ============================== * /
nyilvános client_connect ( id)
{
is_logged [id ] = false
is_registered [id ] = false
is_autolog [id ] = false
kísérlet [id ] = 0
alkalommal [ id] = 0
remove_task ( id + TASK_MESS )
CheckClient ( id)
}
nyilvános client_putinserver ( id)
{
ShowMsg ( id)
}
nyilvános client_disconnect ( id)
{
is_logged [id ] = false
is_registered [id ] = false
is_autolog [id ] = false
kísérlet [id ] = 0
alkalommal [ id] = 0
remove_task ( id + TASK_MESS )
remove_task ( id + TASK_KICK )
}
/ * ================================================ ==============================
Vége az Ügyfél Connect és disconenct funkciók
================================================== ============================== * /
/ * ================================================ ==============================
Kezdete megjelenítése Menüfunkciók
================================================== ============================== * /
nyilvános ShowMenu ( msgstr , cél, id)
{
if ( get_pcvar_num ( g_on ) )
{
új menu_text [ 64 ]
get_msg_arg_string ( 4 menu_text , charsmax ( menu_text ) )
if ( egyenlő ( menu_text , JOIN_TEAM_MENU_FIRST ) | | azonos ( menu_text , JOIN_TEAM_MENU_FIRST_SPEC ) | | azonos ( menu_text , JOIN_TEAM_MENU_INGAME ) | | azonos ( menu_text , JOIN_TEAM_MENU_INGAME_SPEC ) )
{
Menü ( id)
vissza PLUGIN_HANDLED
}
vissza PLUGIN_CONTINUE
}
vissza PLUGIN_CONTINUE
}
nyilvános VGUIMenu ( msgstr , cél, id)
{
if ( get_pcvar_num ( g_on ) )
{
if ( get_msg_arg_int ( 1) == JOIN_TEAM_VGUI_MENU )
{
Menü ( id)
vissza PLUGIN_HANDLED
}
vissza PLUGIN_CONTINUE
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
End of Show Menüfunkciók
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Check Client funkciók
================================================== ============================== * /
nyilvános CheckClient ( id)
{
if ( ! get_pcvar_num ( g_on ) | | is_user_bot ( id) )
vissza PLUGIN_HANDLED
is_registered [id ] = false
is_autolog [id ] = false
is_logged [id ] = false
remove_task ( id + TASK_KICK )
if ( get_pcvar_num ( g_save ) )
{
get_user_name (id , név, charsmax (név) )
új adatok [ 1 ]
data [ 0 ] = id
formatex (lekérdezés , charsmax ( query) , " SELECT` Password `,` Status ` FROM` registersystem ` WHERE name = ^ "% s ^ " , " neve)
SQL_ThreadQuery ( g_SQLTuple " QuerySelectData " , lekérdezés , adat , 1)
}
más
{
új file = fopen ( reg_file , "r" )
while ( ! feof (file ) )
{
get_user_name (id , név, charsmax (név) )
fgets (fájl , namepass , charsmax ( namepass ) )
parse ( namepass , check_name , charsmax ( check_name ) check_pass , charsmax ( check_pass ) check_status , charsmax ( check_status ) )
if ( namepass [0] == ';' )
folytatódik
if ( egyenlő ( check_name , név) )
{
is_registered [id ] = true
jelszó [ id] = check_pass
if ( is_user_connected ( id) )
{
user_silentkill ( id)
cs_set_user_team (id, CS_TEAM_UNASSIGNED )
ShowMsg ( id)
Menü ( id)
}
if ( egyenlő ( check_status , "Bejelentkezve " ) )
{
is_autolog [id ] = true
CheckAutoLogin ( id)
}
szünet
}
}
fclose (fájl)
}
vissza PLUGIN_CONTINUE
}
nyilvános QuerySelectData ( FailState , Handle : Query , error [ ] errorCode data [ ] datasize , Float: fQueueTime )
{
if ( FailState == TQUERY_CONNECT_FAILED | | FailState == TQUERY_QUERY_FAILED )
{
log_amx ( "% s" , hiba)
visszatérés
}
más
{
új id = data [ 0] ;
új col_pass = SQL_FieldNameToNum ( Query , "Jelszó " )
új col_status = SQL_FieldNameToNum ( Query , " Status" )
while ( SQL_MoreResults ( Query ) )
{
SQL_ReadResult ( Query , col_pass , check_pass , charsmax ( check_pass ) )
SQL_ReadResult ( Query , col_status , check_status , charsmax ( check_status ) )
is_registered [id ] = true
jelszó [ id] = check_pass
if ( is_user_connected ( id) )
{
user_silentkill ( id)
cs_set_user_team (id, CS_TEAM_UNASSIGNED )
ShowMsg ( id)
Menü ( id)
}
if ( egyenlő ( check_status , "Bejelentkezve " ) )
{
is_autolog [id ] = true
CheckAutoLogin ( id)
}
SQL_NextRow ( Query)
}
}
}
nyilvános CheckAutoLogin ( id)
{
új client_password [32] ;
get_pcvar_string ( g_setinfo_pr , pass_prefix , charsmax ( pass_prefix ) )
get_user_info (id , pass_prefix , client_password , charsmax ( client_password ) )
formatex ( passsalt , charsmax ( passsalt ) "% s % s" , client_password , só)
md5 ( passsalt , hash )
if ( egyenlő ( hash , jelszó [ id] ) )
{
is_logged [id ] = true
}
}
/ * ================================================ ==============================
Vége a Check Client funkciók
================================================== ============================== * /
/ * ================================================ ==============================
Kezdete megjelenítése Ügyfél tájékoztató üzenetek
================================================== ============================== * /
nyilvános ShowMsg ( id)
{
if ( ! get_pcvar_num ( g_on ) )
vissza PLUGIN_HANDLED
set_task ( 5.0 " Üzenetek" , id + TASK_MESS )
params [ 0 ] = id
if ( ! is_registered [ id] )
{
if ( get_pcvar_float ( g_regtime !) = 0)
{
params [ 1] = 1
set_task ( get_pcvar_float ( g_regtime ) " KickPlayer " id + TASK_KICK , params , sizeof params)
vissza PLUGIN_HANDLED
}
}
más
{
params [ 1 ] = 2
set_task ( get_pcvar_float ( g_logtime ) " KickPlayer " id + TASK_KICK , params , sizeof params)
vissza PLUGIN_HANDLED
}
vissza PLUGIN_CONTINUE
}
nyilvános üzenetek ( id)
{
id - = TASK_MESS
if ( get_pcvar_num ( g_msg ) == 1 | | get_pcvar_num ( g_msg ) == 3 )
{
if ( ! is_registered [ id] )
{
if ( get_pcvar_float ( g_regtime !) = 0)
{
set_hudmessage (255, 0 , 0, -1.0 , -1.0 , 0 , 0,5 , 5,0 , 2,0 , 2,0 , -1)
show_hudmessage (id , "% L " , LANG_SERVER " REGISTER_HUD " get_pcvar_num ( g_regtime ) )
}
más
{
set_hudmessage (0 , 255, 0 , -1.0 , -1.0 , 0 , 0,5 , 5,0 , 2,0 , 2,0 , -1 )
show_hudmessage (id , "% L " , LANG_SERVER " YOUCANREG_HUD " get_pcvar_num ( g_regtime ) )
}
}
else if ( ! is_logged [ id] )
{
set_hudmessage (255, 0 , 0, -1.0 , -1.0 , 0 , 0,5 , 5,0 , 2,0 , 2,0 , -1)
show_hudmessage (id , "% L " , LANG_SERVER " LOGIN_HUD " get_pcvar_num ( g_logtime ) )
}
else if ( is_autolog [ id] )
{
set_hudmessage (0 , 255, 0 , -1.0 , -1.0 , 0 , 0,5 , 5,0 , 2,0 , 2,0 , -1 )
show_hudmessage (id , "% L " , LANG_SERVER " AUTO_LOGIN_HUD " )
}
}
if ( get_pcvar_num ( g_msg ) == 2 | | get_pcvar_num ( g_msg ) == 3 )
{
if ( ! is_registered [ id] )
{
if ( get_pcvar_float ( g_regtime !) = 0)
{
client_printcolor (id , "% L " , LANG_SERVER " REGISTER_CHAT " előtag , get_pcvar_num ( g_regtime ) )
}
más
{
client_printcolor (id , "% L " , LANG_SERVER " YOUCANREG_CHAT " előtag , get_pcvar_num ( g_regtime ) )
}
}
else if ( ! is_logged [ id] )
{
client_printcolor (id , "% L " , LANG_SERVER " LOGIN_CHAT " előtag , get_pcvar_num ( g_logtime ) )
}
else if ( is_autolog [ id] )
{
client_printcolor (id , "% L " , LANG_SERVER " AUTO_LOGIN_CHAT " prefix)
}
}
}
/ * ================================================ ==============================
End of Show Ügyfél tájékoztató üzenetek
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Hook Ügyfél jointeam parancsok
================================================== ============================== * /
nyilvános HookJoinCommands ( id)
{
if ( get_pcvar_num ( g_on ) )
{
if ( ( ! is_registered [ id] && get_pcvar_float ( g_regtime ) ) | | ( is_registered [ id] && ! ??is_logged [ id] ) )
{
Menü ( id)
vissza PLUGIN_HANDLED
}
vissza PLUGIN_CONTINUE
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége a Hook Ügyfél jointeam parancsok
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Hook ügyfél mondjuk parancsok
================================================== ============================== * /
nyilvános HookSayCommands ( id)
{
új g_message [16] ;
read_args ( g_message , charsmax ( g_message ) )
remove_quotes ( g_message )
if ( get_pcvar_num ( g_on ) )
{
if ( egyenlő ( g_message " / reg " ) )
{
Menü ( id)
}
else if ( get_pcvar_num ( g_chat ) )
{
if ( ! is_registered [ id] && get_pcvar_float ( g_regtime ) )
{
client_printcolor (id , "% L " , LANG_SERVER " CHAT_REG " prefix)
vissza PLUGIN_HANDLED
}
else if ( is_registered [ id] && ! ??is_logged [ id] )
{
client_printcolor (id , "% L " , LANG_SERVER " CHAT_LOG " prefix)
vissza PLUGIN_HANDLED
}
}
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége a Hook ügyfél mondja parancsok
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a főmenü funkció
================================================== ============================== * /
nyilvános menü ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! is_user_connected ( id) )
vissza PLUGIN_HANDLED
hossz = 0
if ( is_registered [ id] )
{
if ( is_logged [ id] )
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " MAIN_MENU_LOG " )
gombokat = MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_7 | MENU_KEY_9 | MENU_KEY_0
}
más
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " MAIN_MENU_REG " )
gombokat = MENU_KEY_7 | MENU_KEY_9
}
}
más
{
if ( get_pcvar_float ( g_regtime ) == 0 )
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " MAIN_MENU_NOTREG " )
gombokat = MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_5 | MENU_KEY_6 | MENU_KEY_8 | MENU_KEY_9 | MENU_KEY_0
}
más
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " MAIN_MENU_NOTREG_FORCE " )
gombokat = MENU_KEY_8 | MENU_KEY_9
}
}
show_menu (id , gombok , menü , -1 , "Main Menu" )
vissza PLUGIN_CONTINUE
}
nyilvános HandlerMainMenu (id, kulcs)
{
switch ( gomb)
{
case 0 :
{
client_cmd (id , " jointeam 1" )
}
1. eset :
{
client_cmd (id , " jointeam 2")
}
4. eset:
{
client_cmd (id , " jointeam 5")
}
5. eset:
{
client_cmd (id , " jointeam 6")
}
6. eset :
{
if ( ! is_logged [ id] )
{
client_cmd (id , " messagemode LOGIN_PASS " )
Menü ( id)
}
más
{
is_logged [id ] = false
if ( is_autolog [ id] )
{
AutoLogin ( id)
}
get_pcvar_string ( g_setinfo_pr , pass_prefix , charsmax ( pass_prefix ) )
client_cmd (id , " setinfo % s ^ " ^ " " pass_prefix )
client_printcolor (id , "% L " , LANG_SERVER " LOG_OUT " prefix)
if ( get_pcvar_num ( g_logout ) )
{
ShowMsg ( id)
Menü ( id)
}
más
{
params [ 0 ] = id
params [ 1 ] = 4
set_task ( 2.0 " KickPlayer " id + TASK_KICK , params , sizeof params)
}
}
}
7. eset :
{
client_cmd (id , " messagemode REGISTER_PASS " )
Menü ( id)
}
eset 8 :
{
OptionsMenu ( id)
}
eset 9 :
{
vissza PLUGIN_HANDLED
}
}
vissza PLUGIN_HANDLED
}
/ * ================================================ ==============================
Vége a főmenü funkció
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Beállítások menü funkció
================================================== ============================== * /
nyilvános OptionsMenu ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! is_user_connected ( id) )
vissza PLUGIN_HANDLED
hossz = 0
if ( is_logged [ id] )
{
if ( is_autolog [ id] )
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " OPTIONS_MENU_LOG_ON " )
}
más
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " OPTIONS_MENU_LOG_OFF " )
}
gombokat = MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_3 | MENU_KEY_0
}
más
{
hossz + = formatex ( menüből [length ] charsmax ( menü) - hosszú, "% L " , LANG_SERVER " OPTIONS_MENU_NOT_LOG " )
gombokat = MENU_KEY_3 | MENU_KEY_0
}
show_menu (id , gombok , menü , -1 , " Options Menu" )
vissza PLUGIN_CONTINUE
}
nyilvános HandlerOptionsMenu (id, kulcs)
{
switch ( gomb)
{
case 0 :
{
if ( alkalommal [ id] > = get_pcvar_num ( g_chp_time ) )
{
client_printcolor (id , "% L " , LANG_SERVER " CHANGE_TIMES " előtag , get_pcvar_num ( g_chp_time ) )
vissza PLUGIN_HANDLED
}
más
{
client_cmd (id , " messagemode CHANGE_PASS_NEW " )
}
OptionsMenu ( id)
}
1. eset :
{
if ( is_autolog [ id] )
{
AutoLogin ( id)
}
más
{
client_cmd (id , " messagemode AUTO_LOGIN_PASS " )
}
OptionsMenu ( id)
}
2. eset :
{
Info ( id)
OptionsMenu ( id)
}
eset 9 :
{
Menü ( id)
vissza PLUGIN_HANDLED
}
}
vissza PLUGIN_HANDLED
}
/ * ================================================ ==============================
Vége a Beállítások menü funkció
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el az Ügyfél Automatikus bejelentkezés Changer funkció
================================================== ============================== * /
nyilvános AutoLogin ( id)
{
get_user_name (id , név, charsmax (név) )
if ( ! is_registered [ id] | | ! is_logged [ id] )
vissza PLUGIN_HANDLED
if ( get_pcvar_num ( g_save ) )
{
formatex (lekérdezés , charsmax ( query) , " UPDATE SET registersystem Status = ^ "% s ^ " WHERE name = ^ "% s ^ " , " is_autolog [ id] == true ? " " : "Bejelentkezve " , név)
SQL_ThreadQuery ( g_SQLTuple " QuerySetData " query )
}
más
{
új sor , file = fopen ( reg_file , "r ");
while ( ! feof (file ) )
{
fgets (fájl , namepass , 255)
parse ( namepass , namepass , charsmax ( namepass ) )
vonal + +
if ( egyenlő ( namepass , név) )
{
formatex ( namepass , charsmax ( namepass ) , " ^ "% s ^ " ^ "% s ^ " ^ "% s ^ " " , jelszó [ id ] is_autolog [ id] == true ? " " : " LOGGED " )
write_file ( reg_file , namepass , egyenes - 1)
szünet
}
}
fclose (fájl)
}
if ( is_autolog [ id] )
{
is_autolog [id ] = false
client_printcolor (id , "% L " , LANG_SERVER " AUTO_LOGIN_OFF " prefix)
get_pcvar_string ( g_setinfo_pr , pass_prefix , charsmax ( pass_prefix ) )
client_cmd (id , " setinfo % s ^ " ^ " " pass_prefix )
if ( get_pcvar_num ( g_aulog_log ) )
{
log_to_file ( log_file " % L " , LANG_SERVER " LOGFILE_AUTO_OFF " , név)
}
}
más
{
is_autolog [id ] = true
client_printcolor (id , "% L " , LANG_SERVER " AUTO_LOGIN_ON " prefix)
if ( get_pcvar_num ( g_aulog_log ) )
{
log_to_file ( log_file " % L " , LANG_SERVER " LOGFILE_AUTO_ON " , név)
}
}
vissza PLUGIN_CONTINUE
}
nyilvános AutoLoginPassword ( id)
{
if ( ! get_pcvar_num ( g_on ) )
vissza PLUGIN_HANDLED
read_args ( typedpass , charsmax ( typedpass ) )
remove_quotes ( typedpass )
formatex ( passsalt , charsmax ( passsalt ) "% s % s" , typedpass , só)
md5 ( passsalt , hash )
if ( ! azonos ( hash , jelszó [ id] ) )
{
client_printcolor (id , "% L " , LANG_SERVER " AUTO_LOGIN_PASS_NOTVALID " prefix)
client_cmd (id , " messagemode AUTO_LOGIN_PASS " )
vissza PLUGIN_HANDLED
}
más
{
get_pcvar_string ( g_setinfo_pr , pass_prefix , charsmax ( pass_prefix ) )
client_cmd (id , " setinfo % s% s" , pass_prefix , typedpass )
AutoLogin ( id)
OptionsMenu ( id)
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége az Ügyfél Automatikus bejelentkezés Changer funkció
================================================== ============================== * /
/ * ================================================ ==============================
Kezdete Info / Súgó MOTD funkció
================================================== ============================== * /
nyilvános információk ( id)
{
show_motd (id , " rshelpmotd.txt " , " Regisztrációs RENDSZER segitseg " )
}
/ * ================================================ ==============================
Vége Info / Segítség MOTD funkció
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Login funkció
================================================== ============================== * /
nyilvános bejelentkezés ( id)
{
if ( ! get_pcvar_num ( g_on ) )
vissza PLUGIN_HANDLED
if ( ! is_registered [ id] )
{
client_printcolor (id , "% L " , LANG_SERVER " LOG_NOTREG " prefix)
vissza PLUGIN_HANDLED
}
if ( is_logged [ id] )
{
client_printcolor (id , "% L " , LANG_SERVER " LOG_LOGGED " előtag) ;
vissza PLUGIN_HANDLED
}
read_args ( typedpass , charsmax ( typedpass ) )
remove_quotes ( typedpass )
if ( egyenlő ( typedpass , "") )
vissza PLUGIN_HANDLED
formatex ( passsalt , charsmax ( passsalt ) "% s % s" , typedpass , só)
md5 ( passsalt , hash )
if ( ! azonos ( hash , jelszó [ id] ) )
{
kísérlet [id ] + +
client_printcolor (id , "% L " , LANG_SERVER " LOG_PASS_INVALID " prefix , kísérlet [ id ] get_pcvar_num ( g_attempts ) )
if ( kísérlet [ id] > = get_pcvar_num ( g_attempts ) )
{
params [ 0 ] = id
params [ 1 ] = 3
set_task ( 2.0 " KickPlayer " id + TASK_KICK , params , sizeof params)
vissza PLUGIN_HANDLED
}
más
{
client_cmd (id , " messagemode LOGIN_PASS " )
}
vissza PLUGIN_HANDLED
}
más
{
is_logged [id ] = true
kísérlet [id ] = 0
remove_task ( id + TASK_KICK )
client_printcolor (id , "% L " , LANG_SERVER " LOG_LOGING " prefix)
Menü ( id)
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége bejelentkezési funkciót
================================================== ============================== * /
/ * ================================================ ==============================
Kezdete Register funkció
================================================== ============================== * /
nyilvános nyilvántartást ( id)
{
if ( ! get_pcvar_num ( g_on ) )
vissza PLUGIN_HANDLED
read_args ( typedpass , charsmax ( typedpass ) )
remove_quotes ( typedpass )
új passlength = strlen ( typedpass )
if ( egyenlő ( typedpass , "") )
vissza PLUGIN_HANDLED
if ( is_registered [ id] )
{
client_printcolor (id , "% L " , LANG_SERVER " REG_EXISTS " prefix)
vissza PLUGIN_HANDLED
}
if ( passlength < get_pcvar_num ( g_pass_length ) )
{
client_printcolor (id , "% L " , LANG_SERVER " REG_LEN " előtag , get_pcvar_num ( g_pass_length ) )
client_cmd (id , " messagemode REGISTER_PASS " )
vissza PLUGIN_HANDLED
}
new_pass [id ] = typedpass
ConfirmPassword ( id)
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége Register funkció
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Jelszó módosítása funkció
================================================== ============================== * /
nyilvános ChangePasswordNew ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! is_registered [ id] | | ! is_logged [ id] )
vissza PLUGIN_HANDLED
read_args ( typedpass , charsmax ( typedpass ) )
remove_quotes ( typedpass )
új passlenght = strlen ( typedpass )
if ( egyenlő ( typedpass , "") )
vissza PLUGIN_HANDLED
if ( passlenght < get_pcvar_num ( g_pass_length ) )
{
client_printcolor (id , "% L " , LANG_SERVER " REG_LEN " előtag , get_pcvar_num ( g_pass_length ) )
client_cmd (id , " messagemode CHANGE_PASS_NEW " )
vissza PLUGIN_HANDLED
}
new_pass [id ] = typedpass
client_cmd (id , " messagemode CHANGE_PASS_OLD " )
vissza PLUGIN_CONTINUE
}
nyilvános ChangePasswordOld ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! is_registered [ id] | | ! is_logged [ id] )
vissza PLUGIN_HANDLED
read_args ( typedpass , charsmax ( typedpass ) )
remove_quotes ( typedpass )
formatex ( passsalt , charsmax ( passsalt ) "% s % s" , typedpass , só)
md5 ( passsalt , hash )
if ( egyenlő ( typedpass , " " ) | | azonos ( new_pass [ id] , " " ) )
vissza PLUGIN_HANDLED
if ( ! kiegyenlítési ( hash , jelszó [ id] ) )
{
client_printcolor (id , "% L " , LANG_SERVER " CHANGE_NO " prefix)
vissza PLUGIN_HANDLED
}
ConfirmPassword ( id)
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége a Change Password funkció
================================================== ============================== * /
/ * ================================================ ==============================
Kezdete megerősítése Register és megváltoztatni a jelszót a jelszó használata
================================================== ============================== * /
nyilvános ConfirmPassword ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! is_user_connected ( id) )
vissza PLUGIN_HANDLED
hossz = 0
formatex ( menü charsmax ( menü) - hosszú, "% L " , LANG_SERVER " MENU_PASS " new_pass [ id] )
gombokat = MENU_KEY_1 | MENU_KEY_2 | MENU_KEY_0
show_menu (id , gombok , menü , -1 , " Password Menu" )
vissza PLUGIN_CONTINUE
}
nyilvános HandlerConfirmPasswordMenu (id, kulcs)
{
switch ( gomb)
{
case 0 :
{
get_user_name (id , név, charsmax (név) )
formatex ( passsalt , charsmax ( passsalt ) "% s % s" , new_pass [ id] , só)
md5 ( passsalt , hash )
if ( is_registered [ id] )
{
if ( get_pcvar_num ( g_save ) )
{
formatex ( namepass , charsmax ( namepass ) , " UPDATE ` registersystem ` SET Password = ^ "% s ^ " Status = ^ "% s ^ " WHERE name = ^ "% s ^ " , " hash , is_autolog [ id] == true ? "Bejelentkezve " : " " , név)
SQL_ThreadQuery ( g_SQLTuple " QuerySetData " namepass )
}
más
{
új sor , file = fopen ( reg_file , "r" )
while ( ! feof (file ) )
{
fgets (fájl , namepass , 255)
vonal + +
parse ( namepass , namepass , charsmax ( namepass ) )
if ( egyenlő ( namepass , név) )
{
formatex ( namepass , charsmax ( namepass ) , " ^ "% s ^ " ^ "% s ^ " ^ "% s ^ " " , name , hash , is_autolog [ id] == true ? "Bejelentkezve " : " " )
write_file ( reg_file , namepass , egyenes - 1)
szünet
}
}
fclose (fájl)
}
get_pcvar_string ( g_setinfo_pr , pass_prefix , charsmax ( pass_prefix ) )
client_cmd (id , " setinfo % s% s" , pass_prefix , new_pass [ id] )
client_printcolor (id , "% L " , LANG_SERVER " CHANGE_NEW " prefix , new_pass [ id] )
jelszó [ id] = hash
alkalommal [ id] + +
if ( get_pcvar_num ( g_chp_log ) )
{
log_to_file ( log_file " % L " , LANG_SERVER " LOGFILE_CHNG_PASS " , név)
}
}
más
{
if ( get_pcvar_num ( g_save ) )
{
formatex ( namepass , charsmax ( namepass ) , " INSERT INTO` registersystem ` ( ` name `,` Password `,` Status ` ) VALUES ( ^ "% s ^ " ^ "% s ^ " ^ " ^ "); " , név, hash )
SQL_ThreadQuery ( g_SQLTuple " QuerySetData " namepass )
}
más
{
új file = fopen ( reg_file , "a" )
formátumban ( namepass , charsmax ( namepass ) , " ^ n ^ "% s ^ " ^ "% s ^ " ^ " ^ " " , név, hash )
fprintf (fájl , namepass )
fclose (fájl)
}
remove_task ( id + TASK_KICK )
params [ 1 ] = 2
set_task ( get_pcvar_float ( g_logtime ) " KickPlayer " id + TASK_KICK , params , sizeof params)
client_printcolor (id , "% L " , LANG_SERVER " REG_REGIS " prefix , new_pass [ id ] get_pcvar_num ( g_logtime ) )
is_registered [id ] = true
jelszó [ id] = hash
new_pass [id ] = " "
if ( get_pcvar_num ( g_reg_log ) )
{
log_to_file ( log_file " % L " , LANG_SERVER " LOGFILE_REG " , név)
}
}
Menü ( id)
}
1. eset :
{
if ( is_registered [ id] )
{
client_cmd (id , " messagemode CHANGE_PASS_NEW " )
}
más
{
client_cmd (id , " messagemode REGISTER_PASS " )
}
}
eset 9 :
{
Menü ( id)
vissza PLUGIN_HANDLED
}
}
vissza PLUGIN_HANDLED
}
nyilvános QuerySetData ( FailState , Handle : Query , error [ ] ERRCODE , data [ ] datasize )
{
if ( FailState == TQUERY_CONNECT_FAILED | | FailState == TQUERY_QUERY_FAILED )
{
log_amx ( "% s" , hiba)
visszatérés
}
}
/ * ================================================ ==============================
Vége megerősítése Regisztráció vagy a Change Password jelszó funkcióját
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Player PreThink funkció vakok funkció
================================================== ============================== * /
nyilvános PlayerPreThink ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! get_pcvar_num ( g_blind ) | | ! is_user_connected ( id) )
vissza PLUGIN_HANDLED
if ( ( ! is_registered [ id] && get_pcvar_float ( g_regtime ) ) | | ( is_registered [ id] && ! ??is_logged [ id] ) )
{
message_begin ( MSG_ONE_UNRELIABLE , g_screenfade { 0,0,0 } , id)
write_short (1 << 12 )
write_short (1 << 12 )
write_short ( 0x0000 )
write_byte ( 0)
write_byte ( 0)
write_byte ( 0)
write_byte ( 255)
message_end ( )
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége Player PreThink funkció vakok funkció
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a Client Info Change funkció összejönni névváltoztatást az ügyfelek
================================================== ============================== * /
nyilvános ClientInfoChanged ( id)
{
if ( ! get_pcvar_num ( g_on ) | | ! is_user_connected ( id) )
vissza FMRES_IGNORED
új g_oldname [32] , g_newname [32] ;
PEV (id , pev_netname , g_oldname , charsmax ( g_oldname ) )
if ( g_oldname [0])
{
get_user_info (id , " name" , g_newname , charsmax ( g_newname ) )
replace_all ( g_newname , charsmax ( g_newname ) , "% " , "")
if ( ! azonos ( g_oldname , g_newname ) )
{
kapcsoló ( get_pcvar_num ( g_name ) )
{
case 0 :
{
set_pev (id , pev_netname , g_newname )
create_name_change_msg (id , g_oldname , g_newname )
set_task (1,0 " CheckClient " , id)
vissza FMRES_HANDLED
}
1. eset :
{
if ( is_logged [ id] )
{
set_user_info (id , "name" , g_oldname )
client_printcolor (id , "% L " , LANG_SERVER " NAME_CHANGE_LOG " prefix)
vissza FMRES_HANDLED
}
más
{
set_pev (id , pev_netname , g_newname )
create_name_change_msg (id , g_oldname , g_newname )
set_task (1,0 " CheckClient " , id)
vissza FMRES_HANDLED
}
}
2. eset :
{
set_user_info (id , "name" , g_oldname )
client_printcolor (id , "% L " , LANG_SERVER " NAME_CHANGE_ALL " prefix)
vissza FMRES_HANDLED
}
}
}
}
vissza FMRES_IGNORED
}
/ * ================================================ ==============================
Vége a Client Info Change funkció összejönni névváltoztatást az ügyfelek
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a kick -lejátszó funkció
================================================== ============================== * /
nyilvános KickPlayer ( paraméter [])
{
új id = paraméter [0]
újabb ok = parameter [1]
if ( is_user_connected ( id) )
{
új userid = get_user_userid ( id)
switch ( ok )
{
1. eset :
{
if ( is_registered [ id] )
vissza PLUGIN_HANDLED
server_cmd ( "kick # % i ^ "% L ^ " " userid , LANG_PLAYER " KICK_REG " )
console_print (id , "% L " , LANG_SERVER " KICK_INFO " )
vissza PLUGIN_CONTINUE
}
2. eset :
{
if ( is_logged [ id] )
vissza PLUGIN_HANDLED
server_cmd ( "kick # % i ^ "% L ^ " " userid , LANG_PLAYER " KICK_LOGIN " )
console_print (id , "% L " , LANG_SERVER " KICK_INFO " )
vissza PLUGIN_CONTINUE
}
3. eset:
{
server_cmd ( "kick # % i ^ "% L ^ " " userid , LANG_PLAYER " KICK_ATMP " get_pcvar_num ( g_attempts ) )
console_print (id , "% L " , LANG_SERVER " KICK_INFO " )
vissza PLUGIN_CONTINUE
}
4. eset:
{
server_cmd ( "kick # % i ^ "% L ^ " " userid , LANG_SERVER " KICK_LOGOUT " )
console_print (id , "% L " , LANG_SERVER " KICK_INFO " )
vissza PLUGIN_CONTINUE
}
}
}
vissza PLUGIN_CONTINUE
}
/ * ================================================ ==============================
Vége a kick lejátszó funkció
================================================== ============================== * /
/ * ================================================ ==============================
Indítsa el a plugin készletek
================================================== ============================== * /
állomány create_name_change_msg ( const id, const g_oldname [] , const g_newname [])
{
message_begin ( MSG_BROADCAST , g_saytxt )
write_byte ( id)
write_string ( NAME_CHANGE_MSG )
write_string ( g_oldname )
write_string ( g_newname )
message_end ( )
}
állomány client_printcolor ( const id, const input [] minden : ... )
{
új count = 1 , a játékosok [32] ;
statikus msg [ 191 ] ;
vformat ( msg , 190 , bemenet , 3)
replace_all (MSG , 190, "! g", "^ 4")
replace_all (MSG , 190, "! n", " ^ 1" )
replace_all ( msg , 190 , " ! t " , " ^ 3 " )
replace_all ( msg , 190 , " ! w " , " ^ 0")
if ( id ) játékos [ 0 ] = id
más get_players (játékosok , count , " ch " )
{
for (new i = 0; i < count , i + + )
{
if ( is_user_connected (játékosok [i] ) )
{
message_begin ( MSG_ONE_UNRELIABLE , g_saytxt , _ , a játékosok [i])
write_byte (játékosok [i] )
write_string ( msg )
message_end ( )
}
}
}
}
/ * ================================================ ==============================
Vége a plugin készletek
================================================== ============================== * /
/ * AMXX -Studio Notes - nem módosítják ALÁBBI ITT
* {\ \ Rtf1 \ \ ansi \ \ deff0 {\ \ fonttbl {\ \ f0 \ \ fnil Tahoma ;}} \ n \ \ viewkind4 \ \ UC1 \ \ pard \ \ lang1038 \ \ f0 \ \ FS16 \ n \ \ par }
* /