M
mmuhammedeemin
Ziyaretçi
Merhaba MC-TR!
Geçen günlerde kendi 1.16 sunucum için yeni bir skript yapmaya karar vermiştim ve bu skript çok hoşuma gittiği için sizler ile paylaşmak istedim. İnternette araştırdığım ve bulduğum sonuçlarda "Backpack" Yani "Çanta" skriptleri genelde ender chest veya oyuncunun adı üzerine yapılmış bulunmaktadır. Ama buradaki Çanta skripti her çanta craft edişimizde çantalara özel id veriyor ve bu id sayesinde başka oyuncular da bu çantayı kullanabiliyor. Peki Bu skript nasıl çalışıyor?
Öncelikle skripti paylaşayım (Not: 3 slot ile sınırlandırılmış halidir ve benim kullandığım halidir!)
Peki bu skript nasıl çalışıyor hemen onu anlatayım. Öncelikle fotoğrafta da görüldüğü gibi 3 ip + 4 deri + 2 kayış ile Bir adet sandık oluşturuyoruz ve idsini 00000 yapıyoruz çünkü idsini oyuncu oluşturacak.
Sandığı oluşturduktan sonra sandığa sağ tıklıyoruz!
Ve böylece çantaya bir kod vermiş oluyoruz! Hiç merak etmeyin sandık stacklı olsa bile yalnızca 1 adet sandığa bu id'yi verecektir. Sandık hemen kullaınma hazır hale gelecektir. Sandık ile sağ tıkladığınız yer neresi olursa eventi iptal edip önünüze 1 satırlık (3 slot ile sınırlı olan skriptte) bir sandık gelecektir buraya istediğiniz itemi koyup alabilirsiniz ve sonrasında ise arkadaşlarınıza bu sandığı atabilirsiniz! Şu anda bu yazıyı okurken "Eğer çantanın içine çantayı koyarsak çanta sonsuza kadar yok olur." dediğinizi duyar gibiyim. Bu çantaya sandık ve shulker kutusu koyduğunuzda ve çantayı kapattığınızda bu eşyalar envanterinize tekrardan gelir. Shulker konulabilir olsaydı oyuncular sonsuz slot yapabilecek olurlardı! Sandık koyulmamasının sebebi ise eşyanın Minecraft id'si sandık olduğu için.
Çanta elimizdeyken eğilerek bir yere sağ tıklarsak çanta sırtımızıa(sözde) gelir, envanterimizden çanta silinir ve tekrardan boş elimiz ile eğilerek bir bloğa tıklarsak çantayı envanterimize alırız. Eğer sırtımızda zaten mevcut bir çanta varsa başka bir çantayı sırtımıza alamayız.
Eğer bir bugg veya çok fazla gereksiz, yanmış olan, dünyadan düşmüş olan, silinmiş olan çantalarınız varsa bu skriptteki tek kod olan "/backpack reset" komutunu kullanınız. Bu komutu kullanırsanız tüm çantalar ve içerisindeki itemler silinir. Mevcut olan kodlu çantalar kullanılmaya devam eder ancak çok düşük bir ihtimalle aynı kodda bir çanta oluşturulursa o çantadan 2 adet yani çoklu kullanım mantığı oluşur bu yüzden bu komutu oldukça az kullanmaya çalışın!
Bazı ufak kısımları internetten araştırıp derledim ancak skript tamamı ile benimdir. Bu benim ilk konum. Skript yararlı olduğu için açtığım bir konu eğer eksiklerim olursa lütfen bildirin.
Ve son olarak diğer olası çanta çeşitleri:
Test Edilen:
Minecraft sürümü: 1.16.x
Skript plugininin sürümü: v2.5.1
SkQuery plugininin Sürümü: v1.9.23
DİP NOT: Eğer dilerseniz "isime özel texture" olayını araştırıp "&eÇanta" isimli eşyanın texturesini değiştirebilirsiniz. Bunu sunucunuzda varsa mevcut mevcut resourcepack dosyanıza ilave edebilir yoksa yeni resourcepack olarak ekleyebilirsiniz
Geçen günlerde kendi 1.16 sunucum için yeni bir skript yapmaya karar vermiştim ve bu skript çok hoşuma gittiği için sizler ile paylaşmak istedim. İnternette araştırdığım ve bulduğum sonuçlarda "Backpack" Yani "Çanta" skriptleri genelde ender chest veya oyuncunun adı üzerine yapılmış bulunmaktadır. Ama buradaki Çanta skripti her çanta craft edişimizde çantalara özel id veriyor ve bu id sayesinde başka oyuncular da bu çantayı kullanabiliyor. Peki Bu skript nasıl çalışıyor?
Öncelikle skripti paylaşayım (Not: 3 slot ile sınırlandırılmış halidir ve benim kullandığım halidir!)
Kod:
on load:
register new shaped recipe for chest named "&eÇanta" with lore "&800000" using string, string, string, leather, leather, leather, lead, leather, lead
on rightclick with a chest:
if tool's name is "&eÇanta":
cancel event
if lore of player's tool contains "&800000":
if {rightclick::%player%} isn't set:
set {rightclick::%player%} to true
send "&7&l» &eÇantanız aktif ediliyor..."
set {_code} to a random number between 10000 and 99999
while {backpack::*} contains {_code}:
set {_code} to a random number between 10000 and 99999
add {_code} to {backpack::*}
wait 10 ticks
remove chest named "&eÇanta" with lore "&800000" from player's inventory
add chest named "&eÇanta" with lore "&8%{_code}%" to player's inventory
send "&7&l» &eÇantanızı aktif edildi."
delete {rightclick::%player%}
else:
if {rightclick::%player%} isn't set:
if player isn't sneaking:
set {backpackopen::%player%} to "%lore of player's tool%"
open chest with 1 row named "&eÇanta" to player
format slot 0 of player with black stained glass pane named " " to act unstealable
format slot 1 of player with black stained glass pane named " " to act unstealable
format slot 2 of player with black stained glass pane named " " to act unstealable
format slot 6 of player with black stained glass pane named " " to act unstealable
format slot 7 of player with black stained glass pane named " " to act unstealable
format slot 8 of player with black stained glass pane named " " to act unstealable
set {c.c.%player%} to true
play sound "entity_horse_armor" with volume 100 and pitch 1 at player for player
wait 1 tick
loop {backpack::%lore of player's tool%::*}:
add loop-value to slot loop-index parsed as integer of current inventory of player
else:
if {bagontheback::%player%} isn't set:
set {bagontheback::%player%} to "%lore of player's tool%"
remove chest named "&eÇanta" with lore "%lore of player's tool%" from player's inventory
send "&7&l» &eÇantayı sırtına taktın"
else:
send "&7&l» &eZaten sırtında çanta var!"
on rightclick with air:
if player is sneaking:
if {bagontheback::%player%} is set:
add chest named "&eÇanta" with lore "%{bagontheback::%player%}%" to player's inventory
delete {bagontheback::%player%}
send "&7&l» &eÇantayı sırtından çıkarttın"
on inventory close:
if {c.c.%player%} is true:
set {c.c.%player%} to false
clear {backpack::%lore of player's tool%::*}
play sound "entity_horse_armor" with volume 100 and pitch 2 at player for player
set {backpack::%{backpackopen::%player%}%::3} to slot "3" parsed as an integer of current inventory of player
set {backpack::%{backpackopen::%player%}%::4} to slot "4" parsed as an integer of current inventory of player
set {backpack::%{backpackopen::%player%}%::5} to slot "5" parsed as an integer of current inventory of player
wait 1 tick
loop {backpack::%{backpackopen::%player%}%::*}:
if loop-value is chest or shulker box:
add loop-value to player's inventory
remove loop-value from {backpack::%{backpackopen::%player%}%::*}
delete {backpackopen::%player%}
command /backpack reset:
permission: op
permission message: "&7&l» &4Bu komutu kullanamazsın!"
trigger:
send "&7&l» &eTüm temizleniyor!"
send "&7&l» &eTemizlenen Backpack idleri&8: &4%{backpack::*}%"
send "&7&l» &eSilinen itemler&8: &4%{backpack::%{backpackopen::%player%}%::*}%"
delete {backpack::%{backpack::*}%::*}
delete {backpack::*}
send "&7&l» &eTüm çanta idleri ve eşyaları silindi!"
Peki bu skript nasıl çalışıyor hemen onu anlatayım. Öncelikle fotoğrafta da görüldüğü gibi 3 ip + 4 deri + 2 kayış ile Bir adet sandık oluşturuyoruz ve idsini 00000 yapıyoruz çünkü idsini oyuncu oluşturacak.
Sandığı oluşturduktan sonra sandığa sağ tıklıyoruz!
Ve böylece çantaya bir kod vermiş oluyoruz! Hiç merak etmeyin sandık stacklı olsa bile yalnızca 1 adet sandığa bu id'yi verecektir. Sandık hemen kullaınma hazır hale gelecektir. Sandık ile sağ tıkladığınız yer neresi olursa eventi iptal edip önünüze 1 satırlık (3 slot ile sınırlı olan skriptte) bir sandık gelecektir buraya istediğiniz itemi koyup alabilirsiniz ve sonrasında ise arkadaşlarınıza bu sandığı atabilirsiniz! Şu anda bu yazıyı okurken "Eğer çantanın içine çantayı koyarsak çanta sonsuza kadar yok olur." dediğinizi duyar gibiyim. Bu çantaya sandık ve shulker kutusu koyduğunuzda ve çantayı kapattığınızda bu eşyalar envanterinize tekrardan gelir. Shulker konulabilir olsaydı oyuncular sonsuz slot yapabilecek olurlardı! Sandık koyulmamasının sebebi ise eşyanın Minecraft id'si sandık olduğu için.
Çanta elimizdeyken eğilerek bir yere sağ tıklarsak çanta sırtımızıa(sözde) gelir, envanterimizden çanta silinir ve tekrardan boş elimiz ile eğilerek bir bloğa tıklarsak çantayı envanterimize alırız. Eğer sırtımızda zaten mevcut bir çanta varsa başka bir çantayı sırtımıza alamayız.
Eğer bir bugg veya çok fazla gereksiz, yanmış olan, dünyadan düşmüş olan, silinmiş olan çantalarınız varsa bu skriptteki tek kod olan "/backpack reset" komutunu kullanınız. Bu komutu kullanırsanız tüm çantalar ve içerisindeki itemler silinir. Mevcut olan kodlu çantalar kullanılmaya devam eder ancak çok düşük bir ihtimalle aynı kodda bir çanta oluşturulursa o çantadan 2 adet yani çoklu kullanım mantığı oluşur bu yüzden bu komutu oldukça az kullanmaya çalışın!
Bazı ufak kısımları internetten araştırıp derledim ancak skript tamamı ile benimdir. Bu benim ilk konum. Skript yararlı olduğu için açtığım bir konu eğer eksiklerim olursa lütfen bildirin.
Ve son olarak diğer olası çanta çeşitleri:
Kod:
on load:
register new shaped recipe for chest named "&eÇanta" with lore "&800000" using string, string, string, leather, leather, leather, lead, leather, lead
on rightclick with a chest:
if tool's name is "&eÇanta":
cancel event
if lore of player's tool contains "&800000":
if {rightclick::%player%} isn't set:
set {rightclick::%player%} to true
send "&7&l» &eÇantanız aktif ediliyor..."
set {_code} to a random number between 10000 and 99999
while {backpack::*} contains {_code}:
set {_code} to a random number between 10000 and 99999
add {_code} to {backpack::*}
wait 10 ticks
remove chest named "&eÇanta" with lore "&800000" from player's inventory
add chest named "&eÇanta" with lore "&8%{_code}%" to player's inventory
send "&7&l» &eÇantanızı aktif edildi."
delete {rightclick::%player%}
else:
if {rightclick::%player%} isn't set:
if player isn't sneaking:
set {backpackopen::%player%} to "%lore of player's tool%"
open chest with 1 row named "&eÇanta" to player
set {c.c.%player%} to true
play sound "entity_horse_armor" with volume 100 and pitch 1 at player for player
wait 1 tick
loop {backpack::%lore of player's tool%::*}:
add loop-value to slot loop-index parsed as integer of current inventory of player
else:
if {bagontheback::%player%} isn't set:
set {bagontheback::%player%} to "%lore of player's tool%"
remove chest named "&eÇanta" with lore "%lore of player's tool%" from player's inventory
send "&7&l» &eÇantayı sırtına taktın"
else:
send "&7&l» &eZaten sırtında çanta var!"
on rightclick with air:
if player is sneaking:
if {bagontheback::%player%} is set:
add chest named "&eÇanta" with lore "%{bagontheback::%player%}%" to player's inventory
delete {bagontheback::%player%}
send "&7&l» &eÇantayı sırtından çıkarttın"
on inventory close:
if {c.c.%player%} is true:
set {c.c.%player%} to false
clear {backpack::%lore of player's tool%::*}
play sound "entity_horse_armor" with volume 100 and pitch 2 at player for player
loop 9 times:
set {backpack::%{backpackopen::%player%}%::%loop-number - 1%} to slot "%loop-number - 1%" parsed as an integer of current inventory of player
wait 1 tick
loop {backpack::%{backpackopen::%player%}%::*}:
if loop-value is chest or shulker box:
add loop-value to player's inventory
remove loop-value from {backpack::%{backpackopen::%player%}%::*}
delete {backpackopen::%player%}
command /backpack reset:
permission: op
permission message: "&7&l» &4Bu komutu kullanamazsın!"
trigger:
send "&7&l» &eTüm temizleniyor!"
send "&7&l» &eTemizlenen Backpack idleri&8: &4%{backpack::*}%"
send "&7&l» &eSilinen itemler&8: &4%{backpack::%{backpackopen::%player%}%::*}%"
delete {backpack::%{backpack::*}%::*}
delete {backpack::*}
send "&7&l» &eTüm çanta idleri ve eşyaları silindi!"
Kod:
on load:
register new shaped recipe for chest named "&eÇanta" with lore "&800000" using string, string, string, leather, leather, leather, lead, leather, lead
on rightclick with a chest:
if tool's name is "&eÇanta":
cancel event
if lore of player's tool contains "&800000":
if {rightclick::%player%} isn't set:
set {rightclick::%player%} to true
send "&7&l» &eÇantanız aktif ediliyor..."
set {_code} to a random number between 10000 and 99999
while {backpack::*} contains {_code}:
set {_code} to a random number between 10000 and 99999
add {_code} to {backpack::*}
wait 10 ticks
remove chest named "&eÇanta" with lore "&800000" from player's inventory
add chest named "&eÇanta" with lore "&8%{_code}%" to player's inventory
send "&7&l» &eÇantanızı aktif edildi."
delete {rightclick::%player%}
else:
if {rightclick::%player%} isn't set:
if player isn't sneaking:
set {backpackopen::%player%} to "%lore of player's tool%"
open chest with 3 row named "&eÇanta" to player
set {c.c.%player%} to true
play sound "entity_horse_armor" with volume 100 and pitch 1 at player for player
wait 1 tick
loop {backpack::%lore of player's tool%::*}:
add loop-value to slot loop-index parsed as integer of current inventory of player
else:
if {bagontheback::%player%} isn't set:
set {bagontheback::%player%} to "%lore of player's tool%"
remove chest named "&eÇanta" with lore "%lore of player's tool%" from player's inventory
send "&7&l» &eÇantayı sırtına taktın"
else:
send "&7&l» &eZaten sırtında çanta var!"
on rightclick with air:
if player is sneaking:
if {bagontheback::%player%} is set:
add chest named "&eÇanta" with lore "%{bagontheback::%player%}%" to player's inventory
delete {bagontheback::%player%}
send "&7&l» &eÇantayı sırtından çıkarttın"
on inventory close:
if {c.c.%player%} is true:
set {c.c.%player%} to false
clear {backpack::%lore of player's tool%::*}
play sound "entity_horse_armor" with volume 100 and pitch 2 at player for player
loop 27 times:
set {backpack::%{backpackopen::%player%}%::%loop-number - 1%} to slot "%loop-number - 1%" parsed as an integer of current inventory of player
wait 1 tick
loop {backpack::%{backpackopen::%player%}%::*}:
if loop-value is chest or shulker box:
add loop-value to player's inventory
remove loop-value from {backpack::%{backpackopen::%player%}%::*}
delete {backpackopen::%player%}
command /backpack reset:
permission: op
permission message: "&7&l» &4Bu komutu kullanamazsın!"
trigger:
send "&7&l» &eTüm temizleniyor!"
send "&7&l» &eTemizlenen Backpack idleri&8: &4%{backpack::*}%"
send "&7&l» &eSilinen itemler&8: &4%{backpack::%{backpackopen::%player%}%::*}%"
delete {backpack::%{backpack::*}%::*}
delete {backpack::*}
send "&7&l» &eTüm çanta idleri ve eşyaları silindi!"
Test Edilen:
Minecraft sürümü: 1.16.x
Skript plugininin sürümü: v2.5.1
SkQuery plugininin Sürümü: v1.9.23
DİP NOT: Eğer dilerseniz "isime özel texture" olayını araştırıp "&eÇanta" isimli eşyanın texturesini değiştirebilirsiniz. Bunu sunucunuzda varsa mevcut mevcut resourcepack dosyanıza ilave edebilir yoksa yeni resourcepack olarak ekleyebilirsiniz