1. sayfa (Toplam 1 sayfa)

Native ekleme isteği

Gönderilme zamanı: Cmt Ara 04, 2021 5:44 pm
gönderen Japon01
Selamlar formda bulduğum bu eklentiye bu native eklene bilrimi her model için farklı bir seviye erişimi eklene bilinirmi örnek veriyorum 6 lvl de ilk şapka 2.şapkta ise 8 lvlde aktif edile bilinirmi bu mümkünmü acaba.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new const SERVERISMI[] = "";

enum _: g_info 
{
			menuName[40], 						modelName[40], 					yetki, 			glowKontrol
};
new const modeller[][g_info] = {
	{ "Bidon \d[\rIsyancilara Ozel\d]", 		 "models/hat/barrel.mdl", 		ADMIN_MENU, 		1 },
	{ "Kalkan \d[\rAdminlere Ozel\d]", 			 "models/hat/kg_kalkan.mdl", 	ADMIN_KICK, 		1 },
	{ "Televizyon \d[\rSlotlara Ozel\d]",		 "models/hat/kg_tv.mdl",		ADMIN_RESERVATION, 	1 },
	{ "Gulen Surat",							 "models/hat/awesome.mdl", 		ADMIN_ALL, 			0 },
	{ "Psikopat Surat", 						 "models/hat/psycho.mdl", 		ADMIN_ALL, 			0 },
	{ "Temel Reis", 							 "models/hat/popeye.mdl", 		ADMIN_ALL, 			0 }
}; 

new g_MdlIndex[sizeof(modeller)], g_Ent[MAX_CLIENTS+1], sapka[MAX_CLIENTS+1][18];

public plugin_init() {
	register_plugin("Reapi Sapka", "1.0", "n.dgn");

	register_clcmd("say /sapka", "sapkaMenu");
	register_clcmd("say_team /sapka", "sapkaMenu");
}

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);

	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]);

				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]);
}



native:

Kod: Tümünü seç

native crxranks_set_user_xp(index, amount);
native crxranks_get_user_xp(amount);

Basit istek lütfen

Gönderilme zamanı: Cmt Ara 04, 2021 7:11 pm
gönderen orucoglukayra
Levelleri en sona yaz, dene bakalım ;

Kod: Tümünü seç

	{ "Bidon \d[\rIsyancilara Ozel\d]", 		 "models/hat/barrel.mdl", 		ADMIN_MENU, 		1,     5 },
	{ "Kalkan \d[\rAdminlere Ozel\d]", 			 "models/hat/kg_kalkan.mdl", 	ADMIN_KICK, 		1,     10 },
	{ "Televizyon \d[\rSlotlara Ozel\d]",		 "models/hat/kg_tv.mdl",		ADMIN_RESERVATION, 	1,     15 },
	{ "Gulen Surat",							 "models/hat/awesome.mdl", 		ADMIN_ALL, 			0,     20 },
	{ "Psikopat Surat", 						 "models/hat/psycho.mdl", 		ADMIN_ALL, 			0,     25 },
	{ "Temel Reis", 							 "models/hat/popeye.mdl", 		ADMIN_ALL, 			0,     30 }

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native crxranks_set_user_xp(index, amount);
native crxranks_get_user_xp(index);

new const SERVERISMI[] = "";

enum _: g_info 
{
			menuName[40], 						modelName[40], 					yetki, 			glowKontrol,     level
};
new const modeller[][g_info] = {
	{ "Bidon \d[\rIsyancilara Ozel\d]", 		 "models/hat/barrel.mdl", 		ADMIN_MENU, 		1,     5 },
	{ "Kalkan \d[\rAdminlere Ozel\d]", 			 "models/hat/kg_kalkan.mdl", 	ADMIN_KICK, 		1,     10 },
	{ "Televizyon \d[\rSlotlara Ozel\d]",		 "models/hat/kg_tv.mdl",		ADMIN_RESERVATION, 	1,     15 },
	{ "Gulen Surat",							 "models/hat/awesome.mdl", 		ADMIN_ALL, 			0,     20 },
	{ "Psikopat Surat", 						 "models/hat/psycho.mdl", 		ADMIN_ALL, 			0,     25 },
	{ "Temel Reis", 							 "models/hat/popeye.mdl", 		ADMIN_ALL, 			0,     30 }
}; 

