UO-Dev Arama

 

İçerde : 1 misafir, 0 üye : --- Sayfalar: 1
Yazar
Skill Title: Expert
Toplam Mesaj: 344
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 33
Beğeni: 8
Mesaj #100958   21-02-2021 00:02 GMT    
     
Merhaba arkadaşlar..
Örnek olarak ben bir NPC yaratmak istedim ama diyelim benim hp 40 iken o NPC'nin 10 kare uzağından geçtim ve bana heal attı.
Bu mümkün mü ?


Yasin

Yazar
Skill Title: Journeyman
Toplam Mesaj: 214
Oyun Tarzı: Pvp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 29
Beğeni: 33
Mesaj #100967   21-02-2021 00:54 GMT    
     
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


Time is ower

Yazar
Skill Title: Expert
Toplam Mesaj: 344
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 33
Beğeni: 8
Mesaj #100973   21-02-2021 09:19 GMT    
     
Alıntı
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


Hocam npcseenewplayer sorgusunu yanlış yaptiğima inaniyorum
Yani bu şekilde 40 Hp'den az ise kendine + 25 heal basacak sanırım

Script Kodu:
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


Yasin

Yazar
Skill Title: Journeyman
Toplam Mesaj: 214
Oyun Tarzı: Pvp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 29
Beğeni: 33
Mesaj #100975   21-02-2021 12:01 GMT    
     
Gönderdiğin scripte göre bi düzenleme yaptım. Şuan kusursuz çalışıyor. Mantık olarak istediğin buydu sanırım.
İlgili kısımları kendine göre ayarlamayı unutma.


Script Kodu:
[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]


Son güncelleme: xrambo tarafından 21-02-2021 12:17 GMT, 6 Gün önce düzenlendi.


Time is ower

Yazar
Skill Title: Expert
Toplam Mesaj: 344
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 33
Beğeni: 8
Mesaj #100978   21-02-2021 12:32 GMT    
     
Alıntı
xrambo :

Hocam dediğin gibi yaptım ama rahip gördüğü anda tetiklemiyor

Script Kodu:
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

Spehere.ini'de bir ayarımı var bilemiyorum ama yabancı sphere wiki forum da" NPC_AI_ALWAYSINT " diye okumuştum
Benim sphere.ini'de

Script Kodu:
NPC_AI_ALWAYSINT 0008


Yasin

Yazar
Skill Title: Journeyman
Toplam Mesaj: 214
Oyun Tarzı: Pvp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 29
Beğeni: 33
Mesaj #100979   21-02-2021 12:50 GMT    
     
NPC_AI_ALWAYSINT olayı çok farklı bişey, npc bir yerden bir yere giderken doğru yolu bulması için kullanıyor. açıkçası çok bilmiyorum o ayarları.

Gördüğü anda tetiklenme olayına gelirsek genel olarak npcler bir anda oyuncuyu göremez. hatta kesin bir mantığı yok. Npc ekran içine girdiğin zaman seni belirli aralıklarla görür.

Oyun içinde xedit yazdığında örn : manyaqq diye bir memory olacak. o seni gördüğü zaman hafızasına alıyor ve ard arda görmesini engelliyor. oradaki memoryi silersen, npc sanki seni hiç görmemiş gibi davranıyor.

https://wiki.spherecommunity.....p?title=@NPCSeeNewPlayer
Buradaki bilgidede eğer bu referansın altına return 1 yaparsan npc hafızaya almıyor. ve sürekli seni görmek istiyor.

hatta mantık olarak şu şekilde yaptım.

Script Kodu:
if ((<src.hits> < 40) && !<src.FINDID i_rahipgordu_mem> && !(<SRC.FLAGS> & STATF_DEAD) )

eğer hp 40 dan düşükse ve sende i_rahipgordu_mem memorysi varsa ve ölü değilsen hp veriyor.
diyelimki oyun içi hitsin 20 ve rahibi gördün sana hp vermez, çünkü sen daha önce heal aldıysan memory süresi bitene kadar ard arda hits basmasın diye.

fakat bu kodlamada zaten npc karakteri hafızasına almaması gerekiyor ( biliyorum konu biraz karıştı. )
son olarak şöyle örnek vereyim. Bir yaratığın yanından geçerken hemen saldırı yapmıyor önce seni farketmesi gerekiyor ya işte bu durumda aynen bu şekilde. seni farketmesi lazım.

Eğer yok görmesin dersen npc yanında bir komut kullandırıp komutu verdiğin anda sana hits verebilir. Buda ilk istediğin olayın mantığına ters geliyor. kolay gelsin


 manyaqq
Time is ower

Yazar
Skill Title: Journeyman
Toplam Mesaj: 223
Oyun Tarzı: Pp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 30
Beğeni: 31
Mesaj #100980   21-02-2021 12:54 GMT    
     
@npcseenewplayer bu kısmı on=@npcseenewplayer yapıp denermisin


 manyaqq
Discord= Zedikus#4967
Script && Mull && Word && Client Arayüz

Yazar
Skill Title: Expert
Toplam Mesaj: 344
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 33
Beğeni: 8
Mesaj #100984   21-02-2021 13:46 GMT    
     
Gerçekten benim gibi acemiler bir an olsun bitsin düşüncesinde olduğu için, mahsuni arkadaşımızın dediği gibi " ON= " kısmını unutmuşum
Çok teşekkür ederim..


Yasin

Yazar
Skill Title: Expert
Toplam Mesaj: 364
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 29
Beğeni: 75
Mesaj #101019   23-02-2021 16:00 GMT    
     
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.


 manyaqq

Yazar
Skill Title: Expert
Toplam Mesaj: 344
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 33
Beğeni: 8
Mesaj #101022   23-02-2021 17:08 GMT    
     
Alıntı
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.


Bilgilendirme için teşekkürler ama hızlı koşan bir playerı görmemesi benimde hoşuma gider
Bir şey soracağım

Script Kodu:
ON=@@npcseenewplayer
if (<src.findid i_rune_poison>)
src.sysmessage @07a1 [ Rahip ] : Zehirli oldugunuz icin size yardım edemem.
RETURN 1

Bu şekilde Player poisonlu ise heal basmayacaktır, değil mi?


Yasin

Yazar
Skill Title: Journeyman
Toplam Mesaj: 214
Oyun Tarzı: Pvp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 29
Beğeni: 33
Mesaj #101023   23-02-2021 18:51 GMT    
     
Eğer aynı kodu kullanıyorsan return 1 en sonda var sorgulardan sonra yani gerek yok.

sadece bu olsa yeterli en tepeye koy

Script Kodu:
if (<src.findid i_rune_poison>)
src.sysmessage @,,1 [ Rahip ] : Zehirli oldugunuz icin size yardım edemem.
endif


Edit : npcseenewplayer triggerinde 2 tane @ var dikkat et


Time is ower

Yazar
Skill Title: Expert
Toplam Mesaj: 344
Oyun Tarzı: Rp
Emulatör: Sphere
Tecrübe: Scripter
Yaş: 33
Beğeni: 8
Mesaj #101025   23-02-2021 20:12 GMT    
     
quote]xrambo :
Eğer aynı kodu kullanıyorsan return 1 en sonda var sorgulardan sonra yani gerek yok.

sadece bu olsa yeterli en tepeye koy

Script Kodu:
if (<src.findid i_rune_poison>)
src.sysmessage @,,1 [ Rahip ] : Zehirli oldugunuz icin size yardım edemem.
endif


Edit : npcseenewplayer triggerinde 2 tane @ var dikkat et


Sağol hocam valla buraya yazarken fazladan @@@@ basmışım, haberim yok


Yasin

Sayfalar: 1


Benzer Konular :

KonularMesajlarSon gönderenTarih
Duello yardımcı olurmsunuz6eywa14-08-2020
Php Bilgisi Olan Yardımcı Olabilir mi ?3Chaplin22-01-2018
Cesed kesme ve lootlama yardımcı olurmusunuz.2Mac-Fusion31-01-2017
Scripting için yardımcı arıyorum1asaga090902-09-2016
Web sitesi kurmahakkında sorularım olcakta yard...7makinalp10-10-2016


Kullanıcı Adı:Parola: Beni Hatırla?


Mythic broadsword sphereserver modernuo runuo ServUO JustUO

Keywords:

ultima online, RunUO, ultima online download, sphere scripting, role play, uo grafik, second age ultima, uo loop, macroman, pvp server, server kurulumu, sphere, multool, ml mulls, 56b 55r 55i, htmlgumps, client 4x, client edit, sphere release, osi, rp server, sunucular, ghost mouse, inside uo, kingdom reborn, stygian abyss, uo nasıl oynanır, mondain's legacy, age of shadows, world build, grandmaster, ultima online pvp, player dosyaları, ultima online indir, frp game, RunUO 1.0.0, razor, uo rice, hue editör, skill tools, ultima online patch, axis, world build, verdata, verdata patcher, map editör, gump editör, mul patcher, aos mulls, scriptler, anim edit, anim publish, hues mul, hosting vps, event dialog, account sistemi, skill gain, static yapımı,

UO-Dev Footer UO-Dev Footer