Balıkçılık ve Ekonomi Sistemi
Sunucumuzun Hard Economy yapısına uygun olarak geliştirilen bu sistem, sadece balık tutmanızı değil, tuttuğunuz her balıkla bir kariyere sahip olmanızı sağlar. İşte sistemin detayları:
Sistem Nasıl Çalışır?
- Kolay Erişim: Oyun içerisinden /balıkçı komutunu kullanarak satış menüsünü açabilirsiniz.
- Gelişmiş Seviye Sistemi: Sattığınız her balık size +2 XP kazandırır. Her 100 XP topladığınızda seviye atlarsınız.
- Satış Bonusu: Yüksek seviyeli bir balıkçı daha çok kazanır! Her yeni seviye, kazancınıza %2 ek bonus ekler.
- Hızlı Ticaret: Menüde balıkların üzerine Shift + Tıklayarak envanterinizdeki o türdeki tüm balıkları tek seferde satabilirsiniz.
Balık Borsası ve Fiyatlandırma
| Balık Türü | Birim Kazanç | Tecrübe (XP) |
|---|---|---|
| Çiğ Balık | 25 TL | +2 XP |
| Somon Balığı | 50 TL | +2 XP |
| Balon Balığı | 75 TL | +2 XP |
| Palyaço Balığı | 100 TL | +2 XP |
Yönetici Notu: Balıkçılık seviyeniz arttıkça kazancınız otomatik olarak hesaplanır ve bonusunuz bakiyenize eklenir. Menü başlığından ve istatistik panelinden güncel seviyenizi takip edebilirsiniz.
# ======================================================
# Gelişmiş Balıkçı Sistemi (Level & Bonus)
# ======================================================
options:
p: &b&lBALIKÇI &8»
# Temel Fiyatlar
f_cod: 25
f_salmon: 50
f_puffer: 75
f_tropical: 100
variables:
{balikci::xp::%player%} = 0
{balikci::lvl::%player%} = 1
{balikci::toplam::%player%} = 0
command /balıkçı:
aliases: /balikci, /fish
trigger:
set {_gui} to a new chest inventory with 3 rows named "&8Balık Pazarı &8- &7Lvl: %{balikci::lvl::%player%}%"
# --- Kenarlık (Hareketli Görünüm İçin Rastgele Renkler) ---
loop 27 times:
set slot (loop-number - 1) of {_gui} to gray stained glass pane named " "
# --- Oyuncu İstatistikleri ---
set {_bonus} to ({balikci::lvl::%player%} - 1) * 2 # Her seviye %2 bonus verir
set slot 4 of {_gui} to player's skull named "&b%player% &7Bilgileri" with lore "&7Seviye: &e%{balikci::lvl::%player%}%" and "&7XP: &f%{balikci::xp::%player%}%/100" and "&7Toplam Satılan: &f%{balikci::toplam::%player%}%" and "" and "&6Satış Bonusu: &a+%%%{_bonus}%"
# --- Balık Satış Slotları ---
set slot 10 of {_gui} to cod named "&fÇiğ Balık Sat" with lore "&7Birim Fiyat: &a{@f_cod}TL" and "" and "&eTıkla: &71 Adet Sat" and "&6Shift+Tıkla: &7Hepsini Sat"
set slot 12 of {_gui} to salmon named "&6Somon Sat" with lore "&7Birim Fiyat: &a{@f_salmon}TL" and "" and "&eTıkla: &71 Adet Sat" and "&6Shift+Tıkla: &7Hepsini Sat"
set slot 14 of {_gui} to pufferfish named "&eBalon Balığı Sat" with lore "&7Birim Fiyat: &a{@f_puffer}TL" and "" and "&eTıkla: &71 Adet Sat" and "&6Shift+Tıkla: &7Hepsini Sat"
set slot 16 of {_gui} to tropical fish named "&dPalyaço Balığı Sat" with lore "&7Birim Fiyat: &a{@f_tropical}TL" and "" and "&eTıkla: &71 Adet Sat" and "&6Shift+Tıkla: &7Hepsini Sat"
set slot 22 of {_gui} to barrier named "&cMenüyü Kapat"
open {_gui} to player
on inventory click:
name of event-inventory contains "&8Balık Pazarı"
cancel event
event-inventory is not player's inventory
set {_item} to event-item
set {_type} to type of {_item}
if {_type} is cod:
set {_price} to {@f_cod}
else if {_type} is salmon:
set {_price} to {@f_salmon}
else if {_type} is pufferfish:
set {_price} to {@f_puffer}
else if {_type} is tropical fish:
set {_price} to {@f_tropical}
else if {_type} is barrier:
close player's inventory
stop
else:
stop
if click type is left mouse button or left mouse button with shift:
if click type is left mouse button with shift:
set {_amount} to amount of {_type} in player's inventory
else:
set {_amount} to 1
if player has {_amount} of {_type}:
remove {_amount} of {_type} from player's inventory
# Bonus Hesaplama
set {_bonus_yuzde} to ({balikci::lvl::%player%} - 1) * 2
set {_ham_para} to {_amount} * {_price}
set {_ek_para} to ({_ham_para} * {_bonus_yuzde}) / 100
set {_toplam_para} to {_ham_para} + {_ek_para}
add {_toplam_para} to player's balance
# XP ve Seviye Sistemi
add {_amount} to {balikci::toplam::%player%}
add {_amount} * 2 to {balikci::xp::%player%} # Balık başına 2 XP
if {balikci::xp::%player%} >= 100:
subtract 100 from {balikci::xp::%player%}
add 1 to {balikci::lvl::%player%}
send "{@p} &6&lTEBRİKLER! &fBalıkçılık seviyen &e%{balikci::lvl::%player%}% &foldu!" to player
play sound "ui.toast.challenge_complete" with volume 1 to player
send "{@p} &e%{_amount}% &fbalık satıldı. Kazanç: &a%{_toplam_para}%TL &7(Bonus: %{_ek_para}%TL)" to player
play sound "entity.experience_orb.pickup" with volume 0.5 and pitch 1.0 to player
else:
send "{@p} &cÜzerinde satacak balık bulunamadı!" to player
