⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel

Webailesi Portal Sistemi

merhabalar 2 aydır csduragı kullanıyorum fakat son bu haftadır eke koyduguum hatadn sunucu çöküyor anlamıyorum neden hiç bi sıkıntı yoktu kendi modumuzu kullanıyoruz
L 25/07/2022 - 15:58:46: (map "ze_boatescape_b5") PF_MessageBegin_I: New message started when msg '35' has not been sent yet
L 25/07/2022 - 16:00:54: (map "ze_jurassicpark4") PF_MessageBegin_I: New message started when msg '35' has not been sent yet
L 25/07/2022 - 16:02:55: (map "ze_jurassicpark4") PF_MessageBegin_I: New message started when msg '35' has not been sent yet
Yazar: Grafe
25-07-2022, 15:43
Başlıkta da belirttiğim gibi zombie escape menüsüne extra itemse silah ekliyorum fakat bunu oyuncu 30 levele ulaşınca alabilmesini istiyorum veya admin ban yetkisine sahip oyuncu.Bunu Zombi class seçerkende yapabilmek istiyorum nasıl yapabilirim?

Yardımlarınız İçin Tşk
Yazar: AresoaTR
25-07-2022, 15:35
Yakında açıcagımız metin2 sunucusu için AVCI alımı yapıcaz
Aradığımız Özellikler

- Aktif olması
-Sesli Sohbette Sıkıntı Yaşamıyıcak
-Geliştiriciye Yardım Edecek ve Test Edecek


Tasarımlar Özel Olarak Yaptırılıyor
Beklenen Oyuncu 750 ile 1000 arası
55 - 120 Tarzı Pek çok yeni ve eski sistemi içinde bulunduruyor
Herkese selamlar. Ekte verdiğim CTMenu içerisindeki Hard Komut'ta bir isteğim olacak. Hard Komut açıldığı zaman bunnynin de kapanmasını , hard komut kapandığı zaman bunnynin aynı şekilde açılmasını istiyorum. Şimdiden teşekkür ederim.

.sma re_ctmenu_v1.13.sma (Dosya Boyutu: 186,25 KB | İndirme Sayısı: 14)
Yazar: capony1293
25-07-2022, 13:49
Merhaba, arkadaşlar tekrardan karşınızdayım. Bugün bir kaç değişiklik yaptık, Öncelikle ts3 adresimizi değiştik, Zombi Escape, JailBreak, Maç Sunucumuz açılmış bulunmakta. JEVAİNCLAN ile karşınızdayız.
STAFF VE CEO ALIMLARI İÇİN TS3 ADRESİMİZE BEKLERİZ.
JailBreak Sunucumuz: 213.238.173.64
Zombi Escape Sunucumuz: 213.238.173.196
Maç Sunucumuz: 45.141.149.139:5
TS3 ADRESİMİZ: JevainClan
Yazar: Red*
25-07-2022, 12:54
Merhaba, saat sabah 8 ila 12 arasında mesela silah menüsü aktif olacak ve o süre boyunca sunucuda aktif bir şekilde kalacak yapılması mümkün mü acaba?

Silah menüden alınacak silahlar :
m4a1 + deagle
ak47 + deagle
awp + deagle
Yazar: Grafe
25-07-2022, 10:28
harita Zombie escapeyken 2 zıplama olmasını istiyorum nemesisde de 3 bunu nasıl yapabilirim?
Yazar: scuro
25-07-2022, 09:23
Merhaba WebAilesi forumu sakinleri;
Eklentilerde yapılan hataları ve çözümlerini anlattım. Umarım daha güzel yazılmış eklentiler görürüm. Gülümse


1. PreThink & PostThink gibi komutlar
PreThink komutu oyuncuya saniyede çok kez gönderildiği için çok önemli bir komuttur.

Yapılan büyük yanlış; [Oyuncuların ölü olup olmadığını vs tanıtma;]
PHP Kod:
public plugin_init()
{
    
RegisterHookChain(RG_CBasePlayer_PreThink, "CBasePlayer_PreThink");
}

public 
CBasePlayer_PreThink(const id)
{
    if(
get_user_team(id) == 2 && is_user_alive(id))
    {
        
//blabla
    
}
} 
Defalarca oyuncunun takımını algılıyor ve ölü olmadığını algılıyor.
Bunun yerine bir değişken oluşturacağız.

PHP Kod:
new bool:ctveyasiyor[33];

public 
plugin_init()
{
    
RegisterHookChain(RG_CBasePlayer_PreThink, "CBasePlayer_PreThink");
    
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn");
    
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed");
}

public 
CBasePlayer_PreThink(const id)
{
    if(
ctveyasiyor)
    {
        
//blabla
    
}
}

public 
CBasePlayer_Spawn(const id)
{
    
/*
    if(!is_user_alive(id))
    {
        return;
    }
    // Bunu kullanabilirsiniz. Bug olursa kesin çözümü
    */

    
if(get_member(id, m_iTeam) == TEAM_CT && is_user_alive(id)) // Reapi ile ct olduğunu tanıtmak
    
{
        
ctveyasiyor[id] = true;
    }
    
    
// veya (fark etmez)  [reapi önerilir, biraz daha hızlı]

    
if(get_user_team(id) == 2 && is_user_alive(id)) // Reapi ile ct olduğunu tanıtmak
    
{
        
ctveyasiyor[id] = true;
    }
    
}

public 
CBasePlayer_Killed(const victim, const attacker)
{
    
// Bu komutu kullanmak zorunda değilsiniz. Attacker kullanmadığımız için yazdım.
    #pragma unused attacker

    
ctveyasiyor[id] = false;
} 
2. Switch
Switch komutu eklentide bir değişkenin veya komutun değerlerini algılamamızı sağlıyor.
İf ile tanıtmaktan daha iyi ve hızlı.

