Bıçak Menü Düzenleme

Konu

#1
Merhaba, attığım bıçak menü pluginini yetki harfine özel olarak ayarlamak istiyorum yapabilir misiniz?
örnek :
{"Ursus Knife","models/mrgaming/v_ursus_crimson.mdl","a"} // sondaki "a" kısmına yazdığım harf bulunuyorsa menüden alınabilecek. ek olarak boş bırakılırsa harf tüm herkes tarafından kullanılabilir olacak.
.sma reBicakMenu.sma (Dosya Boyutu: 1,67 KB | İndirme Sayısı: 7)
Mr.GaminG Pro Public
#2
(14-06-2023, 17:51)Red* Adlı Kullanıcıdan Alıntı: Merhaba, attığım bıçak menü pluginini yetki harfine özel olarak ayarlamak istiyorum yapabilir misiniz?
örnek :
{"Ursus Knife","models/mrgaming/v_ursus_crimson.mdl","a"} // sondaki "a" kısmına yazdığım harf bulunuyorsa menüden alınabilecek. ek olarak boş bırakılırsa harf tüm herkes tarafından kullanılabilir olacak.

"all" yazarsanız her yetki ve userler dahil kullanabilir a vs. Yaparsanız yetki tanımlar

PHP Kod:
#include <amxmodx>
#include <reapi>

new const tag[]="Mr.GaminG";

new 
gorunum[MAX_CLIENTS+1];

new 
bicakmodel[][][]={
    {
"Default","models/v_knife.mdl""all"},
    {
"Ursus Knife","models/mrgaming/v_ursus_crimson.mdl""a"}
};
public 
plugin_init() {
    
register_plugin"Bicak Menu""0.1""bilalgecer47");
    
    new const 
menuclcmd[][]={
        
"say /bicak","say /knife"
    
};
    for(new 
i;i<sizeof(menuclcmd);i++){
        
register_clcmd(menuclcmd[i],"@anamenu");
    }
    
    
RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy"@CBasePlayerWeapon_DefaultDeploy_Pre", .post false);
    
}

public 
plugin_precache() {
    for(new 
0sizeof(bicakmodel); i++) {
        
precache_model(bicakmodel[i][1]);
    }
}
@
CBasePlayerWeapon_DefaultDeploy_Pre(const pEntityszViewModel[], szWeaponModel[], iAnimszAnimExt[], skiplocal) {
    
    if(
get_member(pEntitym_iId) != WEAPON_KNIFE) {
        return;
    }
    new 
pPlayer get_member(pEntitym_pPlayer);
    
    
SetHookChainArg(2ATYPE_STRINGbicakmodel[gorunum[pPlayer]][1]);
    
}
@
anamenu(const id){
    new 
menu menu_create(fmt("\d%s \w| \yBicak Menu"tag), "@anamenu_devam");
    
    for(new 
0sizeof(bicakmodel); i++) {
        
menu_additem(menufmt("\d%s \w| \y%s"tagbicakmodel[i][0]), fmt("%d"i));
    }
    
    
menu_setprop(menuMPROP_EXITNAMEfmt("\d%s \w| \yCikis"tag));
    
menu_display(idmenu);
}
@
anamenu_devam(const id, const menu, const item) {
    if(
item == MENU_EXIT) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
    new 
key str_to_num(data);  
    
if(get_user_flags(id) & read_flags(bicakmodel[key][2][0])){
    
gorunum[id] = key;
    
rg_remove_item(id,"weapon_knife");rg_give_item(id,"weapon_knife");
    } 
    
menu_destroy(menu); return PLUGIN_HANDLED;

~ Ücretli Eklenti İçin 'DM' ~ Discord ~
#3
(14-06-2023, 19:00)QuryWesT Adlı Kullanıcıdan Alıntı:
(14-06-2023, 17:51)Red* Adlı Kullanıcıdan Alıntı: Merhaba, attığım bıçak menü pluginini yetki harfine özel olarak ayarlamak istiyorum yapabilir misiniz?
örnek :
{"Ursus Knife","models/mrgaming/v_ursus_crimson.mdl","a"} // sondaki "a" kısmına yazdığım harf bulunuyorsa menüden alınabilecek. ek olarak boş bırakılırsa harf tüm herkes tarafından kullanılabilir olacak.

"all" yazarsanız her yetki ve userler dahil kullanabilir a vs. Yaparsanız yetki tanımlar

PHP Kod:
#include <amxmodx>
#include <reapi>

new const tag[]="Mr.GaminG";

new 
gorunum[MAX_CLIENTS+1];

new 
bicakmodel[][][]={
    {
"Default","models/v_knife.mdl""all"},
    {
"Ursus Knife","models/mrgaming/v_ursus_crimson.mdl""a"}
};
public 
plugin_init() {
    
register_plugin"Bicak Menu""0.1""bilalgecer47");
    
    new const 
menuclcmd[][]={
        
"say /bicak","say /knife"
    
};
    for(new 
i;i<sizeof(menuclcmd);i++){
        
register_clcmd(menuclcmd[i],"@anamenu");
    }
    
    
RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy"@CBasePlayerWeapon_DefaultDeploy_Pre", .post false);
    
}

