Menüde şapkaları seçerken sınır koyulmasını istiyorum spam yapmasınlar değiştirip durmasınlar her el 1 defa değişme hakları olsun istiyorum diğer el aktif olsun
Türkiye'nin En Büyük Clanı "Meyhane Gaming"
#include <amxmodx>
#include <reapi>
new const SERVERISMI[] = "Meyhane Jaibreak";
enum _: g_info
{
menuName[40],
modelName[40],
yetki,
glowKontrol
};
new const modeller[][g_info] = {
{ "Teror", "models/sapka/teror.mdl", ADMIN_ALL, 0 },
{ "Vandetta", "models/sapka/vforvendetta.mdl", ADMIN_ALL, 0 },
{ "Dede", "models/sapka/dede.mdl", ADMIN_ALL, 0 },
{ "Suratsiz", "models/sapka/suratsiz.mdl", ADMIN_ALL, 0 },
{ "Sigara", "models/sapka/Sigara.mdl", ADMIN_ALL, 0 },
{ "Yasli", "models/sapka/yasli.mdl", ADMIN_ALL, 0 },
{ "GulenYuz", "models/sapka/gulenyuz.mdl", ADMIN_ALL, 0 },
{ "UzgunYuz", "models/sapka/uzgunyuz.mdl", ADMIN_ALL, 0 },
{ "Ciglik", "models/sapka/Korku.mdl", ADMIN_ALL, 0 },
{ "yakisikli", "models/sapka/yakisikli.mdl", ADMIN_ALL, 0 },
};
new g_MdlIndex[sizeof(modeller)], g_Ent[MAX_CLIENTS+1], sapka[MAX_CLIENTS+1][18];
new playerHatChanged[MAX_CLIENTS+1];
new currentRound = 0;
public plugin_init() {
register_plugin("Reapi Sapka", "1.0", "n.dgn");
register_clcmd("say /sapka", "sapkaMenu");
register_clcmd("say /hat", "sapkaMenu");
register_clcmd("say /sapkalar", "sapkaMenu");
register_clcmd("say_team /sapka", "sapkaMenu");
set_task(1.0, "checkRoundChange", _, _, 0, "b");
}
public checkRoundChange() {
new round = get_gametime() / 60;
if (round != currentRound) {
currentRound = round;
resetHatChanges();
}
set_task(1.0, "checkRoundChange", _, _, 0, "b");
}
public resetHatChanges() {
for (new i = 1; i <= MAX_CLIENTS; i++) {
playerHatChanged[i] = 0;
}
}
public sapkaMenu(id) {
new ndmenu[128], num[4];
formatex(ndmenu, charsmax(ndmenu), "\w%s \d|| \ySapka Menusu \d[\r/sapka\d]\w", SERVERISMI);
new Menu = menu_create(ndmenu, "sapkaMenu2");
if (g_Ent[id]) {
formatex(ndmenu, charsmax(ndmenu), "\ySapkayi Kaldir \d[\r%s\d]^n\w", sapka[id]);
menu_additem(Menu, ndmenu, "1");
}
for (new i = 0; i < sizeof(modeller); i++) {
num_to_str(i + 2, num, charsmax(num));
menu_additem(Menu, modeller[i][menuName], num);
}
menu_setprop(Menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, Menu);
}
public sapkaMenu2(id, menu, item) {
if (item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
if (playerHatChanged[id]) {
client_print_color(id, id, "^1[^3%s^1] ^4Her Round 1 kez yararlanabilirsin.", SERVERISMI);
return PLUGIN_HANDLED;
}
switch (key) {
case 1: {
sapkaKaldir(id);
client_print_color(id, id, "^1[^3%s^1]^4 %s^1 modeliniz kaldirildi^3.", SERVERISMI, sapka[id]);
}
default: {
key -= 2;
if (!modeller[key][yetki] || get_user_flags(id) & modeller[key][yetki]) {
sapkaKaldir(id);
sapkaOlustur(id, modeller[key][modelName], key);
parse(modeller[key][menuName], sapka[id], charsmax(sapka[]));
client_print_color(id, id, "^1[^3%s^1]^4 %s^1 modelini taktiniz^3.", SERVERISMI, sapka[id]);
playerHatChanged[id] = 1;
if (modeller[key][glowKontrol]) {
set_entvar(g_Ent[id], var_renderfx, kRenderFxGlowShell);
set_entvar(g_Ent[id], var_rendercolor, Float:{0.0, 250.0, 0.0});
set_entvar(g_Ent[id], var_rendermode, kRenderNormal);
set_entvar(g_Ent[id], var_renderamt, 30.0);
}
} else {
client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanamazsin.^1 Aramiza katilmak istersen ^3/ts3^4 yazabilirsin.", SERVERISMI);
}
}
}
sapkaMenu(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
sapkaOlustur(id, MDL_FILE[], index = 0) {
g_Ent[id] = rg_create_entity("info_target");
if (!is_nullent(g_Ent[id])) {
set_entvar(g_Ent[id], var_model, MDL_FILE);
set_entvar(g_Ent[id], var_modelindex, g_MdlIndex[index]);
set_entvar(g_Ent[id], var_movetype, MOVETYPE_FOLLOW);
set_entvar(g_Ent[id], var_aiment, id);
}
}
public sapkaKaldir(id) {
if (!is_nullent(g_Ent[id])) {
set_entvar(g_Ent[id], var_flags, FL_KILLME);
g_Ent[id] = 0;
}
}
public client_putinserver(id) {
sapkaKaldir(id);
}
public client_disconnected(id) {
sapkaKaldir(id);
}
public plugin_precache() {
for (new i = 0; i < sizeof(modeller); i++)
g_MdlIndex[i] = precache_model(modeller[i][modelName]);
}
(27-02-2025, 18:55)cheff Adlı Kullanıcıdan Alıntı: Serverda ping yapmaya başladıhata loguna baktınızmı hata basmış olabilir
(27-02-2025, 19:11)Merhabalarr Adlı Kullanıcıdan Alıntı:Eklenti hata basmamış ping çıkıyor sadece kapanıyor belli süreden sonrada sv(27-02-2025, 18:55)cheff Adlı Kullanıcıdan Alıntı: Serverda ping yapmaya başladıhata loguna baktınızmı hata basmış olabilir
(27-02-2025, 20:08)EmirCW Adlı Kullanıcıdan Alıntı: @cheff emin misiniz bu eklentiden kaynaklı olduğunaevet bunu kapattığım zaman kesilmeye başladı ping
(27-02-2025, 20:08)EmirCW Adlı Kullanıcıdan Alıntı: @cheff emin misiniz bu eklentiden kaynaklı olduğunaher saniye kontrol degilde bir kere aldıgında kapat el başladıgında geri açılıcak şekilde diger türlü lag olur
(27-02-2025, 20:10)swezy* Adlı Kullanıcıdan Alıntı:teşekkürler denermisiniz(27-02-2025, 20:08)EmirCW Adlı Kullanıcıdan Alıntı: @cheff emin misiniz bu eklentiden kaynaklı olduğunaher saniye kontrol degilde bir kere aldıgında kapat el başladıgında geri açılıcak şekilde diger türlü lag olur
#include <amxmodx>
#include <reapi>
new const SERVERISMI[] = "Meyhane Jaibreak";
enum _: g_info
{
menuName[40],
modelName[40],
yetki,
glowKontrol
};
new const modeller[][g_info] = {
{ "Teror", "models/sapka/teror.mdl", ADMIN_ALL, 0 },
{ "Vandetta", "models/sapka/vforvendetta.mdl", ADMIN_ALL, 0 },
{ "Dede", "models/sapka/dede.mdl", ADMIN_ALL, 0 },
{ "Suratsiz", "models/sapka/suratsiz.mdl", ADMIN_ALL, 0 },
{ "Sigara", "models/sapka/Sigara.mdl", ADMIN_ALL, 0 },
{ "Yasli", "models/sapka/yasli.mdl", ADMIN_ALL, 0 },
{ "GulenYuz", "models/sapka/gulenyuz.mdl", ADMIN_ALL, 0 },
{ "UzgunYuz", "models/sapka/uzgunyuz.mdl", ADMIN_ALL, 0 },
{ "Ciglik", "models/sapka/Korku.mdl", ADMIN_ALL, 0 },
{ "yakisikli", "models/sapka/yakisikli.mdl", ADMIN_ALL, 0 },
};
new g_MdlIndex[sizeof(modeller)], g_Ent[MAX_CLIENTS+1], sapka[MAX_CLIENTS+1][18];
new playerHatChanged[MAX_CLIENTS+1];
new currentRound = 0;
public plugin_init() {
register_plugin("Reapi Sapka", "1.0", "n.dgn");
register_clcmd("say /sapka", "sapkaMenu");
register_clcmd("say /hat", "sapkaMenu");
register_clcmd("say /sapkalar", "sapkaMenu");
register_clcmd("say_team /sapka", "sapkaMenu");
set_task(1.0, "RoundKontrol", _, _, 0, "b");
}
public RoundKontrol() {
new round = get_gametime() / 60;
if (round != currentRound) {
currentRound = round;
resetHatChanges();
}
}
public resetHatChanges() {
for (new i = 1; i <= MAX_CLIENTS; i++) {
playerHatChanged[i] = 0;
}
}
public sapkaMenu(id) {
new ndmenu[128], num[4];
formatex(ndmenu, charsmax(ndmenu), "\w%s \d|| \ySapka Menusu \d[\r/sapka\d]\w", SERVERISMI);
new Menu = menu_create(ndmenu, "sapkaMenu2");
if (g_Ent[id]) {
formatex(ndmenu, charsmax(ndmenu), "\ySapkayi Kaldir \d[\r%s\d]^n\w", sapka[id]);
menu_additem(Menu, ndmenu, "1");
}
for (new i = 0; i < sizeof(modeller); i++) {
num_to_str(i + 2, num, charsmax(num));
menu_additem(Menu, modeller[i][menuName], num);
}
menu_setprop(Menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, Menu);
}
public sapkaMenu2(id, menu, item) {
if (item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
if (playerHatChanged[id]) {
client_print_color(id, id, "^1[^3%s^1] ^4Her Round 1 kez yararlanabilirsin.", SERVERISMI);
return PLUGIN_HANDLED;
}
switch (key) {
case 1: {
sapkaKaldir(id);
client_print_color(id, id, "^1[^3%s^1]^4 %s^1 modeliniz kaldirildi^3.", SERVERISMI, sapka[id]);
}
default: {
key -= 2;
if (!modeller[key][yetki] || get_user_flags(id) & modeller[key][yetki]) {
sapkaKaldir(id);
sapkaOlustur(id, modeller[key][modelName], key);
parse(modeller[key][menuName], sapka[id], charsmax(sapka[]));
client_print_color(id, id, "^1[^3%s^1]^4 %s^1 modelini taktiniz^3.", SERVERISMI, sapka[id]);
playerHatChanged[id] = 1;
if (modeller[key][glowKontrol]) {
set_entvar(g_Ent[id], var_renderfx, kRenderFxGlowShell);
set_entvar(g_Ent[id], var_rendercolor, Float:{0.0, 250.0, 0.0});
set_entvar(g_Ent[id], var_rendermode, kRenderNormal);
set_entvar(g_Ent[id], var_renderamt, 30.0);
}
} else {
client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanamazsin.^1 Aramiza katilmak istersen ^3/ts3^4 yazabilirsin.", SERVERISMI);
}
}
}
sapkaMenu(id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
sapkaOlustur(id, MDL_FILE[], index = 0) {
g_Ent[id] = rg_create_entity("info_target");
if (!is_nullent(g_Ent[id])) {
set_entvar(g_Ent[id], var_model, MDL_FILE);
set_entvar(g_Ent[id], var_modelindex, g_MdlIndex[index]);
set_entvar(g_Ent[id], var_movetype, MOVETYPE_FOLLOW);
set_entvar(g_Ent[id], var_aiment, id);
}
}
public sapkaKaldir(id) {
if (!is_nullent(g_Ent[id])) {
set_entvar(g_Ent[id], var_flags, FL_KILLME);
g_Ent[id] = 0;
}
}
public client_putinserver(id) {
sapkaKaldir(id);
}
public client_disconnected(id) {
sapkaKaldir(id);
}
public plugin_precache() {
for (new i = 0; i < sizeof(modeller); i++)
g_MdlIndex[i] = precache_model(modeller[i][modelName]);
}