- Katılım
- 9 Nisan 2016
- Mesajlar
- 423
- Elmaslar
- 281
- Puanlar
- 14.270
- Minecraft
- rudde
Özel Ekonomi Sistemi
Merhabalar! Bu konu altında sizin için yeni tasarladığım bir sistemden bahsedeceğim. Bu sistem, oyuna yeni bir para birimi daha ekliyor ve bu para birimini kendisine özel ekonomi marketinde takaslayabilmeyi sunuyor. Ayrıca VIP oyuncularınızı da sevindirebilmeniz adına, bu ekonomi marketinde VIP oyuncularınıza belirlediğiniz kadar indirim sağlayabiliyorsunuz.
VIP oyuncularınızın indirimden faydalanabilmesi için VIP gruplarınıza unknown.vip yetkisini vermeniz yeterli.
Kendinize ya da etkinliklerde birisine özel ekonomi eşyasını tek bir komutla verebilirsiniz: /adminekonomi nick miktar
En performanslı arayüzü TuSKe sağladığı için arayüzleri TuSKe aracılığıyla oluşturdum. TuSKe indirmek için: https://skripttools.net/dl/TuSKe+1.8.3-PikachuPatch-v3.jar
Sistem %100 yerel variable ile tasarlandı. Yani herhangi bir veri kaydetme işlemi olmadığı için tüy kadar hafif çalışıyor.
Bu Skriptte ekonomi marketine eşya eklemek çok kolay. Tek yapmanız gereken komutun altına şunu eklemek:
Kod:
ekonomiArayuz(player, ARAYÜZ NUMARASI, GEREKLİ EKONOMİ EŞYASI, VERİLECEK EŞYA MİKTARI, VERİLECEK EŞYA ADI)
ekonomiArayuz(player, numara, gerekli eşya miktarı, verilecek eşya mik, eşya adı, "büyü adı", büyü seviyesi)
Örnek:
Kod:
ekonomiArayuz(player, 16, 2, 32, diamond)
Ayrıca bu fonksiyon büyülü eşya takaslarını da sağlıyor. Büyülü eşya vermek için örnek:
Kod:
ekonomiArayuz(player, 16, 2, 32, diamond helmet, "protection", 3)
Sistemin çok da olağandışı bir yanı yok. İlgi çekici yanı ise 83 satırla, tek bir fonksiyonla markete eşya eklemesi ve 1.13.x 1.14.x sürümleri de destekleyebiliyor olması. Eğer sunucunuz 1.13 sürümünün altındaysa sadece " ", " " ile lore alt satırı geçişi yerine bunları || şeklinde düzenlemeniz yeterli.
Ayarlar:
Kod:
#unknown.admin > /adminekonomi komutunu yönetir
#unknown.vip > Ekonomi marketini VIP indirimiyle açmayı sağlar.
#Sistemin çalışması için gereken eklenti: TuSKe, Skript
options:
bloklakazanim: stone #Hangi bloğu kırarak bu eşya elde edilebilsin?
esyagorunumu: emerald
esyaismi: "&6Özel Ekonomi"
esyalore: "&eFiyakalı! &7Düşürdüğünüz eşya", "&7ekonomi marketinde takas", "&7ile yeni eşyalar", "&7alabilmenizi sağlar."
komut: /ekonomimarket
indirimOran: 50 #VIP olanlar yüzde kaç indirimle ekonomi marketi görebilsin?
dususorani: 75
mob: zombie #Hangi canavarı öldürerek bu eşya elde edilebilsin?
Kodlar için (Paste code - paste.org):
Kod:
#unknown.admin > /adminekonomi komutunu yönetir
#unknown.vip > Ekonomi marketini VIP indirimiyle açmayı sağlar.
#Sistemin çalışması için gereken eklenti: TuSKe, Skript
options:
bloklakazanim: stone #Hangi bloğu kırarak bu eşya elde edilebilsin?
esyagorunumu: emerald
esyaismi: "&6Özel Ekonomi"
esyalore: "&eFiyakalı! &7Düşürdüğünüz eşya", "&7ekonomi marketinde takas", "&7ile yeni eşyalar", "&7alabilmenizi sağlar."
komut: /ekonomimarket
indirimOran: 50 #VIP olanlar yüzde kaç indirimle ekonomi marketi görebilsin?
dususorani: 75
mob: zombie #Hangi canavarı öldürerek bu eşya elde edilebilsin?
on break of {@bloklakazanim}:
chance of {@dususorani}%:
drop 1 of {@esyagorunumu} named {@esyaismi} with lore lore({@esyalore})
on death of {@mob}:
chance of {@dususorani}%:
drop 1 of {@esyagorunumu} named {@esyaismi} with lore lore({@esyalore})
function ekonomiArayuz(p: player, slotnum: number, gereklimiktar: number, esyamiktari: number, esya: itemtype, enchant: text = "yok", enchantseviye: number = 0):
if {_p} has permission "unknown.vip":
remove (rounded {_gereklimiktar}/100*{@indirimOran}) from {_gereklimiktar}
if {_enchant} is "yok":
make gui slot {_slotnum} of {_p} with {_esyamiktari} of {_esya} with lore lore(" ", "&cBu eşya %{_p}% tarafından Ekonomi", "&cMarketinden elde edilmiş.", " ", "&7&m----------------------------", " ", "&eÜCRET » &f%{_gereklimiktar}% Ekonomi") to run function esyayiAl({_p}, {_gereklimiktar}, {_esyamiktari}, {_esya}, {_slotnum})
else:
#set {_enchantingui} to "%{_enchant}% %{_enchantseviye}%" parsed as enchantment type
make gui slot {_slotnum} of {_p} with {_esyamiktari} of ("%{_esya}% of %{_enchant}% %{_enchantseviye}%" parsed as itemtype) with lore lore(" ", "&cBu eşya %{_p}% tarafından Ekonomi", "&cMarketinden elde edilmiş.", " ", "&7&m------------------------------", " ", "&eÜCRET » &f%{_gereklimiktar}% Ekonomi") to run function esyayiAl({_p}, {_gereklimiktar}, {_esyamiktari}, {_esya}, {_slotnum}, {_enchant}, {_enchantseviye})
function esyayiAl(p: player, gereklimiktar: number, esyamiktari: number, esya: itemtype, slotnum: number, enchant: text = "yok", enchantseviye: number = 0):
loop all items in {_p}'s inventory:
loop-item is {@esyagorunumu}
name of loop-item is {@esyaismi}
add item amount of loop-item to {_gereklilikler}
set {_esyaopt} to "{@esyagorunumu}" parsed as itemtype
if {_gereklilikler} isn't set:
make gui slot {_slotnum} of {_p} with {_esyamiktari} of {_esya} with lore lore(" ", "&cHata oluştu!", "&fEnvanterinizde hiç", "&fürün bulunamadı.", " ", "&7Elde etmek için canavar", "&7öldürebilirsiniz ya da", "&7blok kırabilirsiniz.")
else if {_gereklilikler} is smaller than {_gereklimiktar}:
make gui slot {_slotnum} of {_p} with {_esyamiktari} of {_esya} with lore lore(" ", "&cHata oluştu!", "&fEnvanterinizde yeterince", "&fürün bulunamadı.")
else:
loop all items in {_p}'s inventory:
loop-item is {@esyagorunumu}
name of loop-item is {@esyaismi}
add item amount of loop-item to {_count}
if {_count} is higher than or equal to {_gereklimiktar}:
remove {_gereklimiktar} of loop-item from {_p}
stop loop
set {_esyaopt} to "{@esyagorunumu}" parsed as itemtype
if {_enchant} is "yok":
give {_esyamiktari} of {_esya} with lore lore(" ", "&cBu eşya %{_p}% tarafından Ekonomi", "&cMarketinden elde edilmiş.") to {_p}
else:
give {_esyamiktari} of ("%{_esya}% of %{_enchant}% %{_enchantseviye}%" parsed as itemtype) with lore lore(" ", "&cBu eşya %{_p}% tarafından Ekonomi Marketinden", "&celde edilmiş.") to {_p}
command /adminekonomi <player=%player%> <number=1>:
permission: unknown.admin
permission message: &c&l[!] &cBu komutu kullanabilmek için &funknown.admin &cyetkiniz olmalı.
trigger:
set {_esya} to "{@esyagorunumu}" parsed as itemtype
arg 1 doesn't have enough space for arg 2 of {_esya}:
send "&c&l[!] &cKişinin envanterinde yeterince boş yer yok."
stop
give arg 2 of {_esya} named {@esyaismi} with lore {@esyalore} to arg 1
send "&a&l[!] &f%arg 1% &aadlı kişiye &f%arg 2%x &aekonomi eşyası teslim edildi!"
command {@komut}:
trigger:
open virtual chest with size 2 named " Ekonomi Market" to player
make gui slot 4 of player with "UnknownDev" parsed as offline player's skull named "&eEkonomi Marketi!" with lore lore("", "&7Çevreden toplanılan özel ekonomi", "&7eşyasıyla bu market üzerinde", "&7yeni eşyalar satın alınabilir.", "", "&7VIP sahip oyuncular ise takaslarda", "&e%%{@indirimOran} &7indirim kazanır.")
ekonomiArayuz(player, 10, 5, 1, diamond helmet, "protection", 4)
ekonomiArayuz(player, 11, 7, 1, diamond chestplate, "protection", 4)
ekonomiArayuz(player, 12, 6, 1, diamond leggings, "protection", 4)
ekonomiArayuz(player, 13, 10, 3, villager spawn egg)
ekonomiArayuz(player, 14, 24, 1, diamond pickaxe, "efficiency", 6)
#Arayüzün 15. numarasına 1 tane keskinlik 6 sı olan elmas kılıç ekle (ücret = 2 ekonomi eşyası)
ekonomiArayuz(player, 15, 35, 1, diamond sword, "sharpness", 6)
#Arayüzün 16. numarasına 32 tane elmas ekle (ücret = 2 ekonomi eşyası)
ekonomiArayuz(player, 16, 2, 32, diamond)
#Arayüzün 17. numarasına 16 tane zümrüt ekle (ücret = 3 ekonomi eşyası)
#ekonomiArayuz(player, 17, 3, 16, emerald)
ekonomiArayuz(player, 17, 1, 3, diamond hoe, "sharpness", 2)
function lore(lines: texts) :: texts:
return {_lines::*}
on anvil rename:
name of event-item is {@esyaismi}
message "&c&l[!] &cBu eşya isimlendirilemez."
cancel event
on craft:
name of player's cursor item is {@esyaismi}
message "&c&l[!] &cBu eşya üretimde kullanılamaz."
cancel event
Son düzenleme: