Konu

#1
Merhaba, sizden istediğim eklenti ses çıkartma eklentisi. Menüde 5 Adet ses dosyası olacak, oyuncu hangisine tıklarsa o ses tüm svnin duyacağı şekilde çıkacak. Her round maksimum 8 kişi tarafından kullanılabilecek ve 1 kişi kullandıktan sonra 30 saniye bekleme süresi olacak. (Chatten yazılacak yazıları ona göre ayarlarsınız.) Aşağıda eke koyduğum bir adet ses dosyası mevcut, bu eklenti kullanıyordum fikir alabilirsiniz. Teşekkür ederim Gülümse
.sma Ek.sma (Dosya Boyutu: 4,05 KB | İndirme Sayısı: 8)
BlueGaming | 213.238.173.29 Discord
#2
Ekteki eklenti osurma eklentisi. Bu eklentide bir menü göremedim. Ne yapmak istediğini anlamadım.
(- Ücretli Eklenti Yaptırmak İsteyen -)
#3
(29-10-2021, 11:45)suriyelikene Adlı Kullanıcıdan Alıntı: Ekteki eklenti osurma eklentisi. Bu eklentide bir menü göremedim. Ne yapmak istediğini anlamadım.
Evet zaten attığım eklentiyi dediklerimi anlamadıysanız bakıp anlarsınız diye attım. Bir menü olacak /sesler diye açılacak örneğin, 5 adet seçenek olacak ve her birinde farklı sesler olacak.
BlueGaming | 213.238.173.29 Discord
#4
Bunu en başta demeniz daha iyi olurdu. Boşuna konuyu kirletmişsiniz. Sesleri herkes duyacak değil mi ?
Mueait olduğumda bakacağım.
(- Ücretli Eklenti Yaptırmak İsteyen -)
#5
(29-10-2021, 13:36)suriyelikene Adlı Kullanıcıdan Alıntı: Bunu en başta demeniz daha iyi olurdu. Boşuna konuyu kirletmişsiniz. Sesleri herkes duyacak değil mi ?
Mueait olduğumda bakacağım.
Evet herkes duyacak, her ses dosyası 5jb olacak şekilde yapar mısınız? Teşekkür ederim.
BlueGaming | 213.238.173.29 Discord
#6
PHP Kod:
new const sesler[][][] = {
    {
"1. SES","1.ses.wav",5},
    {
"2. SES","2.ses.wav",5},
    {
"3. SES","3.ses.wav",5},
    {
"4. SES","4.ses.wav",5},
    {
"5. SES","5.ses.wav",5}
}; 
1. Kısıma sesin menüde gözükecek adını, 2. kısıma sound dosyanın paneldeki konumunu. 3. Kısıma ise jb miktarını yazın. Ardından deneyin bakalım .
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

native jb_get_user_packs(id);
native jb_set_user_packs(id,ammount);

new const 
sayTag[] = "WebAilesi";

new const 
sesler[][][] = {
    {
"1. SES","1.ses.wav",5},
    {
"2. SES","2.ses.wav",5},
    {
"3. SES","3.ses.wav",5},
    {
"4. SES","4.ses.wav",5},
    {
"5. SES","5.ses.wav",5}
};

new 
bool:kullandim[MAX_CLIENTS+1],kullanansay,kullanimcvar;

public 
plugin_init(){
    
register_plugin("Sesler Menusu""1.0""suriyelikene");
    
bind_pcvar_num(create_cvar("maximum_kullanim","8"),kullanimcvar);

    
register_clcmd("say /sesler""@sesmenusu");
    
RegisterHookChain(RG_RoundEnd"@RoundEnd", .post false);
}
public 
plugin_precache(){
    for(new 
i=0;i<sizeof(sesler);i++) {
        
precache_sound(sesler[i][1]);
    }
}
@
RoundEnd(){
    
kullanansay=0;
}

@
sesmenusu(const iPlayer) {
    new 
Menu menu_create(fmt("%s \dSesler Menusu"sayTag), "@sesmenu_");
    for(new 
i=0sizeof(sesler); i++) {
        
menu_additem(Menu,fmt("\y%s \w%s \d[\w%i \yJB\d]",sayTag,sesler[i][0][0],sesler[i][2][0]),fmt("%i",i));
    }
    
menu_setprop(MenuMPROP_EXITNAME,"\wCikis");menu_display(iPlayerMenu);
}
@
sesmenu_(const iPlayer,const iMenu, const iItem) {
    if(
iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new 
iData[6], iL_Key;
    
menu_item_getinfo(iMenuiItem_iDatacharsmax(iData));
    
iL_Key str_to_num(iData);

    if(
kullandim[iPlayer]){
        
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Her el yalnizca^1 1 kere ^3kullanabilirsin!",sayTag);
        return 
PLUGIN_HANDLED;
    }

    if(
kullanansay>= kullanimcvar){
        
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Her el maximum^1 %i kisi ^3kullanabilir!",sayTag,kullanimcvar);
        return 
PLUGIN_HANDLED;
    }

    if(
jb_get_user_packs(iPlayer) >= sesler[iL_Key][2][0]) {
        
jb_set_user_packs(iPlayerjb_get_user_packs(iPlayer) - sesler[iL_Key][2][0])
        
kullanansay++;
        
kullandim[iPlayer]=true;
        
rg_send_audio(0sesler[iL_Key][1][0]);
        
set_task(30.0,"@kullanimac",iPlayer+1707);
        
client_print_color(00"^3[ ^4- ^1%s ^4- ^3] ^4%n ^1 isimli oyuncu ^3%s isimli muzigi caldi!"sayTagiPlayersesler[iL_Key][0][0]);
    }
    else 
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Muzik Calabilmen Icin^3 %i JBn^1olmasi gerekli",sayTagsesler[iL_Key][2][0]);

    
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
kullanimac(const iTaskim){
    new 
iPlayer iTaskim 1707;
    
kullandim[iPlayer]=false;
    
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Tekrar Muzik Calabilirsiniz.",sayTag);

(- Ücretli Eklenti Yaptırmak İsteyen -)
#7
Teşekkürler, akşam test edip dönüş yapacağım.

(29-10-2021, 14:14)suriyelikene Adlı Kullanıcıdan Alıntı:
PHP Kod:
new const sesler[][][] = {
    {
"1. SES","1.ses.wav",5},
    {
"2. SES","2.ses.wav",5},
    {
"3. SES","3.ses.wav",5},
    {
"4. SES","4.ses.wav",5},
    {
"5. SES","5.ses.wav",5}
}; 
1. Kısıma sesin menüde gözükecek adını, 2. kısıma sound dosyanın paneldeki konumunu. 3. Kısıma ise jb miktarını yazın. Ardından deneyin bakalım .
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

native jb_get_user_packs(id);
native jb_set_user_packs(id,ammount);

new const 
sayTag[] = "WebAilesi";

new const 
sesler[][][] = {
    {
"1. SES","1.ses.wav",5},
    {
"2. SES","2.ses.wav",5},
    {
"3. SES","3.ses.wav",5},
    {
"4. SES","4.ses.wav",5},
    {
"5. SES","5.ses.wav",5}
};

new 
bool:kullandim[MAX_CLIENTS+1],kullanansay,kullanimcvar;

public 
plugin_init(){
    
register_plugin("Sesler Menusu""1.0""suriyelikene");
    
bind_pcvar_num(create_cvar("maximum_kullanim","8"),kullanimcvar);

    
register_clcmd("say /sesler""@sesmenusu");
    
RegisterHookChain(RG_RoundEnd"@RoundEnd", .post false);
}
public 
plugin_precache(){
    for(new 
i=0;i<sizeof(sesler);i++) {
        
precache_sound(sesler[i][1]);
    }
}
@
RoundEnd(){
    
kullanansay=0;
}

@
sesmenusu(const iPlayer) {
    new 
Menu menu_create(fmt("%s \dSesler Menusu"sayTag), "@sesmenu_");
    for(new 
i=0sizeof(sesler); i++) {
        
menu_additem(Menu,fmt("\y%s \w%s \d[\w%i \yJB\d]",sayTag,sesler[i][0][0],sesler[i][2][0]),fmt("%i",i));
    }
    
menu_setprop(MenuMPROP_EXITNAME,"\wCikis");menu_display(iPlayerMenu);
}
@
sesmenu_(const iPlayer,const iMenu, const iItem) {
    if(
iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new 
iData[6], iL_Key;
    
menu_item_getinfo(iMenuiItem_iDatacharsmax(iData));
    
iL_Key str_to_num(iData);

    if(
kullandim[iPlayer]){
        
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Her el yalnizca^1 1 kere ^3kullanabilirsin!",sayTag);
        return 
PLUGIN_HANDLED;
    }

    if(
kullanansay>= kullanimcvar){
        
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Her el maximum^1 %i kisi ^3kullanabilir!",sayTag,kullanimcvar);
        return 
PLUGIN_HANDLED;
    }

    if(
jb_get_user_packs(iPlayer) >= sesler[iL_Key][2][0]) {
        
jb_set_user_packs(iPlayerjb_get_user_packs(iPlayer) - sesler[iL_Key][2][0])
        
kullanansay++;
        
kullandim[iPlayer]=true;
        
rg_send_audio(0sesler[iL_Key][1][0]);
        
set_task(30.0,"@kullanimac",iPlayer+1707);
        
client_print_color(00"^3[ ^4- ^1%s ^4- ^3] ^4%n ^1 isimli oyuncu ^3%s isimli muzigi caldi!"sayTagiPlayersesler[iL_Key][0][0]);
    }
    else 
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Muzik Calabilmen Icin^3 %i JBn^1olmasi gerekli",sayTagsesler[iL_Key][2][0]);

    
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
kullanimac(const iTaskim){
    new 
iPlayer iTaskim 1707;
    
kullandim[iPlayer]=false;
    
client_print_color(iPlayeriPlayer"^3[ ^4- ^1%s ^4- ^3] ^4Tekrar Muzik Calabilirsiniz.",sayTag);

Teşekkürler olmuş fakat şöyle bir sorun var. Bir kişi kullandıktan sonra 30 saniye bekleme süresi olsun demiştim ben anlatamamışım kusura bakma. 1 kişi menüden bir ses çıkardığında 30 saniye menü tüm oyuncular için geçerli bekleme süresi olsun ("Suanda ses cikartamazsınız, 30 saniye bekleme süresi var") ve ses çıkaran kişi o round bir daha menüyü kullanamasın ("Zaten ses menüsünü bu el kullandiniz, diger el tekrar kullanabilirsiniz") gibi mesaj yazabilir. Aynı anda herkes kullanırsa çok ses karışıklığı olduğu için, böyle yapabilir misin? 
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

native jb_get_user_packs(id);
native jb_set_user_packs(id,ammount);

new const 
sayTag[] = "^4Blue^3Gaming^1:";

new const 
sesler[][][] = {
    {"Bane","BG_Bane.wav",5},
    {"Keloglan Gulme","BG_Keloglan.wav",5},
    {"Hiko - Diri","BG_Diri.wav",5},
    {"Rok - Cok Kritik","BG_Rok.wav",5},
    {"Bruh","BG_Bruh.wav",5}
};

new 
bool:kullandim[MAX_CLIENTS+1],kullanansay,kullanimcvar;

public 
plugin_init(){
    register_plugin("Sesler Menusu""1.0""suriyelikene");
    bind_pcvar_num(create_cvar("maximum_kullanim","8"),kullanimcvar);

    register_clcmd("say /sesler""@sesmenusu");
    RegisterHookChain(RG_RoundEnd"@RoundEnd", .post false);
}
public 
plugin_precache(){
    for(new i=0;i<sizeof(sesler);i++) {
        precache_sound(sesler[i][1]);
    }
}
@
RoundEnd(){
    kullanansay=0;
}

@
sesmenusu(const iPlayer) {
    new Menu menu_create(fmt("BlueGaming \dSesler Menusu"), "@sesmenu_");
    for(new i=0sizeof(sesler); i++) {
        menu_additem(Menu,fmt("\r|\d- \w%s \d-\r| \d[\w%i \yJB\d]",sesler[i][0][0],sesler[i][2][0]),fmt("%i",i));
    }
    menu_setprop(MenuMPROP_EXITNAME,"\wCikis");menu_display(iPlayerMenu);
}
@
sesmenu_(const iPlayer,const iMenu, const iItem) {
    if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new iData[6], iL_Key;
    menu_item_getinfo(iMenuiItem_iDatacharsmax(iData));
    iL_Key str_to_num(iData);

    if(kullandim[iPlayer]){
        client_print_color(iPlayeriPlayer"%s ^4Her el yalnizca^1 1 kere ^3kullanabilirsin!",sayTag);
        return PLUGIN_HANDLED;
    }

    if(kullanansay>= kullanimcvar){
        client_print_color(iPlayeriPlayer"%s ^4Her el maximum^1 %i kisi ^3kullanabilir!",sayTag,kullanimcvar);
        return PLUGIN_HANDLED;
    }

    if(jb_get_user_packs(iPlayer) >= sesler[iL_Key][2][0]) {
        jb_set_user_packs(iPlayerjb_get_user_packs(iPlayer) - sesler[iL_Key][2][0]);
        kullanansay++;
        kullandim[iPlayer]=true;
        rg_send_audio(0sesler[iL_Key][1][0]);
        set_task(30.0,"@kullanimac",iPlayer+1707);
        client_print_color(00"%s ^4%n ^1 isimli oyuncu ^3%s isimli sesi caldi!"sayTagiPlayersesler[iL_Key][0][0]);
    }
    else client_print_color(iPlayeriPlayer"%s ^4Ses Cikarabilmen Icin^3 %i JBn^1olmasi gerekli",sayTagsesler[iL_Key][2][0]);

    menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
kullanimac(const iTaskim){
    new iPlayer iTaskim 1707;
    kullandim[iPlayer]=false;
    client_print_color(iPlayeriPlayer"%s ^4Tekrar Ses Cikarabilirsiniz.",sayTag);

BlueGaming | 213.238.173.29 Discord
Son Düzenleme: 30-10-2021, 02:09, Düzenleyen: burakustunel.
#8
Ayarladığım şeyler.
1-) 1 oyuncu kullandığında aynı oyuncu o el tekrar kullanamaz.
2-) 1 elde maximum 8 kişi kullanabilir ayarını kaldırdım.
3-) Bir oyuncu kullandıktan sonra 30 saniye geçmeden başka kimse kullanamaz.
Dene bakalım :
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

native jb_get_user_packs(id);
native jb_set_user_packs(id,ammount);

new const 
sayTag[] = "^4Blue^3Gaming^1:";

new const 
sesler[][][] = {
    {"Bane","BG_Bane.wav",5},
    {"Keloglan Gulme","BG_Keloglan.wav",5},
    {"Hiko - Diri","BG_Diri.wav",5},
    {"Rok - Cok Kritik","BG_Rok.wav",5},
    {"Bruh","BG_Bruh.wav",5}
};

new 
bool:kullandim[MAX_CLIENTS+1],bool:kullanansay;

public 
plugin_init(){
    register_plugin("Sesler Menusu""1.0""suriyelikene");

    register_clcmd("say /sesler""@sesmenusu");
    RegisterHookChain(RG_RoundEnd"@RoundEnd", .post false);
}
public 
plugin_precache(){
    for(new i=0;i<sizeof(sesler);i++) {
        precache_sound(sesler[i][1]);
    }
}
@
RoundEnd(){
    for(new 
pPlayer 1pPlayer <= MaxClientspPlayer++) {
        if(
is_user_connected(pPlayer)) {
           kullandim[pPlayer]=false;
           }
       }
}

@
sesmenusu(const iPlayer) {
    new Menu menu_create(fmt("BlueGaming \dSesler Menusu"), "@sesmenu_");
    for(new i=0sizeof(sesler); i++) {
        menu_additem(Menu,fmt("\r|\d- \w%s \d-\r| \d[\w%i \yJB\d]",sesler[i][0][0],sesler[i][2][0]),fmt("%i",i));
    }
    menu_setprop(MenuMPROP_EXITNAME,"\wCikis");menu_display(iPlayerMenu);
}
@
sesmenu_(const iPlayer,const iMenu, const iItem) {
    if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new iData[6], iL_Key;
    menu_item_getinfo(iMenuiItem_iDatacharsmax(iData));
    iL_Key str_to_num(iData);

    if(kullandim[iPlayer]){
        client_print_color(iPlayeriPlayer"%s ^4Her el yalnizca^1 1 kere ^3kullanabilirsin!",sayTag);
        return PLUGIN_HANDLED;
    }

    if(kullanansay){
        client_print_color(iPlayeriPlayer"%s ^4Suanda Ses Cikaramazsiniz^1 30 Saniye ^3bekleme suresi vardir.",sayTag);
        return PLUGIN_HANDLED;
    }

    if(jb_get_user_packs(iPlayer) >= sesler[iL_Key][2][0]) {
        jb_set_user_packs(iPlayerjb_get_user_packs(iPlayer) - sesler[iL_Key][2][0]);
        kullanansay=true;
        kullandim[iPlayer]=true;
        rg_send_audio(0sesler[iL_Key][1][0]);
        set_task(30.0,"@kullanimac",1707);
        client_print_color(00"%s ^4%n ^1 isimli oyuncu ^3%s isimli sesi caldi!"sayTagiPlayersesler[iL_Key][0][0]);
    }
    else client_print_color(iPlayeriPlayer"%s ^4Ses Cikarabilmen Icin^3 %i JBn^1olmasi gerekli",sayTagsesler[iL_Key][2][0]);

    menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
kullanimac(){
    kullanansay=false;
    remove_task(1707);

(- Ücretli Eklenti Yaptırmak İsteyen -)
#9
Gece test edip dönüş yapacağım.

Teşekkürler.
BlueGaming | 213.238.173.29 Discord
Son Düzenleme: 30-10-2021, 20:37, Düzenleyen: burakustunel.
#10
İstek konusu, @suriyelikene adlı kullanıcı tarafından 2 gün 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 705 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