- Katılım
- 29 Mart 2018
- Mesajlar
- 929
- Elmaslar
- 390
- Puanlar
- 5.565
- Yaş
- 17
- Yer
- Bursa / Erikli
- Minecraft
- TheLudoBile
Merhaba, size bugün yaptığım fikri basit ama gelişmiş bir ping skriptini tanıtıcağım.
Mesajlar dosyasının bir kısmı, açmama gerek yok zaten fotoğrafda yazıyor.
Ayarlar dosyası, açmama gerek yok zaten fotoğrafda yazıyor.
Örnek belirlemeler dosyası, belirleme deyince anlamayanlar için :D
/Ping komudu (Mesaj "Mesajlar" dosyasından hazırlanır, bu hazır görünüm.)
/Ping <oyuncu> komudu (Mesaj "Mesajlar" dosyasından hazırlanır, bu hazır görünüm.)
GUI sıralaması örneği, mesajların saçmalığına bakmayın. Mesajlar dosyasından ayarlayabilirsiniz :D
/APings Yenile komudu
Hastebin Link: https://hastebin.com/remonofude.sql
Kod:
#█░█ █▀▀█ █▀▀▄ █▀▀ █▀▀▄ █▀▀▀ █░░█ █▀▀▄ █▀▀█
#█▀▄ █▄▄█ █░░█ █▀▀ █░░█ █░▀█ █▄▄█ █▀▀▄ █░░█
#▀░▀ ▀░░▀ ▀░░▀ ▀▀▀ ▀▀▀░ ▀▀▀▀ ▄▄▄█ ▀▀▀░ ▀▀▀▀
load:
load yaml "plugins/APings/Ayarlar.yml" as "APA"
load yaml "plugins/APings/Mesajlar.yml" as "AMA"
load yaml "plugins/APings/Belirlemeler.yml" as "ABA"
load yaml "plugins/APings/Copyright.yml" as "APC"
yaml "APA" is empty:
set yaml value "Başlık" from "APA" to "&3APings &8»"
set yaml value "Versiyon" from "APA" to "v1.1"
set yaml value "Yetkiler.OP-Komudu" from "APA" to "apings.opcommand"
set yaml value "Yetkiler.Başkalarının-Gecikme- Sürelerine-Bakabilme" from "APA" to "apings.lookeveryone"
set yaml value "Görünüş.Normal-Mesajlar" from "APA" to "Açık"
set yaml value "Görünüş.Eylem-Çubuğu-Mesajları" from "APA" to "Açık"
set yaml value "Görünüş.Ekran-Yazısı-Mesajları" from "APA" to "Açık"
save yaml "APA"
yaml "AMA" is empty:
set yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Menü-İsmi" from "AMA" to "Oyuncuların Gecikme Süreleri"
set yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-İsmi" from "AMA" to "&6{oyuncu_ismi} &8- &a{oyuncu_gecikme_süresi}MS &8- {oyuncu_gecikme_süresi_değerlendirmesi}"
set yaml list "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-Açıklaması" from "AMA" to "&eSatır 1", "&eSatır 2", "&eDeğişkenler: &6{oyuncu_ismi}, {oyuncu_gecikme_süresi}, {oyuncu_gecikme_süresi_değerlendirmesi}" and "&eAlt alta istediğiniz kadar yazabilirsiniz..."
set yaml value "Mesajlar.Oyuncu-Gecikme-Süresine-Bakdığı-Zaman" from "AMA" to "&eGecikme süren: &c{oyuncu_gecikme_süresi}&7, {oyuncu_gecikme_süresi_değerlendirmesi}"
set yaml value "Mesajlar.Oyuncu-Başka-Birinin-Gecikme-Süresine-Bakdığı-Zaman" from "AMA" to "&c{bakılan_oyuncu} &eadlı oyuncunun gecikme süresi: &c{bakılan_oyuncu_gecikme_süresi}&7, {bakılan_oyuncu_gecikme_süresi_değerlendirmesi}"
save yaml "AMA"
yaml "ABA" is empty:
set yaml value "Belirlemeler.Örnek Belirleme.Az-Olan-Gecikme-Süresi" from "ABA" to 0
set yaml value "Belirlemeler.Örnek Belirleme.Çok-Olan-Gecikme-Süresi" from "ABA" to 25
set yaml value "Belirlemeler.Örnek Belirleme.Mesajı" from "ABA" to "&aMükemmel"
save yaml "ABA"
yaml "APC" is empty:
set yaml value "Author of the Skript/Skript Sahibi" from "APC" to "| NIGHTS | Gelişmiş Gecikme Süresi Sistemi | Bilal##9409"
set yaml value "Information/Bilgilendirme" from "APC" to "It is forbidden to change this script and sell or share it like 'I made this'. - Bu script'i değiştirip 'Bunu ben yaptım' gibi satmanız veya paylaşmanız yasaktır."
save yaml "APC"
command ping [<offlineplayer>]:
aliases: gecikmesüresi
trigger:
arg 1 isn't set:
set {_msj} to yaml value "Mesajlar.Oyuncu-Gecikme-Süresine-Bakdığı-Zaman" from "AMA"
replace "{oyuncu_gecikme_süresi}" with "%player's ping%" in {_msj}
replace "{oyuncu_gecikme_süresi_değerlendirmesi}" with gP(player) in {_msj}
mg(player, {_msj}, "%player's ping% gecikme sürem var.")
else:
arg 1 is a player:
set {_msj} to yaml value "Mesajlar.Oyuncu-Başka-Birinin-Gecikme-Süresine-Bakdığı-Zaman" from "AMA"
replace "{bakılan_oyuncu}" with "%arg 1%" in {_msj}
replace "{bakılan_oyuncu_gecikme_süresi}" with "%arg 1's ping%" in {_msj}
replace "{bakılan_oyuncu_gecikme_süresi_değerlendirmesi}" with gP(arg 1) in {_msj}
mg(player, {_msj}, "%arg 1% adlı kişinin %arg 1's ping% gecikme süresi var.")
else:
mg(player, "&cGirdiğiniz oyuncu ya aktif değil ya da bulunmuyor.", "-")
function mg(p: player, m: text, j: text):
yaml value "Görünüş.Normal-Mesajlar" from "APA" is "Açık":
{_j} is "-":
send "<tooltip:%yaml value ""Başlık"" from ""APA""% %{_m}%>%yaml value ""Başlık"" from ""APA""% %{_m}%" to {_p}
else:
send "<suggest command:%{_j}%><tooltip:%yaml value ""Başlık"" from ""APA""% %{_m}%>%yaml value ""Başlık"" from ""APA""% %{_m}%" to {_p}
yaml value "Görünüş.Eylem-Çubuğu-Mesajları" from "APA" is "Açık":
send action bar "%yaml value ""Başlık"" from ""APA""% %{_m}%" to {_p}
yaml value "Görünüş.Ekran-Yazısı-Mesajları" from "APA" is "Açık":
send {_p} title "%yaml value ""Başlık"" from ""APA""%" with subtitle "%{_m}%" for 2.5 seconds
command apings [<text>]:
aliases: aping
trigger:
arg 1 isn't set:
player has permission "%yaml value ""Yetkiler.Başkalarının-Gecikme- Sürelerine-Bakabilme"" from ""APA""%":
set {_g} to 0
set {_mi} to yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-İsmi" from "AMA"
set {_ml::*} to yaml list "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-Açıklaması" from "AMA"
set {_mii} to yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Menü-İsmi" from "AMA"
open virtual chest with size 6 named {_mii} to player
loop players:
add 1 to {_g}
replace "{oyuncu_ismi}" with "%loop-player%" in {_mi}
replace "{oyuncu_ismi}" with "%loop-player%" in {_ml::*}
replace "{oyuncu_gecikme_süresi}" with "%loop-player's ping%" in {_ml::*}
replace "{oyuncu_gecikme_süresi_değerlendirmesi}" with gP(loop-player) in {_ml::*}
replace "{oyuncu_gecikme_süresi}" with "%loop-player's ping%" in {_mi}
replace "{oyuncu_gecikme_süresi_değerlendirmesi}" with gP(loop-player) in {_mi}
make gui slot {_g}-1 of player with loop-player's skull named "&6%{_mi}%" with lore colored (join {_ml::*} with "||") to nothing
else:
mg(player, "&cBu komudu kullanmak için gerekli yetkiniz bulunmuyor.", "-")
else:
arg 1 is "yenile" or "reload":
unload yaml "APA", "AMA" and "ABA"
load yaml "plugins/APings/Ayarlar.yml" as "APA"
load yaml "plugins/APings/Mesajlar.yml" as "AMA"
load yaml "plugins/APings/Belirlemeler.yml" as "ABA"
mg(player, "&eAPings dosyalarını başarıyla yenilediniz.", "-")
arg 1 is "güncelleme" or "update":
text from "https://dpaste.de/KPCn/raw" contains yaml value "Versiyon" from "APA":
mg(player, "&eYeni bir sürüm yok, son sürümü kullanıyorsun.", "-")
send "%yaml value ""Başlık"" from ""APA""% <tooltip:&eKonuya gitmek için tıkla.><link:https://www.mc-tr.com/konu/apings-en-iyi-ping-skripti-99-yaml-yaml-ile-sinirsiz-degerlendirme-json-oyunculari-listele-0-variable-performansli.69702/>&eKonuya gitmek için tıkla."
else:
mg(player, "&eYeni bir güncelleme var. Şuan &6%yaml value ""Versiyon"" from ""APA""% &esürümünü kullanıyorsun.", "-")
send "%yaml value ""Başlık"" from ""APA""% <tooltip:&eSürümü indirmek için tıkla.><link:https://www.mc-tr.com/konu/apings-en-iyi-ping-skripti-99-yaml-yaml-ile-sinirsiz-degerlendirme-json-oyunculari-listele-0-variable-performansli.69702/>&eSürümü indirmek için tıkla."
arg 1 isn't "yenile" or "reload" or "güncelleme" or "update":
mg(player, "&cYanlış bir argümant girdiniz.", "-")
send "&3Argümantlar: <tooltip:&eKomudu hızlıca yazmak için tıkla.><suggest command:/APings Yenile>&eYenile<reset>&f, <tooltip:&eKomudu hızlıca yazmak için tıkla.><suggest command:/APings Güncelleme>&eGüncelleme<reset>&f."
function gP(p:player) :: text:
loop yaml nodes with keys "Belirlemeler" from "ABA":
{_p}'s ping is between yaml value "Belirlemeler.%loop-value%.Az-Olan-Gecikme-Süresi" from "ABA" and yaml value "Belirlemeler.%loop-value%.Çok-Olan-Gecikme-Süresi" from "ABA"
return yaml value "Belirlemeler.%loop-value%.Mesajı" from "ABA"
Kod:
Belirlemeler:
Mükemmel:
Az Olan Gecikme Süresi: 0
Çok Olan Gecikme Süresi: 25
Mesajı: '&2Mükemmel'
İyi:
Az Olan Gecikme Süresi: 26
Çok Olan Gecikme Süresi: 50
Mesajı: '&aİyi'
Orta:
Az Olan Gecikme Süresi: 51
Çok Olan Gecikme Süresi: 75
Mesajı: '&6Orta'
Kötü:
Az Olan Gecikme Süresi: 75
Çok Olan Gecikme Süresi: 100
Mesajı: '&cKötü'
Berbat:
Az Olan Gecikme Süresi: 101
Çok Olan Gecikme Süresi: 100000000000
Mesajı: '&4Berbat'
Kod:
load:
load yaml "plugins/APings/Ayarlar.yml" as "apings/ayarlar"
load yaml "plugins/APings/Mesajlar.yml" as "apings/mesajlar"
load yaml "plugins/APings/Belirlemeler.yml" as "apings/belirlemeler"
load yaml "plugins/APings/Copyright.yml" as "apings/copyright"
yaml "apings/ayarlar" is empty:
set yaml value "Başlık" from "apings/ayarlar" to "&3APings &8»"
set yaml value "Versiyon" from "apings/ayarlar" to "v1.1"
set yaml value "Yetkiler.OP-Komudu" from "apings/ayarlar" to "apings.opcommand"
set yaml value "Yetkiler.Başkalarının-Gecikme- Sürelerine-Bakabilme" from "apings/ayarlar" to "apings.lookeveryone"
set yaml value "Görünüş.Normal-Mesajlar" from "apings/ayarlar" to "Açık"
set yaml value "Görünüş.Eylem-Çubuğu-Mesajları" from "apings/ayarlar" to "Açık"
set yaml value "Görünüş.Ekran-Yazısı-Mesajları" from "apings/ayarlar" to "Açık"
save yaml "apings/ayarlar"
yaml "apings/mesajlar" is empty:
set yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Menü-İsmi" from "apings/mesajlar" to "Oyuncuların Gecikme Süreleri"
set yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-İsmi" from "apings/mesajlar" to "&6{oyuncu_ismi} &8- &a{oyuncu_gecikme_süresi}MS &8- {oyuncu_gecikme_süresi_değerlendirmesi}"
set yaml list "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-Açıklaması" from "apings/mesajlar" to "&eSatır 1", "&eSatır 2", "&eDeğişkenler: &6{oyuncu_ismi}, {oyuncu_gecikme_süresi}, {oyuncu_gecikme_süresi_değerlendirmesi}" and "&eAlt alta istediğiniz kadar yazabilirsiniz..."
set yaml value "Mesajlar.Oyuncu-Gecikme-Süresine-Bakdığı-Zaman" from "apings/mesajlar" to "&eGecikme süren: &c{oyuncu_gecikme_süresi}&7, {oyuncu_gecikme_süresi_değerlendirmesi}"
set yaml value "Mesajlar.Oyuncu-Başka-Birinin-Gecikme-Süresine-Bakdığı-Zaman" from "apings/mesajlar" to "&c{bakılan_oyuncu} &eadlı oyuncunun gecikme süresi: &c{bakılan_oyuncu_gecikme_süresi}&7, {bakılan_oyuncu_gecikme_süresi_değerlendirmesi}"
save yaml "apings/mesajlar"
yaml "apings/belirlemeler" is empty:
set yaml value "Belirlemeler.Örnek Belirleme.Az-Olan-Gecikme-Süresi" from "apings/belirlemeler" to 0
set yaml value "Belirlemeler.Örnek Belirleme.Çok-Olan-Gecikme-Süresi" from "apings/belirlemeler" to 25
set yaml value "Belirlemeler.Örnek Belirleme.Mesajı" from "apings/belirlemeler" to "&aMükemmel"
save yaml "apings/belirlemeler"
yaml "apings/copyright" is empty:
set yaml value "Author of the Skript/Skript Sahibi" from "apings/copyright" to "| NIGHTS | Gelişmiş Gecikme Süresi Sistemi | Bilal##9409"
set yaml value "Information/Bilgilendirme" from "apings/copyright" to "It is forbidden to change this script and sell or share it like 'I made this'. - Bu script'i değiştirip 'Bunu ben yaptım' gibi satmanız veya paylaşmanız yasaktır."
save yaml "apings/copyright"
function gP(p:player) :: text:
loop yaml nodes with keys "Belirlemeler" from "apings/belirlemeler":
{_p}'s ping is between yaml value "Belirlemeler.%loop-value%.Az-Olan-Gecikme-Süresi" from "apings/belirlemeler" and yaml value "Belirlemeler.%loop-value%.Çok-Olan-Gecikme-Süresi" from "apings/belirlemeler"
return yaml value "Belirlemeler.%loop-value%.Mesajı" from "apings/belirlemeler"
function mg(p:player,m:text,j:text):
yaml value "Görünüş.Normal-Mesajlar" from "apings/ayarlar" is "Açık":
{_j} is "-":
send formatted "<tooltip:%yaml value ""Başlık"" from ""apings/ayarlar""% %{_m}%>%yaml value ""Başlık"" from ""apings/ayarlar""% %{_m}%" to {_p}
else:
send formatted "<suggest command:%{_j}%><tooltip:%yaml value ""Başlık"" from ""apings/ayarlar""% %{_m}%>%yaml value ""Başlık"" from ""apings/ayarlar""% %{_m}%" to {_p}
yaml value "Görünüş.Eylem-Çubuğu-Mesajları" from "apings/ayarlar" is "Açık":
send action bar "%yaml value ""Başlık"" from ""apings/ayarlar""% %{_m}%" to {_p}
yaml value "Görünüş.Ekran-Yazısı-Mesajları" from "apings/ayarlar" is "Açık":
send title "%yaml value ""Başlık"" from ""apings/ayarlar""%" with subtitle "%{_m}%" to {_p} for 2.5 seconds
command ping [<offlineplayer>]:
aliases: gecikmesüresi
trigger:
arg 1 isn't set:
set {_msj} to yaml value "Mesajlar.Oyuncu-Gecikme-Süresine-Bakdığı-Zaman" from "apings/mesajlar"
replace "{oyuncu_gecikme_süresi}" with "%player's ping%" in {_msj}
replace "{oyuncu_gecikme_süresi_değerlendirmesi}" with gP(player) in {_msj}
mg(player, {_msj}, "%player's ping% gecikme sürem var.")
else:
arg 1 is a player:
set {_msj} to yaml value "Mesajlar.Oyuncu-Başka-Birinin-Gecikme-Süresine-Bakdığı-Zaman" from "apings/mesajlar"
replace "{bakılan_oyuncu}" with "%arg 1%" in {_msj}
replace "{bakılan_oyuncu_gecikme_süresi}" with "%arg 1's ping%" in {_msj}
replace "{bakılan_oyuncu_gecikme_süresi_değerlendirmesi}" with gP(arg 1) in {_msj}
mg(player, {_msj}, "%arg 1% adlı kişinin %arg 1's ping% gecikme süresi var.")
else:
mg(player, "&cGirdiğiniz oyuncu ya aktif değil ya da bulunmuyor.", "-")
command apings [<text>]:
aliases: aping
trigger:
arg 1 isn't set:
player has permission "%yaml value ""Yetkiler.Başkalarının-Gecikme-Sürelerine-Bakabilme"" from ""apings/ayarlar""%":
set {_g} to 0
set {_mi} to yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-İsmi" from "apings/mesajlar"
set {_ml::*} to yaml list "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Eşyaların-Açıklaması" from "apings/mesajlar"
set {_mii} to yaml value "Menü-Eşyaları.Oyuncuların-Gecikme-Sürelerine-Bakma-Menüsü.Menü-İsmi" from "apings/mesajlar"
open virtual chest with size 6 named {_mii} to player
loop players:
add 1 to {_g}
replace "{oyuncu_ismi}" with "%loop-player%" in {_mi}
replace "{oyuncu_ismi}" with "%loop-player%" in {_ml::*}
replace "{oyuncu_gecikme_süresi}" with "%loop-player's ping%" in {_ml::*}
replace "{oyuncu_gecikme_süresi_değerlendirmesi}" with gP(loop-player) in {_ml::*}
replace "{oyuncu_gecikme_süresi}" with "%loop-player's ping%" in {_mi}
replace "{oyuncu_gecikme_süresi_değerlendirmesi}" with gP(loop-player) in {_mi}
make gui slot {_g}-1 of player with loop-player's skull named "&6%{_mi}%" with lore colored {_ml::*} to nothing
else:
mg(player, "&cBu komudu kullanmak için gerekli yetkiniz bulunmuyor.", "-")
else:
arg 1 is "yenile" or "reload":
unload yaml "apings/ayarlar", "apings/mesajlar" and "apings/belirlemeler"
load yaml "plugins/APings/Ayarlar.yml" as "apings/ayarlar"
load yaml "plugins/APings/Mesajlar.yml" as "apings/mesajlar"
load yaml "plugins/APings/Belirlemeler.yml" as "apings/belirlemeler"
mg(player, "&eAPings dosyalarını başarıyla yenilediniz.", "-")
arg 1 is "güncelleme" or "update":
text from "https://skriptlobisi.glitch.me" contains yaml value "Versiyon" from "apings/ayarlar":
mg(player, "&eYeni bir sürüm yok, son sürümü kullanıyorsun.", "-")
send "%yaml value ""Başlık"" from ""apings/ayarlar""% <tooltip:&eKonuya gitmek için tıkla.><link:https://www.mc-tr.com/konu/apings-en-iyi-ping-skripti-99-yaml-yaml-ile-sinirsiz-degerlendirme-json-oyunculari-listele-0-variable-performansli.69702/>&eKonuya gitmek için tıkla."
else:
mg(player, "&eYeni bir güncelleme var. Şuan &6%yaml value ""Versiyon"" from ""apings/ayarlar""% &esürümünü kullanıyorsun.", "-")
send "%yaml value ""Başlık"" from ""apings/ayarlar""% <tooltip:&eSürümü indirmek için tıkla.><link:https://www.mc-tr.com/konu/apings-en-iyi-ping-skripti-99-yaml-yaml-ile-sinirsiz-degerlendirme-json-oyunculari-listele-0-variable-performansli.69702/>&eSürümü indirmek için tıkla."
arg 1 isn't "yenile" or "reload" or "güncelleme" or "update":
mg(player, "&cYanlış bir argümant girdiniz.", "-")
send "&3Argümantlar: <tooltip:&eKomudu hızlıca yazmak için tıkla.><suggest command:/APings Yenile>&eYenile<reset>&f, <tooltip:&eKomudu hızlıca yazmak için tıkla.><suggest command:/APings Güncelleme>&eGüncelleme<reset>&f."
Skript-Yaml
SKQuery
- JSON
- Ekran / Eylem Çubuğu / Normal mesajlar
- Başlık
- Belirlemeler (anlamayanlar tanıtıma baksın)
- GUI ile ping sıralaması
- Kendi gecikme sürene bakma
- Başkalarının gecikme sürene bakma
- Yetkiler
- Buradaki BÜTÜN maddelerin / maddelerin mesajlarının YAML ile kolayca ayarlanabilmesi
- Ekran / Eylem Çubuğu / Normal mesajlar
- Başlık
- Belirlemeler (anlamayanlar tanıtıma baksın)
- GUI ile ping sıralaması
- Kendi gecikme sürene bakma
- Başkalarının gecikme sürene bakma
- Yetkiler
- Buradaki BÜTÜN maddelerin / maddelerin mesajlarının YAML ile kolayca ayarlanabilmesi
(Bu liste güncel olmayabilir.) (Yani kesinlikle olmaz.) (Aslında skriptin ilk çıkışında da değildi.)
Versiyon - "Güncelleme" / Bug Fix
- Versiyon - "Güncelleme" güncellemesi geldi, artık bütün güncellemelerinizi oyun içinden yapabilirsiniz.
- /Ping <oyuncu> komudunda <oyuncu> yerine aktif olmayan biri girdiğinde artık buna özel bir hata mesajı çıkıyor.
- Bazı performans güncelleştirmeleri yapıldı.
- Versiyon - "Güncelleme" güncellemesi geldi, artık bütün güncellemelerinizi oyun içinden yapabilirsiniz.
- /Ping <oyuncu> komudunda <oyuncu> yerine aktif olmayan biri girdiğinde artık buna özel bir hata mesajı çıkıyor.
- Bazı performans güncelleştirmeleri yapıldı.
1.12.x ve Üstü Sürümler için Kod, Kodda iyileştirmeler
- "1.12.x" ve üstü sürümler için kod getirildi.
- Kod daha düzgün hale getirildi.
- Güncelleme özelliğinde olan hata giderildi.
- Skellett addonu gereksinimi kaldırıldı. (Eskiden de gereksinimi olan SkQuery hala gerekiyor.)
- Kod daha düzgün hale getirildi.
- Güncelleme özelliğinde olan hata giderildi.
- Skellett addonu gereksinimi kaldırıldı. (Eskiden de gereksinimi olan SkQuery hala gerekiyor.)
Son düzenleme: