5 Saniyede bir spawner koyma

yiğit_15226426

Altın Benim Yeni Sevgilim
Katılım
9 Temmuz 2017
Mesajlar
433
Elmaslar
72
Puan
0
Minecraft
DestroyerSlayer_

Discord:

Dropex2#3234

Oyuncular 5 saniyede bir spawner koyabilsin
yani;
Spawner koyduktan sonra bi spawner daha koymaya çalışırken ona "5Saniye Beklemen Gerekir" uyarısı gelsin ve spawner koyulmasın
fakat bug olmasın yani spawner gitmesin - kaybolmasın

Yardım edeceklere şimdiden çok teşekkürler
 
Kod:
on place of mob_spawner:
    if {koydu::%player%} is not set:
        set {koydu::%player%} to true
        wait 5 seconds
        delete {koydu::%player%}
    else:
        cancel event
        send "&c5 saniye beklemelisin" to player
 
Lara zaten çözmüş ama yine de ekleme yapayım. Olur da o 5 saniye içerisinde Skript yenilenirse variable silinmeyip oyuncu sonsuza kadar spawner koyamayacaktır. Laranın koduna ek olarak alt satırına şunu eklersen bu şekilde bir senaryo yaşamazsın, yaşanırsa da oyuncu çıkıp girsin düzelir:
Kod:
on disconnect:
	{koydu::%player%} is set
	delete {koydu::%player%}[/coed]
 
Kod:
on place of mob spawner:
    set {_sure} to difference between {spawner.bekleme::%player%} and now
        if {_sure} is less than 5 seconds:
            set {_sure} to difference between {_sure} and 1 second
            send "{@Tag} &e5 &7saniyede bir spawner koyabilirsiniz!" to player
            cancel event
        set {spawner.bekleme::%player%} to now


Kod:
on place of mob_spawner:
    if {koydu::%player%} is not set:
        set {koydu::%player%} to true
        wait 5 seconds
        delete {koydu::%player%}
    else:
        cancel event
        send "&c5 saniye beklemelisin" to player

Unkown'ın söylediği gibi veriable herhangi bir durumda true kalırsa spawner koyamayacaklardır bu yüzden diffirence bu tür konularda en sağlıklı tercih olacaktır.
 
Kod:
on place of mob_spawner:
    if {koydu::%player%} is not set:
        set {koydu::%player%} to true
        wait 5 seconds
        delete {koydu::%player%}
    else:
        cancel event
        send "&c5 saniye beklemelisin" to player
Lara zaten çözmüş ama yine de ekleme yapayım. Olur da o 5 saniye içerisinde Skript yenilenirse variable silinmeyip oyuncu sonsuza kadar spawner koyamayacaktır. Laranın koduna ek olarak alt satırına şunu eklersen bu şekilde bir senaryo yaşamazsın, yaşanırsa da oyuncu çıkıp girsin düzelir:
Kod:
on disconnect:
    {koydu::%player%} is set
    delete {koydu::%player%}[/coed]
Kod:
on place of mob spawner:
    set {_sure} to difference between {spawner.bekleme::%player%} and now
        if {_sure} is less than 5 seconds:
            set {_sure} to difference between {_sure} and 1 second
            send "{@Tag} &e5 &7saniyede bir spawner koyabilirsiniz!" to player
            cancel event
        set {spawner.bekleme::%player%} to now




Unkown'ın söylediği gibi veriable herhangi bir durumda true kalırsa spawner koyamayacaklardır bu yüzden diffirence bu tür konularda en sağlıklı tercih olacaktır.
Veriables dosyasına bunlar geliyor
koydu::destroyerslayer_, boolean, 01
koydu::destroyerslayer_, null,
bunlar gelmeden falan başak bir çözümü yokmudur?
 
Veriables dosyasına bunlar geliyor
koydu::destroyerslayer_, boolean, 01
koydu::destroyerslayer_, null,
bunlar gelmeden falan başak bir çözümü yokmudur?
Veriables dosyasına bunların gelmesi değil, gelmemesi asıl problem olan. Çünkü eğer gelmezse veriable çalışmıyor demektir. Çalışmazsa da Skript oyuncuların sürekli saniyede bir spawner koymasını engelleyemez. Veriables dosyasına bunların gelmesi gayet doğal :D
 
Veriables dosyasına bunların gelmesi değil, gelmemesi asıl problem olan. Çünkü eğer gelmezse veriable çalışmıyor demektir. Çalışmazsa da Skript oyuncuların sürekli saniyede bir spawner koymasını engelleyemez. Veriables dosyasına bunların gelmesi gayet doğal :D
Gittikçe büyüyor problem olmazmıki .d
 
Gittikçe büyüyor problem olmazmıki .d
Sunucundaki kişi sayısına göre değişir. Küçük çaplı bir sunucu isen yakın zamanda pek sorun olmaz. Bir de skriptlerinde list veriables kullan.
List veriables nedir?

Örneğin {para.%player%}değişkenini oyuncunun para değeri olarak kaydediyorsun. para.%player% yerine para::%player% kullanırsan sunucu performansın için iyi yönde olacaktır. Ayrıca list veriablelar looplanabilir. Mesela sana verdiğim skriptte "{koydu::%player%}" olarak verdim. Çünkü böylesi sunucun için daha iyi :D
 
Sunucundaki kişi sayısına göre değişir. Küçük çaplı bir sunucu isen yakın zamanda pek sorun olmaz. Bir de skriptlerinde list veriables kullan.
List veriables nedir?

Örneğin {para.%player%}değişkenini oyuncunun para değeri olarak kaydediyorsun. para.%player% yerine para::%player% kullanırsan sunucu performansın için iyi yönde olacaktır. Ayrıca list veriablelar looplanabilir. Mesela sana verdiğim skriptte "{koydu::%player%}" olarak verdim. Çünkü böylesi sunucun için daha iyi :D
geçenlerde biri de sizin gibi demişti list veriables daha iyi sormuştum nedir anlatmıştı fakat anlamamıştım
teşekkürler
Sunucum ortalama 30-40 kişi arası veriables klasörü 13516satır ve 2500kb sizce kaç satır veya kaç kb da sorun oluşabilir?
 
geçenlerde biri de sizin gibi demişti list veriables daha iyi sormuştum nedir anlatmıştı fakat anlamamıştım
teşekkürler
Sunucum ortalama 30-40 kişi arası veriables klasörü 13516satır ve 2500kb sizce kaç satır veya kaç kb da sorun oluşabilir?
Kullandığın veriable türüne göre değişir bu. Sürekli list veriable kullanmaya dikkat et. Veriables dosyan biraz kabarmış, her şeyi skriptle yapmamaya özen göster :D

Ayrıca geçici veriablelar için delete kullanmalısın. Örneğin bu skriptte {koydu::%player%} değişkenini 5 saniye boyunca korudum, 5 saniyenin sonunda delete {koydu::%player%} yazdım. Bu da değişkenin daha fazla ver kaplamamasını sağladı.
 
Kullandığın veriable türüne göre değişir bu. Sürekli list veriable kullanmaya dikkat et. Veriables dosyan biraz kabarmış, her şeyi skriptle yapmamaya özen göster :D

Ayrıca geçici veriablelar için delete kullanmalısın. Örneğin bu skriptte {koydu::%player%} değişkenini 5 saniye boyunca korudum, 5 saniyenin sonunda delete {koydu::%player%} yazdım. Bu da değişkenin daha fazla ver kaplamamasını sağladı.
Sunucumda spawner skripti var o yüzden böyle ./
ne önerebilirsiniz .)
 

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst