|
Çünkü şuan tek healing sistemim kaldı. Sword/Fence/Archery/MF/tactics bütün hepsinin yetenekleri eşya değerleri zırh değerleri her şey ayarlandı. Sadece bandaj kaldı.
Amazondan beleş server alıp test için sanırım 10 kişiyi kaldırabilecek düzeyde bi bağlantı veriyor 1 sene boyunca onunla küçük çaplı bi savaş mekaniği testi yapıcaz
(magery'e dokunmadım daha spellerin %40 ı değişecek zaten o yüzden ilk başta fiziksel hasar bazlı şeyleri halletmeye calıstım)TAG0.CURE=0
TAG0.IMMEDHEAL=0
TAG0.TIMEDHEAL=1eklersin, garlic bandajında ise;TAG0.CURE=1
TAG0.IMMEDHEAL=0
TAG0.TIMEDHEAL=0Ginseng de;TAG0.CURE=0
TAG0.IMMEDHEAL=1
TAG0.TIMEDHEAL=1Garlic Ginseng de ise;TAG0.CURE=1
TAG0.IMMEDHEAL=0
TAG0.TIMEDHEAL=1Eklersin. Basitçe açıklamam gerekirse TAG0.CURE bandajın poison iyileştirip iyileştirmeyeceğini, TAG0.IMMEDHEAL ise bir bandajın anlık can basıp basmayacağını TAG0.TIMEDHEAL ise bandajın süre bazında can doldurup doldurmayacağını belirtecek olan taglarımız olacak.[TYPEDEF t_bandage]
On=@DClick
TARGET @,,1 Kimi iyileştireceksiniz?
RETURN 1
On=@TargOn_Char
IF (<ARGO.ISPLAYER>) //Target oyuncu ise?
...
ENDIF
RETURN 1oyuncu bandaja tııkladığında hedefi seçtikten sonra eğer TAG0.IMMEDHEAL var ise o kişiye anlık can dolduracaksın, bunu da şöyle bir basit sorguyla yapabilirsin;IF (<dTAG0.IMMEDHEAL>)
IF (<ARG0.FLAGS>&statf_dead) //Eğer anlık can basılan oyuncu ölü ise;
ARGO.RESURRECT //Canlandıralım
ELSE
ARGO.HEAL += <eval <CONT.HEALING> / 100> //Matematiksel olarak, 40.0 Healing anlık 4 can, 100.0 healing anlık 10 can doldurur.
IF <ARGO.HEAL> > <ARGO.MAXHEAL>
ARGO.HEAL=<ARGO.MAXHEAL>
ENDIF
ENDIF
ENDIFSonrasında eğer cure hemen devreye girecekse, altına IF (<dTAG0.CURE>
diyip altında poison vs silersin.ARGO.NEWITEM i_memory_bandage
NEW.TAG0.CURE=<dTAG0.CURE>
NEW.TAG0.TIMEDHEAL=<dTAG0.TIMEDHEAL>
NEW.TAG0.HEAL=<EVAL <CONT.HEALING> / 100> //Sürekli hesap yapmamak için burada bunu tag olarak kayıt edelim, her saniye healing/10
NEW.LINK=<CONT> //Burada bandaj basan oyuncuyu link olarak kayıt ettik eğer kullanmak istersen <LINK.NAME> bandaj basan kişi olarak döner.
NEW.EQUIP
NEW.TIMER=1Itemi verdikten sonra i_memory_bandage benim salladığım bir isim orayı istediğin gibi yaparsın, memory itemimizin altına;On=@Timer
//Bu if sorgusu poison iyileştirme için, burada oturup findid falan fistan zaten herhangi bir healing scriptinden alabilirsin poison iyileştirmeyi şuan itemin adını hatırlamıyorum, ama zaten yeni sürümlerde direkt olarak CONT.POISON=0 poison siliyordu diye anımsıyorum, yani sana kalmış.
IF (<dMOREY> <= 6) //Memory 6 kere tiklenecek.
IF (<dTAG0.CURE>) && (<CONT.NEEDCURE>) //İyileştirme mi yapacak? (CONT.NEEDCURE bir fonksiyon bu fonksiyonda eğer poison var ise 1, yok ise 0 dönmeli ancak dediğim gibi poison ve poison_field itemleri aklımda değil o yüzden sen kendin scripts içinden bulabilirsin. Fonksiyonu basitçe yazacağım ilerde.
...
IF !(<dTAG0.TIMEDHEAL>) //Burda eğer TIMEDHEAL bilgisi yok ise bandaj basmaya devam etmesini engelledik.
REMOVE
RETURN 1
ELSE //Eğer ki süreli can basılacak ise burada morey arttırıp timeri tekrar çağırdık ki işlem devam etsin...
MOREY += 1
TIMER = 1
RETURN 1
ENDIF
ELIF (<dTAG0.TIMEDHEAL>) && (<CONT.FLAGS>&statf_dead) //Basılan oyuncu ölü ise ve bandaj can basan bir bandaj ise;
CONT.RESURRECT //Oyuncuyu canlandıralım
MOREY += 1
TIMER=1
RETURN 1
ELIF (<dTAG0.TIMEDHEAL>) //Cure ihtiyacı yok ise oyuncuya can bastıralım, ancak can bastırmadan önce can basılıp basılmayacağını da kontrol edelim ki garlic bandaj cure ihtiyacı yok görüp can doldurmasın
CONT.HEAL += <dTAG0.HEAL>
IF (<CONT.HEAL> > <CONT.MAXHEAL>)
CONT.HEAL = <CONT.MAXHEAL>
ENDIF
MOREY += 1
TIMER = 1
RETURN 1
ENDIF
ENDIF
CONT.EVENTS -e_bandage //Oyuncudan eventi silelim.
REMOVE
RETURN 1Tabi ben yukarda bütün freeze, stone vs gibi durumları atladım onları yine sen sorgularsın gerekli yerlerde.[FUNCTION NEEDCURE]
IF (<FINDID.(poison spell itemi)>) || (<FINDID.(poison field spell itemi)>) //Gerçi statf_poisoned yada belki <poison> > 0 sorguları iş yapabilir tam anımsamıyorum
RETURN 1
ENDIF
RETURN 0Gelelim vurunca tik sayısının azalmasına, bu en basit kısım sadece oluşturduğuumuz [e_bandage] eventinin içine[EVENTS e_bandage]
On=@GetHit
IF (<FINDID.i_memory_bandage>) //Tiklenen memory itemimiz
FINDID.i_memory_bandage.MOREY += 1 //Morey'i 1 arttırdık böylece tik sayısını 1 azaltımış olduk.
ENDIFAz çok istediklerini açıklamaya çalıştım, bundan sonrası artık senin geliştirmene kalmış bir şey, hemen hemen kod için gerekli her şeyi açıkladım zaten eminim burdan sonrasını kendin de yapabilirsin. Yukarda da dediğim gibi stone, freeze, guild, crim, pk, gibi sorguların hiç birisini yazmadım, bunlar zaten temel sorgular o yüzden o kısmı senin halledeceğini düşünüyorum, ayrıca veterinary için bir şey yazmadığım için olacaksa onu kendin kodlaman gerekecek.

şuan için sadece amacım Elimde bir proje var ve bunu geliştirmek istiyorum diye gösterip, bir iki güzel kod yazabilen arkadaş çekebilmek. Oyun dinamiklerini ben yaratıp eşya databaseini benim üstlenmem kodları ise bir dokuman hazırlıyorum dökümana yeteneklerin nası çalıştığı vs her şey yazıyor/yazmaya devam ediyorum. İstediğim şeyler dediğin gibi basit belki ama bana sürekli yardımcı olabilecek bir arkadaş lazım. yıl 2018 olduğu için uo ile uğraşmak inceden vakit kaybı gibi hissedildiği için (Valla arada ben bile hissediyorum yapıyorumda uğraşıyorumda boşa yapıyorum gibi geliyor diye hissediyorum) elimde en azından kodu yazcak kişiyi teselli edebilecek gözle görülebilecek şeyler yapmak, "bak elimde böyle bir şey var" diyebilmek. Kendi imkanlarımla ve Mirror sağ olsun burada da 1 2 kişi sağ olsun baya yardımcı oldular karşılıksız hepsine de ayrı ayrı teşekkür ederim.
Donate yapanlarda Oyun içi ekstra özellikler + Eşya falan alabiliyor. Ben bu işin market kısmını da araştırdım çok fazla insanlara premium almak için özellik ekleyeceğim. Özel renk boyalar, Kostümler, Bazı küçük oyuncunun progress(gelişimini) destekleyecek eşyalar, Cesetleri lootlayacak (sadece npc cesetleri) petler, Karakter ağırlığını genişletebilecek, Stat skill cap'i 5 8 10 puan yükseltebilecek şeyler satılacak(normalde kasarak da bu stat arttırma özelliğini elde edebileceksin tabiki.) |
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Ultima Destek Smf Forum Kayıt Sistemi Paylaşımı
Son cevap: 11-07 20:37 · Son yazan: illumunati · Mesaj: 3 · Görüntü: 252
|
UO Yardım Alanı | 11-07 20:37 | 3 | 252 | |
|
|
Otomatik Av Sistemi
Son cevap: 07-06 12:33 · Son yazan: mithbar · Mesaj: 8 · Görüntü: 3471
|
Derleme Scriptler | 07-06 12:33 | 8 | 3471 | |
|
|
Hazır sunucu veya script pack hk.
Son cevap: 09-11 20:01 · Son yazan: Aftrosh* · Mesaj: 2 · Görüntü: 1552
|
Sarı Sayfalar | 09-11 20:01 | 2 | 1552 | |
|
|
Copilot ve Sphere Script
Son cevap: 05-04 20:59 · Son yazan: Athynas · Mesaj: 9 · Görüntü: 4982
|
Script Yardımı | 05-04 20:59 | 9 | 4982 | |
|
|
Server Açmak İstiyorum ama 0 Bilgiye sahibim.
Son cevap: 11-03 18:58 · Son yazan: uokings1 · Mesaj: 3 · Görüntü: 2784
|
Sarı Sayfalar | 11-03 18:58 | 3 | 2784 |