Bu modelleri panelde bu dizine yükle.
Kod: Tümünü seç
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <nvault>
/*----------------------------------------------------------------------------------------------*/
#define PLUGIN "Hesapli Level Sistemi"
#define VERSION "v.1"
#define AUTHOR "Anilcan , -SwindLer."
/*----------------------------------------------------------------------------------------------*/
#define TAG "TurkmeN"
/*----------------------------------------------------------------------------------------------*/
#define ENUM 3
#define MAX_RANKS 18
/*----------------------------------------------------------------------------------------------*/
new const yasakli_semboller[][] =
{
"@",
"*",
"/",
"%",
",",
".",
"ü",
"?",
"+"
}
enum _: szData
{
szRankName[ 32 ],
szRankXp
}
new const szRanklar[ ][ szData ] =
{
{ "Silver 1", 0 },
{ "Silver 2", 200 },
{ "Silver 3", 400 },
{ "Silver 4", 600 },
{ "Silver Elite", 800 },
{ "Silver Elite Master", 1000 },
{ "Gold Nova 1", 1500 },
{ "Gold Nova 2", 2000 },
{ "Gold Nova 3", 2500 },
{ "Gold Nova Master", 3000 },
{ "Master Guardian 1", 4000 },
{ "Master Guardian 2", 5000 },
{ "Master Guardian Elite", 6000 },
{ "Distinguished Master Guardian", 9000 },
{ "Legendary Eagle", 12000 },
{ "Legendary Eagle Master", 18000 },
{ "Supreme Master First Class", 25000 },
{ "Global Elite", 40000 }
}
enum _: Level {
g_LEVEL,
g_EXP,
g_TOPLAMKILL
}
/*-----------------------------------------------------------------------------------------------*/
/*-----------------------------------------{/-Newler\-}------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
new g_Level[ 33 ][ Level ]
new g_username[ 33 ][ 50 ], k_username[ 33 ][ 50 ], sifre[ 33 ][ 50 ], g_sifre[ 33 ][ 50 ],username[ 33 ][ 50], k_sifre[ 33 ][ 50 ];
new g_login, g_register , g_vault,g_szName[33][32],g_hud,g_killxp,g_deathxp
new const Model[66] = "models/player/leet_md/leet_mg.mdl";
new const Model_1[66] = "models/player/urban_mg/urban_mg.mdl";
new const Model_2[66] = "models/player/terror_mg/terror_mg.mdl";
public plugin_init()
{
register_clcmd("say /hesap", "menu_ac" );
register_clcmd("say /adminbey","vipmenu")
register_clcmd("say /kostummenu", "KostumMenu")
register_clcmd( "KullaniciAdi_Sec", "user_name2" );
register_clcmd( "Sifre_Yaz", "sifre_sec" );
register_clcmd( "Kullanici_Adi", "user_name" );
register_clcmd( "Sifreni_Gir", "sifrexd" );
register_event( "DeathMsg" , "olunce" , "a" );
g_hud = CreateHudSyncObj( );
g_killxp = register_cvar( "csa_killxp", "25" );
g_deathxp = register_cvar( "csa_deathxp", "15" );
}
public plugin_precache()
{
precache_model(Model);
precache_model(Model_1);
precache_model(Model_2);
}
public client_putinserver( id )
{
set_task(1.0, "goster", id, _, _, "b")
vipmenu(id)
}
public client_disconnected(id)
{
kayit( id )
sifirla( id )
}
/*-----------------------------------------------------------------------------------------------*/
/*---------------------------------------{/-Hud Mesaji\-}----------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
public goster( id )
{
set_hudmessage(0, 255, 255, 0.01, 0.18, 0, 6.0, 1.0, 0.0, 0.0, -1 );
if( g_Level[ id ][ g_LEVEL ] < MAX_RANKS )
{
ShowSyncHudMsg( id,g_hud, "Exp : [ %i / %i ] ^nRankin [ %s ] ^nBir Ust Rank [ %s ]^nToplam Fragin[ %i ]",
g_Level[ id ][ g_EXP ],
szRanklar[ g_Level[ id ][ g_LEVEL ] + 1 ][ szRankXp ],
szRanklar[ g_Level[ id ][ g_LEVEL ] ][ szRankName ],
szRanklar[ g_Level[ id ][ g_LEVEL ] + 1 ][ szRankName ],
g_Level[ id ][ g_TOPLAMKILL ]);
}
}
/*-----------------------------------------------------------------------------------------------*/
/*---------------------------------------{/-Level Sistemi\-}----------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
public vipmenu(id)
{
new menuz;
static amenu[512]
formatex(amenu,charsmax(amenu),"\r[> \d%s OZEL Menu \r<]^n\r[> \d213.238.173.\w190 \r<]", TAG)
menuz = menu_create(amenu,"vipmenu_devam")
formatex(amenu,charsmax(amenu),"\r%s \d| \wBicak Menu", TAG)
menu_additem(menuz,amenu,"1")
formatex(amenu,charsmax(amenu),"\r%s \d| \wFps Menu", TAG)
menu_additem(menuz,amenu,"2")
formatex(amenu,charsmax(amenu),"\r%s \d| \wTS3 BAGLAN", TAG)
menu_additem(menuz,amenu,"3")
formatex(amenu,charsmax(amenu),"\r%s \d| \wSERVERIN EN IYILERI", TAG)
menu_additem(menuz,amenu,"4")
formatex(amenu,charsmax(amenu),"\r%s \d| \wKostum Menu", TAG)
menu_additem(menuz,amenu,"5")
menu_setprop(menuz,MPROP_EXITNAME,"\rCikis")
menu_setprop(menuz,MPROP_EXIT,MEXIT_ALL)
menu_display(id,menuz,0)
return PLUGIN_HANDLED;
}
public vipmenu_devam(id,menu,item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new access,callback,data[6],iname[64]
menu_item_getinfo(menu,item,access,data,5,iname,63,callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
client_cmd(id, "say /bicakmenu")
}
case 2:
{
client_cmd(id, "say /fps")
}
case 3:
{
client_cmd(id, "say /ts3")
}
case 4:
{
client_cmd(id, "say /top15")
}
case 5:
{
client_cmd(id, "say /kostummenu")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED;
}
public KostumMenu(id)
{
static Item[128]
formatex(Item, charsmax(Item),"\rKostum \yMenu")
new Menu = menu_create(Item, "KostumMenu_Handler")
formatex(Item, charsmax(Item),"\w[\rKýrmýzýAdam\w]")
menu_additem(Menu, Item, "1")
formatex(Item, charsmax(Item),"\w[\rMaviAdam\w]")
menu_additem(Menu, Item, "2")
formatex(Item, charsmax(Item),"\w[\rYakinda\w]")
menu_additem(Menu, Item, "3")
menu_setprop(Menu,MPROP_BACKNAME,"\wGeri")
menu_setprop(Menu,MPROP_NEXTNAME,"\wIleri")
menu_setprop(Menu,MPROP_EXITNAME,"\wCikis")
menu_display(id, Menu,0)
}
public KostumMenu_Handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:{
if(cs_get_user_money(id) < 5000)
{
renkli_yazi(id,"^3[^4 %s ^3] ^1Kýrmýzý Adam Olmak ýcýn ^3[ ^4PARANIZ^3] ^1YOKTUR", TAG);
renkli_yazi(id,"^3[^4 %s ^3] ^1GEREKLI OLAN PARA ^3[^4 5000 ^3] ^1DOLARDIR", TAG);
return PLUGIN_HANDLED;
}
cs_set_user_money(id,cs_get_user_money(id) - 5000);
cs_set_user_model(id, "terror_mg");
}
case 2: {
if(cs_get_user_money(id) < 5000)
{
renkli_yazi(id,"^3[^4 %s ^3] ^1Mavý Adam Olmak ýcýn ^3[ ^4PARANIZ^3] ^1YOKTUR", TAG);
renkli_yazi(id,"^3[^4 %s ^3] ^1GEREKLI OLAN PARA ^3[^4 5000 ^3] ^1DOLARDIR", TAG);
return PLUGIN_HANDLED;
}
cs_set_user_money(id,cs_get_user_money(id) - 5000);
cs_set_user_model(id, "urban_mg");
}
case 3: {
if(cs_get_user_money(id) < 100000)
{
renkli_yazi(id,"^3[^4 %s ^3] ^1YAKINDA ^3[ ^4PARANIZ^3] ^1YOKTUR", TAG);
renkli_yazi(id,"^3[^4 %s ^3] ^1GEREKLI OLAN PARA ^3[^4 100000 ^3] ^1DOLARDIR", TAG);
return PLUGIN_HANDLED;
}
cs_set_user_money(id,cs_get_user_money(id) - 100000);
cs_set_user_model(id, "leet_mg");
}
}
return PLUGIN_HANDLED
}
public olunce( )
{
new victim = read_data( 2 );
new killer = read_data( 1 );
new name[ 32 ]
get_user_name( killer, name, 31 );
if( killer != victim )
{
g_Level[ killer ][ g_EXP ] += get_pcvar_num( g_killxp );
g_Level[ killer][ g_TOPLAMKILL ] += 1;
kaydet( killer );
rutbe_kontrol( killer );
g_Level[ victim ][ g_EXP ] -= get_pcvar_num( g_deathxp );
if( g_Level[ victim ][ g_EXP ] < 0 )
{
g_Level[ victim ][ g_EXP ] = 0;
}
if( g_Level[ victim ][ g_LEVEL ] != 0 )
{
if( g_Level[ victim ][ g_EXP ] < szRanklar[ g_Level[ victim ][ g_LEVEL ] ][ szRankXp ] )
{
g_Level[ victim ][ g_LEVEL ] -= 1
renkli_yazi( victim, "!n[ !t%s !n] !gRank Dustun. Yeni rankin !n[ !t%s !n].", TAG, szRanklar[ g_Level[ victim ][ g_LEVEL ] ][ szRankName ] );
kaydet( victim );
}
}
}
}
public rutbe_kontrol( id )
{
if( g_Level[ id ][ g_LEVEL ] < MAX_RANKS )
{
if( g_Level[ id ][ g_EXP ] >= szRanklar[ g_Level[ id ][ g_LEVEL ] + 1 ][ szRankXp ] )
{
g_Level[ id ][ g_LEVEL ] += 1;
renkli_yazi( id, "!n[ !t%s !n] !gRank Atladin. Yeni rankin !n[ !t%s !n].", TAG, szRanklar[ g_Level[ id ][ g_LEVEL ] ][ szRankName ] );
kaydet( id );
}
}
}
/*----------------------------------------------------------------------------------------------*/
/*-------------------------------------{/-Hesap Sistemi\-}--------------------------------------*/
/*----------------------------------------------------------------------------------------------*/
public plugin_cfg()
{
g_vault = nvault_open( "LeveLLKayitt" );
if( g_vault == INVALID_HANDLE )
{
set_fail_state( "Vault dosyasi acilamadi" );
}
}
public plugin_end( )
{
nvault_close( g_vault );
}
public kaydet( id )
{
if( g_login & ( 1 << id ) )
{
new key1[ 64 ], data1[ 256 ], iPos1;
formatex( key1, 63, "%s-LeveL", g_username[ id ] )
for( new i = 0; i < ENUM; i++ )
{
iPos1 += formatex( data1[ iPos1 ], 255 - iPos1, "%i ", g_Level[ id ][ i ] )
}
nvault_set( g_vault, key1, data1 );
}
if( g_register & ( 1 << id ) )
{
new key1[ 64 ], data1[ 256 ], iPos1;
formatex( key1, 63, "%s-LeveL", k_username[ id ] )
for( new i = 0; i < ENUM; i++ )
{
iPos1 += formatex( data1[ iPos1 ], 255 - iPos1, "%i ", g_Level[ id ][ i ] )
}
nvault_set( g_vault, key1, data1 );
}
}
public user_name2( id )
{
new say[ 192 ]
read_args( say, 191 );
remove_quotes( say )
new len = strlen( say )
if( len < 5 || len > 32 )
{
renkli_yazi( id, "!n[ !t%s !n] !gKullanici Adi !n[ !t5 !n] !gkarakterden buyuk ve !n[ !t32 !n] !gkarakterden kucuk olmalidir.", TAG );
client_cmd( id, "messagemode KullaniciAdi_Sec" );
return PLUGIN_HANDLED;
}
for( new i; i < sizeof yasakli_semboller; i++ )
{
if( containi( say, yasakli_semboller[ i ] ) != -1 )
{
renkli_yazi( id, "!n[ !t%s !n] !gKullanici Adi Sembol Iceremez.", TAG );
client_cmd( id, "messagemode KullaniciAdi_Sec" );
return PLUGIN_HANDLED;
}
}
if( !equali( username[ id ], "" ) )
{
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
return PLUGIN_HANDLED;
}
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, say );
copy( k_sifre[ id ], 49, "" );
client_cmd( id, "messagemode Sifre_Yaz" );
return PLUGIN_HANDLED;
}
public sifre_sec( id )
{
new say[ 192 ]
read_args( say, 191 );
remove_quotes( say )
new len = strlen( say )
if( len < 5 || len > 32 )
{
renkli_yazi( id, "!n[ !t%s !n] !gSifre !n[ !t5 !n] !gkarakterden buyuk ve !n[ !t32 !n] !gkarakterden kucuk olmalidir.", TAG );
client_cmd( id, "messagemode Sifre_Yaz" );
return PLUGIN_HANDLED;
}
for( new i; i < sizeof yasakli_semboller; i++ )
{
if( containi( say, yasakli_semboller[ i ] ) != -1 )
{
renkli_yazi( id, "!n[ !t%s !n] !gSifre Sembol Iceremez.", TAG );
client_cmd( id, "messagemode Sifre_Yaz" );
return PLUGIN_HANDLED;
}
}
if( !equali( username[ id ], "" ) || equali( k_username[ id ], "" ) )
{
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
return PLUGIN_HANDLED;
}
copy( k_sifre[ id ], 49, say );
kayit_yap( id, k_username[ id ], k_sifre[ id ] );
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
return PLUGIN_HANDLED;
}
public kayit_yap( id, szName[ ], szSifre[ ] )
{
new getPw[32], IDFormat[64]
formatex( IDFormat, 63,"%s-LeveL-Kayit", szName );
nvault_get( g_vault, IDFormat, getPw,31 );
if( equali( getPw, "" ) )
{
new key[ 64 ];
copy( username[ id ], 49, szName );
copy( sifre[ id ], 49, szSifre );
formatex( key, 63, "%s-LeveL-Kayit", szName );
nvault_set( g_vault, key, szSifre )
g_register |= ( 1 << id )
new text[64];
read_args(text,63)
remove_quotes(text)
copy(g_szName[id],31,text)
renkli_yazi( id, "!n[ !t%s !n] !gBasarili bir sekilde hesabiniz acilmistir.", TAG );
renkli_yazi( id, "!n[ !t%s !n] !gKullanici Adiniz !n[ !t%s !n] !gSifreniz !n[ !t%s !n].", TAG, szName, szSifre );
}
else
{
renkli_yazi( id, "!n[ !g%s !n] !tBu Kullanici Adinda Zaten Hesap Var.", TAG );
}
return PLUGIN_HANDLED;
}
public user_name( id )
{
new say[ 192 ]
read_args( say, 191 );
remove_quotes( say )
new len = strlen( say )
if( len < 5 || len > 32 )
{
renkli_yazi( id, "!n[ !t%s !n] !gKullanici Adi !n[ !t5 !n] !tkarakterden buyuk ve !n[ !t32 !n] !gkarakterden kucuk olmalidir.", TAG );
client_cmd( id, "messagemode Kullanici_Adi" );
return PLUGIN_HANDLED;
}
for( new i; i < sizeof yasakli_semboller; i++ )
{
if( containi( say, yasakli_semboller[ i ] ) != -1 )
{
renkli_yazi( id, "!n[ !t%s !n] !gKullanici Adi Sembol Iceremez.", TAG );
client_cmd( id, "messagemode Kullanici_Adi" );
return PLUGIN_HANDLED;
}
}
if( !equali( username[ id ], "" ) )
{
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
return PLUGIN_HANDLED;
}
copy( g_username[ id ], 49, say );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
client_cmd( id, "messagemode Sifreni_Gir" );
return PLUGIN_HANDLED;
}
public sifrexd( id )
{
new say[ 192 ]
read_args( say, 191 );
remove_quotes( say )
new len = strlen( say )
if( len < 5 || len > 32 )
{
renkli_yazi( id, "!n[ !t%s !n] !gSifre !n[ !t5 !n] !gkarakterden buyuk ve !n[ !t32 !n] !gkarakterden kucuk olmalidir.", TAG );
client_cmd( id, "messagemode Sifreni_Gir" );
return PLUGIN_HANDLED;
}
for( new i; i < sizeof yasakli_semboller; i++ )
{
if( containi( say, yasakli_semboller[ i ] ) != -1 )
{
renkli_yazi( id, "!n[ !t%s !n] !gSifre Sembol Iceremez.", TAG );
client_cmd( id, "messagemode Sifreni_Gir" );
return PLUGIN_HANDLED;
}
}
if( !equali( username[ id ], "" ) || equali( g_username[ id ], "" ) )
{
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
return PLUGIN_HANDLED;
}
copy( g_sifre[ id ], 49, say );
giris_yap( id, g_username[ id ], g_sifre[ id ] );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
return PLUGIN_HANDLED;
}
public giris_yap( id, szName[ ], szSifre[ ] )
{
new getPw[32], IDFormat[64]
formatex( IDFormat, 63,"%s-LeveL-Kayit", szName );
nvault_get( g_vault, IDFormat, getPw,31 );
if( equali( getPw, szSifre ) )
{
new key1[ 64 ], data1[ 256 ],szVal1[ 6 ];
copy( username[ id ], 49, szName );
copy( sifre[ id ], 49, szSifre );
formatex( key1, 63, "%s-LeveL", szName );
nvault_get( g_vault, key1, data1, 255 );
for( new i; i < ENUM; i++ )
{
argbreak( data1, szVal1, 5, data1, 255 );
g_Level[ id ][ i ] = str_to_num( szVal1 );
}
g_login |= ( 1 << id );
renkli_yazi( id, "!n[ !t%s !n] !gBasarili bir sekilde hesabiniza giris yaptiniz.", TAG );
vipmenu(id)
}
else
{
renkli_yazi( id, "!n[ !t%s !n] !gYanlis !n[ !tKullanici Adi !n] !gya da !n[ !tSifre !n] !ggirdin.", TAG );
}
return PLUGIN_HANDLED;
}
public menu_ac( id )
{
if( !is_user_connected( id ) ) return PLUGIN_HANDLED;
new menu = menu_create( "\rLevel Sistemi \d|| \yHesap Kayit Sistemi","menu_devam");
if( equali( username[ id ], "" ) )
{
menu_additem( menu, "\yGiris Yap", "1" );
menu_additem( menu, "\yKayit Ol^n", "2" );
}
menu_additem( menu, "\yBizim Menu", "3" );
menu_additem( menu, "\yCikis Yap", "4" );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL )
menu_display( id, menu, 0 );
return PLUGIN_HANDLED;
}
public menu_devam( id, menu, item )
{
if ( item == MENU_EXIT)
{
menu_destroy( menu )
return PLUGIN_HANDLED;
}
new data[ 6 ], name[ 32 ], access, callback;
menu_item_getinfo(menu, item, access, data,5, name, 31, callback );
new key = str_to_num( data )
switch( key )
{
case 1:
{
client_cmd( id, "messagemode Kullanici_Adi" );
}
case 2:
{
client_cmd( id, "messagemode KullaniciAdi_Sec" );
}
case 3:
{
vipmenu(id);
vipmenu(id)
}
case 4:
{
kaydet( id );
remove_task( id );
copy( username[ id ], 49, "" );
copy( sifre[ id ], 49, "" );
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
g_login &= ~( 1 << id );
g_register &= ~( 1 << id );
set_task(1.0,"sifirla",id);
renkli_yazi( id, "!n[ !t%s !n] !gButun bilgileriniz kaydedilip hesabinizdan cikis yapilmistir.", TAG );
}
}
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public sifirla(id)
{
for( new i; i < Level; i++ )
{
g_Level[ id ][ i ] = 0
}
}
public kayit( id )
{
kaydet( id );
remove_task( id );
copy( username[ id ], 49, "" );
copy( sifre[ id ], 49, "" );
copy( g_username[ id ], 49, "" );
copy( g_sifre[ id ], 49, "" );
copy( k_username[ id ], 49, "" );
copy( k_sifre[ id ], 49, "" );
g_login &= ~( 1 << id );
g_register &= ~( 1 << id );
for( new i; i < Level; i++ )
{
g_Level[ id ][ i ] = 0
}
}
/*----------------------------------------------------------------------------------------------*/
/*--------------------------------------{/-Renkli Yazi\-}---------------------------------------*/
/*----------------------------------------------------------------------------------------------*/
stock renkli_yazi(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!n", "^x01"); // Default Renk(Sarý)
replace_all(msg, 190, "!g", "^x04"); // Yeþil Renk
replace_all(msg, 190, "!t", "^x03"); // Takým Renk( CT mavi , T kýrmýzý )
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();
}
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/