Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Native ekleme isteği

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Japon01
Mesajlar: 9
Kayıt: Cmt Ara 04, 2021 3:08 am

Native ekleme isteği

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

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

orucoglukayra
Mesajlar: 209
Kayıt: Pzr Haz 09, 2019 2:48 pm
İletişim:

Basit istek lütfen

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

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Japon01
Mesajlar: 9
Kayıt: Cmt Ara 04, 2021 3:08 am

Basit istek lütfen

Mesaj 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

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

orucoglukayra
Mesajlar: 209
Kayıt: Pzr Haz 09, 2019 2:48 pm
İletişim:

Basit istek lütfen

Mesaj 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; }

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Japon01
Mesajlar: 9
Kayıt: Cmt Ara 04, 2021 3:08 am

Basit istek lütfen

Mesaj 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

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

orucoglukayra
Mesajlar: 209
Kayıt: Pzr Haz 09, 2019 2:48 pm
İletişim:

Basit istek lütfen

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

Link:
Linklerini gizle
Linki Kopyala
Cevapla