Marshall Longcloak - 30-06-2017 18:27 GMT -
Merhaba arkadaşlar bir book aracılığıyla menü açılıyor ve burada party üyelerine toplu healing atan dex, str arttıran büyüler kullanma imkanı veren birşey ile uğraşıyorum. Ama altından kalkamadım işin flags'ları nereye gireceğimi ve sadece parti üyelerine healing'i atmasını nasıl sağlayacağımı bulamadım tamamlayamadım. Bir yardım edermisiniz nasıl toplu olarak sadece party üyelerine healing atmasını sağlayabilirim?
Merhaba arkadaşlar bir book aracılığıyla menü açılıyor ve burada party üyelerine toplu healing atan dex, str arttıran büyüler kullanma imkanı veren birşey ile uğraşıyorum. Ama altından kalkamadım işin flags'ları nereye gireceğimi ve sadece parti üyelerine healing'i atmasını nasıl sağlayacağımı bulamadım tamamlayamadım. Bir yardım edermisiniz nasıl toplu olarak sadece party üyelerine healing atmasını sağlayabilirim?
Kod:
[ITEMDEF PartyHeal]
ID=i_gold
Name= PartyHeal Temp Object
LAYER=65
TYPE=T_EQ_SCRIPT
ON=@Create
Name PartyHeal Temp Object
Attr 0000c
Type T_EQ_Script
LAYER 65
ON=@DCLICK
TARGET
RETURN 1
ON=@TARGON_GROUND
REMOVE
RETURN 1
ON=@TARGON_ITEM
REMOVE
RETURN 1
ON=@TARGON_CHAR
IF !(<SRC.TARG.CANSEELOS>)
SRC.SYSMESSAGE You can't see <SRC.TARG.NAME>
REMOVE
RETURN 1
ENDIF
IF ((<SRC.TARG.HITS>==<SRC.TARG.STR>) || (<SRC.TARG.HITS>><SRC.TARG.STR>))
SRC.SYSMESSAGE The Target is full at Health
REMOVE
RETURN 1
ENDIF
IF (<SRC.TARG.NPC>==0)
SRC.SAY Holy Rain Drops!
SRC.MANA (<SRC.MANA>+-35)
SRC.NEWITEM PartyHeal_Target
SRC.ACT.CONT <SRC.TARG.UID>
SRC.ACT.ATTR 0000c
SRC.ACT.TIMER 3
REMOVE
RETURN 1
ELSE
REMOVE
RETURN 1
ENDIF
ON=@TIMER
REMOVE
RETURN 1
[ITEMDEF PartyHeal_Target]
ID=i_gold
Name= PartyHeal Temp Object
LAYER=65
TYPE=T_EQ_SCRIPT
ON=@Create
Name PartyHeal Temp Object
Attr 0000c
Type T_EQ_Script
LAYER 65
ON=@TIMER
CONT.NEWITEM i_fx_bless_effect
CONT.ACT.P <CONT.P>
CONT.ACT.NUDGEUP 1
CONT.ACT.ATTR 0000e
CONT.ACT.TIMER 1
CONT.SOUND SND_SPELL_STRENGTH
CONT.HITS <CONT.STR>
CONT.UPDATE
REMOVE
RETURN 1
@Spellcast
for 0 <eval <party.members>-1>
ref1 <uid.<src.party.member.<dlocal._for>>>
if (<ref1.distence> < 10)
büyü at
endif
endfor
4s3d3 - 30-06-2017 20:12 GMT -
Burada ki linkte sana yardımcı olur diye umuyorum.
https://wiki.spherecommunity.net/index.php?title=Parties
Son güncelleme: 4s3d3 tarafından 30-06-2017 20:41 GMT tarihinde, önce.
Kod:
@Spellcast
forplayers 10
if (<src.party.issamepartyof <uid>>)
//if (<src.canseelos <uid>>) && !(<uid> == <src.uid>) //Sen hariç diğer party üyelerine görerek atmayı istiyorsan
büyü at
endif
//endif
endfor
Burada ki linkte sana yardımcı olur diye umuyorum.
https://wiki.spherecommunity.net/index.php?title=Parties
Son güncelleme: 4s3d3 tarafından 30-06-2017 20:41 GMT tarihinde, önce.
xwerswoodx - 01-07-2017 18:07 GMT -
Bir zamanlar bir sunucu için yazmıştım, kendine göre uyarlamak için örnek alabilirsin, ek olarak dediğim gibi bunu sadece örnek olarak almanı öneririm, çünkü normal şartlara göre fazla can basıyor ve hits maxhitsi geçince maxhits e geri dönmüyor, yani hata değil bilerek böyle yapılmış şeyler o nedenle sunucuna göre uyarlayacaksan örnek olarak kullan diye yolluyorum sadece.
Diğer yandan 4s3d3'ün verdiği kod üzerinden de geliştirme yapabilirsin, yani tam olarak nasıl yapmak istediğin sana kalmış.
Kod:
[Spell 29]
DEFNAME=s_greater_heal
NAME=Greater Heal
SOUND=snd_SPELL_GREATER_HEAL
RUNES=IVM
CAST_TIME=2.0
//RESOURCES=i_reag_garlic,i_reag_ginseng,i_reag_mandrake_root,i_reag_spider_silk
RUNE_ITEM=i_rune_GREATER_HEAL
SCROLL_ITEM=i_scroll_GREATER_HEAL
FLAGS=SPELLFLAG_GOOD
EFFECT_ID=i_fx_HEAL_EFFECT
EFFECT=80,140
DURATION=0.0
MANAUSE=50
SKILLREQ=MAGERY 120.0
INTERRUPT=100.0,100.0
On=@Effect
IF (<SRC.ISINPARTY>)
FOR 0 <EVAL <SRC.PARTY.MEMBERS> - 1>
REF1=<SRC.PARTY.MEMBER.<dLOCAL._for>>
IF (<SRC.DISTANCE <REF1>> < 25)
IF !(<REF1.FINDID.i_rune_poison>) && !(<REF1.FINDID.i_rune_poison_field>) && (<REF1.HITS> < <REF1.STR>) && (<REF1> != <SRC>)
REF1.EFFECT 3,i_fx_heal_effect,3,25,1
REF1.EMOTE Healed by <SRC.NAME>
LOCAL.RMIN=<EVAL 30 + (<SRC.MAGERY> / 200)>
LOCAL.RMAX=<EVAL 50 + (<SRC.MAGERY> / 50)>
LOCAL.HEAL=<R<dLOCAL.RMIN>,<dLOCAL.RMAX>>
IF (<REF1.FINDLAYER.layer_robe.BASEID> == i_robe_mage_new)
LOCAL.HEAL +=120
ENDIF
REF1.HITS += <dLOCAL.HEAL>
ENDIF
ENDIF
ENDFOR
ENDIF
IF !(<src.findid.i_rune_poison>) && !(<src.findid.i_rune_poison_field>) && (<SRC.HITS> < <SRC.STR>)
SRC.EFFECT 3,i_fx_heal_effect,3,25,1
SRC.EMOTE Healed Himself
LOCAL.RMIN=<EVAL 30 + (<SRC.MAGERY> / 200)>
LOCAL.RMAX=<EVAL 50 + (<SRC.MAGERY> / 50)>
LOCAL.HEAL=<R<dLOCAL.RMIN>,<dLOCAL.RMAX>>
IF (<SRC.FINDLAYER.layer_robe.BASEID> == i_robe_mage_new)
LOCAL.HEAL +=120
ENDIF
SRC.HITS += <R<dLOCAL.RMIN>,<dLOCAL.RMAX>>
ENDIF
RETURN 1
Bir zamanlar bir sunucu için yazmıştım, kendine göre uyarlamak için örnek alabilirsin, ek olarak dediğim gibi bunu sadece örnek olarak almanı öneririm, çünkü normal şartlara göre fazla can basıyor ve hits maxhitsi geçince maxhits e geri dönmüyor, yani hata değil bilerek böyle yapılmış şeyler o nedenle sunucuna göre uyarlayacaksan örnek olarak kullan diye yolluyorum sadece.
Diğer yandan 4s3d3'ün verdiği kod üzerinden de geliştirme yapabilirsin, yani tam olarak nasıl yapmak istediğin sana kalmış.
Marshall Longcloak - 01-07-2017 18:13 GMT -
Tamam teşekkür ediyorum arkadaşlar post üzerinden tekrar iletişime geçerim, üzerinde çalışıp. Hamit sanada skype üzerinden yazdım.
Tamam teşekkür ediyorum arkadaşlar post üzerinden tekrar iletişime geçerim, üzerinde çalışıp. Hamit sanada skype üzerinden yazdım.