KARDINAL.
Bir Kömür Göründü Kaptanım!
- Katılım
- 16 Ekim 2019
- Mesajlar
- 108
- Elmaslar
- 40
- Puan
- 13.455
- Yaş
- 25
- Konum
- Diyarbakır
- Minecraft
- kardinal2121
Discord:
kardınal2121
Minecraft sunucularınız için özel olarak geliştirilmiş bu Gelişmiş Takas Sistemi, oyuncuların belirli eşya kombinasyonlarını getirerek karşılığında ödül kazanmasını sağlayan esnek ve modüler bir yapıya sahiptir. Yöneticiler tarafından kolayca düzenlenebilen arayüzü sayesinde, yeni bir takas eklemek veya mevcut takası güncellemek son derece pratiktir.Öne Çıkan Özellikler
Dinamik Takas Hesaplama
Oyuncunun envanterindeki eşya miktarına göre otomatik hesaplama yapılır.Oyuncu kaç set takas yapabiliyorsa sistem bunu belirler ve işlemi gerçekleştirir.
Çoklu Eşya Desteği
Bir takas 1, 2 veya 3 farklı eşya isteyebilir.Skript otomatik olarak eksik eşyayı algılar ve oyuncuya bilgilendirme verir.
Ödül Sistemi
Her takasın kendine özgü ödülü bulunur.Takas başarıyla tamamlandığında ödül direkt envantere eklenir.
Kullanıcı Dostu Arayüz
/takasayarla <id> komutu ile özel bir GUI açılır.Sol tarafa istenecek eşyalar, sağ tarafa ödül yerleştirilir.
Menü kapatıldığında sistem otomatik olarak takası kaydeder.
Anti-Exploit Sistemleri
Arayüzde güvenli slot kilitleme, hatalı işlem engelleme ve envanter koruması bulunur.Kullanıcı Komutları
/takaskomut <id>
Belirtilen takas ID’sine göre oyuncunun takas yapmasını sağlar./takasayarla <id> (OP Yetkisi Gerektirir)
Yeni bir takas oluşturmak veya düzenlemek için GUI açar.Arayüz Görünümü
- Slot 0–1–2 → Oyuncunun getirmesi gereken eşyalar
- Slot 3–7 → Dekoratif, tıklanamaz bölgeler
- Slot 8 → Ödül eşyası
Gerekli Skript Sürümü ve Addonlar
Bu sistemin sorunsuz çalışması için önerilen ve gerekli eklentiler:Skript Sürümü
- Skript 2.6+ (1.16–1.20.x uyumludur)
Gerekli Addonlar
Bu skript genellikle şu addonlarla uyumludur:| Addon | Neden Gerekli? |
|---|---|
| SkBee | GUI işlemleri, item NBT, envanter kontrolü için tavsiye edilir |
| SkQuery | Gelişmiş envanter ve item işlemleri |
| skript-reflect (opsiyonel) | Daha gelişmiş yöntemler için |
| SkRayFall (opsiyonel) | Görsel efektler için kullanılabilir |
Not: Script'inizde NBT veya özel event kullanılmadığı için SkQuery tek başına çoğu sunucu için yeterlidir.
Fakat GUI stabilitesi için SkBee şiddetle önerilir.
JavaScript:
command /takaskomut <integer>:
trigger:
set {_items::*} to {takas::%arg-1%::items::*}
loop {_items::*}:
set {_i} to loop-value
set {_a} to amount of {_i}
set {_a2} to amount of {_i} in inventory of player
set {_n} to floor({_a2}/{_a})
add {_n} to {_sort::*}
sort {_sort::*} in ascending order
loop {_sort::1} times:
remove {_items::1} from inventory of player
remove {_items::2} from inventory of player
remove {_items::3} from inventory of player
give player {takas::%arg-1%::odul}
if {_sort::1} > 0:
loop (size of {_items::*}) times:
if loop-iteration > 1:
add "&a, &e%{_sort::1}*(amount of {_items::%loop-iteration%})% &aAdet &e%(name of {_items::%loop-iteration%}) ? type of {_items::%loop-iteration%}%&a" to {_msg::*}
else:
add "&e%{_sort::1}*(amount of {_items::%loop-iteration%})% &aAdet &e%(name of {_items::%loop-iteration%}) ? type of {_items::%loop-iteration%}%&a" to {_msg::*}
set {_m} to ""
loop {_msg::*}:
set {_m} to "%{_m}%%loop-value%"
message "&aBaşarıyla %{_m}% &aDönüştürüldü"
message "&aEnvanterinizie &e%{_sort::1}% &aAdet &e%(name of {takas::%arg-1%::odul}) ? type of {takas::%arg-1%::odul}% &aEklendi"
else:
if (size of {_items::*}) is 1:
message "&cEnvanterinizde En Az &7%amount of {_items::1}% &cAdet &7%(name of {_items::1}) ? type of {_items::1}% &cBulundurmanız Gerekiyor"
if (size of {_items::*}) is 2:
message "&cEnvanterinizde En Az &7%amount of {_items::1}% &cAdet &7%(name of {_items::1}) ? type of {_items::1}%, &7%amount of {_items::2}% &cAdet &7%(name of {_items::2}) ? type of {_items::2}% &cBulundurmanız Gerekiyor"
if (size of {_items::*}) is 3:
message "&cEnvanterinizde En Az &7%amount of {_items::1}% &cAdet &7%(name of {_items::1}) ? type of {_items::1}%, &7%amount of {_items::2}% &cAdet &7%(name of {_items::2}) ? type of {_items::2}%, &7%amount of {_items::3}% &cAdet &7%(name of {_items::3}) ? type of {_items::3}% &cBulundurmanız Gerekiyor"
on inventory click:
set {_n} to name of event-inventory
if {_n} end with "olu takasi ayarla":
set {_id} to {addtakasid::%player%}
if clicked inventory is not inventory of player:
if index of clicked slot is between 3 and 7:
cancel event
on inventory close:
set {_n} to name of event-inventory
if {_n} end with "olu takasi ayarla":
set {_id} to {addtakasid::%player%}
add slot 0 of event-inventory to {_items::*} if slot 0 of event-inventory is not air
add slot 1 of event-inventory to {_items::*} if slot 1 of event-inventory is not air
add slot 2 of event-inventory to {_items::*} if slot 2 of event-inventory is not air
set {takas::%{_id}%::items::*} to {_items::*}
set {takas::%{_id}%::odul} to slot 8 of event-inventory
send "&e%{_id}% &aNolu Takas Kaydedildi"
command /takasayarla <integer>:
permission: op
trigger:
set {_g} to chest inventory with 1 row named "&a%arg-1% &eNolu takasi ayarla"
set slot 3,4,5,6,7 of {_g} to black stained glass pane named "&8" with lore "&6Sola Alinacak itemlar", "&6Saga vereceği item"
set {addtakasid::%player%} to arg-1
open {_g} to player
Son düzenleme:
