1. sayfa (Toplam 1 sayfa)
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cum Ağu 28, 2020 7:28 pm
gönderen legendlord
Merhaba,
Yabancı bir server'da bir eklenti görmüştüm. Eklenti oyuncunun girdiği ülkeyi algılayıp, o ülkenin dilinde gösteriyordu server'daki yazıları.
Artık server'ıma yabancı oyuncular da geldiği için böyle bir plugin istiyorum. Ayrıca bunu kullandığım eklentilerle nasıl güncelleyebilirim. Örneğin oyuncu /fps yazdığında "fps ayarlarınız yapılmıştır." yazısını görüyor. Bunun da o dilde olması gerekli tabi.
Konu böyle olunca baya karmaşık geliyor bana. Yardımcı olabilcek varsa çok sevinirim.
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cum Ağu 28, 2020 9:51 pm
gönderen Fatih ~ EjderYa
bunu kaliteli eklentilerde bulabilirsin. Eklentinin lang dosyası mevcutsa oyuncu amx_langmenu (diye hatırlıyorum) komutuyla dilini seçebilir.
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cum Ağu 28, 2020 9:56 pm
gönderen OPC Line
Bu eklentiyi aramiştım bende baya. Buldum aslında ama csdurağı uyumlu degildir muhtemelen. Temize cekebilirsem burada paylaşırım
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cum Ağu 28, 2020 10:23 pm
gönderen legendlord
Fatih ~ EjderYa yazdı: Cum Ağu 28, 2020 9:51 pm
bunu kaliteli eklentilerde bulabilirsin. Eklentinin lang dosyası mevcutsa oyuncu amx_langmenu (diye hatırlıyorum) komutuyla dilini seçebilir.
Fatih Bey, öyle bir tane eklentim var, dediğiniz gibi dilleri ayrı ayrı gösteriyor. Fakat ingilizce olan ayarı gösteriyor.
Özellikle merak ettiğim server giren kişilerin hangi ülkeden olduğunu nasıl anlıyor. Bir de eklentiler dışında önemli olanlar tsay ve say reklamlarının dilleri.
Bu konularda da bilgi verebilir misiniz?
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cmt Ağu 29, 2020 2:19 am
gönderen Aconyonn
geoip kütüphanesinde bulunan "geoip_country_ex" komutu kullanılabilir. ve örneğin şöyle bir mantık yürütülebilir,
Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <geoip>
static bool:g_country[33];
static const via[3][]={"Who Country","0.1","Aconyonn"};
public plugin_init(){
register_plugin(via[0],via[1][0],via[2][0]);
//add code here
}
public client_putinserver(id){
static adress[16],country[45];
get_user_ip(id,adress,charsmax(adress),1); //oyuncunun ip adresini çektiriyoruz.
geoip_country_ex(adress,country,charsmax(country)); //tanımladığımız ip adresiyle ülke adını tanıtıyoruz.
if(equali(country,"Turkey")){
g_country[id]=true;
}
set_task(2.0,"send",id);
}
public send(const id){
if(g_country[id]){
static name[32];get_user_name(id,name,charsmax(name));
client_print_color(0,0,"^4[^3CSDuragi^4]: ^1[^3%s^1] adli oyuncu ^4Turkiye^1'den giris yapti^3.");
}
}
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cmt Ağu 29, 2020 2:33 am
gönderen Colditz
Aconyonn yazdı: Cmt Ağu 29, 2020 2:19 am
geoip kütüphanesinde bulunan "geoip_country_ex" komutu kullanılabilir. ve örneğin şöyle bir mantık yürütülebilir,
Her yerde static kullanmak eklentiyi daha iyi hâle getirmiyor. Bilakis bu eklenti için kötü bile olabiliyor. Çünkü new bir aradan sonra siliniyor fakat static devamlı kalıyor. register_plugin için const oluşturmanıza gerek yok. Aynı şekilde bunu çok kişi bilmez, isim tanıtırken %n ve kişinin idsini kullanmanız yeterlidir, örnekten bakıp anlayabilirsiniz. Her seferinde get_user_name ile isim çekmenize gerek yok.
Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <geoip>
#define PLUGIN_NAME "Country Connect"
#define PLUGIN_VERS "1.0"
#define PLUGIN_AUTH "PurposeLess"
public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH);
}
public client_putinserver(id)
{
new ip[MAX_IP_LENGTH], country[46];
get_user_ip(id, ip, charsmax(ip), 1);
geoip_country_ex(ip, country, charsmax(country));
client_print_color(0, 0, "^3%n ^1isimli oyuncu ^4%s ^1isimli ulkeden giris yapti.", id, country);
}
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cmt Ağu 29, 2020 2:37 am
gönderen Aconyonn
Colditz yazdı: Cmt Ağu 29, 2020 2:33 am
Her yerde static kullanmak eklentiyi daha iyi hâle getirmiyor. Bilakis bu eklenti için kötü bile olabiliyor. Çünkü new bir aradan sonra siliniyor fakat static devamlı kalıyor. register_plugin için const oluşturmanıza gerek yok. Aynı şekilde bunu çok kişi bilmez, isim tanıtırken %n ve kişinin idsini kullanmanız yeterlidir, örnekten bakıp anlayabilirsiniz. Her seferinde get_user_name ile isim çekmenize gerek yok.
static değişkeni daha hızlı aktarıyor diye biliyorum.
"%n" tanımlamasını ilk defa senden duyuyorum.. bundan sonra basit bir eklenti için kullanımım bu yönde olacak.
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cmt Ağu 29, 2020 2:43 am
gönderen Colditz
Aconyonn yazdı: Cmt Ağu 29, 2020 2:37 am
static değişkeni daha hızlı aktarıyor diye biliyorum.
"%n" tanımlamasını ilk defa senden duyuyorum.. bundan sonra basit bir eklenti için kullanımım bu yönde olacak.
Zamanında ben de öyleydim, her yerde static kullanıyordum. Alliedmoddersta birçok konum vardır hatta. Static daha hızlı aktarıyor fakat bu her yerde static kullanmalıyız anlamına gelmiyor. Saniyede birden fazla kez çağrılmıyorsa static kullanılması önerilmiyor. Yani kısacası, PreThink gibi komutlarda kullanılması gerekiyor, tabii bunun birkaç istisnası var.
https://forums.alliedmods.net/showpost. ... ostcount=3
If it isn't being called more than 1 time per second the entire time the server is running, just use new.
Cs 1.6 Dil Eklentisi
Gönderilme zamanı: Cmt Ağu 29, 2020 2:57 am
gönderen Aconyonn
Colditz yazdı: Cmt Ağu 29, 2020 2:43 am
Zamanında ben de öyleydim, her yerde static kullanıyordum. Alliedmoddersta birçok konum vardır hatta. Static daha hızlı aktarıyor fakat bu her yerde static kullanmalıyız anlamına gelmiyor. Saniyede birden fazla kez çağrılmıyorsa static kullanılması önerilmiyor. Yani kısacası, PreThink gibi komutlarda kullanılması gerekiyor, tabii bunun birkaç istisnası var.
https://forums.alliedmods.net/showpost. ... ostcount=3
If it isn't being called more than 1 time per second the entire time the server is running, just use new.
bilgilendirme için teşekkür ederim bunları göz önünde bulundurup daha dikkat etmeye çalışacağım.