Zamanlı Karakter Menu Yardım

Konu

#1
.mdl blueberries.mdl (Dosya Boyutu: 2,7 MB | İndirme Sayısı: 1)
Merhaba Yakın Zamanda Paylaşılan Csgo Mod Süreli Karakter Menüsünü Serverime Kurdum Fakat Menü Açılmıyor Ve Yüklediğim Modelleride Servere Girerken Loadlamıyor. Sorunu Çözebilen Varsa Yardımcı Olabilirmi ?
Şimdiden Teşekkürler Gülümse


Kod:
#pragma semicolon 1

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

native csd_stats_user_time(iPlayer);

new const tag[] = "Leaders Community";
new const kisatag[] = "L-S";

new const sModelNames[][][] = {
    //{Oyun Suresi Saniye Cinsinden,"Model Adi","Modelin Menudeki Adi",Modelin Takimi},
    {0, "","",0},
    {36000, "blackwolf","Kasa Hırsızı [10 Saat]",1},
    {28800, "dragomir","Black Wolf [8 Saat]",1},
    {21600, "rezan","Skull Head [6 Saat]",1},
    {7200, "romanov","Phoenix [2 Saat]",1},
    {36000, "blueberries","Fbi-Ava [10 Saat]",2},
    {28800, "mccoy","Fbi-Syfers [8 Saat]",2},
    {21600, "ricksaw","McCoy [6 Saat]",2},
    {7200, "soldier","Swat-Biohaz [2 Saat]",2}
};

new bool:szModels[MAX_CLIENTS+1][sizeof(sModelNames)+1],iL_PlayerModel[MAX_CLIENTS+1],iG_ModelFix[MAX_CLIENTS+1],szsizeof,iG_Vault;

public plugin_init(){
    register_plugin("Karakter Menusu", "1.0", "suriyelikene");
    register_clcmd("say /karaktermenu", "@karaktermenu");
    register_clcmd("say /karakter", "@karaktermenu");
    RegisterHookChain(RG_CBasePlayer_Spawn, "@IsSpawn", .post = false);
}
public plugin_precache(){
    szsizeof = sizeof(sModelNames);
    for(new i=1; i < szsizeof; i++) {
        precache_model(fmt("models/player/%s/%s.mdl", sModelNames[i][1],sModelNames[i][1]));
    }
}
public plugin_cfg() iG_Vault = nvault_open("karaktermenuvault");
public plugin_end() nvault_close(iG_Vault);
public client_disconnected(iPlayer)sSaveVault(iPlayer);
public client_connect(iPlayer) sLoadVault(iPlayer);

