⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Sponsor Görsel 2
SponsorSponsor

Konu

#11
Global ve geçici olarak değişkenler vardır. Global değişken herhangi bir fonksiyonun içine yazılmaz. Harita değişene kadar verileri içinde tutar. Fonksiyon içine yazılan değişkenler ise, kod bloğu bitince silinir. Bu değişkenlerin yanlarına gelen [33] gibi sayılar aslında değişkenin kapasitesini(size) gösterir. 1-32 değerleri oyunculara aittir. 0 değeri Console'dur. İstersen o değişkene 50 kapasite ver bir şey değişmez. Fakat optimizasyon açısından bellekte fazla yer kullanılmaması için bu değeri iyi kullanmamız lazım. Yani oyuncular maksimum 32 değeri alıyor. 33 yazdığında maksimum 32, minimum 0 değerini girebilirsin. MAX_CLIENTS+1 yazılmasının nedeni de budur. Sunucunun maksimum client(oyuncu sayısı) sayısını alır, üstüne 1 ekler. Bunu yazmanın nedeni de aslında 32 kişi kapasitesi olmayan sunucular içindir. Yani bellekte gereksiz yer kaplamıyor. Değişkenlere özellik veremezsin. Değişkenler veri tutar.

@"suriyelikene"

Kod:
RegisterHookChain(RG_CBasePlayer_Spawn, "IsSpawn", .post = true);   //public plugin_init kismina bunu yazacagiz

public IsSpawn(id) {
    if(!is_user_alive(id)) return;    //Oyuncu yasamiyorsa durdurduk, aksi takdirde bug olur.
        marketsinir[id]=false;    //Degerimizi false eşitledik.
}

post eğer true ise if(!is_user_alive(id)) sorgusuna gerek yoktur. Post "sonra" demektir. Yani oyuncu doğduktan sonra gerçekleşen kısım. Oyuncu doğduğunda yaşıyor mu yaşamıyor mu diye sorgu yapmanın anlamı yok yani. 

@Enes Fındık 

Fonksiyonlar ile özellik verme oluşturabilirsin. 
Kod:
public can_ver(const id,const can)
{
    set_entvar(id,var_health,Float:get_entvar(id,var_health)+float(can));
}

can_ver(id,50) kullanımı ile oyuncuya 50 can verebilirsin.
Discord: Leeyé#3998
#12
Arkadaş yeni başladığı için o tarz anlatmak istemedim. Stock oluşturup kafasını da karıştırmak istemedim. Direk reapi kütüphanesi ile de kafasını karıştırmak istemedim fakat ön bilgi olarak reapi ile kullanımını oraya koydum. İlerleyen zamanlarda o şekil anlatacaktım. Yine de anlatım için teşekkürler, @Leeyé
#13
@Leeyé Hocam diyelim'ki gorev1 de 10 ct öldür jb veya bb parası kazan diye bir şey var onu nasıl yapabiliriz.?

new
gorev1[33]

bunu case kısmına felan nasıl yazmam lazım
#14
(05-06-2021, 22:44)Enes Fındık Adlı Kullanıcıdan Alıntı: @Leeyé Hocam diyelim'ki gorev1 de 10 ct öldür jb veya bb parası kazan diye bir şey var onu nasıl yapabiliriz.?

new
gorev1[33]

bunu case kısmına felan nasıl yazmam lazım
Menunun tam kodlamasını bilmediğim için kesin bir şey söyleyemem fakat tahmin yürütebilirim. 10 CT öldür 10 TL kazan aslında menude yazan yazıdır. Değişkenle alakası yoktur. Değişkenin orada kullanım amacı muhtemelen "oyuncu görevini tamamlamış mı, tamamlamamış mı ?" sorgusudur. Mesela menulerde gördüysen, eğer oyuncu görevini tamamlamışsa yanında [TAMAMLANDI] yazar. Kullanım amacı budur.
Discord: Leeyé#3998
#15
@Leeyé hocam ben yetkili menü yaptım kendi kodladığım bi menünün içine adam o yetkili menüyü kullandığı zaman

YetkiliMenu[Kullanıldı] Bunu yazmasını istiyorum nasıl yapabiliriz.
#16
(05-06-2021, 22:37)suriyelikene Adlı Kullanıcıdan Alıntı: Arkadaş yeni başladığı için o tarz anlatmak istemedim. Stock oluşturup kafasını da karıştırmak istemedim. Direk reapi kütüphanesi ile de kafasını karıştırmak istemedim fakat ön bilgi olarak reapi ile kullanımını oraya koydum. İlerleyen zamanlarda o şekil anlatacaktım. Yine de anlatım için teşekkürler, @Leeyé

