Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <reapi>
#include <fun>
#include <nvault>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#define PLUGIN "Saklananlar-Arayanlar Menu"
#define VERSION "1.0"
#define AUTHOR "OmerTas"
#define TAG "SERVER ISMI"
#define ADMIN_MULTIJUMP ADMIN_RCON
#define MAX_PLAYERS 32
#define m_iTeam 114
#define m_afButtonPressed 246
#define m_flFallVelocity 251
#define TASK_SHOW_INFORMATION 672
#define STANDARD_FAST 250.0
new const experience_level[] =
{
0,10,25,50,75,100,125,150,175,200,225,250,275,300,325,350,375,400,425,450,475,500,525,550,575,600,625,650,700,725,750,775,800,825,850,875,900,925,950,975,1000,1025,1050,1075,1100,1125,
1150,1175,1200,1225,1250,1275,1300,1325,1350,1375,1400,1425,1450,1475,1500,1525,1550,1575,1600,1625,1650,1675,1700,1725,1750,1775,1800,1825,1850,1875,1900,1925,1950,1975,2000,2025,2050,2075,2100,2125,2150,
2175,2200,2225,2250,2275,2300,2325,2350,2375,2400,2425,2450,2475,2500,2525,2550
}
new const sonlevelmodel[66] = "models/player/mg_sonlevel/mg_sonlevel.mdl";
new g_szAuthID[33][34]
new can[33];
new cangoster[33];
new gelismislik[33];
new experience_player[33];
new punkty_player[33];
new level_player[33] = 1;
new g_iJumpCount[MAX_PLAYERS+1]
new g_bMultiJump[MAX_PLAYERS+1 char]
new cangitme
new g_pCvarMultiJumps, g_pCvarTeamAllowed, g_pCvarOnlyAdmins, g_pCvarMaxFallVelocity, g_pCvarJumpVelocity
new const g_szSeekerWpns[][] =
{
"",
"weapon_m249",
"weapon_aug",
"weapon_scout",
"weapon_m4a1",
"weapon_ak47",
"weapon_famas",
"weapon_ump45",
"weapon_glock18",
"weapon_knife"
};
public plugin_precache() {
precache_model(sonlevelmodel)
}
#define vaultdosyadef "yenivault_31"
// vaultdosyadef da sunucuvault tutuyoruz degistirirsen yeni vaulta gecer yani veriler eski vaultta kalir.
new vaultdosya
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
vaultdosya = nvault_open( vaultdosyadef );
register_clcmd("say /saklambac", "saklamenu")
register_clcmd("say !saklambac", "saklamenu")
register_clcmd("say .saklambac", "saklamenu")
register_clcmd("say /sifirla", "sifirla")
register_concmd("saklambac_level", "cmd_setlvl", ADMIN_RCON, "<name> <level>");
RegisterHam(Ham_Spawn, "player", "elbaslayinca", 1);
register_clcmd("say /sinif", "sinifmenu")
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[1], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[2], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[3], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[4], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[5], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[6], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[7], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_PrimaryAttack, g_szSeekerWpns[8], "fw_WeaponAttack");
RegisterHam(Ham_Weapon_SecondaryAttack, g_szSeekerWpns[9], "fw_WeaponAttack");
register_event("Damage", "Damage", "b", "2!=0");
g_pCvarMultiJumps = register_cvar("mp_multijumps", "1")
g_pCvarTeamAllowed = register_cvar("mp_multijumps_team", "2") //0:nobody, 1:terrorists, 2:cts, 3:all
g_pCvarOnlyAdmins = register_cvar("mp_multijumps_adminonly", "0")
g_pCvarMaxFallVelocity = register_cvar("mp_multijump_maxfallvelocity", "99999999999")
g_pCvarJumpVelocity = register_cvar("mp_multijumps_jumpvelocity", "333")
register_clcmd("say /mj", "ClCmd_Say_MultiJump")
register_clcmd("say /multijump", "ClCmd_Say_MultiJump")
RegisterHam(Ham_Player_Jump, "player", "OnCBasePlayer_Jump", false) ;
register_event("DeathMsg", "Death", "ade");
cangitme = register_cvar("saklambac_hp", "3");
}
public plugin_end()
{
nvault_close(vaultdosya) // harita kapanirken nvaultlari kapatiyoruz ki kayitlar basarili sekilde kaydedilsin.
}
public sinifmenu(id) {
if(cs_get_user_team(id) == CS_TEAM_CT) {
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "\rSinif Menu \yBy Omer")
menu = menu_create(Menuz, "sinifmenu_handler")
formatex(Menuz, charsmax(Menuz), "\yGlock18+Yumruk \w[LEVEL:\rHerkes\w]")
menu_additem(menu, Menuz, "1", 0)
formatex(Menuz, charsmax(Menuz), "\yUMP45+Yumruk \w[LEVEL:\r5\w]")
menu_additem(menu, Menuz, "2", 0)
formatex(Menuz, charsmax(Menuz), "\yFamas+Yumruk \w[LEVEL:\r8\w]")
menu_additem(menu, Menuz, "3", 0)
formatex(Menuz, charsmax(Menuz), "\yScout+Yumruk \w[LEVEL:\r10\w]")
menu_additem(menu, Menuz, "4", 0)
formatex(Menuz, charsmax(Menuz), "\yM4A1+Yumruk \w[LEVEL:\r12\w]")
menu_additem(menu, Menuz, "5", 0)
formatex(Menuz, charsmax(Menuz), "\yAK47+Yumruk \w[LEVEL:\r15\w]")
menu_additem(menu, Menuz, "6", 0)
formatex(Menuz, charsmax(Menuz), "\yAUG+Yumruk \w[LEVEL:\r20\w]")
menu_additem(menu, Menuz, "7", 0)
formatex(Menuz, charsmax(Menuz), "\yM249+Yumruk \w[LEVEL:\r25\w]")
menu_additem(menu, Menuz, "8", 0)
formatex(Menuz, charsmax(Menuz), "\rCikis")
menu_setprop(menu,MPROP_EXITNAME,Menuz)
menu_setprop(menu,MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
else if(cs_get_user_team(id) != CS_TEAM_CT) {
client_print_color(id,id,"^4[%s] - ^1Avci olman gerekiyor",TAG)
}
}
public sinifmenu_handler(id,menu,item) {
new data[6], iName[64]
new acces, callback;
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key) {
case 1: {
if(cs_get_user_team(id) == CS_TEAM_CT) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_glock18")
cs_set_user_bpammo(id,CSW_GLOCK18,200)
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 2: {
if(level_player[id] >= 5) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_ump45")
cs_set_user_bpammo(id,CSW_UMP45,200)
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 3: {
if(level_player[id] >= 8) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_famas")
cs_set_user_bpammo(id,CSW_FAMAS,200)
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 4: {
if(level_player[id] >= 10) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_scout")
cs_set_user_bpammo(id,CSW_SCOUT,200)
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 5: {
if(level_player[id] >= 12) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_m4a1")
cs_set_user_bpammo(id,CSW_M4A1,200)
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 6: {
if(level_player[id] >= 15) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
give_item(id,"weapon_ak47")
cs_set_user_bpammo(id,CSW_AK47,200)
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 7: {
if(level_player[id] >= 20) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
cs_set_user_bpammo(id,CSW_AUG,200)
give_item(id,"weapon_aug")
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
case 8: {
if(level_player[id] >= 25) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
cs_set_user_bpammo(id,CSW_M249,200)
give_item(id,"weapon_m249")
}
else {
client_print_color(id,id,"^4[%s] - ^1Yeterli levelin yok!",TAG)
sinifmenu(id)
}
}
}
}
public saklamenu(id) {
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "\rSaklambac Menu \yBy Omer")
menu = menu_create(Menuz, "saklamenu_handler")
formatex(Menuz, charsmax(Menuz), "\rKendini Guclendir")
menu_additem(menu, Menuz, "1", 0)
formatex(Menuz, charsmax(Menuz), "\rCikis")
menu_setprop(menu,MPROP_EXITNAME,Menuz)
menu_setprop(menu,MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public saklamenu_handler(id,menu,item) {
new data[6], iName[64]
new acces, callback;
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key) {
case 1: {
gelistirmeler_menu(id)
}
}
}
public gelistirmeler_menu(id) {
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "\rGelistirme menusu \yBy Omer \w[%i]", punkty_player[id])
menu = menu_create(Menuz, "saklanan_menu_handler")
formatex(Menuz, charsmax(Menuz), "\rCan: \yCanini Yukseltir \w[%i]", cangoster[id])
menu_additem(menu, Menuz, "1", 0)
formatex(Menuz, charsmax(Menuz), "\rGelismislik: \yOzel yetenekler \w[%i]", gelismislik[id])
menu_additem(menu, Menuz, "2", 0)
formatex(Menuz, charsmax(Menuz), "\rCikis")
menu_setprop(menu,MPROP_EXITNAME,Menuz)
menu_setprop(menu,MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public saklanan_menu_handler(id,menu,item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0: {
if(punkty_player[id]<1) {
return PLUGIN_HANDLED;
}
if(cangoster[id]<50) {
cangoster[id]++;
punkty_player[id]--;
kaydet(id)
}
if(can[id]<200) {
can[id]+=2;
}
if(cangoster[id]== 50) {
client_print_color(id, id, "^4[%s] - ^1Canin zaten son asamada",TAG)
}
}
case 1: {
if(punkty_player[id]<1) {
return PLUGIN_HANDLED;
}
if(gelismislik[id]<100) {
gelismislik[id]++;
punkty_player[id]--;
kaydet(id)
}
if(gelismislik[id]== 100) {
client_print_color(id, id, "^4[%s] - ^1Gelismislik zaten son asamada",TAG)
}
}
}
if(punkty_player[id]>0)
gelistirmeler_menu(id);
return PLUGIN_CONTINUE;
}
public sifirla(id)
{
punkty_player[id] = level_player[id]*2-2;
can[id] = 100;
cangoster[id] = 0;
gelismislik[id] = 0
}
public client_disconnected(id)
{
kaydet(id);
}
public kaydet(id)
{
new formatex1[100]
new formatex2[100]
formatex(formatex1,99,"%s-punky",g_szAuthID[id])
formatex(formatex2,99,"%i",punkty_player[id])
nvault_pset(vaultdosya,formatex1,formatex2)
formatex(formatex1,99,"%s-can",g_szAuthID[id])
formatex(formatex2,99,"%i",can[id])
nvault_pset(vaultdosya,formatex1,formatex2)
formatex(formatex1,99,"%s-cangoster",g_szAuthID[id])
formatex(formatex2,99,"%i",cangoster[id])
nvault_pset(vaultdosya,formatex1,formatex2)
formatex(formatex1,99,"%s-gelismislik",g_szAuthID[id])
formatex(formatex2,99,"%i",gelismislik[id])
nvault_pset(vaultdosya,formatex1,formatex2)
formatex(formatex1,99,"%s-level",g_szAuthID[id])
formatex(formatex2,99,"%i",level_player[id])
nvault_pset(vaultdosya,formatex1,formatex2)
formatex(formatex1,99,"%s-exp",g_szAuthID[id])
formatex(formatex2,99,"%i",experience_player[id])
nvault_pset(vaultdosya,formatex1,formatex2)
}
public cekveri(id)
{
new formatex1[100]
formatex(formatex1,99,"%s-punky",g_szAuthID[id])
punkty_player[id] = nvault_get(vaultdosya,formatex1)
formatex(formatex1,99,"%s-can",g_szAuthID[id])
can[id] = nvault_get(vaultdosya,formatex1)
formatex(formatex1,99,"%s-cangoster",g_szAuthID[id])
cangoster[id] = nvault_get(vaultdosya,formatex1)
formatex(formatex1,99,"%s-gelismislik",g_szAuthID[id])
gelismislik[id] = nvault_get(vaultdosya,formatex1)
formatex(formatex1,99,"%s-level",g_szAuthID[id])
level_player[id] = nvault_get(vaultdosya,formatex1)
formatex(formatex1,99,"%s-exp",g_szAuthID[id])
experience_player[id] = nvault_get(vaultdosya,formatex1)
}
public Damage(id) {
new attacker = get_user_attacker(id);
new damage = read_data(2);
if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker))
{
while(damage>15)
{
damage-=15;
experience_player[attacker]++;
}
}
levelatla(attacker);
return PLUGIN_CONTINUE;
}
public levelatla(id)
{
if(level_player[id] < 76)
{
while(experience_player[id] >= experience_level[level_player[id]])
{
level_player[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
show_hudmessage(id, "Tebrikler level atladiniz");
}
punkty_player[id] = (level_player[id]-1)*2-cangoster[id]-gelismislik[id];
}
}
public client_connect(id)
{
get_user_authid(id, g_szAuthID[id], charsmax(g_szAuthID[] ));
remove_task(id+TASK_SHOW_INFORMATION);
cekveri(id)
set_task(3.0, "ShowInformation", id+TASK_SHOW_INFORMATION);
}
public cmd_setlvl(id, level, cid) {
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg1[33];
new arg2[6];
read_argv(1, arg1, 32);
read_argv(2, arg2, 5);
new player = cmd_target(id, arg1);
new value = str_to_num(arg2)-1;
experience_player[player] = experience_level[value];
level_player[player] = 0;
levelatla(player);
return PLUGIN_HANDLED;
}
public ShowInformation(id)
{
id -= TASK_SHOW_INFORMATION;
set_task(0.1, "ShowInformation", id+TASK_SHOW_INFORMATION);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
show_hudmessage(id, "Tecrube : %i / %i^nSeviye : %i", experience_player[target], experience_level[level_player[target]], level_player[target]);
return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id, "[Tecrube : %i / %i]^n[Seviye : %i]", experience_player[id], experience_level[level_player[id]], level_player[id]);
return PLUGIN_CONTINUE;
}
public elbaslayinca(id)
{
if(cs_get_user_team(id) == CS_TEAM_CT) {
sinifmenu(id)
if(can[id] > 1) {
set_user_health(id, get_user_health(id) + can[id])
}
if(gelismislik[id] == 100) {
cs_set_user_model(id, "sonlevelmodel")
set_user_gravity(id, 0.7)
}
}
if(punkty_player[id]>0)
{
gelistirmeler_menu(id);
}
kaydet(id)
return PLUGIN_CONTINUE;
}
public client_putinserver(id) {
g_bMultiJump{ id } = true
}
public ClCmd_Say_MultiJump( id )
{
client_print(id, print_chat, " * MultiJumps : %sable", ( g_bMultiJump{ id } = !g_bMultiJump{ id } ) ? "en" : "dis")
}
public OnCBasePlayer_Jump(id)
{
if( !g_bMultiJump{ id } || !is_user_alive(id))
{
return HAM_IGNORED
}
new fFlags = pev(id, pev_flags)
if( fFlags & FL_WATERJUMP
|| pev(id, pev_waterlevel) >= 2
|| !(get_pdata_int(id, m_afButtonPressed) & IN_JUMP) )
{
return HAM_IGNORED
}
if( fFlags & FL_ONGROUND )
{
g_iJumpCount[id] = 0
return HAM_IGNORED
}
new iMulti = get_pcvar_num(g_pCvarMultiJumps)
if( iMulti )
{
if( get_pcvar_num(g_pCvarTeamAllowed) & get_pdata_int(id, m_iTeam) && gelismislik[id] == 100
|| ( get_pcvar_num(g_pCvarOnlyAdmins) && get_user_flags(id) & ADMIN_MULTIJUMP) )
{
if( get_pdata_float(id, m_flFallVelocity) < get_pcvar_float(g_pCvarMaxFallVelocity)
&& ++g_iJumpCount[id] <= iMulti )
{
new Float:fVelocity[3]
pev(id, pev_velocity, fVelocity)
fVelocity[2] = get_pcvar_float(g_pCvarJumpVelocity)
set_pev(id, pev_velocity, fVelocity)
return HAM_HANDLED
}
}
}
return HAM_IGNORED
}
public fw_WeaponAttack(iWpn)
{
static id, health;
id = get_pdata_cbase(iWpn, 41, 4);
health = get_user_health(id) - get_pcvar_num(cangitme);
if(health > 0)
set_pev(id, pev_health, float(health));
else
{
user_kill(id);
return;
}
}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);
if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker))
{
experience_player[attacker]++;
}
levelatla(attacker);
return PLUGIN_CONTINUE;
}