new g_MdlIndex[sizeof(modeller)], g_Ent[MAX_CLIENTS+1], sapka[MAX_CLIENTS+1][18];

public plugin_init() {
	register_plugin("Reapi Sapka", "1.0", "n.dgn");

	register_clcmd("say /sapka", "sapkaMenu");
	register_clcmd("say_team /sapka", "sapkaMenu");
}

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);

    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][level] > crxranks_get_user_xp(id)) {
                client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]);
                return PLUGIN_HANDLED;
            }
            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]);

                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]);
}

Basit istek lütfen

Gönderilme zamanı: Pzt Ara 06, 2021 8:31 am
gönderen Japon01
orucoglukayra yazdı: Cmt Ara 04, 2021 7:11 pm Levelleri en sona yaz, dene bakalım ;

Kod: Tümünü seç

	{ "Bidon \d[\rIsyancilara Ozel\d]", 		 "models/hat/barrel.mdl", 		ADMIN_MENU, 		1,     5 },
	{ "Kalkan \d[\rAdminlere Ozel\d]", 			 "models/hat/kg_kalkan.mdl", 	ADMIN_KICK, 		1,     10 },
	{ "Televizyon \d[\rSlotlara Ozel\d]",		 "models/hat/kg_tv.mdl",		ADMIN_RESERVATION, 	1,     15 },
	{ "Gulen Surat",							 "models/hat/awesome.mdl", 		ADMIN_ALL, 			0,     20 },
	{ "Psikopat Surat", 						 "models/hat/psycho.mdl", 		ADMIN_ALL, 			0,     25 },
	{ "Temel Reis", 							 "models/hat/popeye.mdl", 		ADMIN_ALL, 			0,     30 }

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native crxranks_set_user_xp(index, amount);
native crxranks_get_user_xp(index);

new const SERVERISMI[] = "";

enum _: g_info 
{
			menuName[40], 						modelName[40], 					yetki, 			glowKontrol,     level
};
new const modeller[][g_info] = {
	{ "Bidon \d[\rIsyancilara Ozel\d]", 		 "models/hat/barrel.mdl", 		ADMIN_MENU, 		1,     5 },
	{ "Kalkan \d[\rAdminlere Ozel\d]", 			 "models/hat/kg_kalkan.mdl", 	ADMIN_KICK, 		1,     10 },
	{ "Televizyon \d[\rSlotlara Ozel\d]",		 "models/hat/kg_tv.mdl",		ADMIN_RESERVATION, 	1,     15 },
	{ "Gulen Surat",							 "models/hat/awesome.mdl", 		ADMIN_ALL, 			0,     20 },
	{ "Psikopat Surat", 						 "models/hat/psycho.mdl", 		ADMIN_ALL, 			0,     25 },
	{ "Temel Reis", 							 "models/hat/popeye.mdl", 		ADMIN_ALL, 			0,     30 }
}; 

new g_MdlIndex[sizeof(modeller)], g_Ent[MAX_CLIENTS+1], sapka[MAX_CLIENTS+1][18];

public plugin_init() {
	register_plugin("Reapi Sapka", "1.0", "n.dgn");

	register_clcmd("say /sapka", "sapkaMenu");
	register_clcmd("say_team /sapka", "sapkaMenu");
}

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);

    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][level] > crxranks_get_user_xp(id)) {
                client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]);
                return PLUGIN_HANDLED;
            }
            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]);

                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]);
}
çok teşekkür ederim lakin 1 lvl de iken herşey normal eklenti düzgün çalışıyor fakat lvl 2 olunca admin yetkisi istenen şakpalar dışında tüm şakpaları lvl yetsin yetmesin taka biliyorum bunu sorunu hal edebilrimisin lütfen

Basit istek lütfen

