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

https://discord.gg/43gGDQe6tS

Menüye Ekleme hk.

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
ZaptYReis44
Mesajlar: 40
Kayıt: Pzr Eyl 05, 2021 1:39 pm
Clan İsmi: Darkness GaminG

Menüye Ekleme hk.

Mesaj gönderen ZaptYReis44 »

orucoglukayra yazdı: Cmt Kas 13, 2021 10:30 am Dene bakalım o hatayı düzelttim, 3-5 birşey ekledim.

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <nvault>

new const tag[]="Forum.CSD" ;

new models[MAX_CLIENTS+1],para[MAX_CLIENTS+1],satinaldi[MAX_CLIENTS+1][11];

new const tmodels[][][]={
    { "Arctic", 100 },
    { "Cj", 98 },
    { "Tommy", 96 }
};
new const ctmodels[][][]={
    { "Arctic", 100 },          
    { "Cj", 98 },
    { "Tommy", 96 }
};

public plugin_init()
{
    register_plugin("Karaktermenu","0.1","bilalgecer47");
    new const menuclcmd[][]={
        "say /karakter","say /karakterler","say /karaktermenu","say /skin"            //  menuye giris cmdleri
    }
    for(new i;i<sizeof(menuclcmd);i++){
        register_clcmd(menuclcmd[i],"@anamenu");
    }    
    register_clcmd("radio3","@anamenu");
    register_clcmd("say /anamenu","@anamenu");
    register_clcmd("say /param","@ShowMoney");

    register_concmd("amx_paraver","@paraver");
    
    RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
    
}
@ShowMoney(const id)
{
    client_print_color(id,id, "^4Mevcut Paran ^1: ^4[^3%d^4]", para[id]);
}
// Bilal Gecer'den alıntıdır.
@paraver(id)
{
    if(get_user_flags(id) & ADMIN_RCON)
    {
        new kisi[MAX_NAME_LENGTH],packs[10];
        
        read_argv(1,kisi,charsmax(kisi));
        read_argv(2,packs,charsmax(packs));
        
        new index = cmd_target(id,kisi,0);
        if(!is_str_num(packs))
        {
            client_print_color(id,id,"^3Sadece ^4Sayi ^3yaziniz !");
            return PLUGIN_HANDLED;
        }
        else{
            para[index]+= str_to_num(packs);
            client_print_color(0,0,"^4%n ^3isimli admin ^4%n ^3isimli oyuncudan ^1%i ^3para verdi.",id,index,str_to_num(packs));
        }
    }
    return PLUGIN_HANDLED;
}

