Türkiye'nin En Büyük Oyuncu Forumuna Hoş Geldiniz!

Sitemize kayıt olarak, diğer oyuncular ile tanışabilir, mesajlaşabilirsiniz, ayrıca bir şeyler paylaşarak veya sorarak Türkiye'nin en büyük oyuncu topluluğunun bir parçası olabilirsiniz!

Şimdi Katılın!

Skript'in Variable Özelliği

ClearMan61

Zombi Katili
Mesajlar
167
Puanları
400
ARKADAŞLAR DETAYLI OLARAK - Skriptin Variable özelliğini - Anlata bilirmisiniz?
 

Bernard

¯\_(ツ)_/¯
Emektar Üye
Mesajlar
998
Puanları
3,290
Variable/değişken. Bir yazı içinde yazmasını istediğin şeyleri atıyorsun.
Örnek: kodlama alanında skript içinde %yazı% yazdığımda "Merhaba" yazmasını istiyorum.
yazı: "Merhaba"
şeklinde yaparsam nerede %yazı% yazsam "Merhaba" yazacaktır.
 

ClearMan61

Zombi Katili
Mesajlar
167
Puanları
400
Variable/değişken. Bir yazı içinde yazmasını istediğin şeyleri atıyorsun.
Örnek: kodlama alanında skript içinde %yazı% yazdığımda "Merhaba" yazmasını istiyorum.
yazı: "Merhaba"
şeklinde yaparsam nerede %yazı% yazsam "Merhaba" yazacaktır.
Tmm iiyide ir sürü şeyi var set {yazı.player} gibi onları anlatırmısın detaylı
 

Bernard

¯\_(ツ)_/¯
Emektar Üye
Mesajlar
998
Puanları
3,290
Tmm iiyide ir sürü şeyi var set {yazı.player} gibi onları anlatırmısın detaylı
{yazi.%player%} var bu ise yazi değişkeninin komutu kullanan oyuncu için ayarlamaktır.
Örnek:
Kod:
options:
    yazi: merhaba
command /merhaba:
    trigger:
        send "su anda yazi = {@yazi}"
        set {yazi.%player%} to "selam"
Bu örnekte "yazi" değişkeni başta merhaba olarak ayarlanıyor. Merhaba komutu girilince önce "yazi" değişkeninin değeri gönderiliyor ardından komutu kullanan oyuncu için geçerli olacak olan "yazi" değişkeni içindeki "merhaba" -> "selam" olarak değiştiriliyor.
 

ClearMan61

Zombi Katili
Mesajlar
167
Puanları
400
{yazi.%player%} var bu ise yazi değişkeninin komutu kullanan oyuncu için ayarlamaktır.
Örnek:
Kod:
options:
    yazi: merhaba
command /merhaba:
    trigger:
        send "su anda yazi = {@yazi}"
        set {yazi.%player%} to "selam"
Bu örnekte "yazi" değişkeni başta merhaba olarak ayarlanıyor. Merhaba komutu girilince önce "yazi" değişkeninin değeri gönderiliyor ardından komutu kullanan oyuncu için geçerli olacak olan "yazi" değişkeni içindeki "merhaba" -> "selam" olarak değiştiriliyor.
Çok Teşekkürler bide kredi felan yaparken kullanıyorlar
set add to 1{kredi. %player%}
Bu nasıl yapılıyor onuda yazarmısın bi

{yazi.%player%} var bu ise yazi değişkeninin komutu kullanan oyuncu için ayarlamaktır.
Örnek:
Kod:
options:
    yazi: merhaba
command /merhaba:
    trigger:
        send "su anda yazi = {@yazi}"
        set {yazi.%player%} to "selam"
Bu örnekte "yazi" değişkeni başta merhaba olarak ayarlanıyor. Merhaba komutu girilince önce "yazi" değişkeninin değeri gönderiliyor ardından komutu kullanan oyuncu için geçerli olacak olan "yazi" değişkeni içindeki "merhaba" -> "selam" olarak değiştiriliyor.
Çok Teşekkürler bide kredi felan yaparken kullanıyorlar
set add to 1{kredi. %player%}
Bu nasıl yapılıyor onuda yazarmısın bi
 

Bernard

¯\_(ツ)_/¯
Emektar Üye
Mesajlar
998
Puanları
3,290
Çok Teşekkürler bide kredi felan yaparken kullanıyorlar
set add to 1{kredi. %player%}
Bu nasıl yapılıyor onuda yazarmısın bi


Çok Teşekkürler bide kredi felan yaparken kullanıyorlar
set add to 1{kredi. %player%}
Bu nasıl yapılıyor onuda yazarmısın bi
Bu sorduğun şey yine kişiye özel değişken oluyor. Başta kredi değişkenini oluşturman gerekiyor. Krediye ekleme yapmak için şu kodu kullanabilirsin:
Kod:
add 1 to {kredi.%player%}
"add 1" olan kısımdaki sayıyı değiştirerek daha fazla ekleme yapabilirsin. Sayı azaltmak için şu kodu kullanabilirsin:
Kod:
remove 1 from {kredi.%player%}
 

