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

https://discord.gg/43gGDQe6tS

Player Model Menü Cvar Bağlama 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

Player Model Menü Cvar Bağlama hk.

Mesaj gönderen ZaptYReis44 »

Arkadaşlar ekte verdiğim eklentiye 2 tane özellik ekletmek istiyorum :

1 ) Menünün içinde kendine ait bir para birimi var , bunu oyuncular kill alarak kasabilsin istiyorum.

2) Yukarıdaki özelliğin cvar ayarı olsun istiyorum . örnek (amx_killfiyat "100") 100 yazan yer kill başı oyuncuya ne kadar para verileceğini ayarlasın , bunu istediğim şekilde ayarlayabilmek istiyorum.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

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

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

Player Model Menü Cvar Bağlama hk.

Mesaj gönderen ZaptYReis44 »

Arkadaşlar menüye hesap sistemi de ekleyebilirseniz güzel olur.

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

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

Player Model Menü Cvar Bağlama hk.

Mesaj gönderen ZaptYReis44 »

orucoglukayra yazdı: Sal Kas 16, 2021 1:26 pm Hesap sistemini ücretli olarak yapabilirim.

Kod: Tümünü seç

amx_cvar amx_killfiyat "100"

Kod: Tümünü seç

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

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

new const tmodels[][][]={
    { "Csgo_T", 0 },
    { "Cj", 98 },
    { "Tommy", 96 }
};
new const ctmodels[][][]={
    { "Csgo_CT", 0 },          
    { "Cj", 98 },
    { "Tommy", 96 }
};

new models[MAX_CLIENTS+1],para[MAX_CLIENTS+1],satinaldi[MAX_CLIENTS+1][11],g_aktif[MAX_CLIENTS+1][sizeof(tmodels)], cvar;

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);
    RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", 1);

    bind_pcvar_num(create_cvar("amx_killfiyat", "100"), cvar);
}

