Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Reklam Sistemi

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Okay Uçar
Mesajlar: 13
Kayıt: Pzr Ağu 28, 2016 10:08 pm

Reklam Sistemi

Mesaj gönderen Okay Uçar »

Bu Sistem Slotlar İçin Olucaktır

Reklam At Diye Bir Menümüz Olucaktır Altındada Puan Yazıcaktır Her Reklam Attığında Puan Bölümüne 1 Puan Daha Eklenecektir Fakat Reklam Atınca Bir Sonraki Reklam 30 Dakika Sonra Atılmasına İzin Verecektir

Reklam Menü

Reklam At
Eğer Reklam Attıysa
Reklam At ( Kullanım Hakkınız Bitti 30 Dakika Sonra Tekrar Deneyiniz ) Menüsü Olsun Altında Puan
Puan [ X ]

Bu Şekilde Bu Menüyü Yapan Moda Çok TEŞEKKÜR Ediyorum

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Reklam Sistemi

Mesaj gönderen Taha Demirbaş »

biraz bekleyin gün içerisinde bitecektir. Fakat elinde hazır olan arkadaşlar var ise atacaklardır...

Link:
Linklerini gizle
Linki Kopyala

memoby
Mesajlar: 218
Kayıt: Çrş Ağu 31, 2016 7:36 pm

Reklam Sistemi

Mesaj gönderen memoby »

belli bir puana ulasıncada adminlikmi vereceksiniz

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Okay Uçar
Mesajlar: 13
Kayıt: Pzr Ağu 28, 2016 10:08 pm

Reklam Sistemi

Mesaj gönderen Okay Uçar »

GÜNCEL
@By.Dehset

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