Mr_Obliviate

Kızıltaş Madencisi
Mesajlar
647
Puanları
1,600
Variables

Bilgiyi saklamanı sağlar. süslü parantez içine yazılarak isimlendirilir.
Kod:
add 1 to {a}
burda "a" adındaki variable'a 1 eklemeni istiyor. eğer "a" daha önce yapılmamış yada sayı olarak tanımlanmışsa bu işlemi yapar. ama unutmaman gereken şu, eğer
Kod:
set {a} to "Hayaller"
yaparsan bu variable bir yazı olarak tanımlanır. ve sen buna istediğin kadar sayı ekle yinede o "hayaller" olarak kalır.

Bir variable'ı kontrol edebilirsin.
Kod:
if {a} is "hayaller":
Bir variable'ın ne olduğunu öğrenebilirsin.
Kod:
send "%{a}%" to player
bir variable'ı eğer yazı olarak dökmek istiyorsan yukardaki işlemi yapmalısın. ve bu çok basit sadece "%" içine yazman yeterli

Genellikle her oyuncuya ait farklı variable yapmak için onları oyuncuların adlarıyla isimlendirirler.
Kod:
set {oldurme.%player%} to 10
buradaki "%player%" oyuncunun adını alır.
örneğin senin oyuncu ismin ClearMan61 olsun. bu "{oldurme.clearman61}" olarak kaydedilir.

Variable'lar sunucundaki Plugins/skript/variables dosyasına kaydedilir. bu dosya ne kadar büyürse sunucun o kadar zorlanır. genellikle skripterler veriyi gereksiz olduğu durumlarda silmeyi tercih ederler.
Kod:
delete {a}
Şimdi bol kullanılan bir örnek göstericeğim.
Kod:
on death:
    add 1 to {oldurme.%attacker%}
    add 1 to {olme.%victim%}
    send "%victim%, %attacker% tarafından öldürüldü."
%attacker%: Saldırgan
%victim%: Öldürülen
Burda biri öldüğünde ölen kişiye 1 ölme puanı öldürenede 1 öldürme puanı ekler.
Kod:
command statlarım:
    trigger:
        send "Öldürme: %{oldurme.%player%}%"
        send "Ölme: %{olme.%player%}%"
ve burda da variable'larımızın kaç olduğunu gözlemleyebiliyoruz. unutma "%" içinde yazdık.

yalnız şöyle bir sıkıntı var eğer bir variable hiç girilmediyse "<none>" olarak tanımlanır yani biz hiç ölmediysek statlarımızda ölme sayımız <none> olarak gösterilir. bunu engellemek çok basit.

Kod:
variables:
    {olme.%player%} = 0
variables özelliklerinden birisi variable'ları tanımlayabilmek yani bir variable girilmemişse. onu nasıl tanımliyacağını biliyoruz.
eğer bir oyuncu hiç ölmediyse ölme sayısını 0 olarak tanımlar. silindiğinde de bu geçerli.
 

ClearMan61

Zombi Katili
Mesajlar
167
Puanları
400
Variables

Bilgiyi saklamanı sağlar. süslü parantez içine yazılarak isimlendirilir.
Kod:
add 1 to {a}
burda "a" adındaki variable'a 1 eklemeni istiyor. eğer "a" daha önce yapılmamış yada sayı olarak tanımlanmışsa bu işlemi yapar. ama unutmaman gereken şu, eğer
Kod:
set {a} to "Hayaller"
yaparsan bu variable bir yazı olarak tanımlanır. ve sen buna istediğin kadar sayı ekle yinede o "hayaller" olarak kalır.

Bir variable'ı kontrol edebilirsin.
Kod:
if {a} is "hayaller":
Bir variable'ın ne olduğunu öğrenebilirsin.
Kod:
send "%{a}%" to player
bir variable'ı eğer yazı olarak dökmek istiyorsan yukardaki işlemi yapmalısın. ve bu çok basit sadece "%" içine yazman yeterli

Genellikle her oyuncuya ait farklı variable yapmak için onları oyuncuların adlarıyla isimlendirirler.
Kod:
set {oldurme.%player%} to 10
buradaki "%player%" oyuncunun adını alır.
örneğin senin oyuncu ismin ClearMan61 olsun. bu "{oldurme.clearman61}" olarak kaydedilir.

Variable'lar sunucundaki Plugins/skript/variables dosyasına kaydedilir. bu dosya ne kadar büyürse sunucun o kadar zorlanır. genellikle skripterler veriyi gereksiz olduğu durumlarda silmeyi tercih ederler.
Kod:
delete {a}
Şimdi bol kullanılan bir örnek göstericeğim.
Kod:
on death:
    add 1 to {oldurme.%attacker%}
    add 1 to {olme.%victim%}
    send "%victim%, %attacker% tarafından öldürüldü."
%attacker%: Saldırgan
%victim%: Öldürülen
Burda biri öldüğünde ölen kişiye 1 ölme puanı öldürenede 1 öldürme puanı ekler.
Kod:
command statlarım:
    trigger:
        send "Öldürme: %{oldurme.%player%}%"
        send "Ölme: %{olme.%player%}%"
ve burda da variable'larımızın kaç olduğunu gözlemleyebiliyoruz. unutma "%" içinde yazdık.

yalnız şöyle bir sıkıntı var eğer bir variable hiç girilmediyse "<none>" olarak tanımlanır yani biz hiç ölmediysek statlarımızda ölme sayımız <none> olarak gösterilir. bunu engellemek çok basit.

Kod:
variables:
    {olme.%player%} = 0
variables özelliklerinden birisi variable'ları tanımlayabilmek yani bir variable girilmemişse. onu nasıl tanımliyacağını biliyoruz.
eğer bir oyuncu hiç ölmediyse ölme sayısını 0 olarak tanımlar. silindiğinde de bu geçerli.
Çok sağol bide en kötüsünden bi kredi skripti örneği atarmısın.
 

LifeMCServer

Nether Yerlisi
Süper Üye
Mesajlar
2,344
Puanları
7,650
Konudaki herkes normal variable örneği atmış ilerde bunları değiştirmesi gerekecek top 10 yaparken, topluca variable silerken vs. lazım oluyor.

Bu yüzden her zaman liste variableleri kullan ve variablelerin başına değişkenlik gösteren değerler ekleme.
örn. {%player%.level} yerine {level::%player%} kullan.

Daha fazlası:
https://forum.gamer.com.tr/konu/skript-lag-bug-ve-donma-coezuemue-skriptden-kaynakli-sorunlari-coezuen.383414/

Ek: Arkadaşların bahsetmediği bi olaydan bahsetmek istiyorum. Parse ve Variable çeşitleri.
Parse ve Variable Çeşitleri;

Text - Yazı. Genelde "" içerisine yazılır. -> set {_a} to "Yazı"
Integer - Tam sayı. Direk yazılır. -> set {_b} to 1
Number - Sayı. Tüm sayılar olabilir. Direk yazılır. -> set {_c} to 1.5
Boolean - True/False olabilen değişken. Direk yazılır. -> set {_d} to true
Date - Tarih. Now olarak yazılabilir ya da parse ile parselenebilir. -> set {_e} to now
Timespan - Süre. 1 dakika, 2 dakika vb. ingilizce olarak yazılır. -> set {_f} to 1 minutes
Location - Yer/Lokasyon. Bir objenin lokasyonu olarak girilebilir. -> set {_g} to location of player

Daha fazlası: https://docs.skunity.com/syntax/search/addon:skript category:type

Ek: Skript variablelerinde default confige göre büyük küçük harf ayrımı yoktur yani {deNeMe::%player%}'a {deneme::%player%} ile de ulaşabilirsin. Oyuncu adlarıda yine bunun gibi küçük harf ile kaydedilir ve küçük büyük harf ayrımı yoktur.
 

ClearMan61

Zombi Katili
Mesajlar
167
Puanları
400
Konudaki herkes normal variable örneği atmış ilerde bunları değiştirmesi gerekecek top 10 yaparken, topluca variable silerken vs. lazım oluyor.

Bu yüzden her zaman liste variableleri kullan ve variablelerin başına değişkenlik gösteren değerler ekleme.
örn. {%player%.level} yerine {level::%player%} kullan.

Daha fazlası:
https://forum.gamer.com.tr/konu/skript-lag-bug-ve-donma-coezuemue-skriptden-kaynakli-sorunlari-coezuen.383414/

Ek: Arkadaşların bahsetmediği bi olaydan bahsetmek istiyorum. Parse ve Variable çeşitleri.
Parse ve Variable Çeşitleri;

Text - Yazı. Genelde "" içerisine yazılır. -> set {_a} to "Yazı"
Integer - Tam sayı. Direk yazılır. -> set {_b} to 1
Number - Sayı. Tüm sayılar olabilir. Direk yazılır. -> set {_c} to 1.5
Boolean - True/False olabilen değişken. Direk yazılır. -> set {_d} to true
Date - Tarih. Now olarak yazılabilir ya da parse ile parselenebilir. -> set {_e} to now
Timespan - Süre. 1 dakika, 2 dakika vb. ingilizce olarak yazılır. -> set {_f} to 1 minutes
Location - Yer/Lokasyon. Bir objenin lokasyonu olarak girilebilir. -> set {_g} to location of player

Daha fazlası: https://docs.skunity.com/syntax/search/addon:skript category:type

Ek: Skript variablelerinde default confige göre büyük küçük harf ayrımı yoktur yani {deNeMe::%player%}'a {deneme::%player%} ile de ulaşabilirsin. Oyuncu adlarıda yine bunun gibi küçük harf ile kaydedilir ve küçük büyük harf ayrımı yoktur.
Tanıtım yapmışsın benim bunların kullanımını öğrenmem gerek