Yeni bayrak kapmaca modu [Takip Konusu]
Gönderilme zamanı: Pzr Kas 11, 2018 12:09 am
Bayrak kapmacanın orjinal modu yani CTF daha çok hlds sunucular içindi, lüzumsuz gördüğüm yerleri vardı ve geliştirilmeye pek müsait göremiyordum. Hatta REHLDS kullandığımız için orpheu özelliğini kullanamıyorduk, bu yüzden de takım skorları değişmiyordu. Bende modu yeniden yazdım. Fakat sadece bize yeterli gördüğüm yerleri yazdım sadece. 2 gün evvel başlayıp %80'inini bitirdiğim bayrak kapmaca modunun takibini paylaşıyorum. Mod panel için hazırlanıyor.
+CSDurağı için özel bayrak kapmaca modeli,
+Bayrağı taşıyan kişinin sırtında bayrak modeli,
+Kullanılan 2 modelin boyutlarının toplamı 865 Kb.
+Sadece reapi ve engine kütüphaneleri kullanılarak 1 sınıf altında 4 obje(CTBayrak, TEBayrak, CTAlan, TEAlan), konum belirleme için ise 1 sınıf altında 2 obje bulunuyor. Konum belirleme objeleri sadece yeni konum belirler iken çıkıyor,
+Eklenti yazarları için native ve forward özellikleri, kolay erişim olması için kütüphane halinde,
+CTF de orpheu yüzünden kullanamadığımız takım skorlarına +1 özelliği reapi ile eklendi,
+Kolay konum belirleme menüsü,
Moddan kısa bir test videosu.
Moddan ekran görüntüleri -----------------------------
Buraya kadar her şey normal, mod oldukça basit tutuldu. Modu eğer kendi tarafınızdan geliştirmek, bir farklılık olmasını istiyor iseniz modun kütüphanesi ile özel eklentiler yazabilirsiniz.
csd_bayrakkapmaca.inc
Örnek bir eklenti aşağıdaki gibidir.
Şuanda eklemeyi düşündüğüm tek özellik oyuncunun kendi bayrak alanı içerisinde olup olmadığını sorgulatmak. Bunu da native + forward yapabilirim belki. Oyuncu kendi alanına girdi forwardı ve oyuncunun alanda olup olmadığını sorgulatmak. Bu özellik modun %20 lik bölümünü oluşturduğu için, bu özellik bitince modu test sunucusuna kuracağım.
Mod ile ilgili fikirlerinizi, görüşlerinizi alabilirim. Mesela ben bu moda böyle bir eklenti yazabilirim, bu yüzden bana bunların sorguları lazım dediğiniz yerler.
Geçen gün denediğimiz paintball mod, bu modla birlikte kullanılabiliyor. Yani Bayrak Kapmaca + PaintBall sunucu rahatlık ile açabileceksiniz.
+CSDurağı için özel bayrak kapmaca modeli,
+Bayrağı taşıyan kişinin sırtında bayrak modeli,
+Kullanılan 2 modelin boyutlarının toplamı 865 Kb.
+Sadece reapi ve engine kütüphaneleri kullanılarak 1 sınıf altında 4 obje(CTBayrak, TEBayrak, CTAlan, TEAlan), konum belirleme için ise 1 sınıf altında 2 obje bulunuyor. Konum belirleme objeleri sadece yeni konum belirler iken çıkıyor,
+Eklenti yazarları için native ve forward özellikleri, kolay erişim olması için kütüphane halinde,
+CTF de orpheu yüzünden kullanamadığımız takım skorlarına +1 özelliği reapi ile eklendi,
+Kolay konum belirleme menüsü,
Moddan kısa bir test videosu.
Moddan ekran görüntüleri -----------------------------
Buraya kadar her şey normal, mod oldukça basit tutuldu. Modu eğer kendi tarafınızdan geliştirmek, bir farklılık olmasını istiyor iseniz modun kütüphanesi ile özel eklentiler yazabilirsiniz.
csd_bayrakkapmaca.inc
Kod: Tümünü seç
/*
forum.csduragi.com
Yek'-ta
*/
#if defined _csd_bayrakkapmaca_included
#endinput
#endif
#define _csd_bayrakkapmaca_included
#define BAYRAK_YERDE -1
#define BAYRAK_ALANDA 0
/**
* TE Takımında taşıyıcı var ise onun numarasını verir.
*
* Örnek; if(csd_tebayrak_tasiyici(oyuncu) == BaskaBirOyuncu)
* Örnek; if(csd_tebayrak_tasiyici(oyuncu) == 0) // Bayrak alanda mı?
* Örnek; if(csd_tebayrak_tasiyici(oyuncu) == -1) // Bayrak yere mi düştü?
*
* @return Oyuncu degeri.
*/
native csd_tebayrak_tasiyici()
/**
* CT Takımında taşıyıcı var ise onun numarasını verir.
*
* Örnek; if(csd_tebayrak_tasiyici(oyuncu) == BaskaBirOyuncu)
* Örnek; if(csd_tebayrak_tasiyici(oyuncu) == BAYRAK_ALANDA) // Bayrak alanda mı?
* Örnek; if(csd_tebayrak_tasiyici(oyuncu) == BAYRAK_YERDE) // Bayrak yere mi düştü?
*
* @return Oyuncu degeri.
*/
native csd_ctbayrak_tasiyici()
/**
* Bayrak yere düştüğü an çalışan public.
*
* @param oyuncu Bayrağı düşüren oyuncunun numarası.
*/
forward csd_bayrak_dustu(oyuncu)
/**
* Rakip takımın bayrağı yerden alındığı an çalışan public.
*
* @param oyuncu Bayrağı yerden alan oyuncunun numarası.
*/
forward csd_bayrak_alindi(oyuncu)
/**
* Kendi takımının bayrağını yerden alıp alana gönderdiğinde çalışan public.
*
* @param oyuncu Bayrağı geri taşıyan oyuncunun numarası.
*/
forward csd_bayrak_geri_tasindi(oyuncu)
/**
* Bir takım +1 skor aldığında çalışan public.
*
* @param oyuncu +1 Skor sağlayan oyuncunun numarası.
*/
forward csd_bayrak_skorlandi(oyuncu)
Kod: Tümünü seç
/* Yek'-ta */
#include <amxmodx>
#include <csd_bayrakkapmaca>
#define PLUGIN "Bu Modda Neler Oluyor?"
#define VERSION "1.0"
#define AUTHOR "Yek'-ta"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("say /bayraklar","evetsondurumusoyluyorum")
}
//Native
public evetsondurumusoyluyorum(oyuncu){
if(csd_tebayrak_tasiyici() == BAYRAK_ALANDA){
client_print_color(oyuncu, oyuncu, "^3 CT Takımının bayrağı yerinde")
}
else if(csd_tebayrak_tasiyici() == BAYRAK_YERDE){
client_print_color(oyuncu, oyuncu, "^3 CT Takımının bayrağı haritanın bir yerlerinde.")
}
else if(csd_tebayrak_tasiyici() == oyuncu){
client_print_color(oyuncu, oyuncu, "^3 Oğlum CT takımının bayrağı sende ya..")
}
else{
new oyuncuismi[32]
get_user_name(csd_tebayrak_tasiyici(),oyuncuismi,charsmax(oyuncuismi))
client_print_color(oyuncu, csd_tebayrak_tasiyici(), "^1 CT Takımının bayrağı ^3%s ^1oyuncusunda",oyuncuismi)
}
if(csd_ctbayrak_tasiyici() == BAYRAK_ALANDA){
client_print_color(oyuncu, oyuncu, "^3 TE Takımının bayrağı yerinde")
}
else if(csd_ctbayrak_tasiyici() == BAYRAK_YERDE){
client_print_color(oyuncu, oyuncu, "^3 TE Takımının bayrağı haritanın bir yerlerinde.")
}
else if(csd_ctbayrak_tasiyici() == oyuncu){
client_print_color(oyuncu, oyuncu, "^3 Oğlum TE takımının bayrağı sende ya..")
}
else{
new oyuncuismi[32]
get_user_name(csd_ctbayrak_tasiyici(),oyuncuismi,charsmax(oyuncuismi))
client_print_color(oyuncu, csd_ctbayrak_tasiyici(), "^1 TE Takımının bayrağı ^3%s ^1oyuncusunda",oyuncuismi)
}
}
//Forward
public csd_bayrak_dustu(oyuncu){
client_print_color(oyuncu, oyuncu, "^3 Hey genç bayrağı düşürdün")
}
public csd_bayrak_alindi(oyuncu){
client_print_color(oyuncu, oyuncu, "^3 Aferim yeğenim, yaparsın bu işi, git ve takımın skorla")
}
public csd_bayrak_geri_tasindi(oyuncu){
client_print_color(oyuncu, oyuncu, "^3 Büyük bir tedirginlik hissediyorduk, iyi oldu eyvallah")
}
public csd_bayrak_skorlandi(oyuncu){
client_print_color(oyuncu, oyuncu, "^3 Evet! Takımını skorladın, devam et böyle")
}
Mod ile ilgili fikirlerinizi, görüşlerinizi alabilirim. Mesela ben bu moda böyle bir eklenti yazabilirim, bu yüzden bana bunların sorguları lazım dediğiniz yerler.
Geçen gün denediğimiz paintball mod, bu modla birlikte kullanılabiliyor. Yani Bayrak Kapmaca + PaintBall sunucu rahatlık ile açabileceksiniz.