@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]));
        }
    }
}
@CBasePlayer_Killed(const this, pevAttacker, iGib) {
    if(!is_user_connected(pevAttacker) || this == pevAttacker) {
        return;
    }

    para[pevAttacker] += cvar;
}
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("\r%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("\r%s \r| \y%s %s \r%s", tag, tmodels[i][0], satinaldi[id][i] ? "[Satin Alinmis]":fmt("[%d TL]", tmodels[i][1]), g_aktif[id][i] ? "{Aktif}":""), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
                menu_additem(menu, fmt("\r%s \r| \y%s %s \r%s", tag, ctmodels[i][0], satinaldi[id][i] ? "[Satin Alinmis]":fmt("[%d TL]", ctmodels[i][1]), g_aktif[id][i] ? "{Aktif}":""), fmt("%d", i));
        }
    }

    menu_additem(menu, fmt("\r%s \r| \yModel Sifirla", tag), "333");

    menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    menu_setprop(menu, MPROP_NUMBER_COLOR, "\w");
    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;
    switch(key) 
    {
        case 333: 
        {
            rg_reset_user_model(id)
            for(new i = 0; i < sizeof(tmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            client_print_color(id,id, "^1Modeli ^3Sifirladin.")
        }
        default:
        {
            if(para[id] < tmodels[key][1][0])
            {
                client_print_color(id,id, "^1Paraniz ^4yeterli ^3degil.")
                return PLUGIN_HANDLED;
            }
            if(satinaldi[id][key])
            {
                client_print_color(id,id, "^1%s Adli ^3Modeli ^4Aktif Ettin.", tmodels[models[id]][0])
                for(new i = 0; i < sizeof(tmodels); i++)
                {
                    g_aktif[id][i] = 0;
                }
                g_aktif[id][key] = 1;
                rg_set_user_model(id, fmt("%s", tmodels[models[id]][0]));
                return PLUGIN_HANDLED;
            }
            satinaldi[id][key]++
            para[id] -= tmodels[key][1][0]
            for(new i = 0; i < sizeof(tmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            g_aktif[id][key] = 1;
            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;
    switch(key) 
    {
        case 333: 
        {
            rg_reset_user_model(id)
            for(new i = 0; i < sizeof(ctmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            client_print_color(id,id, "^1Modeli ^3Sifirladin.")
        }
        default:
        {
            if(para[id] < ctmodels[key][1][0])
            {
                client_print_color(id,id, "^1Paraniz ^4yeterli ^3degil.")
                return PLUGIN_HANDLED;
            }
            if(satinaldi[id][key])
            {
                client_print_color(id,id, "^1%s Adli ^3Modeli ^4Aktif Ettin.", ctmodels[models[id]][0])
                for(new i = 0; i < sizeof(ctmodels); i++)
                {
                    g_aktif[id][i] = 0;
                }
                g_aktif[id][key] = 1;
                rg_set_user_model(id, fmt("%s", ctmodels[models[id]][0]));
                return PLUGIN_HANDLED;
            }
            satinaldi[id][key]++
            para[id] -= ctmodels[key][1][0]
            for(new i = 0; i < sizeof(ctmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            g_aktif[id][key] = 1;
            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 deneyeceğim.

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

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

Player Model Menü Cvar Bağlama hk.

Mesaj gönderen ZaptYReis44 »

orucoglukayra yazdı: Sal Kas 16, 2021 1:26 pm Hesap sistemini ücretli olarak yapabilirim.

Kod: Tümünü seç

amx_cvar amx_killfiyat "100"

Kod: Tümünü seç

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

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

new const tmodels[][][]={
    { "Csgo_T", 0 },
    { "Cj", 98 },
    { "Tommy", 96 }
};
new const ctmodels[][][]={
    { "Csgo_CT", 0 },          
    { "Cj", 98 },
    { "Tommy", 96 }
};

new models[MAX_CLIENTS+1],para[MAX_CLIENTS+1],satinaldi[MAX_CLIENTS+1][11],g_aktif[MAX_CLIENTS+1][sizeof(tmodels)], cvar;

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);
    RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", 1);

    bind_pcvar_num(create_cvar("amx_killfiyat", "100"), cvar);
}

@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]));
        }
    }
}
@CBasePlayer_Killed(const this, pevAttacker, iGib) {
    if(!is_user_connected(pevAttacker) || this == pevAttacker) {
        return;
    }

    para[pevAttacker] += cvar;
}
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("\r%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("\r%s \r| \y%s %s \r%s", tag, tmodels[i][0], satinaldi[id][i] ? "[Satin Alinmis]":fmt("[%d TL]", tmodels[i][1]), g_aktif[id][i] ? "{Aktif}":""), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
                menu_additem(menu, fmt("\r%s \r| \y%s %s \r%s", tag, ctmodels[i][0], satinaldi[id][i] ? "[Satin Alinmis]":fmt("[%d TL]", ctmodels[i][1]), g_aktif[id][i] ? "{Aktif}":""), fmt("%d", i));
        }
    }

    menu_additem(menu, fmt("\r%s \r| \yModel Sifirla", tag), "333");

    menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
    menu_setprop(menu, MPROP_NUMBER_COLOR, "\w");
    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;
    switch(key) 
    {
        case 333: 
        {
            rg_reset_user_model(id)
            for(new i = 0; i < sizeof(tmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            client_print_color(id,id, "^1Modeli ^3Sifirladin.")
        }
        default:
        {
            if(para[id] < tmodels[key][1][0])
            {
                client_print_color(id,id, "^1Paraniz ^4yeterli ^3degil.")
                return PLUGIN_HANDLED;
            }
            if(satinaldi[id][key])
            {
                client_print_color(id,id, "^1%s Adli ^3Modeli ^4Aktif Ettin.", tmodels[models[id]][0])
                for(new i = 0; i < sizeof(tmodels); i++)
                {
                    g_aktif[id][i] = 0;
                }
                g_aktif[id][key] = 1;
                rg_set_user_model(id, fmt("%s", tmodels[models[id]][0]));
                return PLUGIN_HANDLED;
            }
            satinaldi[id][key]++
            para[id] -= tmodels[key][1][0]
            for(new i = 0; i < sizeof(tmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            g_aktif[id][key] = 1;
            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;
    switch(key) 
    {
        case 333: 
        {
            rg_reset_user_model(id)
            for(new i = 0; i < sizeof(ctmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            client_print_color(id,id, "^1Modeli ^3Sifirladin.")
        }
        default:
        {
            if(para[id] < ctmodels[key][1][0])
            {
                client_print_color(id,id, "^1Paraniz ^4yeterli ^3degil.")
                return PLUGIN_HANDLED;
            }
            if(satinaldi[id][key])
            {
                client_print_color(id,id, "^1%s Adli ^3Modeli ^4Aktif Ettin.", ctmodels[models[id]][0])
                for(new i = 0; i < sizeof(ctmodels); i++)
                {
                    g_aktif[id][i] = 0;
                }
                g_aktif[id][key] = 1;
                rg_set_user_model(id, fmt("%s", ctmodels[models[id]][0]));
                return PLUGIN_HANDLED;
            }
            satinaldi[id][key]++
            para[id] -= ctmodels[key][1][0]
            for(new i = 0; i < sizeof(ctmodels); i++)
            {
                g_aktif[id][i] = 0;
            }
            g_aktif[id][key] = 1;
            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);
    }
}
Hocam şuanda bir serverim olmadığı için test sunucusunda deniyorum , böyle bir hata alıyorum.

Resim

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

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

Player Model Menü Cvar Bağlama hk.

Mesaj gönderen orucoglukayra »

Serverinin reapi sürümü ya da derleyicin ile alakalı bir durum.
Sürümü güncellemeyi deneyin.
Modül sürümlerine bakmak için rcon konsoluna "meta list" yazabilirsin.

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

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

Player Model Menü Cvar Bağlama hk.

Mesaj gönderen ZaptYReis44 »

orucoglukayra yazdı: Sal Kas 16, 2021 2:01 pm Serverinin reapi sürümü ya da derleyicin ile alakalı bir durum.
Sürümü güncellemeyi deneyin.
Modül sürümlerine bakmak için rcon konsoluna "meta list" yazabilirsin.
Sorunu çözdüm teşekkürler.

Link:
Linklerini gizle
Linki Kopyala
Cevapla