Anasayfa
UO Sunucular
Forumlar
Profilim

Sphere — Orijinal Level ve Experience Sistemi

UO-Developer.com — sphere.ini, ExperienceMode ve level dialog

Merhabalar — Sphere'nin kendi orijinal level sistemini anlatmak istiyorum; umarım sizlere birazcık olsa da yardım edebilirim.

Konu: Experience / Level ayarları + dialog | Seviye: Orta

İlgili: Sphere Level Ayarları | Türkçe Sphere.ini | Sphere 56b'ye Giriş


İçindekiler
  • sphere.ini — Experience ve Level
  • ExperienceMode bayrakları
  • LevelMode ve LevelNextAt
  • Komutlar — .level ve .exp
  • Dialog scripti
  • Kurulum adımları

1. sphere.ini — Experience ve Level

Öncelikle sphere.ini ayarlarını gözden geçirin. Experience and Level system bölümü:

///////
//////// Experience and Level system
/////////////////
// Experience system settings:
//  0001    gain experience in combat
//Skill kasarken
//  0002    gain experience in crafts
//Craft kasarken
//  0004    allow experience to go down
//Oldugunuz zaman exp kaybi
//  0008    limit experience decrease by a range witheen a current level
//Experience sinirlanmasi
//  0010    auto-init EXP/LEVEL for NPCs if not set in @Create
//Otomatik her yaratigi cikardiginiz exp ve level ayarlanmasi
//  0020    allow trigger @ExpChange
//  0040    allow trigger @ExpLevelChange
//gerekli trigger

ExperienceSystem=1
ExperienceMode=01|010|020|040
ExperienceKoefPVM=100
ExperienceKoefPVP=100
LevelSystem=1
LevelMode=1
LevelNextAt=5000

2. ExperienceMode Bayrakları
  • 0001 — Savaşta experience kazanma — combat
  • 0002 — Craft skill kasarken experience
  • 0004 — Experience düşebilir — ölünce exp kaybı
  • 0008 — Mevcut level aralığında exp düşüşünü sınırla
  • 0010 — NPC Create'te exp/level otomatik — yaratık scriptinde Level= / Exp= ile özelleştirme
  • 0020 — ExpChange tetikleyicisine izin ver
  • 0040 — ExpLevelChange tetikleyicisine izin ver

Örnekte 01|010|020|040 kullanılmış; birçok shard 0001|0010|0020|0040 formatını tercih eder — sunucunuzda exp gelmiyorsa bayrak yazımını kontrol edin.

ExperienceKoefPVM — PvM exp çarpanı | ExperienceKoefPVP — PvP exp çarpanı — 100 = varsayılan; yükseltince daha hızlı level.


3. LevelSystem Ayarları
  • LevelSystem=1 — Level sistemini aktif eder
  • LevelMode=1 — Level başına gereken exp artan mod — her level daha fazla exp ister
  • LevelMode=0 — Sabit aralık — her level için aynı exp miktarı — LevelNextAt
  • LevelNextAt=5000 — Bir sonraki level için temel exp eşiği

sphere.ini değişikliğinden sonra sunucuyu yeniden başlatın.


4. Komutlar — .level ve .exp

Sphere'nin kendi orijinal level sistemi aktifken .level ve .exp komutları normalde çalışır. Oyuncu level ve experience değerlerini bu komutlarla okuyup ayarlayabilirsiniz — GM testleri için kullanışlıdır.


5. Dialog Scripti

sphere.ini ayarlarını yaptıktan sonra dialog kısmına geçelim. Aşağıdaki kodu bir script dosyasına ekleyin — örnek sphere_dialog.scp veya özel level_system.scp:

[defname xpsystem]
levelmode = 1
levelat   = 5000

// Levelimizi sorgulamak icin gerekli fonksiyon
[FUNCTION LEVEL]
IF <SRC.ACCOUNT.PLEVEL> < 2
sdialog d_experience_system
endif

[function EXPNEEDED]
if !<def0.levelmode>
  local.nextlevelat = <def.levelat> - (<exp> - (<level> * <def.levelat>))
else
  local.tmp = 0
  FOR 0 <level>
    local.tmp += ((<local._for> + 1) * <def.levelat>)
  endfor
  local.nextlevelat = <local.tmp> - <exp>
endif
return <local.nextlevelat>

// Experience Dialogumuz
[dialog d_experience_system]
0,0
NOMOVE
NOCLOSE
PAGE 0
resizepic 30 0 9270 440 55
resizepic 40 10 3000 420 35

dhtmlgump 45 25 200 20 0 0 <DEF.BFONT_SIZE3><DEF.BR><def.bfont_red>Level: <def.bfont_blue><eval <level>><def.br>
dhtmlgump 105 25 200 20 0 0 <DEF.BFONT_SIZE3><DEF.BR><def.bfont_red>Gereken Exp: <def.bfont_blue><eval <expneeded>><def.br>
dhtmlgump 230 25 200 20 0 0 <DEF.BFONT_SIZE3><DEF.BR><def.bfont_red>Sahip Oldugunuz Exp: <def.bfont_blue><eval <exp>><def.br>
dhtmlgump 400 25 25 20 0 0 <DEF.BFONT_SIzE3><DEF.BR><DEF.BFONT_RED>Kapat<def.br>
button 430 25 037 038 1 0 1

[dialog d_experience_system button]
on 1
dialogclose d_experience_system

Oyuncu oyunda .level yazdığında — account PLevel 2'den küçükse — dialog açılır ve şunları gösterir:

  • Mevcut level
  • Bir sonraki level için gereken exp — EXPNEEDED fonksiyonu
  • Sahip olunan toplam exp

defname xpsystem içindeki levelmode ve levelat değerleri sphere.ini ile uyumlu olmalıdır.


6. Kurulum Adımları
  • sphere.ini — ExperienceSystem=1, LevelSystem=1 ayarla
  • ExperienceMode bayraklarını seç — combat, trigger vb.
  • LevelMode ve LevelNextAt değerlerini belirle
  • Dialog scriptini scripts klasörüne kaydet
  • Sunucuyu yeniden başlat
  • Oyunda .level komutu ile dialogu test et
  • NPC keserek veya .exp ile exp kazanımını doğrula

7. Sık Yapılan Hatalar
  • ExperienceSystem=0 — exp hiç gelmez
  • Yanlış ExperienceMode — combat bayrağı kapalıysa mob kesince exp yok
  • levelat uyumsuz — defname ile sphere.ini LevelNextAt farklı — dialog yanlış exp gösterir
  • LEVEL fonksiyonu PLevel — yalnızca normal oyuncular dialog görür — GM account PLevel 2+ ise açılmaz

8. Kontrol Listesi
  • sphere.ini Experience / Level bölümü düzenlendi
  • ExperienceKoefPVM / PVP ayarlandı
  • xpsystem defname + LEVEL + EXPNEEDED + dialog eklendi
  • Sunucu restart
  • .level dialog testi
  • Exp kazanımı testi

UO-Dev SPONSOR

UO-Dev SPONSOR

Henüz yorum yapılmamış. Yorum yazabilmek için giriş yapmanız gerekir.

Üyelerin oylama ortalaması (10 dışında) :

10.00

Oylar: 2 den itibaren 20-04-2012 02:53