Sol Reklam

Rehber Skript Komut Oluşturma & Argümanlar [Detaylı Anlatım]

Durum
Mesaj gönderimine kapalı.

bertek41

The Developer of Apia Team
Katılım
29 Ağustos 2016
Mesajlar
1.068
Elmaslar
464
Puanlar
15.745
Yer
Kocaeli
Minecraft
YasinSubasi
5'ten fazla argüman derken? Sadece 5 adet argüman var diye biliyorum, addonların eklediği argümanlar olabilir fakat bunlar skriptteki temel argümanlar. Usageyi hatırlattığın için teşekkür ederim en kısa sürede konuya ekleyeceğim
Türk forumlarından dışarı çıkmazsan diğer argümanları görmen zor. Description ve executable by'ı unutmuşum onları da eklersin. Argümanlara gelirsek item, items, material gibi bir çok argüman var. Ayrıca bunlardan sadece belirli argümanları almanın yolu var mesela item=stone gibi.
 

AssasinTR

Odunlara Vur Vur Vur!
Katılım
7 Nisan 2018
Mesajlar
43
Elmaslar
20
Puanlar
6.260
Yaş
20
Yer
Aydın
Selam MCTR ailesi, konuma hoşgeldiniz...

Bu konumda yeni başlayanlar için komut oluşturmayı ve argümanları anlatacağım. İlk olarak komut oluşturmaktan başlayalım.

Skriptte bir komut oluşturmak istiyorsak, command <komutadı>: kullanabiliriz. Komut oluşturduktan sonra alt satıra geçip trigger: eklemeliyiz. Örnek olarak:
Kod:
command /sucuk:
    trigger:
        send "Sucuk mu?!! Salam ondan daha iyi."
Bu kodda /sucuk komutu yazıldığında "Sucuk mu?!! Salam ondan daha iyi." mesajını gönderiyor.

Skript ile oluşturduğumuz komutlara permission ekleyebiliriz. Eklediğimiz permissiona sahip olmayan kimse komutu kullanamaz. Örnek olarak:
Kod:
command /sucuk:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    trigger:
        send "Sucuk mu?!! Salam ondan daha iyi."

Bu kodda sucuk.salam permissionuna sahip olmayanlar /sucuk komutunu kullanamayacaktır. Permission message bölümü ise yetkisi olmayan kişiler komutu kullanmaya çalıştığında çıkacak mesajdır.

Skript ile oluşturduğumuz /sucuk komutu, oyunculara "Sucuk mu?!! Salam ondan daha iyi." mesajını gönderiyor. Peki biz aynı işlemi bu satırları kopyala yapıştır yapmadan nasıl halledebiliriz? Çok basit. aliases: ekleyerek. Aliases ekledikten sonra alt satıra geçmeden, karşısına hangi komutu istiyorsak onu yazıyoruz. Örnek olarak:
Kod:
command /sucuk:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "Sucuk mu?!! Salam ondan daha iyi."

Bu kodda, oyuncu /salam veya /sosis komutunu kullandığında, aslında /sucuk komutunu kullanmış olacak.



Sıra argümanlarda!

Skriptte 5 adet argüman vardır. Peki nedir bu argümanlar? Argüman, yani argument bir komuttaki olaylar gibi bir şey diyebiliriz. Örnek verecek olursak birisi /tp M3teAYDN komutunu kullandıysa, M3teAYDN 1. argümandır ve değeri ise "player"dir.

İlk argümanımız; integer

İnteger argümanı, sayı olarak kullanılır. Fakat bu sayı tam sayı olmalıdır, yani 1,529 veya 4124,15341 bir integer değildir. 1, 2, 3 gibi tam sayılar integerdir. Bir komuta argüman eklemek için command /<komutadı> yazdıktan sonra komut adının yanına bir boşluk bırakıp [<(argument)>] ekleyebilirsiniz. Örnek olarak:
Kod:
command /sucuk [<integer>]:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "%arg-1% tane sucuk."

Bazılarınız bu %arg-1% nedir diye sorabilirsiniz. Şöyle açıklayayım, skriptimizin ilk argümanı [<integer>]. Skriptteki 1. argüman olduğu için, bunu argument 1, arg 1, argument-1, arg-1 olarak adlandırırız. Peki bunu neden % işaretleri içerisinde yazdık? Skriptte argümanları, değişkenleri, komutu giren oyuncunun ismi, ölen kişinin ismi, öldürne kişinin ismi gibi çoğu şeyi belirtmek için % işareti içine alırız. Mesela biz /sucuk 9 komutunu girdiysek, skript bize 9 tane sucuk mesajını gönderecektir.

2. Argümanımız; number

Number argümanı, yine sayıdır fakat bu sayı virgüllü sayı olabilir. Örneğin 1,529 da number argümanı içerisine girer 1, 2, 3 sayıları da number argümanı içerisine girer. Burada anlatılacak pek bir şey yok yukarıdaki ile aynı.

3. Argümanımız; text

Text argümanı, bir yazı olarak kullanılır. Bildiğim kadarıyla asd123 veya a1 gibi sayı içeren yazılar text argümanına girmez, sadece asd veya a yazıları text argümanına girer. Bir komuta text argümanını eklemek için command /<komutadı> yazdıktan sonra komut adının yanına bir boşluk bırakıp [<text>] ekleyebilirsiniz. Örnek olarak:
Kod:
command /sucuk [<text>]:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "%arg-1% bir sucuk çeşidi değil!"

Bu kodda, oyuncu /sucuk elma yazdıysa, skript bize elma bir sucuk çeşidi değil! mesajını gönderecektir. Bu argüman ile sayısız şey yapabilirsiniz.

4. Argümanımız; player

Player argümanı, bir oyuncuyu belirtmek için kullanılır. Bir komuta player argümanını eklemek için command /<komutadı> yazdıktan sonra komut adının yanına bir boşluk bırakıp [<player>] ekleyebilirsiniz. Örnek olarak:
Kod:
command /sucuk [<player>]:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "%arg-1% adamdır gerisi yalandır!"

Bu kodda, oyuncu /sucuk M3teAYDN yazdıysa, skript bize M3teAYDN adamdır gerisi yalandır! mesajını gönderecektir. Bu argüman ile yapılacak şeyler sınırlıdır, sadece çevrimiçi oyuncular kullanılabilir.

5. Argümanımız; offlineplayer

Offlineplayer argümanı, çevrimiçi veya çevrimdışı bir oyuncuyu belirtmek için kullanılır. Bir komuta offlineplayer argümanını eklemek için command /<komutadı> yazdıktan sonra komut adının yanına bir boşluk bırakıp [<offlineplayer>] ekleyebilirsiniz. Örnek olarak:
Kod:
command /sucuk [<offlineplayer>]:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "%arg-1% çevrimiçi mi? İlk onu söyle bana, söyle onu bana, bana bana söyle, söylesene bana, bana söyle bana."

Bu kodda, oyuncu /sucuk M3teAYDN yazdıysa, skript bize M3teAYDN çevrimiçi mi? İlk onu söyle bana, söyle onu bana, bana bana söyle, söylesene bana, bana söyle bana. mesajını gönderecektir.

Ek Bilgiler


Bir skriptte birden fazla argüman kullanabilirsiniz. Örnek olarak:
Kod:
command /sucuk [<offlineplayer>] [<integer>]:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "%arg-2% tane %arg-1%."

Bu kodda, oyuncu /sucuk M3teAYDN 49 yazdıysa, skript bize 49 tane M3teAYDN. mesajını gönderecektir. Skriptteki ilk argüman offlineplayer olduğu için arg-1, ikinci argüman ise integer olduğu için arg-2 değerindedir.


Bir skriptte komutunuza offlineplayer veya player argümanını eklediyseniz, o argümana yazdığınız kişiye mesaj gönderebilirsiniz. Anlatamadım ama şu örnekte anlayacaksınızdır:
Kod:
command /sucuk [<offlineplayer>]:
    permission: sucuk.salam
    permission message: Sosisler bu komutu kullanamaz.
    aliases: salam, sosis
    trigger:
        send "Hop birader! %player% seni çağırıyor, sucuk yiyecekmişsiniz." to arg-1

Bu kodda, oyuncu /sucuk kovboy49 yazdıysa, skript kovboy49 oyuncusuna Hop birader! M3teAYDN seni çağırıyor, sucuk yiyecekmişsiniz. mesajını gönderir. Buradaki %player%, komutu yazan kişi anlamına gelir. Skriptte çoğu kişi bu konuda hata yapar; örneğin ben bu kodda send "mesaj" to arg-1 yazdım, eğer arg-1'i % işaretleri içerisinde yazsaydım, skriptimiz hata verecekti. Çünkü % işaretleri ile bir şeyi belirtmek sadece mesajlarda ve variablelerde olur.



Konuyu yazmak için 35 dakikamı harcadım, bilgisayarım 2 kere kapandı, yardımcı olabildiysem ne mutlu bana. Anlamadığınız bir şey olursa imzamdaki skype veya discord adreslerinden bana ulaşabilirsiniz. Konuda bir yazım hatası veya unuttuğum bir şeyler varsa lütfen belirtin. İyi forumlar...​






güzel anlatmışınız fakat dahada detaya girebilirdiniz.
 

EmektaR_03

Hâlâ Zümrüt Bulamadım!

Discord:

EMEKTAR

Katılım
21 Mayıs 2017
Mesajlar
663
Elmaslar
190
Puanlar
75
Yaş
22
Yer
Afyonkarahisar
Minecraft
MustafaPvP1
Hocam aşağıdaki komut neden çalış mıyor? Tab hatası değil.
Kod:
command /xpsisever <player> <number>:
    permission: xpsise.ver
    aliases: /xpsisever oyuncu adet
    trigger:
        give argument-2 experience_bottle named "&eB&6S &f&l30 &a&lLevel XP Şişesi" to argument-1
 

BullTheBlue

Birisi mi Spawnlandı?
Katılım
10 Şubat 2019
Mesajlar
1
Elmaslar
0
Puanlar
6.195
Yaş
23
Okurken karnım acıktı.
 

MrSeksen9

Fırında Isıttığım İlk Taş
Katılım
3 Temmuz 2019
Mesajlar
78
Elmaslar
16
Puanlar
0
Yaş
23
Dünyaya özel yapmayı da gösterebilirsin.
 

7Twilightx

Bir Kömür Göründü Kaptanım!

Discord:

7Twilightx#7777

Katılım
11 Ağustos 2018
Mesajlar
100
Elmaslar
38
Puanlar
3.895
Yer
İstanbul
Minecraft
7Twilightx
Bu konu sayesinde az olan Argument bilgimi yükselttim ve burayı okur okumaz bunun hakkında güzel bir skript yazdım gerçekten detaylı ve güzel belirtmişsin ellerine sağlık.
 
Durum
Mesaj gönderimine kapalı.
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı