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. 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
    • Ultima Online Oyuncu Rehberi

      Ultima Online Oyuncu Rehberi

      Oyunu hakkında tanıcı bilgiler ve ipuçları

    • Ultima Online Server List

      Ultima Online Server List

      Önemli özellikleri ve online oyuncu sayıları

    • Ultima Online Script

      Ultima Online Script

      Sphere, RunUO, Razor scriptleri

    • Ultima Online Forum

      Ultima Online Forum

      UO hakkında görüş alışverişi

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 34
   Üye ol    Giriş
119
  1. UO Scriptleri
  2. Sphere Scripts
  3. Events
  4. Bandaj sistemi
Mortal

Bandaj sistemi

  • Mortal
  • 2009-11-15 17:35
  • 0 Yorumlar
  • 4512 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
  • Arizone
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 18 saat önce

  • Nefrelius
    Alcor UO Reborn

    Sunucular 6 gün önce

  • System_Error
    Client Patlaması

    Ultima Online 1 hafta önce

  • georgm15
    CS2 turnuvaları tartışmalı başladı.

    Counter-Strike 2 1 hafta önce

  • georgm15
    Counter-Strike 1.6 İndir - Tek Link Hızlı-

    Counter-Strike 1 hafta önce

  • Cihangir algın
    Razor Kullanımı

    RunUo Scripting 3 hafta önce

  • Lucretius
    Rampage Pvp

    Sunucular 4 hafta önce

  • Lucretius
    Nephilim Pvp

    Sunucular 4 hafta önce

  • redi4817
    NightUO

    Sunucular 1 ay önce

  • Cengiz MERDİT
    Sphere 56T Nightly Sürümü

    Ultima Online 1 ay önce

  • aygun
    Esgaroth UO

    Sunucular 1 ay önce

  • deonist
    Alysa Pvp ( Aktif ! )

    Sunucular 1 ay önce

  • mthN
    Nebula Uo gerçekleri

    Ultima Online 2 ay önce

  • buffa
    Kullanılması Gereken Rate Ayarları

    Counter-Strike 2 ay önce

  • Lucretius
    Aktif Satılık Server !

    Sunucular 2 ay önce

  • 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

  • Distance(uzaklık) Sorgusu Hakkında

    2024-06-19 22:05

  • UoFiddler

    2024-06-01 02:19

  • UoFiddler ile Map Kopyalama

    2024-05-31 21:17

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 - 2025 Ultima-Strike. Her hakkı saklıdır.