|
İçerde : 1 misafir, 0 üye : ---
|
xrambo :
Tam olarak bilmemekle birlikte şöyle bir fikir verebilirim.
@npcseenewplayer triggeri altında mümkün gibi. Npc nin ekranına girdiğinde bir sorgulama yapılır 40 hp yada altı ite hpsini fuller. Tabi buradaki şey sorguların iyi yapılması gerekiyor. Belirli oyuncuya göre olması lazım. onuda serv.list gibi birşeyle oyuncuyu ekletebilirsin. ref e bağlanabilir. yapılırmı peki ? uğraşmak lazım mümkün duruyor. sadece yöntem algoritmasını iyi kavramak lazım
On=@Click
message @07a1 [ Rahip ]
return 1
On=@Dclick
src.sysmessage @07a1 Sayin <src.name> ben <region.name> mezari Rahip <name>, 15 kare gorus mesafemde 40 hp'den dusuk playerlara bir defaya mahsus + 25 Heal basarim..
return 1
@npcseenewplayer
if (<distance> > 15)
return 1
elseif (<src.hits> == 0)
sayua 0835,6,0,enu * Oluleri diriltemem *
CONT.EFFECT=3,i_fx_sparkle_2,10,20,10
return 1
else if (<src.hits> < 40)
sayua 0835,6,0,enu * Hp yardımı eder *
effect=3,i_fx_heal_effect,6,35,1
sound snd_spell_greater_heal
hits=(<hits> + 25)
return 1
endif
endif
endif
[CHARDEF=c_rahip_mezar]
ID=c_man
name = #NAMES_HUMANMALE
On=@Create
color 083ea
invul = 1
STR = 100
DEX = 80
int = 0
On=@Click
message @,,1 [ Rahip ]
return 1
On=@Dclick
src.sysmessage @,,1 Sayin <src.name> ben <region.name> mezari Rahip <name>, 40 hp'den dusuk playerlara bir defaya mahsus + 50 Heal basarim..
return 1
on=@npcseenewplayer
if ((<src.hits> < 40) && !<src.FINDID i_rahipgordu_mem> && !(<SRC.FLAGS> & STATF_DEAD) )
face <src>
sayua 0835,6,0,enu * Hp yardımı eder *
src.effect=3,i_fx_heal_effect,6,35,1
src.sound snd_spell_greater_heal
src.hits += 50
serv.newitem i_rahipgordu_mem,1,<src>
endif
return 1
[ITEMDEF i_rahipgordu_mem]
ID=i_memory
TYPE=t_eq_script
name=rahip gordu
ON=@Create
TIMER=3600 // kaç saniye sonra tekrar heal alsın ?
ON=@Timer
topobj.sysmessage @,,1 Tekrar rahipten yardım alabilirsiniz.
attr=attr_decay
[EOF]
xrambo :
On=@Click
message @07a1 [ Rahip ]
return 1
On=@Dclick
src.sysmessage @07a1 Sayin <src.name> ben <region.name> mezari Rahip <name>, gorus mesafemde 40 hp'den dusuk playerlara 20 Dk'da bir defa + 50 Heal basarim..
return 1
@npcseenewplayer
if ((<src.hits> < 40) && !<src.FINDID i_rahipgordu_mem> && !(<SRC.FLAGS> & STATF_DEAD) )
face <src>
sayua 0835,6,0,enu * Hp yardımı eder *
src.effect=3,i_fx_heal_effect,6,35,1
src.sound snd_spell_greater_heal
src.hits += 50
serv.newitem i_rahipgordu_mem,1,<src>
endif
return 1
[ITEMDEF i_rahipgordu_mem]
ID=i_memory
TYPE=t_eq_script
name=rahip gordu
ON=@Create
TIMER=1200
ON=@Timer
topobj.sysmessage Tekrar rahipten yardım alabilirsiniz.
attr=attr_decay
NPC_AI_ALWAYSINT 0008
if ((<src.hits> < 40) && !<src.FINDID i_rahipgordu_mem> && !(<SRC.FLAGS> & STATF_DEAD) )
Slothere :
Seenewplayer istediğiniz verimi göstermeyebilir. Misal vendorun görüş alanına girdikten sonra ekrandan çıkmadan tekrar yanına giderseniz stabil olarak işlemi sağlamaz, tekrar ekrandan çıkıp girmeniz gerekebilir.
Tavsiyem vendora belirli aralıklarla timer ile sorgu yapan bir eşya ekleyin, sürekli vendorun birkaç kare çevresini tarasın. Eğer oyuncu varsa vaziyetine göre gereken işlemleri yapsın.
ON=@@npcseenewplayer
if (<src.findid i_rune_poison>)
src.sysmessage @07a1 [ Rahip ] : Zehirli oldugunuz icin size yardım edemem.
RETURN 1
if (<src.findid i_rune_poison>)
src.sysmessage @,,1 [ Rahip ] : Zehirli oldugunuz icin size yardım edemem.
endif
if (<src.findid i_rune_poison>)
src.sysmessage @,,1 [ Rahip ] : Zehirli oldugunuz icin size yardım edemem.
endif
|