ClearMan61
Kömür Madencisi
- Mesajlar
- 140
- En iyi cevaplar
- 0
- Beğeniler
- 25
- Puanları
- 210
ARKADAŞLAR DETAYLI OLARAK - Skriptin Variable özelliğini - Anlata bilirmisiniz?
Tmm iiyide ir sürü şeyi var set {yazı.player} gibi onları anlatırmısın detaylı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.
ne garip, oysa ki ben en guzelini atmistim.Anlamadım hiçbir şey yazınla anlatır mısın?
Attığın linkde variableyle ilgili bir şey bulamadımne garip, oysa ki ben en guzelini atmistim.
ah ah ah.
{yazi.%player%} var bu ise yazi değişkeninin komutu kullanan oyuncu için ayarlamaktır.Tmm iiyide ir sürü şeyi var set {yazı.player} gibi onları anlatırmısın detaylı
options:
yazi: merhaba
command /merhaba:
trigger:
send "su anda yazi = {@yazi}"
set {yazi.%player%} to "selam"
Çok Teşekkürler bide kredi felan yaparken kullanıyorlar{yazi.%player%} var bu ise yazi değişkeninin komutu kullanan oyuncu için ayarlamaktır.
Örnek:
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.Kod:options: yazi: merhaba command /merhaba: trigger: send "su anda yazi = {@yazi}" set {yazi.%player%} to "selam"
Çok Teşekkürler bide kredi felan yaparken kullanıyorlar{yazi.%player%} var bu ise yazi değişkeninin komutu kullanan oyuncu için ayarlamaktır.
Örnek:
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.Kod:options: yazi: merhaba command /merhaba: trigger: send "su anda yazi = {@yazi}" set {yazi.%player%} to "selam"
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:Ç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
add 1 to {kredi.%player%}
remove 1 from {kredi.%player%}
add 1 to {a}
set {a} to "Hayaller"
if {a} is "hayaller":
send "%{a}%" to player
set {oldurme.%player%} to 10
delete {a}
on death:
add 1 to {oldurme.%attacker%}
add 1 to {olme.%victim%}
send "%victim%, %attacker% tarafından öldürüldü."
command statlarım:
trigger:
send "Öldürme: %{oldurme.%player%}%"
send "Ölme: %{olme.%player%}%"
variables:
{olme.%player%} = 0
Çok sağol bide en kötüsünden bi kredi skripti örneği atarmısın.Variables
Bilgiyi saklamanı sağlar. süslü parantez içine yazılarak isimlendirilir.
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ğerKod:add 1 to {a}
yaparsan bu variable bir yazı olarak tanımlanır. ve sen buna istediğin kadar sayı ekle yinede o "hayaller" olarak kalır.Kod:set {a} to "Hayaller"
Bir variable'ı kontrol edebilirsin.
Bir variable'ın ne olduğunu öğrenebilirsin.Kod:if {a} is "hayaller":
bir variable'ı eğer yazı olarak dökmek istiyorsan yukardaki işlemi yapmalısın. ve bu çok basit sadece "%" içine yazman yeterliKod:send "%{a}%" to player
Genellikle her oyuncuya ait farklı variable yapmak için onları oyuncuların adlarıyla isimlendirirler.
buradaki "%player%" oyuncunun adını alır.Kod:set {oldurme.%player%} to 10
ö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.
Şimdi bol kullanılan bir örnek göstericeğim.Kod:delete {a}
%attacker%: SaldırganKod:on death: add 1 to {oldurme.%attacker%} add 1 to {olme.%victim%} send "%victim%, %attacker% tarafından öldürüldü."
%victim%: Öldürülen
Burda biri öldüğünde ölen kişiye 1 ölme puanı öldürenede 1 öldürme puanı ekler.
ve burda da variable'larımızın kaç olduğunu gözlemleyebiliyoruz. unutma "%" içinde yazdık.Kod:command statlarım: trigger: send "Öldürme: %{oldurme.%player%}%" send "Ölme: %{olme.%player%}%"
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.
variables özelliklerinden birisi variable'ları tanımlayabilmek yani bir variable girilmemişse. onu nasıl tanımliyacağını biliyoruz.Kod:variables: {olme.%player%} = 0
eğer bir oyuncu hiç ölmediyse ölme sayısını 0 olarak tanımlar. silindiğinde de bu geçerli.
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/skr...-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