21.YILTürkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor. Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor.
  • ANASAYFA
  • ULTIMA ONLINE
  • FORUM
  • DOKÜMAN
  • İNDİR
   Üye ol    Giriş
118
39
  1. Anasayfa
  2. UO Scriptleri
  3. Sphere Scripts
  4. Events
  5. Bandaj sistemi
Mortal

Bandaj sistemi

  • Mortal
  • 2009-11-15 17:35
  • 0 Yorumlar
  • 4640 Görüntüleme
Güncellemeler kısmında kendi eklediğim özellikleri yazıyor onun dışında sıradan bir bandaj sistemi (ayarlar defnameli)


// Healing System v5.0
// Scripted by Fusion (a.k.a. Jdog)
// Güncelleyen Mortal

[comment Healing System v5.0]
güncellemeler :
- bandaj atılırken frozen olma eklendi
- dexe göre delay ayarlandı
- ikinci bandajda atmayı bekleme süreside dexe göre ayarlandı
- zehir tedavi için gerekli skill eklendi
- tedavi yapan/yapılan messageleri eklendi
- sysmessageler türkçeleştirildi

[defname def_bandage]
BloodyBandageAtFail 0 // Bloody bandages at failure or success?
EnableFail 0 // Enable/disable failing.
HealCriminal 1 // Healing criminals is a crime?
HealInterrupt 1 // Healing interruption.
MessageColor 1001 // Color of the sysmessages.
SkillCancel 1 // Cancel used skill(s) when bandage is applied?
TargMaxDistance 3 // Maximum distance from target.
UseFromGround 1 // Can bandages be used from the ground?
SecondBandageTimer 5 // ikinci bandajı atmayı beklemek için gerekli zaman
PoisonSkillAmount 700 // poiyi tedavi için gerekli skill ihtiyacı

[defname def_bandage_resurrect]
EnableResurrect 1 // Allow resurrection?
FirstSkillAmount 800 // First skill amount required for resurrection.
FirstSkillResurrect healing // First skill check for resurrection.
ResurrectConsume 2 // Amount of bandages consumed at resurrection.
ResurrectDelay 0 // Delay for resurrection.
SecondSkillAmount 1000 // Second skill amount required for resurrection.
SecondSkillResurrect anatomy // Second skill check for resurrection.

[typedef t_bandage]
on=@DClick
if (<src.tag0.heal>)
src.sysmessage @<def0.messagecolor>,,1 Bir süre beklemelisiniz.
return 1
endif
if (!<def0.UseFromGround>)
if (<topobj.uid> == <src.uid>)
src.sysmessage @<def0.MessageColor>,,1 Bandajları kullanabilmek için üzerinizde olmalı.
endif
else
target @<def0.MessageColor>,,1 Kimi tedavi etmek istiyorsunuz ?
endif
return 1

on=@Targon_Char
if (<src.targ.distance> <= <def0.TargMaxDistance>)
if (<src.targ.findid(i_rune_poison)>)
if (<src.<def.firstskillresurrect>> < <def0.poisonskillamount>)
src.sysmessage @<def0.messagecolor>,,1 Zehiri tedavi edebilicek kadar bilginiz yok.
return 1
endif
endif
if (<src.targ.flags> & statf_dead)
if (<def0.EnableResurrect>)
if (<src.<def0.FirstSkillResurrect>> >= <def0.FirstSkillAmount>)
if (<src.<def0.SecondSkillResurrect>> >= <def0.SecondSkillAmount>)
if (<src.rescount i_bandage> >= <def0.ResurrectConsume>)
src.consume <def0.ResurrectConsume> i_bandage
serv.newitem = i_memory_healer
new.cont = <src.uid>
new.link = <src.targ.uid>
new.more = 1
new.timer = <def0.ResurrectDelay>
//src.tag.heal 1
//timerf <eval <bandajsuresi> + <def0.Secondbandagetimer>>,src.tag.heal
if (!<new.timer>)
new.trigger = @Timer
endif
if (<def0.HealInterrupt>)
src.events +e_heal_interrupt
endif
endif
else
src.sysmessage @<def0.MessageColor>,,1 Yetenekleriniz bu işlem için yeterli değil.
endif
endif
endif
else
if (<src.targ.hits> < <src.targ.maxhits>)
if (<src.targ.uid> == <src.uid>)
src.sysmessage @<def0.MessageColor>,,1 Kendinize bandaj uyguluyorsunuz.
else
src.sysmessage @<def0.MessageColor>,,1 Seçtiğiniz canlıya bandaj uygulanıyor.
endif
if (<def0.SkillCancel>)
src.action = -1
endif
src.consume 1 i_bandage
src.sound = 058
serv.newitem = i_memory_healer
new.cont = <src.uid>
new.link = <src.targ.uid>
new.timer = <src.bandajsuresi>
SRC.FLAGS=<SRC.FLAGS>|020004
src.tag.heal 1
timerf <eval <bandajsuresi> + <def0.Secondbandagetimer>>,src.tag.heal
if (!<new.timer>)
new.trigger = @Timer
endif
if (<def0.HealInterrupt>)
src.events +e_heal_interrupt
endif
else
src.sysmessage @<def0.MessageColor>,,1 Seçtiğiniz canlı tedaviye gerek duymuyor.
endif
endif
else
src.sysmessage @<def0.MessageColor>,,1 Seçilen canlı sizden uzakta.
endif
return 1

on=@targon_item
return 0


[itemdef i_memory_healer]
id = i_memory
name = Healing Memory Object
weight = 0
type = t_eq_script

on=@Create
attr = attr_invis|attr_decay

on=@Timer
if (<distance <link>> <= <def0.TargMaxDistance>)
if (<cont.tag0.failrate> > 3)
cont.tag0.failrate = 0
else
f_fail_healing
endif
doswitch <more>
begin
if (!<qval <link.flags> & statf_dead ? 1:0>) // Workaround for logical NOT issue.
f_heal
endif
end
begin
if (<link.flags> & statf_dead)
link.resurrect
endif
end
enddo
if (<def0.HealCriminal>)
if (<link.kills> > <serv.murdermincount>) || (<link.flags> & statf_criminal)
cont.criminal = 1
endif
endif
f_gain_healing
else
cont.sysmessage @<def0.MessageColor> Seçilen canlı sizden uzakta.
endif
if (<def0.HealInterrupt>)
cont.events -e_heal_interrupt
endif
remove
return 1


[function f_heal]
if (<link.flags> & statf_poisoned)
if (<link.uid> == <cont.uid>)
link.findid(i_rune_poison).remove
link.message @<def.messagecolor>,,1 Zehiri tedavi eder
link.flags <link.flags>&~04
elif (<link.uid> == !<cont.uid>)
link.findid(i_rune_poison).remove
link.message @<def.messagecolor>,,1 <uid.<cont>.name> tarafından zehir tedavi edildi
link.flags <link.flags>&~04
endif
else
if (<link.uid> == <cont.uid>)
local.heal_val = <eval (<cont.healing> @ 2) / rand(20000,30000)>
link.hits += <local.heal_val>
link.message @<def.messagecolor>,,1 Kendini tedavi eder
link.flags <link.flags>&~04
elif (<link.uid> == !<cont.uid>)
local.heal_val = <eval (<cont.healing> @ 2) / rand(20000,30000)>
link.hits += <local.heal_val>
link.message @<def.messagecolor>,,1 <uid.<cont>.name> tarafından tedavi edilir
link.flags <link.flags>&~04
endif
endif
if (<link.hits> > <link.maxhits>)
link.hits = <link.maxhits>
endif


[function f_fail_healing]
if (<def0.EnableFail>)
local.failchance = <eval rand(1,1100)>
if (<local.failchance> > <cont.healing>)
doswitch <cont.findid(i_memory_healer).more>
cont.sysmessage @<def0.MessageColor>,,1 Bandajlarınız etkili olmadı. Tekrar deneyiniz.
enddo
cont.tag0.failrate += 1
cont.findid(i_memory_healer).remove
cont.flags <cont.flags>&~04
endif
endif


[function f_gain_healing]
if (<cont.healing> < 1000)
cont.tag0.gainchance += 70
if (<cont.tag0.gainchance> > <cont.healing>)
cont.healing += 0.1
cont.tag0.gainchance = 0
endif
endif


[events e_heal_interrupt]
on=@GetHit
if (<R1,4> > 2)
sysmessage @<def0.MessageColor>,,1 Bandaj uygularken elleriniz kaydı, yaranızı iyileştiremediniz.
findid(i_memory_healer).remove
events -e_heal_interrupt
message @089,,1 * Bandajlar yirtilir *
flags <flags>&~04
return 0
endif

[function bandajsuresi]
if (<src.dex> < 26)
local.zaman 7
elif (<src.dex> < 36)
local.zaman 6
elif (<src.dex> < 91)
local.zaman 5
elif (<src.dex> < 101)
local.zaman 4
endif
return <dlocal.zaman>


[eof]

Değerlendirmeler

0 0

Total votes: 0

Üye Ol veya Giriş Yap

Bu içeriğe yorum atmak istiyorsanız hemen üye olun veya giriş yapın.

Discord ile Bağlan
Twitch ile Bağlan
Steam ile Bağlan
Google ile Bağlan

Yorumlar (0)

Henüz yorum yapılmamış
Sadece kayıtlı kullanıcılar yeni yorum yapabilir.


Ultima-Strike Discord
Benzer Sayfalar
  • Pin Sistemi

    2008-10-24 22:28

  • Mf Ev Sistemi

    2008-08-05 12:33

  • Help Sistemi

    2008-10-24 22:29

  • Ban Sistemi

    2007-12-02 12:20

  • Pin Sistemi.

    2009-04-28 11:01



  • Son Forumlar
  • Sayfalar
  • Montana LoveLACe
    Paxhistoria yapay zeka destekli web tabanlı...

    Diğer Oyunlar 1 gün önce

  • boosterx
    UO:Nimloth Yeniden Doğuyor !

    Sunucular 5 gün önce

  • Ege ERKEK
    2025 CS 1.5 TÜRK SUNUCUSU AÇILDI

    Sunucular 1 hafta önce

  • Vanq
    UO Lord British Gazinosu #5 Yayında!

    Duyurular 1 hafta önce

  • Algos
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 1 hafta önce

  • Deathwave
    Valheim’e Ultima Online Modu

    Ultima Online 1 hafta önce

  • Ege ERKEK
    Elit Donanım Modülü (EDM) | Üretimin Doruğu (Yeni...

    Ultima Online 1 hafta önce

  • JoannaLevesQue
    Üyeliği 18 yıl ve üstünde olanlar.

    Ultima Online 2 hafta önce

  • Ege ERKEK
    Kader Masası | Seçimin Yazgını Belirleyecek (Yeni...

    Ultima Online 2 hafta önce

  • Ege ERKEK
    İçerik Kaşifi Aramızda!

    Duyurular 2 hafta önce

  • Venus
    World of UO'da Geçmişe Yolculuk Başladı

    Sunucular 2 hafta önce

  • Nefrelius
    Alcor UO Reborn

    Sunucular 3 hafta önce

  • Ege ERKEK
    Ultima Online'da Alkol Üretme Sistemi!

    Ultima Online 3 hafta önce

  • Lucretius
    Son yıllarda UO tercihiniz: RP, PP (Power Play)...

    Ultima Online 3 hafta önce

  • megastro.uokings
    Nephilim Pvp

    Sunucular 3 hafta önce

  • MMORPG'de Devrim Yaptı: Sınıf Tanımayan Ultima Online!

    2025-12-27 21:13

  • Ultima Online'ın Oynanışını Tamamen Değiştiren Harita Kararı!

    2025-12-23 23:17

  • Yeni Başlayanlar İçin Ultima Online

    2025-11-27 19:07

  • Skill seçimlerinizi planlamak artık çok daha kolay

    Ultima Online Karakter Yapılandırma Aracı Bölümü Açıldı!

    2024-10-31 22:47

  • Ultima Online topluluğu, ClassicUO'nun sadece web client olarak kullanılabileceğinin açıklanmasının ardından tepkili.

    Resmi UO, Oyuncuları İkiye Böldü: Web Client Yeterli mi?

    2024-10-14 17:45

  • Ultima Online, ClassicUO ile resmi işbirliği yapıyor! Performans iyileştirmeleri, geniş oyun penceresi ve daha fazlası geliyor.

    Ultima Online, ClassicUO ile Resmi İşbirliğine Gidiyor

    2024-09-26 14:21

  • Centred#

    2024-07-08 22:50

  • CentrED+ 7.9

    2024-07-08 22:34

Menü
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • İNDİR
  • İLETİŞİM
  • Bağlantılar
  • CS 1.6 indir
  • CS 1.6 Türkçe
  • CS 1.6 Bot
  • CS 1.6 CFG
  • CS 1.6 Rate Ayarları
  • UO Server
  • Ghost Mouse indir
  • FPS Nedir?
  • Ultima Online PVP Server
  • Makroman
  • UO Karakter Yapılandırma
    © 2004 - 2026 Ultima-Strike. Her hakkı saklıdır.