Yapılan hata [Bir değişken oluşturmadan değer algılatmak

PHP Kod:
switch(str_to_num(data))
{
    
//blabla
} 
Bunun yerine değişken oluşturacağız.

PHP Kod:
new key = str_to_num(data);
switch(
key)
{
    
//blabla
} 
3. Set_Task
Aynı PreThink açıklamasındaki gibi yapılan bir hata.
'0.1' olarak ayarlanan bir task olayında ölü ve takım algılatması;
Bu sefer bot olup olmadığı şeklinde örnek vereceğim.

PHP Kod:
public bilmemne(id)
{
    
set_task(0.1, "loc_pec_wec", id, _, _, "b"); // 0.1 saniyede bir gönderilecek
}

public 
loc_pec_wec(id)
{
    if(
is_user_bot(id))
    {
        
client_print_color(id, id, "Sen botsun.");
    }
} 
Doğru kullanımı;

PHP Kod:
new bool:bot[33];

public 
client_putinserver(id)
{
    if(
is_user_bot(id))
    {
        
bot[id] = true;
    }
    
    
// veya
    
    
bot[id] = is_user_bot(id) ? true:false; // botsa true değilse false
}

public 
bilmemne(id)
{
    
set_task(0.1, "loc_pec_wec", id, _, _, "b"); // 0.1 saniyede bir gönderilecek
}

public 
loc_pec_wec(id)
{
    if(
bot[id])
    {
        
client_print_color(id, id, "Sen botsun.");
    }
} 
4. Bool nedir, nasıl kullanılır?
Eklentilerde pek çok gördüğümüz, bildiğimiz fakat kullanamadığımız veya bilmediğimiz bool?
Bir değişken eğer sadece 1-0 olarak ayarlanacaksa bool kullanılmalı.

Yapılan yanlış [degisken = 1 ; degisken = 0]

PHP Kod:
new bot[33];

public 
client_putinserver(id)
{
    if(
is_user_bot(id))
    {
        
bot[id] = 1;
    }
} 
Bool kullanılmalı;

PHP Kod:
new bool:bot[33];

public 
client_putinserver(id)
{
    if(
is_user_bot(id))
    {
        
bot[id] = true;
    }
} 
5. Cvar oluşturmak
1.8.3 e kadar bir sorun yoktu fakat değişti.
Artık kullanalım;

Yapılan yanlış [register_cvar & 0 - 1]

PHP Kod:
new lololol;

public 
plugin_init() {
    
lololol = register_cvar("bh_enabled", "1");
}

public 
blabla(id)
{
    if(
get_pcvar_num(lololol))
    {
        
//blabla
    
}
} 
Burada yine bool kullanılmamakta. Ve register_cvar yerine bu komut daha kullanışlı ve hızlı.
Sunucuda olan cvarlar için get_cvar_pointer ve get_pcvar_ num,string...

PHP Kod:
new bool:lololol;
new 
normalcvar;
new 
mp_freeforall; // ff cvarı her sunucuda var (CSDURAGI)

public plugin_init() {
    
bind_pcvar_num(create_cvar("bh_enabled", "1", _, "Cvar aciklamasi", true, 0.0, true, 1.0), lololol);
    
bind_pcvar_num(create_cvar("normalcvar", "832", _, "Sonu yok", true, 0.0), normalcvar);

    
mp_freeforall = get_cvar_pointer("mp_freeforall"); // Sunucudaki cvarı çekiyor.
}

public 
blabla(id)
{
    if(
lololol)
    {
        
//blabla
    
}

    new 
deger = normalcvar;
    
deger--;
    
// değer 831 oldu. get_pcvar_num kullanmaya gerek kalmadi

    // burada kullanıyoruz
    
if(get_pcvar_num(mp_freeforall))
    {
        
set_pcvar_num(mp_freeforall, 0);
    }
} 
6. Const nedir, nasıl kullanılır?
Const, bir değişkenin sabit olduğu durumlarda kullanılır. Örneğin tag;

Yapılan yanlış [Const kullanılmaması]

PHP Kod:
new tag[] = "LOLOLOL";

client_print_color(0, 0, "Tagimiz budur: %s", tag); 
tag bir daha değiştirilemeyeceği için const eklemeliyiz.

PHP Kod:
new const tag[] = "LOLOLOL";

client_print_color(0, 0, "Tagimiz budur: %s", tag); 

Anlatımı ve emeği için Colditz adlı arkadaşa teşekkür ederiz.
Yazar: scuro
25-07-2022, 09:00
Yorum Yok
Sistem Açıklaması;
Market eklentilerinizi daha hoş bir görünüme sahip olması için kendi geliştirdiğim bir sistemdir.
Eklentinin amacı; Markette bulunan eşyayı, ürünü satın alırken, işleminizi onaylıyor musunuz yoksa iptal mi etmek istiyorsunuz gibi kısacası bir onay ekranı gönderir.
Ekstra olarak, ürünün ismini, ürünün fiyatını ve istiyorsanız kişiye özel indirimleri bile gösterebilirsiniz.

Eklenti Kod Bölümü Açıklaması;
Eklenti içerisinde, düz kodlamadan farklı olarak zorlanacağınız iki bölüm vardır.
Birinci bölüm; Dosyadan verileri çekme.
İkinci bölüm; Dosyadaki verileri, Array'a aktarma.
Eklenti içerisinde güzel bir şekilde anlattığımı düşünüyorum, ekstra olarak anlamadıysanız o konuları buradanda kavramaya çalışabilirsiniz.

https://www.webailesi.com/konu-nasil-dos...ilir-16339
https://www.webailesi.com/konu-array-kullanimi-19474

Eklenti;
PHP Kod:
// forum.csduragi.com
#pragma semicolon 1

#include <amxmodx>

new const g_szItems[] = "addons/amxmodx/configs/Esyalar.ini";

enum _:ItemsData   // Array verilerini oluşturduk.
{
    
szItemName[32],
    
iItemMoney
};
new Array:
g_aItems;  // İtem arrayi oluşturduk.

// Menüde işlemi yaptırmak için kullanacağımız değişkenler.
new g_szItemKey[MAX_PLAYERS+1][32],  // Seçtiğimiz itemin ismini saklamak icin kullanacağımız değişken. "32" değer aralığında ve "string" yani yazı türünde.
    g_iCostKey[MAX_PLAYERS+1];         // Seçtiğimiz itemin fiyatini saklamak icin kullanacağımz değişken "integer" yani sayı türünde.

public plugin_init()
{
    
register_plugin("Confirmation Screen", "0.1", "` BesTCore;");

    
g_aItems = ArrayCreate(ItemsData);   // Arrayımızı oluşturduk.

    
register_clcmd("say /market", "clcmd_market"); // Market cmd'si oluşturuyoruz.

    
GetDataFromFile();  // Dosyadaki verileri işleyeceğimiz fonksiyon. İçeriği aşşağıda...
}
public 
clcmd_market(const id)
{
    new 
iSize = ArraySize(g_aItems);

    if(
iSize < 1) // Eğer array boyutu "1"'den küçükse içi boş demektir, böylelikle bilgi mesajı ekleyebilirsiniz.
    
{
        
//client_print_color(id, id, "^3Markette satin alinacak birsey yok.");  
        
return;    
    
}

    new 
bestm = menu_create("\rMarket Menu", "clcmd_market_handler");

    new 
aData[ItemsData];   // Array verilerini çekmek için değişken oluşturduk.

    
for(new i = 0; i < iSize; i++)
    {
        
ArrayGetArray(g_aItems, i, aData);   // Bütün verileri for döngüsünde sıraladık ve "aData" değişkenine aktardık.
        
menu_additem(bestm, fmt("%s\r %i TL", aData[szItemName], PlayerDiscount(id, aData[iItemMoney])), fmt("%i", i)); // Menüyü oluşturduk.
    
}
    
menu_display(id, bestm); // Oyuncuya menüyü gösterdik. Burayı, for döngüsü içerisinde kullanmayın, çalışmaz.
}
public 
clcmd_market_handler(const id, const menu, const item)
{
    
/*if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], key;
    menu_item_getinfo(menu, item, _, data, charsmax(data));
    key = str_to_num(data);*/
  

    
// "menu_item_getinfo" ile menü bilgilerini çekmiyoruz, eğer çekersek seçtiğimiz seçenek değeri "0" olarak değil "1" olarak gelir ve işlemimizi sıkıntıya sokar.

    
new aData[ItemsData];
    
ArrayGetArray(g_aItems, item, aData);    // Seçtiğimiz seçeneğin itemini array'dan çektik.

    
ConfirmationScreen(id, aData[szItemName], PlayerDiscount(id, aData[iItemMoney]));  // Menü bilgilerini yerleştirdik.

    
menu_destroy(menu); // Menüyü kapattık.
    
return PLUGIN_HANDLED;
}
public 
ConfirmationScreen(const id, const szItem[], const iCost)   // Publicimizde bilgileri sıraladık.
{
    
copy(g_szItemKey[id], charsmax(g_szItemKey[]), szItem);  // Public handlerinde kullanmak için eşyanın ismini değişkenimize aktardık.
//                                                              String olduğu için "copy" ile yaptık.
    
g_iCostKey[id] = iCost;   // Public handlerinde kullanmak için eşyanın fiyatını değişkenimize aktardık.

    
new bestm = menu_create("\rOnay Ekrani", "ConfirmationScreen_handler");

    
menu_additem(bestm, fmt("Esya Ismi:\y %s", szItem));         // Esya ismini "Item" yazdırdık.
    
menu_additem(bestm, fmt("\wEsya Fiyati:\y %i\r TL", iCost));  // Esya fiyatini "Cost" yazdırdık. 
    
menu_additem(bestm, fmt("Size Ozel Indirim:\y %i\r TL^n", iCost - PlayerDiscount(id, iCost))); // Bu yontem ile indirim fiyatini çekebilirsiniz.

    
menu_additem(bestm, "Satin Al");   // Satın alma seçeneği.
    
menu_additem(bestm, "Iptal Et");   // İslemi iptal etme seçeneği.

    
menu_display(id, bestm); // Menüyü gösterdik.
}
public 
ConfirmationScreen_handler(const id, const menu, const item)
{
    switch(
item)
    {
        case 
0..2:   // Bastığımız seçenek 0 ile 2 arasında ise..
        
{
            
menu_display(id, menu); // Menüyü tekrar gösterdik.

            
ConfirmationScreen(id, g_szItemKey[id], g_iCostKey[id]);  // Menüyü tekrar gösterdik.

            // 2 türlüde yapabilirsiniz.
        
}
        case 
3:   // Eğer seçenek "3" ise yani "Satin Al" ise, işlem yaptırıyoruz.
        
{
            
client_print_color(id, id, "^3Basarili bir sekilde^4 %s^3 adli esyayi^4 %i TL^3'ye satin aldiniz.", g_szItemKey[id], g_iCostKey[id]);
        }
   // Gördüğünüz gibi satın alma işlemimizi yaptırdık. Buradan sonrası sizin kodlama bilginize kalmış.
        
case 4:
        {
            
client_print_color(id, id, "^3Isleminizi iptal ettiniz."); // İşlemi iptal ettik.
        
}
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
public 
PlayerDiscount(const id, iCost) // Oyuncu indirimini çekme.
{
    new 
iFlags = get_user_flags(id);

    if(
iFlags & ADMIN_RCON)   // Oyuncunun yetkisi "ADMIN_RCON" ise.
    
{
        
iCost = iCost - 3;
        return 
iCost;        // Fiyattan "3" eksiltip returnladık.
    
}
    return 
iCost; // Eğer hiçbirşey olmaz ise aynı fiyatı tekrar döndürdük.
}
GetDataFromFile()    // Verileri aktarma fonksiyonu.
{
    new 
iFile = fopen(g_szItems, "rt");   // Esyalar dosyamızı açıp, veriye aktardık.

    
if(iFile)
    {
        new 
szBuffer[MAX_FMT_LENGTH], aData[ItemsData],  // Değişkenler.
            
szItem[32], iMoney[10];

        while(
fgets(iFile, szBuffer, charsmax(szBuffer)))
        {
            
trim(szBuffer);

            if(
szBuffer[0] == EOS || szBuffer[0] == ';')
            {
                continue;
            }

            
parse(szBuffer, szItem, charsmax(szItem), iMoney, charsmax(iMoney));

            
copy(aData[szItemName], charsmax(aData), szItem);   // Burayı direk fiyatı eşitleme gibi yapabilirsiniz, ben sağlama alıp "copy" ile yaptım.
            
aData[iItemMoney] = str_to_num(iMoney);

            
ArrayPushArray(g_aItems, aData); // Verileri arraya aktardık.
        
}
        
fclose(iFile);  // Dosyayı kapattık.
    
}
}
public 
plugin_end()
{
    
ArrayDestroy(g_aItems); // Arrayı kapattık, kapatmazsak sorun çıkartır.
} 
Yazar: serhat2110
24-07-2022, 22:56
Harita İsmi:  jail_cennetbahceleri_v2

Harita Yapımcısı:  YocaJa

Haritanın Kullanılabileceği mod(lar): Jailbreak 

Harita ile İlgili Görseller: 
ds-cennet8-8905
ds-cennet7-8904
ds-cennet6-8903

ds-cennet5-8902
ds-cennet4-8901

ds-cennet3-8900
ds-cennet2-8899
ds-cennet1-8898

ds-cennet16-8897
ds-cennet15-8896


ds-cennet14-8895
ds-cennet13-8894
ds-cennet12-8893


ds-cennet11-8892


ds-cennet10-8891

İndirme & RAR Pass:
.rar jail_cennetbahceleri_v2.rar (Dosya Boyutu: 3,75 MB | İndirme Sayısı: 39)

Hoşgeldin, Ziyaretçi

Sitemizden yararlanabilmek için Kayıt olmalısınız.

Forumda Ara

Forum İstatistikleri

Toplam Üyeler: 44.960
Son Üye: zorbiks3
Toplam Konular: 34.820
Toplam Yorumlar: 456.576

Son Aktiviteler

🎁 Webailesi.com’a Özel Çe...

Son Yorum: ayasyazılım • 11 dakika önce
Yorumlar: 14 • Okunma: 278

Minecraft AFK WebClient P...

Son Yorum: Rowycik • 5 saat önce
Yorumlar: 4 • Okunma: 840

ATLANTİS JAİLBREAK CS21.C...

Son Yorum: Rowycik • 6 saat önce
Yorumlar: 4 • Okunma: 83

Rampage Gaming Ts3 Yedeği

Forum: TS3 - Yedek
Son Yorum: SteamGaming • 7 saat önce
Yorumlar: 8 • Okunma: 402

TS3 Kırmızı İcon Pack V1

Son Yorum: erkan6161 • 7 saat önce
Yorumlar: 15 • Okunma: 851

TeamSpeak3 Müzik Botu Tam...

Forum: TeamSpeak3
Son Yorum: average 1.6 enjoyer • 8 saat önce
Yorumlar: 8 • Okunma: 263

CS 1.6 Premium Ban Eklent...

Son Yorum: average 1.6 enjoyer • 8 saat önce
Yorumlar: 205 • Okunma: 38.461

AsiLOyuncu-CSGO-MOD-DEV-A...

Son Yorum: PowerShoots • 11 saat önce
Yorumlar: 193 • Okunma: 52.103

Vexmira Zombie Plague | O...

Son Yorum: skip60 • 11 saat önce
Yorumlar: 3 • Okunma: 68

[Cs 1.6] En Gelismis CsGo...

Son Yorum: PowerShoots • 11 saat önce
Yorumlar: 253 • Okunma: 65.937
Task