1. sayfa (Toplam 1 sayfa)

Menü Model Kaydetme

Gönderilme zamanı: Cum Eki 29, 2021 11:15 pm
gönderen ZaptYReis44
Merhabalar , ekte veridiğim plugine nvault ekliyebilirseniz güzel olur , map değişdiğimizde modeller aynı kalacak.

Menü Model Kaydetme

Gönderilme zamanı: Cmt Eki 30, 2021 10:26 am
gönderen orucoglukayra
Dener misin ;

Kod: Tümünü seç

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

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

new models[MAX_CLIENTS+1];

new const tmodels[][]={
    "Arctic",              //T Default Model
    "Assasin", 
    "Cj",
    "Matrix",
    "Tommy"
};
new const ctmodels[][]={
    "Gign",                //CT Default Model
    "Creeper",
    "BigSmoke",
    "Trololo"
};

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");
    
    RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
    
}
@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]]));
        }
        case TEAM_CT: {
            rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]]));
        }
    }
}
public plugin_precache()
{
    for(new i;i<sizeof(tmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i]));
    }
    for(new i;i<sizeof(ctmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i]));
    }
    
}
@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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
    
    if(isTerrorist) {
        for(new i = 0; i < sizeof(tmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, tmodels[i]), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, ctmodels[i]), 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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]])
    rg_set_user_model(id, fmt("%s", tmodels[models[id]]));
    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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]])
    rg_set_user_model(id, fmt("%s", ctmodels[models[id]]));
    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));
}

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

Menü Model Kaydetme

Gönderilme zamanı: Cmt Eki 30, 2021 10:33 am
gönderen ZaptYReis44
orucoglukayra yazdı: Cmt Eki 30, 2021 10:26 am Dener misin ;

Kod: Tümünü seç

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

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

new models[MAX_CLIENTS+1];

new const tmodels[][]={
    "Arctic",              //T Default Model
    "Assasin", 
    "Cj",
    "Matrix",
    "Tommy"
};
new const ctmodels[][]={
    "Gign",                //CT Default Model
    "Creeper",
    "BigSmoke",
    "Trololo"
};

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");
    
    RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
    
}
@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]]));
        }
        case TEAM_CT: {
            rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]]));
        }
    }
}
public plugin_precache()
{
    for(new i;i<sizeof(tmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i]));
    }
    for(new i;i<sizeof(ctmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i]));
    }
    
}
@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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
    
    if(isTerrorist) {
        for(new i = 0; i < sizeof(tmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, tmodels[i]), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, ctmodels[i]), 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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]])
    rg_set_user_model(id, fmt("%s", tmodels[models[id]]));
    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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]])
    rg_set_user_model(id, fmt("%s", ctmodels[models[id]]));
    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));
}

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);
}
Deniyorum şimdi

Menü Model Kaydetme

Gönderilme zamanı: Cmt Eki 30, 2021 10:36 am
gönderen ZaptYReis44
Teşekkürler , konu çözülmüştür.

Menü Model Kaydetme

Gönderilme zamanı: Cmt Eki 30, 2021 11:35 am
gönderen bestcore
orucoglukayra yazdı: Cmt Eki 30, 2021 10:26 am Dener misin ;

Kod: Tümünü seç

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

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

new models[MAX_CLIENTS+1];

new const tmodels[][]={
    "Arctic",              //T Default Model
    "Assasin", 
    "Cj",
    "Matrix",
    "Tommy"
};
new const ctmodels[][]={
    "Gign",                //CT Default Model
    "Creeper",
    "BigSmoke",
    "Trololo"
};

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");
    
    RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
    
}
@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]]));
        }
        case TEAM_CT: {
            rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]]));
        }
    }
}
public plugin_precache()
{
    for(new i;i<sizeof(tmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i]));
    }
    for(new i;i<sizeof(ctmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i]));
    }
    
}
@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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
    
    if(isTerrorist) {
        for(new i = 0; i < sizeof(tmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, tmodels[i]), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, ctmodels[i]), 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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]])
    rg_set_user_model(id, fmt("%s", tmodels[models[id]]));
    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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]])
    rg_set_user_model(id, fmt("%s", ctmodels[models[id]]));
    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));
}

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

Kod: Tümünü seç

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

Kod: Tümünü seç

nvault_pset(g_vault, fmt("%s_model", authid), fmt("%i", models[pPlayer])) ;
Ben bu şekilde kullanıyorum, bir sorun olmuyor. Bence böyle kullanılması daha iyi olur.

Menü Model Kaydetme

Gönderilme zamanı: Cmt Eki 30, 2021 11:40 am
gönderen orucoglukayra
bestcore yazdı: Cmt Eki 30, 2021 11:35 am
orucoglukayra yazdı: Cmt Eki 30, 2021 10:26 am Dener misin ;

Kod: Tümünü seç

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

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

new models[MAX_CLIENTS+1];

new const tmodels[][]={
    "Arctic",              //T Default Model
    "Assasin", 
    "Cj",
    "Matrix",
    "Tommy"
};
new const ctmodels[][]={
    "Gign",                //CT Default Model
    "Creeper",
    "BigSmoke",
    "Trololo"
};

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");
    
    RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
    
}
@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]]));
        }
        case TEAM_CT: {
            rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]]));
        }
    }
}
public plugin_precache()
{
    for(new i;i<sizeof(tmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i]));
    }
    for(new i;i<sizeof(ctmodels);i++) {
        precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i]));
    }
    
}
@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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
    
    if(isTerrorist) {
        for(new i = 0; i < sizeof(tmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, tmodels[i]), fmt("%d", i));
        }
    }
    else {
        for(new i = 0; i < sizeof(ctmodels); i++) {
            menu_additem(menu, fmt("\d%s \w| \y%s", tag, ctmodels[i]), 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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]])
    rg_set_user_model(id, fmt("%s", tmodels[models[id]]));
    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;
    client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]])
    rg_set_user_model(id, fmt("%s", ctmodels[models[id]]));
    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));
}

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

Kod: Tümünü seç

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

Kod: Tümünü seç

nvault_pset(g_vault, fmt("%s_model", authid), fmt("%i", models[pPlayer])) ;
Ben bu şekilde kullanıyorum, bir sorun olmuyor. Bence böyle kullanılması daha iyi olur.
Teşekkürler.