@RG_CBasePlayer_Spawn_Post(const pPlayer) {
    if(!is_user_alive(pPlayer)) {
        return;
    }
    new TeamName:iTeam = get_member(pPlayer, m_iTeam);
    
    switch(iTeam) {
        case TEAM_TERRORIST: {
            rg_set_user_model(pPlayer, fmt("%s", tmodels[models[pPlayer]][0]));
        }
        case TEAM_CT: {
            rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]][0]));
        }
    }
}
public plugin_precache()
{
    for(new i;i<sizeof(tmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", tmodels[i][0], tmodels[i][0]));
    }
    for(new i;i<sizeof(ctmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i][0], ctmodels[i][0]));
    }
    
}
@anamenu(id) {
    new bool:isTerrorist = bool:(get_member(id, m_iTeam) == TEAM_TERRORIST);
    
    new menu = menu_create(fmt("\d%s \w| \y%s Ozel Model Menu^nMevcut Paran : %d", tag, isTerrorist ? "T" : "CT", para[id]), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
    
    if(isTerrorist) {
        for(new i = 0; i < sizeof(tmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s %s", tag, tmodels[i][0], satinaldi[id][i] ? "SATIN ALINMIS":fmt("%d TL", tmodels[i][1])), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
             menu_additem(menu, fmt("\d%s \w| \y%s %s", tag, ctmodels[i][0], satinaldi[id][i] ? "SATIN ALINMIS":fmt("%d TL", ctmodels[i][1])), fmt("%d", i));
        }
    }
    
    menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    menu_display(id, menu);
    return PLUGIN_HANDLED;
}
@tmodel_handler(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);  
    models[id] = key;
    if(para[id] < tmodels[key][1][0])
    {
        client_print_color(id,id, "^1Paraniz yeterli degil.")
        return PLUGIN_HANDLED;
    }
    if(satinaldi[id][key])
    {
        client_print_color(id,id, "^1%s Adli Modeli Aktif Ettin.", tmodels[models[id]][0])
        rg_set_user_model(id, fmt("%s", tmodels[models[id]][0]));
        return PLUGIN_HANDLED;
    }
    satinaldi[id][key]++
    para[id] -= tmodels[key][1][0]
    client_print_color(id,id, "^1Menuden ^4%s ^3Modelini Satin Aldin.",tmodels[models[id]][0])
    rg_set_user_model(id, fmt("%s", tmodels[models[id]][0]));
    menu_destroy(menu); return PLUGIN_HANDLED;
}
@ctmodel_handler(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);  
    models[id] = key;
    if(para[id] < ctmodels[key][1][0])
    {
        client_print_color(id,id, "^1Paraniz yeterli degil.")
        return PLUGIN_HANDLED;
    }
    if(satinaldi[id][key])
    {
        client_print_color(id,id, "^1%s Adli Modeli Aktif Ettin.", ctmodels[models[id]][0])
        rg_set_user_model(id, fmt("%s", ctmodels[models[id]][0]));
        return PLUGIN_HANDLED;
    }
    satinaldi[id][key]++
    para[id] -= ctmodels[key][1][0]
    client_print_color(id,id, "^1Menuden ^4%s ^3Modelini Satin Aldin.",ctmodels[models[id]][0])
    rg_set_user_model(id, fmt("%s", ctmodels[models[id]][0]));
    menu_destroy(menu); return PLUGIN_HANDLED;
} 

/* nvault (PurposeLess) */

new g_vault;

public plugin_cfg() {
	g_vault = nvault_open("KarakterMenu");

	if(g_vault == INVALID_HANDLE) {
		set_fail_state("Unknown nvault for KarakterMenu");
	}
}

public plugin_end() {
	nvault_close(g_vault);
}

public client_authorized(pPlayer, const authid[]) {
    models[pPlayer] = nvault_get(g_vault, fmt("%s_model", authid));
    para[pPlayer] = nvault_get(g_vault, fmt("%s_para", authid));
    satinaldi[pPlayer][0] = nvault_get(g_vault, fmt("%s_sa0", authid));
    satinaldi[pPlayer][1] = nvault_get(g_vault, fmt("%s_sa1", authid));
    satinaldi[pPlayer][2] = nvault_get(g_vault, fmt("%s_sa2", authid));
    satinaldi[pPlayer][3] = nvault_get(g_vault, fmt("%s_sa3", authid));
    satinaldi[pPlayer][4] = nvault_get(g_vault, fmt("%s_sa4", authid));
}

public client_disconnected(pPlayer) {
    new authid[MAX_AUTHID_LENGTH], data[MAX_AUTHID_LENGTH+10];
    get_user_authid(pPlayer, authid, charsmax(authid));

    num_to_str(models[pPlayer], data, charsmax(data));
    nvault_pset(g_vault, fmt("%s_model", authid), data);

    num_to_str(para[pPlayer], data, charsmax(data));
    nvault_pset(g_vault, fmt("%s_para", authid), data);

    for(new i = 0; i <= 10; i++)
    {
        num_to_str(satinaldi[pPlayer][i], data, charsmax(data));
        nvault_pset(g_vault, fmt("%s_sa%i", authid, i), data);
    }
}
Teşekkürler deneyip dönüş yaparım.

Link:
Linklerini gizle
Linki Kopyala
Cevapla