⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
⭐ Buraya kendi metin reklamınızı vererek binlerce kişiye ulaşın! ⭐
Sponsor Görsel 2
SponsorSponsor

Basit Oylama Menüsü Yapımı

Basit Oylama Menüsü Yapımı
Basit Oylama Menüsü yapılırken menüyü herkese göstermek gerekiyor. O bölümü iyi anlamanız gerekiyor.

PHP Kod:
#include <amxmodx>

//Menüyü oluşturmak için global bir değişken belirleyeceğiz.
new g_iVoteMenu;
//Oyları çekebilmemiz için bir oy değeri oluşturacağız. [] içindeki değer menü seçeneği + 1 sayısında olmalıdır.
new g_iVotes[2];
//Oylamanın devam edip etmediğini algılatmak için bir değer oluşturmamız gerekiyor.
new g_iVoting;

public 
OylamaMenusu(pPlayer) {
    
//Oylama varsa, tekrardan başlamaması için koruma yapıyoruz.
    
if(g_blVoting) {
        
client_print_color(pPlayer, pPlayer, "Oylama Devam Ediyor");
        return 
PLUGIN_HANDLED;
    }

    
//Oylamaya başlamadan önce değerleri sıfırlıyoruz.
    
g_iVotes[0] = g_iVotes[1] = 0;
    
// Eğer 2den fazla değere sahipse, aşağıdaki gibi yapmanız daha iyi olacaktır.
    //arrayset(g_iVotes, 0, sizeof g_iVotes);

    //Öncelikle menü ve menü değeri oluşturmalıyız. Oluşturduğumuz global değere bağlıyoruz.
    
g_iVoteMenu = menu_create("Oylama Başlığı", "OylamaMenusu_handler");

    
//Menüye seçenek ekleyin
    
menu_additem(g_iVoteMenu, "Seçenek 1");
    
menu_additem(g_iVoteMenu, "Seçenek 2");

    
//Herkese yollamak için bir döngü oluşturacağız. Döngü olayını Oyuncu Menüsünde anlattım.
    
for(new id = 1; id <= MaxClients; id++) {
        if(
is_user_connected(id)) {
            
//Oylamayı göster
            
menu_display(id, g_iVoteMenu);

            
//Oylamaya katılan sayı kadar artacaktır.
            
g_iVoting++;
        }
    }

    
//Oylamayı belirlediğin saniye sonra bitir.
    
set_task(10.0, "OylamayiBitir");

    return 
PLUGIN_HANDLED;
}

public 
OylamaMenusu_handler(pPlayer, iMenu, iItem) {
    
//Menüden çıktıysa veya hiç oy yoksa menüyü kapatacak
    
if(iItem == MENU_EXIT || !g_iVoting) {
        
//Burada menüyü yok etmiyoruz. Aksi takdirde oy vermeyenlerde de menü yok olacaktır.
        
return PLUGIN_HANDLED;
    }

    
//Seçilen seçeneğin oyunu artırır.
    
g_iVotes[iItem]++;

    
//Menüyü yok etmiyoruz.
    
return PLUGIN_HANDLED;
}

public 
OylamayiBitir() {
    
//En çok oy alan seçeneği belirliyoruz. Birinci seçenecek > İkinci Seçenek
    
if(g_iVotes[0] > g_iVotes[1]) {
        
client_print_color(0, 0, "Birinci seçenek kazandı");
    }

    
//Değilse, tam tersini deniyoruz. İkinci Seçenek > Birinci Seçenek
    
else if(g_iVotes[1] > g_iVotes[2]) {
        
client_print_color(0, 0, "İkinci seçenek kazandı");
    }

    
//Değilse, berabere
    
else {
        
client_print_color(0, 0, "Berabere");
    }

    
//Oylama bittiğine göre menüyü yok edebiliriz.
    
menu_destroy(iMenu);

    
//Oy sayısını da sıfırlayabiliriz
    
g_iVoting = 0;
} 
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi
Task