swoxyi
Bu işlemi yapmak için, şu yöntemleri deneyebilirsiniz:Minecraft sunucumda bir world'e oyuncuların blok koyabilmesini ve koydukları blokları kırabilmesini ama dünyadaki blokları kıramamasını nasıl ayarlayabilirim? Sadece oyuncular tarafından koyulan bloklar kırılacak.
Teşekkür ederim hocam deneyip geri dönüş yapayımBu işlemi yapmak için, şu yöntemleri deneyebilirsiniz:
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.adlı bir eklenti kullanabilirsiniz. Bu eklenti, belirli bir bölgede hangi blokların koyulabileceğini veya kırılabileceğini ayarlamanızı sağlar. Örneğin, /region flag <region> deny-blocks any /region flag <region> allow-blocks dirt komutlarıyla, sadece toprak bloklarının koyulmasına ve kırılmasına izin verebilirsiniz.Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun. Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.(/gamemode 2) kullanabilirsiniz. Bu modda, oyuncular dünyadaki blokları kıramazlar, ancak kendi koydukları blokları kırabilirler. Bu modu tüm oyunculara uygulamak için, /gamemode 2 @a komutunu kullanabilirsiniz.Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
swoxyi
Rica ederim yardımcı olabildiysem ne mutlu bana.Teşekkür ederim hocam deneyip geri dönüş yapayım
edoux.
on place:
set {data::%event-block's location%} to true
on break:
player's world = "world"
if {data::%event-block's location%} is set:
clear {data::%event-block's location%}
else:
cancel event
send "&ckıramazsın!"
hocam plugini kurdum fakat yorumlarınada baktığımda çalışmıyor gamemode 2 ilede yapmak istemiyorum farklı bir yolu varmıdırRica ederim yardımcı olabildiysem ne mutlu bana.
koyduklara blokları bu skript ile kırabilirlermiEğer isterseniz WorldGuard'a ihtiyaç duymadan alttaki Skript ile de yapabilirsiniz
JavaScript:on place: set {data::%event-block's location%} to true on break: player's world = "world" if {data::%event-block's location%} is set: clear {data::%event-block's location%} else: cancel event send "&ckıramazsın!"
olabilirse sadece bir worldde end taşı ve obsidyenin kırılmaması lazımRica ederim yardımcı olabildiysem ne mutlu bana.
swoxyi
Başka bir yolu yok sanırsam fakat size skript versiyonunu gönderebilirim. Skripti test etmedim eğer herhangibir hata alıyorsanız buradan hatayı ekran görüntüsü olarak atın çözmeye çalışalım.hocam plugini kurdum fakat yorumlarınada baktığımda çalışmıyor gamemode 2 ilede yapmak istemiyorum farklı bir yolu varmıdır
options:
world: "prisons" #Skriptin çalışacağı dünya
on break of any block:
# oyuncunun kırdığı bloğu bir değişkene ata
set {_block} to event-block
# bloğun bir oyuncu tarafından koyulup koyulmadığını kontrol et
if {_block} is player-placed:
# bloğu kırmaya devam et
cancel event
else:
# bloğu kırmayı engelle
cancel event
# oyuncuya bir mesaj göster
send "&cBu bloğu kıramazsın!" to player
skripti sadece end taşı ve obsidyen olarak ayarlayabilirmisin yani oyuncu tarafından koyulup koyulmamasına gerek yok sadece obsidyen ve end taşı kırılmamalıBaşka bir yolu yok sanırsam fakat size skript versiyonunu gönderebilirim. Skripti test etmedim eğer herhangibir hata alıyorsanız buradan hatayı ekran görüntüsü olarak atın çözmeye çalışalım.
Kod:on break of any block: # oyuncunun kırdığı bloğu bir değişkene ata set {_block} to event-block # bloğun bir oyuncu tarafından koyulup koyulmadığını kontrol et if {_block} is player-placed: # bloğu kırmaya devam et cancel event else: # bloğu kırmayı engelle cancel event # oyuncuya bir mesaj göster send "&cBu bloğu kıramazsın!" to player
swoxyi
Dediğiniz gibi bir şeyler yapmayı denedim test edebilirsiniz.skripti sadece end taşı ve obsidyen olarak ayarlayabilirmisin yani oyuncu tarafından koyulup koyulmamasına gerek yok sadece obsidyen ve end taşı kırılmamalı
on break of any block:
# oyuncunun kırdığı bloğu bir değişkene ata
set {_block} to event-block
# bloğun end taşı veya obsidyen olup olmadığını kontrol et
if {_block} is end stone or obsidian:
# bloğu kırmayı engelle
cancel event
# oyuncuya bir mesaj göster
send "&cBu bloğu kıramazsın!" to player
bu sadece belli bir dünyada olucak demi multiverse-core daki başka bir dünyada olmayacakDediğiniz gibi bir şeyler yapmayı denedim test edebilirsiniz.
Kod:on break of any block: # oyuncunun kırdığı bloğu bir değişkene ata set {_block} to event-block # bloğun end taşı veya obsidyen olup olmadığını kontrol et if {_block} is end stone or obsidian: # bloğu kırmayı engelle cancel event # oyuncuya bir mesaj göster send "&cBu bloğu kıramazsın!" to player
swoxyi
Kodun son hali budur deneyip test edebilirsiniz test etme fırsatım olmadığı için direkt atıyorum.bu sadece belli bir dünyada olucak demi multiverse-core daki başka bir dünyada olmayacak
options:
world: "prisons" #Dünyanın Adı
on break of any block:
# olayın olduğu dünya, options bölümünde belirlediğimiz dünya ile aynı mı diye kontrol edelim
event-world is {world} # bu bir satır içi koşuldur
# oyuncunun kırdığı bloğu bir değişkene ata
set {_block} to event-block
# bloğun end taşı veya obsidyen olup olmadığını kontrol et
if {_block} is end stone or obsidian:
# bloğu kırmayı engelle
cancel event
# oyuncuya bir mesaj göster
send "&cBu bloğu kıramazsın!" to player
edoux.
yukarıdaki skript sıkıntılı, oyuncu tarafından koyulmayan bloklar da kırılabiliyor o yüzden atacağım skripti kullanmanızı öneririm, end taşı ve obsidyen kırmayı engelledimkoyduklara blokları bu skript ile kırabilirlermi
on place:
set {data::%event-block's location%} to true
on break:
player's world = "world"
if event-block is not end stone or obsidian:
if {data::%event-block's location%} is set:
clear {data::%event-block's location%}
else:
cancel event
send "&ckıramazsın!"
else:
cancel event
send "kıramazsın!"