Gönderilme zamanı: Pzt Ara 06, 2021 2:11 pm
gönderen orucoglukayra

Kod: Tümünü seç

if(modeller[key][level] > crxranks_get_user_xp(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]); return PLUGIN_HANDLED; }
Burayı böyle değiştir mobildeyim şuan.

Kod: Tümünü seç

if(modeller[key][level] != crxranks_get_user_xp(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]); return PLUGIN_HANDLED; }

Basit istek lütfen

Gönderilme zamanı: Sal Ara 07, 2021 9:16 am
gönderen Japon01
orucoglukayra yazdı: Pzt Ara 06, 2021 2:11 pm

Kod: Tümünü seç

if(modeller[key][level] > crxranks_get_user_xp(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]); return PLUGIN_HANDLED; }
Burayı böyle değiştir mobildeyim şuan.

Kod: Tümünü seç

if(modeller[key][level] != crxranks_get_user_xp(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]); return PLUGIN_HANDLED; }
üzgünüm bu seferde lvl yetse bile lvl hatası veriyor

Basit istek lütfen

Gönderilme zamanı: Sal Ara 07, 2021 7:18 pm
gönderen orucoglukayra
Japon01 yazdı: Sal Ara 07, 2021 9:16 am
orucoglukayra yazdı: Pzt Ara 06, 2021 2:11 pm

Kod: Tümünü seç

if(modeller[key][level] > crxranks_get_user_xp(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]); return PLUGIN_HANDLED; }
Burayı böyle değiştir mobildeyim şuan.

Kod: Tümünü seç

if(modeller[key][level] != crxranks_get_user_xp(id)) { client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]); return PLUGIN_HANDLED; }
üzgünüm bu seferde lvl yetse bile lvl hatası veriyor
İsteğini yanlış anladım herhalde, lütfen sıkıntıyı düzgün bir dilde anlat.
Burası bir forum, yazına dikkat edersen birbirimizi daha kolay anlayabiliriz.

Senin attığın nativeler level sorgusu yapmaz.Xp sorgusu yapar.Bende ona dikkat etmemiştim, aşağıdaki eklenti 5 levellik bir şapkayı 5 level üstü kişiler takabilecek şekilde ayarlıdır ;

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

native crxranks_get_user_level(index);

new const SERVERISMI[] = "";

enum _: g_info 
{
			menuName[40], 						modelName[40], 					yetki, 			glowKontrol,     level
};
new const modeller[][g_info] = {
	{ "Bidon \d[\rIsyancilara Ozel\d]", 		 "models/hat/barrel.mdl", 		ADMIN_MENU, 		1,     5 },
	{ "Kalkan \d[\rAdminlere Ozel\d]", 			 "models/hat/kg_kalkan.mdl", 	ADMIN_KICK, 		1,     10 },
	{ "Televizyon \d[\rSlotlara Ozel\d]",		 "models/hat/kg_tv.mdl",		ADMIN_RESERVATION, 	1,     15 },
	{ "Gulen Surat",							 "models/hat/awesome.mdl", 		ADMIN_ALL, 			0,     20 },
	{ "Psikopat Surat", 						 "models/hat/psycho.mdl", 		ADMIN_ALL, 			0,     25 },
	{ "Temel Reis", 							 "models/hat/popeye.mdl", 		ADMIN_ALL, 			0,     30 }
}; 

new g_MdlIndex[sizeof(modeller)], g_Ent[MAX_CLIENTS+1], sapka[MAX_CLIENTS+1][18];

public plugin_init() {
	register_plugin("Reapi Sapka", "1.0", "n.dgn");

	register_clcmd("say /sapka", "sapkaMenu");
	register_clcmd("say_team /sapka", "sapkaMenu");
}

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);

    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(crxranks_get_user_level(id) < modeller[key][level]) {
                client_print_color(id, id, "^1[^3%s^1] ^4Bu sapkayi kullanmak icin %d level olman gerek.", SERVERISMI, modeller[key][level]);
                return PLUGIN_HANDLED;
            }
            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]);

                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]);
}