Arkadaşlar merhaba son zamanlarda cs 1.6 eklentilerinde hesap sistemi oldukça popüler durumda. Önceden yayınladığımız cs 1.6 hesap sistemi eklentisi dünya çapında bir çok eklentinin alt yapısını oluşturmaktadır. Bir çok kişi fark etmiş olmalıki kendimize özel bir sürüm çıkarmıştık. Güncel olarak sizinle paylaşarak kullanımını anlatmak istiyorum.
En basitten başlayalım, ilk olarak hesap sistemini kullanmak için kendi eklentime ne eklemeliyim diyenler için şöyle açıklama yapayım. Aşağıdaki satırdaki kodları eklentinizin en üst kısmına tercihen #include kısmının altına yapıştırın.
Gelelim her nativenin işlevine ve kullanıma, bu anlatımları yapmadan önce sizden ricamızdır. Bir çok geliştirici hesap sistemini alıp native isimlerini değiştirip benim hesap sistemim vb. şeyler diyor. Lütfen emeğe saygı olarak yapımcı ismini değiştirmeyin ve gereksiz yere webailesi üzerinde lekelenmeyin.
Kullanımı;
Kullanımı;
Kullanımı;
Kullanımı;
Kullanımı;(Bu kodu sadece anlatımdaki ile sınırlamayın tüm işlemlerde bunu kullanacaksınız!)
Kullanımı;
Kullanımı;
Benzer tanımlamalar olacağı için 4 native toplu anlatacağım ve örnekte birinin kullanımı göstereceğim.
Kullanımı;
Kullanımı;
Kullanımı;
Kullanımı;
Kullanımı;
Native tanımlamaları bu kadardır. Şimdi sıra forwardlarda.
Bir oyuncu hesaba giriş yapınca bu fonksiyon otomatik olarak tetiklenir. Buradan değişkenleri yükleyebilir veyatta işleyebilirsiniz.
Hesap sistemini indirme bağlantıları;
Kod Formatı(Doğrudan);
En basitten başlayalım, ilk olarak hesap sistemini kullanmak için kendi eklentime ne eklemeliyim diyenler için şöyle açıklama yapayım. Aşağıdaki satırdaki kodları eklentinizin en üst kısmına tercihen #include kısmının altına yapıştırın.
PHP Kod:
native nForwardLogin(iN_ID);
native nForwardRegister(iN_ID);
native nForwardExit(iN_ID);
native nChangePassword(iN_ID);
native nGetUidByID(iN_ID);
native nIsUidOnline(iN_ID);
native nGetUidByName(sN_Data[]);
native nIsValidUid(iN_UID);
native nUidOnlineTime(iN_UID);
native nUidLastLogin(iN_UID);
native nUidLastName(iN_UID,sN_Data[],iN_Len);
native nUidLastSteam(iN_UID,sN_Data[],iN_Len);
native nUidGetUName(iN_UID,sN_Data[],iN_Len);
native nUidGetUPass(iN_UID,sN_Data[],iN_Len);
native nGetLastUid();
native nGetLoginFlag(iN_UID);
native nSetLoginFlag(iN_UID,iN_Flags);
native nSetUidStatus(iN_UID,iN_Status);
native nGetUidStatus(iN_UID);
native nCreateAccount(iN_ID,sN_UserName[],sN_UserPassword[]);
native nSetLoginUIDByID(iN_ID, iN_UID);
- native nForwardLogin(iN_ID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nForwardLogin(iL_ID);
public plugin_init(){
register_clcmd("say /girisyap","webailesi_girisyap");
}
public webailesi_girisyap(id){
nForwardLogin(id);
}
- native nForwardRegister(iN_ID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nForwardRegister(iL_ID);
public plugin_init(){
register_clcmd("say /kayitol","webailesikayitol");
}
public webailesikayitol(id){
nForwardRegister(id);
}
- native nForwardExit(iN_ID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nForwardExit(iL_ID);
public plugin_init(){
register_clcmd("say /cikisyap","cikisyap_weba");
}
public cikisyap_weba(id){
nForwardExit(id);
}
public pUserExit(iP_ID){
// Bu public hesap sisteminden gelen bir forwarddir. Adamin nForwardexit üzerinden çıkışı yaptırılırken buradan geçirilip hesaptan çıkış yaptırılır. Değişken sıfırlayacaksanız buradan
// Sıfırlama yapabilirsiniz.
}
- native nChangePassword(iN_ID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nChangePassword(iL_ID);
public plugin_init(){
register_clcmd("say /sifredegis","sifredegis_weba");
}
public sifredegis_weba(id){
nChangePassword(id);
}
- native nGetUidByID(iN_ID); [Bu madde en çok kullanılan ve en önemlisidir]
Kullanımı;(Bu kodu sadece anlatımdaki ile sınırlamayın tüm işlemlerde bunu kullanacaksınız!)
PHP Kod:
#include <amxmodx>
native nGetUidByID(iL_ID);
public plugin_init(){
register_clcmd("say /ornek","webailesi");
register_clcmd("say /ornek2","webailesi2");
}
public webailesi(id){
if(nGetUidByID(id)){
// Oyuncu hesabinda
}
else {
// kayitli değilsin lütfen /kayitol yazarak kayıt ol!
}
}
public webailesi2(id){
console_cmd(id,"Benim UID Degerim: %i",nGetUidByID(id))
}
- native nIsUidOnline(iN_UID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nGetUidByID(iL_ID);
native nIsUidOnline(iN_UID);
public plugin_init(){
register_clcmd("say /ornek","webailesi");
}
public webailesi(id){
new iL_ID = nIsUidOnline(nGetUidByID(id));
// nGetUidByID bunun yerine bir uid yollayın.
if(is_user_connected(iL_ID)){
sColoredChat(iL_ID,"%s !gHey!n, !gHesabina yetkili premium uyelik tanimladi!n!",sG_ChatTag);
iG_PremiumAccount[iL_ID] = 1;
}
}
- native nUidOnlineTime(iN_UID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nGetUidByID(iL_ID);
native nUidOnlineTime(iN_UID);
public plugin_init(){
register_clcmd("say /ornek","webailesi");
}
public webailesi(id){
console_cmd(id,"Ben %i saniyedir oyunda oynadim",nUidOnlineTime(nGetUidByID(id)))
}
- native nIsValidUid(iN_UID);
Benzer tanımlamalar olacağı için 4 native toplu anlatacağım ve örnekte birinin kullanımı göstereceğim.
- native nUidLastName(iN_UID,sN_Data[],iN_Len); [Aşağıda bu kodun kullanım örneği verilmiştir]-[Bu native hesaba son giriş yapan kişinin oyundaki ismini döndürür]
- native nUidLastSteam(iN_UID,sN_Data[],iN_Len); [Bu native hesaba son giriş yapan kişinin steam-id değerini döndürür.
- native nUidGetUName(iN_UID,sN_Data[],iN_Len); [Bu native uid nin k.adını döndürür]
- nativenUidGetUPass(iN_UID,sN_Data[],iN_Len); [Bu native uid nin şifresini döndürür]
PHP Kod:
#include <amxmodx>
native nGetUidByID(iL_ID);
native nUidLastName(iN_UID);
public plugin_init(){
register_clcmd("say /ornek","webailesi");
}
public webailesi(id){
new sL_Name[28];
nUidLastName(nGetUidByID(id),sL_Name,27);
console_cmd(id," %iUID li hesaba en son giren kisinin nicki: %s",nGetUidByID(id),sL_Name)
}
- native nGetLastUid();
Kullanımı;
PHP Kod:
#include <amxmodx>
native nGetLastUid(iN_UID);
public plugin_init(){
register_clcmd("say /ornek","webailesi");
}
public webailesi(id){
for(new i=1000; i <= nGetLastUid(); i++){
nvault_bla(tum-hesaplari-sil);//Örnek koddur.
}
}
- native nGetLoginFlag(iN_UID); >> Güvenli hesap açıkmı/kapalımı 1/0
- nativenSetLoginFlag(iN_UID,iN_Flags); >> UID üzerinden 1/0 yollama 0 kapalı 1 açık anlamına gelir.
Kullanımı;
PHP Kod:
#include <amxmodx>
native nGetUidByID(iN_UID);
native nGetLoginFlag(iN_UID);
native nSetLoginFlag(iN_UID,iN_Flags);
public plugin_init(){
register_clcmd("say /ornek","webailesi");
}
public webailesi(id){
new iL_UID = nGetUidByID(iP_ID);
if(nGetLoginFlag(iL_UID)){
sColoredChat(iP_ID,"Basarili bir sekilde guvenli hesap modu devre disi birakildi!n!");
nSetLoginFlag(iL_UID,0);
}
else{
sColoredChat(iP_ID,"Basarili bir sekilde guvenli hesap modu atkif edildi!n!");
nSetLoginFlag(iL_UID,ADMIN_RCON);
}
pM_IslemlerMenu(iP_ID);
}
- native nSetUidStatus(iN_UID,iN_Status); -- Hesap banlama 1/0 yollama
- nativenGetUidStatus(iN_UID); -- Hesap banlımı değilmi onu öğrenme uid ile çektirin.
Kullanımı;
PHP Kod:
if(nGetUidStatus(iL_SecilenUID)){
nSetUidStatus(iL_SecilenUID,0);
sColoredChat(iP_ID,"!nHesap, basarili bir sekilde banlandi!g!");
}
else {
nSetUidStatus(iL_SecilenUID,1);
sColoredChat(iP_ID,"!nHesap, basarili bir sekilde yasaklilik durumu kaldirildi!g!");
}
- native nCreateAccount(iN_ID,sN_UserName[],sN_UserPassword[]);
Kullanımı;
PHP Kod:
new sL_UserName[22],sL_UserPassword[22];
formatex(sL_UserName,21,"wa_%i",get_systime());
formatex(sL_UserPassword,21,"wa_%i",random_num(1,500));
nCreateAccount(iP_ID,sL_UserName,sL_UserPassword);
- native nSetLoginUIDByID(iN_ID, iN_UID);
Kullanımı;
PHP Kod:
#include <amxmodx>
native nSetLoginUIDByID(iN_UID);
public plugin_init(){
register_clcmd("say /1003_uidlihesabagir","webailesi");
}
public webailesi(id){
nSetLoginUIDByID(iP_ID,1003);
}
PHP Kod:
iG_ForwardLogin = CreateMultiForward("pUserLogged",ET_IGNORE,FP_CELL);
iG_ForwardRegister = CreateMultiForward("pUserRegistered",ET_IGNORE,FP_CELL);
iG_ForwardMulti = CreateMultiForward("pUserLoggedMulti",ET_IGNORE,FP_CELL);
iG_ForwardExit = CreateMultiForward("pUserExit",ET_IGNORE,FP_CELL);
iG_ForwardChangeLanguage = CreateMultiForward("pUserChangedLanguage",ET_IGNORE,FP_CELL,FP_CELL);
- public pUserLogged(id)
Bir oyuncu hesaba giriş yapınca bu fonksiyon otomatik olarak tetiklenir. Buradan değişkenleri yükleyebilir veyatta işleyebilirsiniz.
- public pUserRegistered(id)
- public pUserLoggedMulti(id)
- public pUserExit(id)
- public pUserChangedLanguage(id)
Hesap sistemini indirme bağlantıları;
Kod Formatı(Doğrudan);
PHP Kod:
/**
* Created by AMXX-Stuido
* User: ITenGriTR
* Date: 12.02.2019
* Time 22.00
*/
#include <amxmodx>
#include <nvault>
#include <regex>
#pragma semicolon 1
/************************************************************************
-= Defines =-
************************************************************************/
/************************************************************************
-= Datas =-
************************************************************************/
new iG_Vault,iG_ForwardLogin,iG_ForwardRegister,iG_ForwardMulti,iG_ForwardExit,iG_ForwardChangeLanguage,iG_Return,iG_UID[33];
new bool:bG_Safety[33];
new sG_UserName[33][22],sG_UserPass[33][22];
/************************************************************************
-= Registers =-
************************************************************************/
public plugin_init(){
register_plugin
("WA - Hesap Sistemi",
"9.8",
"Berk");
register_clcmd("Giris_KullaniciAdi","Giris_KullaniciAdiX");
register_clcmd("Giris_Sifre","Giris_SifreX");
register_clcmd("Kayit_KullaniciAdi","Kayit_KullaniciAdiX");
register_clcmd("Kayit_Sifre","Kayit_SifreX");
register_clcmd("Yeni_Sifre","Yeni_SifreX");
register_clcmd("root_pwd","tumbanlarikaldir");
iG_ForwardLogin = CreateMultiForward("pUserLogged",ET_IGNORE,FP_CELL);
iG_ForwardRegister = CreateMultiForward("pUserRegistered",ET_IGNORE,FP_CELL);
iG_ForwardMulti = CreateMultiForward("pUserLoggedMulti",ET_IGNORE,FP_CELL);
iG_ForwardExit = CreateMultiForward("pUserExit",ET_IGNORE,FP_CELL);
iG_ForwardChangeLanguage = CreateMultiForward("pUserChangedLanguage",ET_IGNORE,FP_CELL,FP_CELL);
}
public tumbanlarikaldir(){
for(new i=1000;i<=nGetLastUidX();i++){
sSetIntData("uid>%i>status",0,i);
}
}
public plugin_natives(){
register_native("nForwardLogin","nForwardLoginX");
register_native("nForwardRegister","nForwardRegisterX");
register_native("nSetLoginUserByID","nSetLoginUserByIDX");
register_native("nSetLoginUIDByID","nSetLoginUIDByIDX");
register_native("nGetUidByID","nGetUidByIDX");
register_native("nIsUidOnline","nIsUidOnlineX");
register_native("nGetUidByName","nGetUidByNameX");
register_native("nIsValidUid","nIsValidUidX");
register_native("nUidOnlineTime","nUidOnlineTimeX");
register_native("nUidLastLogin","nUidLastLoginX");
register_native("nUidLastName","nUidLastNameX");
register_native("nUidLastSteam","nUidLastSteamX");
register_native("nGetLastUid","nGetLastUidX");
register_native("nSetUidStatus","nSetUidStatusX");
register_native("nGetUidStatus","nGetUidStatusX");
register_native("nSetUidLanguage","nSetUidLanguageX");
register_native("nGetUidLanguage","nGetUidLanguageX");
register_native("nGetLoginFlag","nGetLoginFlagX");
register_native("nSetLoginFlag","nSetLoginFlagX");
register_native("nForwardExit","nForwardExitX");
register_native("nUidGetUName","nUidGetUNameX");
register_native("nUidGetUPass","nUidGetUPassX");
register_native("nChangePassword","nChangePasswordX");
register_native("nCreateAccount","nCreateAccountX");
}
public plugin_cfg(){
//newAccount
iG_Vault = nvault_open("newAccount");
}
public plugin_end(){
for(new i; i < 33; i++){
if(iG_UID[i]){
new iL_TimeDiff,iL_OnlineTime,iL_UID = iG_UID[i];
iL_TimeDiff = get_systime();
iL_TimeDiff -= sGetIntData("uid>%i>lastlogin",iL_UID);
iL_OnlineTime = sGetIntData("uid>%i>onlinetime",iL_UID);
sSetIntData("uid>%i>onlinetime",iL_TimeDiff+iL_OnlineTime,iL_UID);
iG_UID[i] = 0;
}
}
nvault_close(iG_Vault);
}
public client_disconnected(iP_ID){
if(iG_UID[iP_ID]){
new iL_TimeDiff,iL_OnlineTime,iL_UID = iG_UID[iP_ID];
iL_TimeDiff = get_systime();
iL_TimeDiff -= sGetIntData("uid>%i>lastlogin",iL_UID);
iL_OnlineTime = sGetIntData("uid>%i>onlinetime",iL_UID);
sSetIntData("uid>%i>onlinetime",iL_TimeDiff+iL_OnlineTime,iL_UID);
iG_UID[iP_ID] = 0;
}
}
public client_putinserver(iP_ID){
iG_UID[iP_ID] = 0;
set_task(2.0,"pTryToLogin",iP_ID);
}
/************************************************************************
-= System =-
************************************************************************/
public pTryToLogin(iP_ID){
new sL_UserName[22],sL_PassWord[22];
get_user_info(iP_ID,"_un",sL_UserName,21);
get_user_info(iP_ID,"_up",sL_PassWord,21);
if(strlen(sL_UserName) > 2 && strlen(sL_PassWord) > 2){
sG_UserName[iP_ID] = sL_UserName;
sG_UserPass[iP_ID] = sL_PassWord;
pP_GoLogin(iP_ID,2);
}
}
public nForwardLoginX(){
new iL_ID = get_param(1);
bG_Safety[iL_ID] = true;
client_cmd(iL_ID,"messagemode Giris_KullaniciAdi");
}
public nForwardRegisterX(){
new iL_ID = get_param(1);
bG_Safety[iL_ID] = true;
client_cmd(iL_ID,"messagemode Kayit_KullaniciAdi");
}
public nSetLoginUserByIDX(){
new iL_ID = get_param(1);
new sL_Name[22],sL_UserPass[22];
get_string(2,sL_Name,21);
get_string(3,sL_UserPass,21);
new iL_AltUID = iG_UID[iL_ID];
if(iL_AltUID){
new iL_TimeDiff,iL_OnlineTime;
iL_TimeDiff = get_systime();
iL_TimeDiff -= sGetIntData("uid>%i>lastlogin",iL_AltUID);
iL_OnlineTime = sGetIntData("uid>%i>onlinetime",iL_AltUID);
sSetIntData("uid>%i>onlinetime",iL_TimeDiff+iL_OnlineTime,iL_AltUID);
ExecuteForward(iG_ForwardExit,iG_Return,iL_ID);
iG_UID[iL_ID] = 0;
}
copy(sG_UserName[iL_ID],21,sL_Name);
copy(sG_UserPass[iL_ID],21,sL_UserPass);
pP_GoLogin(iL_ID,2);
}
public nSetLoginUIDByIDX(){
new iL_ID = get_param(1);
new iL_UID = get_param(2);
if(1000 <= iL_UID <= nGetLastUidX()){
new iL_AltUID = iG_UID[iL_ID];
if(iL_AltUID){
new iL_TimeDiff,iL_OnlineTime;
iL_TimeDiff = get_systime();
iL_TimeDiff -= sGetIntData("uid>%i>lastlogin",iL_AltUID);
iL_OnlineTime = sGetIntData("uid>%i>onlinetime",iL_AltUID);
sSetIntData("uid>%i>onlinetime",iL_TimeDiff+iL_OnlineTime,iL_AltUID);
ExecuteForward(iG_ForwardExit,iG_Return,iL_ID);
iG_UID[iL_ID] = 0;
}
copy(sG_UserName[iL_ID],21,sGetStrData("uid>%i>username",iL_UID));
copy(sG_UserPass[iL_ID],21,sGetStrData("uid>%i>userpass",iL_UID));
pP_GoLogin(iL_ID,2);
}
}
public nForwardExitX(){
new iL_ID = get_param(1),iL_TimeDiff,iL_OnlineTime,iL_UID = iG_UID[iL_ID];
iL_TimeDiff = get_systime();
iL_TimeDiff -= sGetIntData("uid>%i>lastlogin",iL_UID);
iL_OnlineTime = sGetIntData("uid>%i>onlinetime",iL_UID);
sSetIntData("uid>%i>onlinetime",iL_TimeDiff+iL_OnlineTime,iL_UID);
ExecuteForward(iG_ForwardExit,iG_Return,iL_ID);
iG_UID[iL_ID] = 0;
}
public nGetUidByIDX(){
new iL_ID = get_param(1);
return iG_UID[iL_ID];
}
public nIsUidOnlineX(){
new iL_UID = get_param(1);
for(new i; i < 33; i++){
if(iG_UID[i] == iL_UID){
return i;
}
}
return 0;
}
public nGetUidByNameX(){
new sL_Name[26];
get_string(1,sL_Name,25);
return sGetIntData("lastname>%s>uid",sL_Name);
}
public nIsValidUidX(){
new iL_UID = get_param(1);
if(1000 <= iL_UID <= nGetLastUidX()){
return 1;
}
return 0;
}
public nUidOnlineTimeX(){
new iL_UID = get_param(1);
return sGetIntData("uid>%i>onlinetime",iL_UID);
}
public nUidLastLoginX(){
new iL_UID = get_param(1);
return sGetIntData("uid>%i>lastlogin",iL_UID);
}
public nUidLastNameX(){
new iL_UID = get_param(1);
new iL_Len = get_param(2);
set_string(2,sGetStrData("uid>%i>lastname",iL_UID),iL_Len);
}
public nUidLastSteamX(){
new iL_UID = get_param(1);
new iL_Len = get_param(2);
set_string(2,sGetStrData("uid>%i>lastauthid",iL_UID),iL_Len);
}
public nUidGetUNameX(){
new iL_UID = get_param(1);
new iL_Len = get_param(2);
set_string(2,sGetStrData("uid>%i>username",iL_UID),iL_Len);
}
public nUidGetUPassX(){
new iL_UID = get_param(1);
new iL_Len = get_param(2);
set_string(2,sGetStrData("uid>%i>userpass",iL_UID),iL_Len);
}
public nGetLastUidX(){
new iL_UID = sGetIntData("mthr>lastuid");
if(!iL_UID){
iL_UID = 1000;
}
return iL_UID;
}
public nSetUidStatusX(){
new iL_UID = get_param(1);
new iL_Status = get_param(2);
sSetIntData("uid>%i>status",iL_Status,iL_UID);
}
public nGetUidStatusX(){
new iL_UID = get_param(1);
return sGetIntData("uid>%i>status",iL_UID);
}
public nSetUidLanguageX(){
new iL_UID = get_param(1);
new iL_Language = get_param(2);
if(iL_UID < 33){
sSetIntData("uid>%i>language",iL_Language,iG_UID[iL_UID]);
ExecuteForward(iG_ForwardChangeLanguage,iG_Return,iL_UID,iL_Language);
}
else{
sSetIntData("uid>%i>language",iL_Language,iL_UID);
}
}
public nGetUidLanguageX(){
new iL_UID = get_param(1);
if(iL_UID < 33){
iL_UID = iG_UID[iL_UID];
}
if(iL_UID > 999){
return sGetIntData("uid>%i>language",iL_UID);
}
else{
return 0;
}
}
public nGetLoginFlagX(){
new iL_UID = get_param(1);
return sGetIntData("uid>%i>loginflag",iL_UID);
}
public nSetLoginFlagX(){
new iL_UID = get_param(1);
new iL_Flags = get_param(2);
sSetIntData("uid>%i>loginflag",iL_Flags,iL_UID);
}
public nCreateAccountX(){
new sL_UserName[22],sL_UserPass[22];
new iL_ID = get_param(1);
get_string(2,sL_UserName,21);
get_string(3,sL_UserPass,21);
copy(sG_UserName[iL_ID],21,sL_UserName);
copy(sG_UserPass[iL_ID],21,sL_UserPass);
pP_GoRegister(iL_ID);
}
public nChangePasswordX(){
new iL_ID = get_param(1);
bG_Safety[iL_ID] = true;
client_cmd(iL_ID,"messagemode Yeni_Sifre");
}
public Yeni_SifreX(iP_ID){
if(!bG_Safety[iP_ID]){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
new iL_UID = iG_UID[iP_ID];
new sL_Arg[22];
read_args(sL_Arg,21);
remove_quotes(sL_Arg);
new iL_Return,sL_Error[64];
new Regex:cL_Regex = regex_match(sL_Arg,"^^[a-zA-Z0-9]+$",iL_Return,sL_Error,63);
if(cL_Regex <= REGEX_NO_MATCH || !( 2 <= strlen(sL_Arg) <= 20)){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
sRemoveData("%s|%s>uid",sGetStrData("uid>%i>username",iL_UID),sGetStrData("uid>%i>userpass",iL_UID));
sSetStrData("uid>%i>userpass",sL_Arg,iL_UID);
sSetIntData("%s|%s>uid",iL_UID,sGetStrData("uid>%i>username",iL_UID),sL_Arg);
sColoredChat(iP_ID,"!gBasarili bir sekilde sifren !n[ !t%s !n] !gyapildi!n.",sL_Arg);
return PLUGIN_HANDLED;
}
public Giris_KullaniciAdiX(iP_ID){
if(!bG_Safety[iP_ID]){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
new sL_Arg[22];
read_args(sL_Arg,21);
remove_quotes(sL_Arg);
new iL_Return,sL_Error[64];
new Regex:cL_Regex = regex_match(sL_Arg,"^^[a-zA-Z0-9]+$",iL_Return,sL_Error,63);
if(cL_Regex <= REGEX_NO_MATCH || !(2 <= strlen(sL_Arg) <= 20)){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
copy(sG_UserName[iP_ID],21,sL_Arg);
client_cmd(iP_ID,"messagemode Giris_Sifre");
return PLUGIN_HANDLED;
}
public Giris_SifreX(iP_ID){
if(!bG_Safety[iP_ID]){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
new sL_Arg[22];
read_args(sL_Arg,21);
remove_quotes(sL_Arg);
new iL_Return,sL_Error[64];
new Regex:cL_Regex = regex_match(sL_Arg,"^^[a-zA-Z0-9]+$",iL_Return,sL_Error,63);
if(cL_Regex <= REGEX_NO_MATCH || !(2 <= strlen(sL_Arg) <= 20)){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
copy(sG_UserPass[iP_ID],21,sL_Arg);
pP_GoLogin(iP_ID,1);
return PLUGIN_HANDLED;
}
public Kayit_KullaniciAdiX(iP_ID){
if(!bG_Safety[iP_ID]){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
new sL_Arg[22];
read_args(sL_Arg,21);
remove_quotes(sL_Arg);
new iL_Return,sL_Error[64];
new Regex:cL_Regex = regex_match(sL_Arg,"^^[a-zA-Z0-9]+$",iL_Return,sL_Error,63);
if(cL_Regex <= REGEX_NO_MATCH || !(2 <= strlen(sL_Arg) <= 20)){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
copy(sG_UserName[iP_ID],21,sL_Arg);
client_cmd(iP_ID,"messagemode Kayit_Sifre");
return PLUGIN_HANDLED;
}
public Kayit_SifreX(iP_ID){
if(!bG_Safety[iP_ID]){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
new sL_Arg[22];
read_args(sL_Arg,21);
remove_quotes(sL_Arg);
new iL_Return,sL_Error[64];
new Regex:cL_Regex = regex_match(sL_Arg,"^^[a-zA-Z0-9]+$",iL_Return,sL_Error,63);
if(cL_Regex <= REGEX_NO_MATCH || !( 2 <= strlen(sL_Arg) <= 20)){
sColoredChat(iP_ID,"!gHey!n, !gbir seyler yanlis gitti ha !t?");
return PLUGIN_HANDLED;
}
copy(sG_UserPass[iP_ID],21,sL_Arg);
pP_GoRegister(iP_ID);
return PLUGIN_HANDLED;
}
public pP_GoLogin(iP_ID,iP_MessageType){
new iL_UID = sGetIntData("%s|%s>uid",sG_UserName[iP_ID],sG_UserPass[iP_ID]);
if(!iL_UID){
if(iP_MessageType != 2){
sColoredChat(iP_ID,"!gBoyle bir hesap bulunamadi!n!");
}
return PLUGIN_HANDLED;
}
new iL_Status = sGetIntData("uid>%i>status",iL_UID);
if(!iL_Status){
sColoredChat(iP_ID,"!gBu hesap yasaklanmis durumda!n!");
return PLUGIN_HANDLED;
}
new iL_ReqiredFlag = sGetIntData("uid>%i>loginflag",iL_UID);
if(iL_ReqiredFlag){
new iL_Flags = get_user_flags(iP_ID);
if(~iL_Flags & iL_ReqiredFlag){
sColoredChat(iP_ID,"!gBu hesaba girebilmek icin yetkiniz yetersiz!n!");
return PLUGIN_HANDLED;
}
}
new sL_Name[28],sL_Authid[28];
get_user_name(iP_ID,sL_Name,27);
for(new i; i < 33; i++){
if(iG_UID[i] == iL_UID){
sColoredChat(i,"!gCoklu hesap kullanimi malesefki yasak!n!");
sColoredChat(iP_ID,"!gCoklu hesap kullanimi malesefki yasak!n!");
iG_UID[i] = 0;
ExecuteForward(iG_ForwardMulti,iG_Return,i);
break;
}
}
get_user_authid(iP_ID,sL_Authid,27);
sSetIntData("uid>%i>lastlogin",get_systime(),iL_UID);
sSetStrData("uid>%i>lastname",sL_Name,iL_UID);
sSetIntData("lastname>%s>uid",iL_UID,sL_Name);
sSetStrData("uid>%i>lastauthid",sL_Authid,iL_UID);
sG_UserName[iP_ID] = "";
sG_UserPass[iP_ID] = "";
iG_UID[iP_ID] = iL_UID;
ExecuteForward(iG_ForwardLogin,iG_Return,iP_ID);
sColoredChat(iP_ID,"!gBasarili bir sekilde giris yapildi!n, !gHOSGELDIN!n!");
return PLUGIN_CONTINUE;
}
public pP_GoRegister(iP_ID){
new iL_UID = sGetIntData("%s|%s>uid",sG_UserName[iP_ID],sG_UserPass[iP_ID]);
if(iL_UID){
sColoredChat(iP_ID,"!gBoyle bir hesap zaten mevcut!n!");
return PLUGIN_HANDLED;
}
iL_UID = sGetIntData("mthr>lastuid");
if(!iL_UID){
iL_UID = 1000;
}
sSetIntData("%s|%s>uid",iL_UID,sG_UserName[iP_ID],sG_UserPass[iP_ID]);
sSetIntData("uid>%i>status",1,iL_UID);
sSetIntData("uid>%i>language",0,iL_UID);
sSetStrData("uid>%i>username",sG_UserName[iP_ID],iL_UID);
sSetStrData("uid>%i>userpass",sG_UserPass[iP_ID],iL_UID);
iL_UID += 1;
sSetIntData("mthr>lastuid",iL_UID);
ExecuteForward(iG_ForwardRegister,iG_Return,iP_ID);
sColoredChat(iP_ID,"!gBasarili bir sekilde kayit !n[ !t%s!g|!t%s !n] !golundu!n, !gHOSGELDIN!n!",sG_UserName[iP_ID],sG_UserPass[iP_ID]);
pP_GoLogin(iP_ID,1);
return PLUGIN_CONTINUE;
}
/************************************************************************
-= Stocks =-
************************************************************************/
stock sGetIntData(const sS_Key[],any:...){
new sL_FixedData[128];
vformat(sL_FixedData,charsmax(sL_FixedData),sS_Key,2);
return nvault_get(iG_Vault,sL_FixedData);
}
stock sSetIntData(const sS_Key[],const iS_Data,any:...){
new sL_FixedData[128],sL_NumToStr[48];
vformat(sL_FixedData,charsmax(sL_FixedData),sS_Key,3);
num_to_str(iS_Data,sL_NumToStr,charsmax(sL_NumToStr));
nvault_set(iG_Vault,sL_FixedData,sL_NumToStr);
}
stock sGetStrData(const sS_Key[],any:...){
new sL_FixedData[128],sL_ReturnedData[256];
vformat(sL_FixedData,charsmax(sL_FixedData),sS_Key,2);
nvault_get(iG_Vault,sL_FixedData,sL_ReturnedData,charsmax(sL_ReturnedData));
return sL_ReturnedData;
}
stock sSetStrData(const sS_Key[],const sS_Data[],any:...){
new sL_FixedData[128];
vformat(sL_FixedData,charsmax(sL_FixedData),sS_Key,3);
nvault_set(iG_Vault,sL_FixedData,sS_Data);
}
stock sRemoveData(const sS_Key[],any:...){
new sL_FixedData[128];
vformat(sL_FixedData,charsmax(sL_FixedData),sS_Key,2);
nvault_remove(iG_Vault,sL_FixedData);
}
#if AMXX_VERSION_NUM < 183
stock sColoredChat(const id, const input[], any:...){
new count = 1, players[32];
static msg[191];
vformat(msg, 255, input, 3);
replace_all(msg, 255, "!n", "^x01"); // Default Renk(Sary)
replace_all(msg, 255, "!g", "^x04"); // Ye?il Renk
replace_all(msg, 255, "!t", "^x03"); // Takym Renk( CT mavi , T kyrmyzy )
if (id) players[0] = id; else get_players(players, count, "ch");{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
#else
stock sColoredChat(const id, const input[], any:...){
static msg[191];
vformat(msg, 255, input, 3);
replace_all(msg, 255, "!n", "^x01");
replace_all(msg, 255, "!g", "^x04");
replace_all(msg, 255, "!t", "^x03");
client_print_color(id, id, msg);
}
#endif
)