Yanlış kullanım yüzünden çok gereksiz kodlar ortaya çıkar. Detayına girince zaten anlaması lazım. Doğru zamanda, doğru şekilde kullanabilmesi için detaylı anlatman lazım.
Discord: Leeyé#3998
#17
@Leeyé Hocam şu menüye yapıp atarmısın ben sizin yaptınıza bakarak mantığı anlamaya çalışıcam.
.smadenemeyetki.sma(Dosya Boyutu: 10,66 KB | İndirme Sayısı: 1)
#18
(05-06-2021, 22:49)Enes Fındık Adlı Kullanıcıdan Alıntı: @Leeyé hocam ben yetkili menü yaptım kendi kodladığım bi menünün içine adam o yetkili menüyü kullandığı zaman

YetkiliMenu[Kullanıldı] Bunu yazmasını istiyorum nasıl yapabiliriz.

Bir değişken oluştur. İsmine istediğin şeyi yaz. Ben bu isim üzerinden anlatacağım. MenuSinir[33]

Bu menuyu oluşturduğun kod bloğuna git. İlk satıra

Kod:
if(MenuSinir[id])
{
       return PLUGIN_HANDLED
}

Kodunu ekle.
Bu değişken nasıl true yapılır diye sorarsan, case'deki işlem başarıyıla tamamlanırsa bu değişkeni true yap. MenuSinir[id] = true
Yani can_ver(id,50) kodunu yazdıktan sonra bu kodu ekle. Can verdikten sonra bu değişken true olur. Yani menuyu kullanmış olur.
Discord: Leeyé#3998
#19
Kod:
new bool:bonus[MAX_CLIENTS+1];

public plugin_init() {
    register_plugin("Eklenti Ismi", "1.0", "bilalgecer47");
    
    RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn_Post", .post = true);
}
@CBasePlayer_Spawn_Post(const id){
    bonus[id] = false;
}
@bonusmenu(const id){
    if(bonus[id]){
        client_print_color(id,id,"^3[^4%s^3] ^3Bonus Menuyu Zaten Kullandin.",tag);
        @anamenu(id);
    }
    else {
        new menu = menu_create(fmt("\r%s \w- \yBonus Menu", tag), "@bonusmenu_devam");
        
        menu_additem(menu, fmt("\r%s \w- \yUser Bonusu \d[2 TL] ", tag), "1");
        menu_additem(menu, fmt("\r%s \w- \ySlot Bonusu \d[5 TL] ", tag), "2");
        menu_additem(menu, fmt("\r%s \w- \yAdmin Bonusu \d[7 TL] ", tag), "3");
        menu_additem(menu, fmt("\r%s \w- \yYonetici Bonusu \d[10 TL] ", tag), "4");
        
        menu_setprop(menu, MPROP_EXITNAME, fmt("\r%s \w- \yCikis", tag));
        menu_setprop(menu,MPROP_NUMBER_COLOR,"\d");
        menu_display(id, menu);
    }
}
@bonusmenu_devam(const id, const menu, const item) {
    if(item == MENU_EXIT || !IsPlayerCanUse(id, true, true)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new iData[6], iKey;
    menu_item_getinfo(menu, item, _, iData, charsmax(iData));
    iKey = str_to_num(iData);
    switch(iKey) {
        case 1: {
            para[id]+=2;
            rg_send_audio(id , g_szSounds[SI]);
        }
        case 2: {
            if(get_user_flags(id)&slotbonus){
                para[id]+=5;
                rg_send_audio(id , g_szSounds[SI]);
            }
            else{
                rg_send_audio(id , g_szSounds[NO]);
                @bonusmenu(id);
            }
        }
        case 3: {
            if(get_user_flags(id)&adminbonus){
                para[id]+=7;
                rg_send_audio(id , g_szSounds[SI]);
            }
            else{
                rg_send_audio(id , g_szSounds[NO]);
                @bonusmenu(id);
            }
        }
        case 4: {
            if(get_user_flags(id)&yoneticibonus){
                para[id]+=10;
                rg_send_audio(id , g_szSounds[SI]);
            }
            else{
                rg_send_audio(id , g_szSounds[NO]);
                @bonusmenu(id);
            }
        }
    }
    bonus[id]=true;
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

Forumdaki eklentileri incele.Sorunun cevabını örnekleriyle bulabilirsin.
reCs:Go Rank Menu (%50)
#20
Kurucu menu kısmını yaptım. Diğerlerine ellemedim.
.smadenemeyetki.sma(Dosya Boyutu: 10,29 KB | İndirme Sayısı: 4)
Discord: Leeyé#3998
Son Düzenleme: 05-06-2021, 23:02, Düzenleyen: Leeyé.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task