public 
plugin_precache() {
    for(new 
0sizeof(bicakmodel); i++) {
        
precache_model(bicakmodel[i][1]);
    }
}
@
CBasePlayerWeapon_DefaultDeploy_Pre(const pEntityszViewModel[], szWeaponModel[], iAnimszAnimExt[], skiplocal) {
    
    if(
get_member(pEntitym_iId) != WEAPON_KNIFE) {
        return;
    }
    new 
pPlayer get_member(pEntitym_pPlayer);
    
    
SetHookChainArg(2ATYPE_STRINGbicakmodel[gorunum[pPlayer]][1]);
    
}
@
anamenu(const id){
    new 
menu menu_create(fmt("\d%s \w| \yBicak Menu"tag), "@anamenu_devam");
    
    for(new 
0sizeof(bicakmodel); i++) {
        
menu_additem(menufmt("\d%s \w| \y%s"tagbicakmodel[i][0]), fmt("%d"i));
    }
    
    
menu_setprop(menuMPROP_EXITNAMEfmt("\d%s \w| \yCikis"tag));
    
menu_display(idmenu);
}
@
anamenu_devam(const id, const menu, const item) {
    if(
item == MENU_EXIT) {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
    new 
key str_to_num(data);  
    
if(get_user_flags(id) & read_flags(bicakmodel[key][2][0])){
    
gorunum[id] = key;
    
rg_remove_item(id,"weapon_knife");rg_give_item(id,"weapon_knife");
    } 
    
menu_destroy(menu); return PLUGIN_HANDLED;

Hata verdi :
Kod:
// D:\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\bicakmenu.sma(24) : error 017: undefined symbol "RG_CBasePlayerWeapon_DefaultDeploy"
// D:\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\bicakmenu.sma(24) : warning 215: expression has no effect
// D:\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\bicakmenu.sma(24) : error 029: invalid expression, assumed zero
// D:\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\bicakmenu.sma(24) : error 017: undefined symbol "post"
// D:\Steam\steamapps\common\Half-Life\cstrike\addons\amxmodx\scripting\bicakmenu.sma(24) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file compiled\bicakmenu.amx (compile failed).
//
// Compilation Time: 0,19 sec
// ----------------------------------------

düzenlediğim hali
Kod:
#include <amxmodx>
#include <reapi>

new const tag[]="Mr.GaminG";

new gorunum[MAX_CLIENTS+1];

new bicakmodel[][][]={
    {"Default","models/mrgaming/mr_bicak.mdl", "all"},
    {"Flip Knife","models/mrgaming/v_flip_lore", "a"},
    {"Karambit Knife","models/mrgaming/v_karambit_auto.mdl", "b"},
    {"Ursus Knife","models/mrgaming/v_ursus_crimson.mdl", "c"}
};
public plugin_init() {
    register_plugin( "Bicak Menu", "0.1", "bilalgecer47");
   
    new const menuclcmd[][]={
        "say /bicak","say /knife"
    };
    for(new i;i<sizeof(menuclcmd);i++){
        register_clcmd(menuclcmd[i],"@anamenu");
    }
   
    RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy, "@CBasePlayerWeapon_DefaultDeploy_Pre", .post = false);
   
}

public plugin_precache() {
    for(new i = 0; i < sizeof(bicakmodel); i++) {
        precache_model(bicakmodel[i][1]);
    }
}
@CBasePlayerWeapon_DefaultDeploy_Pre(const pEntity, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal) {
   
    if(get_member(pEntity, m_iId) != WEAPON_KNIFE) {
        return;
    }
    new pPlayer = get_member(pEntity, m_pPlayer);
   
    SetHookChainArg(2, ATYPE_STRING, bicakmodel[gorunum[pPlayer]][1]);
   
}
@anamenu(const id){
    new menu = menu_create(fmt("\d%s \w| \yBicak Menu", tag), "@anamenu_devam");
   
    for(new i = 0; i < sizeof(bicakmodel); i++) {
        menu_additem(menu, fmt("\d%s \w| \y%s", tag, bicakmodel[i][0]), fmt("%d", i));
    }
   
    menu_setprop(menu, MPROP_EXITNAME, fmt("\d%s \w| \yCikis", tag));
    menu_display(id, menu);
}
@anamenu_devam(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
    new key = str_to_num(data); 
    if(get_user_flags(id) & read_flags(bicakmodel[key][2][0])){
    gorunum[id] = key;
    rg_remove_item(id,"weapon_knife");rg_give_item(id,"weapon_knife");
    }
    menu_destroy(menu); return PLUGIN_HANDLED;
}

Mr.GaminG Pro Public
Son Düzenleme: 14-06-2023, 20:48, Düzenleyen: Red*.
#5
(15-06-2023, 22:40)orucoglukayra Adlı Kullanıcıdan Alıntı: Deneyin;
https://www.webailesi.com/ds-rebicakmenu-10868.sma

ADMIN_ALL yazarsanız herkese açık olacaktır.
Bir sorun mevcut mesela ADMIN_RCON yetkim yok fakat ADMIN_RESERVATION yetkisine ait bıçağı aldım ADMIN_RCON yetkisindeki bıçağa tıklayınca yetkiniz yetersiz diyor ve bıçağı sıfırlıyor normal bıçağa geçiriyor onun yerine en son seçili bıçakta kalmasını sağlayabilir misiniz? Birde default bıçak normal bıçak modelininde yerine geçebilir mi?
Mr.GaminG Pro Public
#6
(16-06-2023, 09:15)Red* Adlı Kullanıcıdan Alıntı: Bir sorun mevcut mesela ADMIN_RCON yetkim yok fakat ADMIN_RESERVATION yetkisine ait bıçağı aldım ADMIN_RCON yetkisindeki bıçağa tıklayınca yetkiniz yetersiz diyor ve bıçağı sıfırlıyor normal bıçağa geçiriyor onun yerine en son seçili bıçakta kalmasını sağlayabilir misiniz? Birde default bıçak normal bıçak modelininde yerine geçebilir mi?
Gözümden kaçmış, deneyin;
https://www.webailesi.com/ds-rebicakmenu-10875.sma
Discord: Lynchk | Steam: Tıkla
#7
(16-06-2023, 15:31)orucoglukayra Adlı Kullanıcıdan Alıntı:
(16-06-2023, 09:15)Red* Adlı Kullanıcıdan Alıntı: Bir sorun mevcut mesela ADMIN_RCON yetkim yok fakat ADMIN_RESERVATION yetkisine ait bıçağı aldım ADMIN_RCON yetkisindeki bıçağa tıklayınca yetkiniz yetersiz diyor ve bıçağı sıfırlıyor normal bıçağa geçiriyor onun yerine en son seçili bıçakta kalmasını sağlayabilir misiniz? Birde default bıçak normal bıçak modelininde yerine geçebilir mi?
Gözümden kaçmış, deneyin;
https://www.webailesi.com/ds-rebicakmenu-10875.sma
sorun çözüldü teşekkürler
Mr.GaminG Pro Public
#8
İstek konusu, @orucoglukayra adlı kullanıcı tarafından 2 gün içinde çözülmüştür.
İsteği çözdüğü için orucoglukayra Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
orucoglukayra Adlı kullanıcı sizin dışınızda toplam 672 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Benzer Konular

Task
Kayıt Ol
Discord Adresimize Katılın