@IsSpawn(const iPlayer) {
    if(!is_user_alive(iPlayer)) return;
    new team = get_member(iPlayer, m_iTeam),oldteam = iG_ModelFix[iPlayer];
    if(oldteam != team && oldteam){
        rg_reset_user_model(iPlayer);
    }
    iG_ModelFix[iPlayer] = team;
    //iL_PlayerModel[iPlayer] > 0 ? rg_set_user_model(iPlayer,sModelNames[iL_PlayerModel[iPlayer]][1][0]):rg_reset_user_model(iPlayer);
}
@karaktermenu(const iPlayer){
    if(!is_user_alive(iPlayer)){
        client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Bu menuyu kullanabilmeniz icin ^3yasiyor ^4olmaniz gerekmekte",tag);
        return;
    }
    new Menu = menu_create(fmt("\d[\r%s\d] \y| \wKarakter Menu", tag),"@karaktermenu_");
    
    for(new i=1; i < szsizeof; i++) {
    if(get_member(iPlayer, m_iTeam) == sModelNames[i][3][0]){
    if(!szModels[iPlayer][i])
        menu_additem(Menu,fmt("\d[\r%s\d] \w| \y%s \w%d Saat \yOyun Süresi",kisatag, sModelNames[i][2][0], sModelNames[i][0][0]/3600),fmt("%i",i));
    else
        menu_additem(Menu,fmt("\d[\r%s\d] \w| \y%s %s",kisatag, sModelNames[i][2][0], iL_PlayerModel[iPlayer] == i ? "\wAktif":"\wPasif"),fmt("%i",i));
        }
    }
    menu_setprop(Menu,MPROP_EXITNAME,"\wCikis");menu_display(iPlayer, Menu);
}
@karaktermenu_(const iPlayer,const iMenu, const iItem) {
    if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }

    if(!is_user_alive(iPlayer)){
        client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Bu menuyu kullanabilmeniz icin ^3yasiyor ^4olmaniz gerekmekte",tag);
        return PLUGIN_HANDLED;
    }
    new iData[6], iL_Key;
    menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
    iL_Key = str_to_num(iData);

    if(get_member(iPlayer, m_iTeam) != sModelNames[iL_Key][3][0]){
        client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Bu modeli kullanabilmeniz icin ^1%s ^3takiminda olmaniz gerekmekte",tag,sModelNames[iL_Key][3][0]==1?"Terorist":"Counter Terorist");
        return PLUGIN_HANDLED;
    }

    if(szModels[iPlayer][iL_Key]){
        iL_PlayerModel[iPlayer] = iL_PlayerModel[iPlayer] != iL_Key ? iL_Key:0;
        rg_set_user_model(iPlayer,sModelNames[iL_Key][1][0]);
        iL_PlayerModel[iPlayer] != iL_Key ? client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4basarili bir sekilde ^1%s ^3deaktif edildi",tag,sModelNames[iL_Key][2][0]):
        client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4basarili bir sekilde ^1%s ^3aktif edildi",tag,sModelNames[iL_Key][2][0]);
        @karaktermenu(iPlayer);sSaveVault(iPlayer);
        return PLUGIN_HANDLED;
    }
    if(csd_stats_user_time(iPlayer) >= sModelNames[iL_Key][0][0]){
        iL_PlayerModel[iPlayer] = iL_Key;szModels[iPlayer][iL_Key]=true;sSaveVault(iPlayer);
        rg_set_user_model(iPlayer,sModelNames[iL_Key][1][0]);
        client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4basarili bir sekilde ^1%s ^3satin aldiniz",tag,sModelNames[iL_Key][2][0]);
        @karaktermenu(iPlayer);
    }
    else {
        client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Yeterli miktarda ^1oyun sureniz ^3bulunmuyor. ^4%i dakikan eksik",tag,(sModelNames[iL_Key][0][0]-csd_stats_user_time(iPlayer)/60));
        @karaktermenu(iPlayer);
    }
    menu_destroy(iMenu);return PLUGIN_HANDLED;
}
stock sSaveVault(const iPlayer) {
    new sL_Authid[33];
    get_user_authid(iPlayer,sL_Authid,charsmax(sL_Authid));
    for(new i=1; i < szsizeof; i++) {
        sSetIntData("%i>Player>%i>",szModels[iPlayer][i] ? 1:0,sL_Authid,i);
    }
    sSetIntData("%i>AktifModel",iL_PlayerModel[iPlayer],sL_Authid);
}
stock sLoadVault(const iPlayer) {
    new sL_Authid[33];
    get_user_authid(iPlayer,sL_Authid,charsmax(sL_Authid));
    iL_PlayerModel[iPlayer] = sGetIntData("%i>AktifModel",sL_Authid);
    for(new i=1; i < szsizeof; i++){
        szModels[iPlayer][i] = (sGetIntData("%i>Player>%i>",sL_Authid,i) == 1) ? true : false;
    }
}
stock sGetIntData(const sS_Key[],any:...){
    new sL_FixedData[128];
    vformat(sL_FixedData,127,sS_Key,2);
    return nvault_get(iG_Vault,sL_FixedData);
}
stock sSetIntData(const sS_Key[],const iS_Data,any:...){
    new sL_FixedData[128],sL_NumToStr[48];
    vformat(sL_FixedData,127,sS_Key,3);
    num_to_str(iS_Data,sL_NumToStr,47);
    nvault_set(iG_Vault,sL_FixedData,sL_NumToStr);
}

.mdl mccoy.mdl (Dosya Boyutu: 2,85 MB | İndirme Sayısı: 0)
.mdl ricksaw.mdl (Dosya Boyutu: 2,93 MB | İndirme Sayısı: 0)
.mdl soldier.mdl (Dosya Boyutu: 2,42 MB | İndirme Sayısı: 2)
.mdl blackwolf.mdl (Dosya Boyutu: 2,44 MB | İndirme Sayısı: 0)
.mdl dragomir.mdl (Dosya Boyutu: 2,43 MB | İndirme Sayısı: 0)
.mdl rezan.mdl (Dosya Boyutu: 2,42 MB | İndirme Sayısı: 0)
.mdl romanov.mdl (Dosya Boyutu: 2,43 MB | İndirme Sayısı: 1)
Son Düzenleme: 14-02-2022, 14:09, Düzenleyen: Bay Shazam.
#2
Modelleri sunucuya nasıl yüklüyorsun, adım adım anlatır mısın ?
#3
models/player/arok
Daha Sonra Arok Adlı Klasöre Tek Tek Hepsini Ekliyorum

Acaba Buradamı Sorun Var Diye Burayada Arok Yazdım :
Normalde Böyle
precache_model(fmt("models/player/%s/%s.mdl"

Sonradan Böylede Denedim
precache_model(fmt("models/player/arok/%s.mdl"
Son Düzenleme: 14-02-2022, 16:01, Düzenleyen: Bay Shazam.
#4
Eklentide en baştaki const hariç hiçbir yere dokunmayın. Örnek veriyorum arok modelini yükleyeceksin, models/player/arok/arok.mdl şeklinde kurabilirsin.
#5
bana yapılmış halde atabilirmisiniz. yukarıdaki modelleri eklentiye yansıtarak yani
#6
Eklentinin temiz halini forumdan indirebilirsin. Önemli olan modelleri anlattığım gibi yüklemen.
#7
İstek konusu, @suriyelikene adlı kullanıcı tarafından 4 saat içinde çözülmüştür.
İsteği çözdüğü için suriyelikene Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
suriyelikene Adlı kullanıcı sizin dışınızda toplam 962 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