Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız. Mercedes kullanmak yerine tosbaya binmek gibi... Websiteleri düzgün görüntüleyemiyorsanız eh, bi zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
sen konuyu yanlış anladın galba, aynı zamanda benim paylaşımlarıma onun mesaj vb. bak yan hesap gibi duruyor mu? yalnızca *skript eksikliklerimizi tamamlıyorduk* sen ne anladın anlamadım, samimi arkadaşımda değil zaten
Konu sahibi ortadan kaybolmuş sanırım, konuyu kategorileri gezerken gördüm ve açıklığa kavuşturmak istedim. @Ardaaydiin37 konu çözüldü ise geri dönüş yap kilitlensin.
players's money'in çalışacağına emin değilim looplaman gerek diye biliyorum, send "x" to players gibi yerlerde loop yerine players kullanılabiliyor fakat orada kullanılabildiğini sanmıyorum gramar olarakta pek doğru bir ifade çıkmıyor players's diyince.
options:
para: 1000
mesaj: &6Bakiyene 1000 oyun parası eklendi.
on join:
while player is online:
wait 15 minutes
add {@para} to player's balance
send "{@mesaj}" to player
Çok sağlıksız bir yöntem, while loopu her oyuncu için ayrı çalışır ve sunucu threadinde çalıştığından laga sebebiyet verebilir, skriptin kendi every 15 minutes'ı varken buna gerek yok.
Eğer players's çalışıyorsa o daha mantıklı fakat çalışmaz diye tahmin ediyorum, bu nedenle aşağıdaki problemi çözecektir diye düşünüyorum.
JavaScript:
every 15 minutes:
loop all players:
add 1000 to balance of loop-player # 15 dakika da bir aktif oyunculara 1000₺ verir
Mesajlı sürümü:
JavaScript:
every 15 minutes:
loop all players:
add 1000 to balance of loop-player # 15 dakika da bir aktif oyunculara 1000₺ verir
send "&bHesabınıza 1000₺ yatırıldı." to loop-player
Mesajlı sürümü kullanacaksanız players yerine looplamanız daha mantıklı çünkü players da zaten kendi içinde loop yapar, bir kere looplayacağı için daha performanslı olur. Eğer ilk sürümü kullanacaksanız players da loop da aynı işi yapar fakat kısalık açısından players kullanmanız tavsiyem.
Ek not: Bazı arkadaşlar loop players'ın loop all players'a göre daha performanslı olduğunu iddia ediyor, hayır ikiside aynı işi görmekte, offline oyuncuları dahil etmek için all yazmanız yeterli değil loop all offline players yazmalısınız, yani iki kodda aktif oyuncuları loopluyor ve aynı performansta, sadece birisi daha kısa fakat ben loop all players'a alışığım ve sadece 3 harf tasarruf ediyorsunuz o yüzden gereksiz bir kısaltma.
Konu sahibi ortadan kaybolmuş sanırım, konuyu kategorileri gezerken gördüm ve açıklığa kavuşturmak istedim. @Ardaaydiin37 konu çözüldü ise geri dönüş yap kilitlensin.
players's money'in çalışacağına emin değilim looplaman gerek diye biliyorum, send "x" to players gibi yerlerde loop yerine players kullanılabiliyor fakat orada kullanılabildiğini sanmıyorum gramar olarakta pek doğru bir ifade çıkmıyor players's diyince.
Tab/space hatası, loop dan sonra bir space atman gerek ve yukarıda da dendiği gibi loop-player's money yapman gerek.
Çok sağlıksız bir yöntem, while loopu her oyuncu için ayrı çalışır ve sunucu threadinde çalıştığından laga sebebiyet verebilir, skriptin kendi every 15 minutes'ı varken buna gerek yok.
Eğer players's çalışıyorsa o daha mantıklı fakat çalışmaz diye tahmin ediyorum, bu nedenle aşağıdaki problemi çözecektir diye düşünüyorum.
JavaScript:
every 15 minutes:
loop all players:
add 1000 to balance of loop-player # 15 dakika da bir aktif oyunculara 1000₺ verir
Mesajlı sürümü:
JavaScript:
every 15 minutes:
loop all players:
add 1000 to balance of loop-player # 15 dakika da bir aktif oyunculara 1000₺ verir
send "&bHesabınıza 1000₺ yatırıldı." to loop-player
Mesajlı sürümü kullanacaksanız players yerine looplamanız daha mantıklı çünkü players da zaten kendi içinde loop yapar, bir kere looplayacağı için daha performanslı olur. Eğer ilk sürümü kullanacaksanız players da loop da aynı işi yapar fakat kısalık açısından players kullanmanız tavsiyem.
Ek not: Bazı arkadaşlar loop players'ın loop all players'a göre daha performanslı olduğunu iddia ediyor, hayır ikiside aynı işi görmekte, offline oyuncuları dahil etmek için all yazmanız yeterli değil loop all offline players yazmalısınız, yani iki kodda aktif oyuncuları loopluyor ve aynı performansta, sadece birisi daha kısa fakat ben loop all players'a alışığım ve sadece 3 harf tasarruf ediyorsunuz o yüzden gereksiz bir kısaltma.
başta looplamam gerek olabilir diye düşünmüştüm ama bi arkadaş test edince sıkıntı yok o zaman dedim, bir zamanlar gramere uygun olan players' deneyince olmadığını hatırladım (?) ondan players's söyledim. ama bu yöntemde çok sağlıklı değil sunucunun her 15 dk sı çünkü. test etmedim ama en sağlıklı yöntem şu olur:
Kod:
join:
wait 15 minute
while player is online:
add 100 to player's money #100 kafaya göre düzenlenir
wait 15 minute
başta looplamam gerek olabilir diye düşünmüştüm ama bi arkadaş test edince sıkıntı yok o zaman dedim, bir zamanlar gramere uygun olan players' deneyince olmadığını hatırladım (?) ondan players's söyledim. ama bu yöntemde çok sağlıklı değil sunucunun her 15 dk sı çünkü. test etmedim ama en sağlıklı yöntem şu olur:
Kod:
join:
wait 15 minute
while player is online:
add 100 to player's money #100 kafaya göre düzenlenir
wait 15 minute
Skript'te while en zararlı şey, every 15 minutes Bukkit'in kendi scheduler sistemini kullanıyor, while ise daha farklı bir sistem kullanıyor ve sunucunun threadinde çalışıyor, bu nedenle while'a wait eklemezsen sunucu çöküyor. Bunun dışında senin attığın koddaki while her oyuncuya ayrı while döngüsü açıyor ve oyuncular aktif olduğu sürece devam ediyor, every 15 minutes ise oyuncuya özel bir döngü değil global.
While yerine kullanabilmeniz için Skript size her şeyi hazır sunuyor. Skript'te while kullanmaktan kaçının. Kesin olarak biteceğini bildiğiniz durumlarda kullanın sadece, örneğin otomatik satış skriptinde while player has stone, remove 1 stone, add 100 to balance gibi bir kodda kullanılabilir, onun dışında every, değişkenler, wait, difference skript her türlü şeyi sunuyor size, while kullanmanız performans kaybı yaratır.
Skript'te while en zararlı şey, every 15 minutes Bukkit'in kendi scheduler sistemini kullanıyor, while ise daha farklı bir sistem kullanıyor ve sunucunun threadinde çalışıyor, bu nedenle while'a wait eklemezsen sunucu çöküyor. Bunun dışında senin attığın koddaki while her oyuncuya ayrı while döngüsü açıyor ve oyuncular aktif olduğu sürece devam ediyor, every 15 minutes ise oyuncuya özel bir döngü değil global.
While yerine kullanabilmeniz için Skript size her şeyi hazır sunuyor. Skript'te while kullanmaktan kaçının. Kesin olarak biteceğini bildiğiniz durumlarda kullanın sadece, örneğin otomatik satış skriptinde while player has stone, remove 1 stone, add 100 to balance gibi bir kodda kullanılabilir, onun dışında every, değişkenler, wait, difference skript her türlü şeyi sunuyor size, while kullanmanız performans kaybı yaratır.
while dediğiniz gibi sunucuyu çökertecek kadar hızlıdır ancak wait konulursa sıkıntı olcağını sanmıyor, bekleyiş süresi az olursa while da every de lag yapar tab2 ama bunda bence lag olmaz
while dediğiniz gibi sunucuyu çökertecek kadar hızlıdır ancak wait konulursa sıkıntı olcağını sanmıyor, bekleyiş süresi az olursa while da every de lag yapar tab2 ama bunda bence lag olmaz
Attığın kodda her giren oyuncu için ayrı bir while döngüsü açıyor, every'de ise global tek bir döngü var ve bu Bukkit'in kendi Scheduler sistemi tarafından yönetiliyor. While'ı direkt bitecek işlemler dışında sonsuz döngüler için kullanmak tehlikeli, performanssız ve gereksiz.