amad
Mesajlar: 1809
Kayıt: Cmt Nis 30, 2016 2:46 pm
Konum: Batman
Clan İsmi: Ke$`h | Gaming
İletişim:

Reklam Sistemi

Mesaj gönderen amad »

Denemedim açık sorun vs. olursa bildirirsin tekrar bakarım

Kod: Tümünü seç

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Reklam At"
#define VERSION "2.0"
#define AUTHOR "By Deh$eT"

new puan[33],sure[32]
new bool:reklam_engel[33];


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /reklamat","reklam")
}
public client_connect(id)
{
    reklam_engel[id] = false
    puan[id] = 0
    sure[id] = 0
}
public client_disconnect(id)
{
    reklam_engel[id] = false
    puan[id] = 0
    sure[id] = 0
}
public reklam(id)
{
    static amenu[512];
    new menu = menu_create("\yReklam \rMenu", "reklam_handler")
    
    if(reklam_engel[id]) {
        
        menu_additem(menu, "\yReklam \d[\rAT\d]", "1", 0);
    }
    else {    
        menu_additem(menu, "\dReklam [AT]", "2", 0);
        formatex(amenu,charsmax(amenu),"\yPuaniniz : \r%d",puan[id])
        menu_additem(menu,amenu,"3")
        
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, menu, 0);
    }
    
}
public menu_handler(id, menu, item)
{
    
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    new data[6], iName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
    new key = str_to_num(data);
    new name[32]
    get_user_name(id,name,31)
    
    switch(key)
    {
        case 1: {
            renkli_yazi(0,"!g%s : !nSlotluk Ve Komutculuk icin Say'a !t/ts3 !nyaziniz.",name)
            puan[id]+= 1
            reklam_engel[id] = true
            sure[id] = 1800
            check(id)
            set_task(1800.0,"finish",id)
        }
        case 2: { 
            renkli_yazi(id,"!g%d !nsaniye sonra tekrar deneyiniz.",sure[id])
        }
        case 3: {
            reklam(id)
        }
    }
    
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public check(id)
{
    sure[id]--
    if(!reklam_engel[id])
    {
        sure[id] = 0
    }
    else 
    {
        check(id)
    }
}
public finish(id)
{
    reklam_engel[id] = false
    renkli_yazi(id,"!gReklam Atma bekleme sureniz sona ermisdir.")
    renkli_yazi(id,"!t/reklamat !nyazarak tekrar reklam atabilirsiniz.")
}
stock renkli_yazi(const id, const input[], any:...)
{
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
    
    replace_all(msg, 190, "!n", "^x01"); // Default Renk(Sarı)
    replace_all(msg, 190, "!g", "^x04"); // Yeşil Renk
    replace_all(msg, 190, "!t", "^x03"); // Takım Renk( CT mavi , T kırmızı )
    
    if (id) players[0] = id; else get_players(players, count, "ch"); {
    for (new i = 0; i < count; i++)
    {
        if (is_user_connected(players[i]))
        {
            
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
        }
        }
        
    }
}

 

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Reklam Sistemi

Mesaj gönderen Taha Demirbaş »

Puanları kaydediyor mu ?
Kaydediyorsa pluginin şemasını başka eklentilerde kullanacağım da. Nvault yada config yazdırma göremeyince sorayım dedim.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Yek'-ta
Mesajlar: 9625
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

Reklam Sistemi

Mesaj gönderen Yek'-ta »

kaydetmiyor, nvaulta alsanız bile adam retry çekip tekrar tekrar reklam atıp rahat puan kasar. Nvault ile zaman kontrollü yapın. Biraz zor, uğraştırır. Played time eklentisine bakarak bir şeyler ayıklayabilirsiniz o eklentiden.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Reklam Sistemi

Mesaj gönderen Taha Demirbaş »

buna en kolayı task çalıştırıp yeni gelenin bir süre reklam yapmamasını sağlarsak adam puan kasamaz. Nvault ekleye bilirsem nvault ekler author değiştirmeden konuya yüklerim.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Reklam Sistemi

Mesaj gönderen Taha Demirbaş »

Denenmedi. Nvault Eklendi. Girişte 10 Dakika Reklam Yapılamıyor (set_task 600.0)

Kod: Tümünü seç

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Reklam At"
#define VERSION "2.0"
#define AUTHOR "By Deh$eT"

new puan[33],sure[32]
new bool:reklam_engel[33];
new g_vault

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("say /reklamat","reklam")
    g_vault = nvault_open("reklamat")
}
public client_connect(id)
{
    reklam_engel[id] = true

    sure[id] = 600
    set_task(600.0,"finish",id) // Gelen direkt reklam atmamasını saglayacak
    LoadData(id)
}
public client_disconnect(id)
{
    reklam_engel[id] = false
  
    sure[id] = 0
    SaveData(id)
    
}

public SaveData(id)
{
	new name[32]
	get_user_name(id, name, 31)
	new vaultkey[64], vaultdata[256]
    
	format(vaultkey, 63, "%s", name)
	format(vaultdata, 255, "%i", puan[id])
	nvault_set(g_vault, vaultkey, vaultdata)
    
	return PLUGIN_CONTINUE
}

public LoadData(id)
{
	new name[32]
	get_user_name(id, name, 31)
	new vaultkey[64], vaultdata[256]
    
	format(vaultkey, 63, "%s", name)
	format(vaultdata, 255, "%i", puan[id])
	nvault_get(g_vault, vaultkey, vaultdata, 255)
	
	new points_user[10]
	parse(vaultdata, points_user, 9)
	
	new points_set = str_to_num(points_user)
	puan[id] = points_set
    
	return PLUGIN_CONTINUE
}

public reklam(id)
{
    static amenu[512];
    new menu = menu_create("\yReklam \rMenu", "reklam_handler")
    
    if(reklam_engel[id]) {
        
        menu_additem(menu, "\yReklam \d[\rAT\d]", "1", 0);
    }
    else {    
        menu_additem(menu, "\dReklam [AT]", "2", 0);
        formatex(amenu,charsmax(amenu),"\yPuaniniz : \r%d",puan[id])
        menu_additem(menu,amenu,"3")
        
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
        menu_display(id, menu, 0);
    }
    
}
public menu_handler(id, menu, item)
{
    
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    new data[6], iName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
    new key = str_to_num(data);
    new name[32]
    get_user_name(id,name,31)
    
    switch(key)
    {
        case 1: {
            renkli_yazi(0,"!g%s : !nSlotluk Ve Komutculuk icin Say'a !t/ts3 !nyaziniz.",name)
            puan[id]+= 1
            reklam_engel[id] = true
            sure[id] = 1800
            check(id)
            set_task(1800.0,"finish",id)
        }
        case 2: { 
            renkli_yazi(id,"!g%d !nsaniye sonra tekrar deneyiniz.",sure[id])
        }
        case 3: {
            reklam(id)
        }
    }
    
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public check(id)
{
    sure[id]--
    if(!reklam_engel[id])
    {
        sure[id] = 0
    }
    else 
    {
        check(id)
    }
}
public finish(id)
{
    reklam_engel[id] = false
    renkli_yazi(id,"!gReklam Atma bekleme sureniz sona ermisdir.")
    renkli_yazi(id,"!t/reklamat !nyazarak tekrar reklam atabilirsiniz.")
}
stock renkli_yazi(const id, const input[], any:...)
{
    new count = 1, players[32];
    static msg[191];
    vformat(msg, 190, input, 3);
    
    replace_all(msg, 190, "!n", "^x01"); // Default Renk(Sarı)
    replace_all(msg, 190, "!g", "^x04"); // Yeşil Renk
    replace_all(msg, 190, "!t", "^x03"); // Takım Renk( CT mavi , T kırmızı )
    
    if (id) players[0] = id; else get_players(players, count, "ch"); {
    for (new i = 0; i < count; i++)
    {
        if (is_user_connected(players[i]))
        {
            
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
        }
        }
        
    }
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla