canhucko

Zombi Geldi, Beni Yedi
Katılım
19 Ekim 2014
Mesajlar
252
En iyi cevaplar
0
Elmaslar
104
Puanlar
4.090
Discord
Can Öztürk#6167
Minecraft
KnightTR
Arkadaşın Skriptini Denedim Ve Çalıştı daha da birşey yazmıyacam iyi günler
yan hesap yada arkadaşısın sanırım. daha konuşmanın anlamı yok. iyi günler sana da
 

zazazalalib

Kızılsakal Kızıltaş?
Katılım
29 Mart 2018
Mesajlar
484
En iyi cevaplar
2
Elmaslar
148
Puanlar
1.790
Discord
KanedgyBO#9409
Minecraft
KanedgyBO
yan hesap yada arkadaşısın sanırım. daha konuşmanın anlamı yok. iyi günler sana da
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
 

LifeMCServer

Kızılsakal Kızıltaş?
Destek Şefi
Yardımsever Üye
Katılım
18 Kasım 2016
Mesajlar
508
En iyi cevaplar
52
Elmaslar
350
Puanlar
3.990
Steam
LifeMCServer
Discord
!💲мυѕтαғα öɴcel#0001
Skype
mustafaoncel92
Minecraft
LifeMCServer
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.

Kod:
options:
    verilecekpara: 1000
 
every 15 minute:
    add {@verilecekpara} to players's money
denermisin?
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.

Kod:
options:
    verilecekpara: 1000
  
every 15 minute:
    loop all players:
    add {@verilecekpara} to players's money
Tab/space hatası, loop dan sonra bir space atman gerek ve yukarıda da dendiği gibi loop-player's money yapman gerek.

oha pro skriptör olmayan oyuncuya para veriyo


Kod:
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.
 

zazazalalib

Kızılsakal Kızıltaş?
Katılım
29 Mart 2018
Mesajlar
484
En iyi cevaplar
2
Elmaslar
148
Puanlar
1.790
Discord
KanedgyBO#9409
Minecraft
KanedgyBO
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
 

LifeMCServer

Kızılsakal Kızıltaş?
Destek Şefi
Yardımsever Üye
Katılım
18 Kasım 2016
Mesajlar
508
En iyi cevaplar
52
Elmaslar
350
Puanlar
3.990
Steam
LifeMCServer
Discord
!💲мυѕтαғα öɴcel#0001
Skype
mustafaoncel92
Minecraft
LifeMCServer
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.
 

zazazalalib

Kızılsakal Kızıltaş?
Katılım
29 Mart 2018
Mesajlar
484
En iyi cevaplar
2
Elmaslar
148
Puanlar
1.790
Discord
KanedgyBO#9409
Minecraft
KanedgyBO
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
 

LifeMCServer

Kızılsakal Kızıltaş?
Destek Şefi
Yardımsever Üye
Katılım
18 Kasım 2016
Mesajlar
508
En iyi cevaplar
52
Elmaslar
350
Puanlar
3.990
Steam
LifeMCServer
Discord
!💲мυѕтαғα öɴcel#0001
Skype
mustafaoncel92
Minecraft
LifeMCServer
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.
 
Yukarı Alt