chrono :
üstadım yazdığınız bölümü paylaşmazsanız hatanızı nasıl tespit edebileceğiz? scriptiniz anlıyorum özeldir ancak hatayı görebilmek için paylaşmazsanız burda kimse yardımcı olamaz size..
Özellik bir şey değil yahu, basit bir region tanımlaması var sadece o yüzden yazılı olarak iletmiştim. Ekliyorum hemen;
Kod:
[regiontype r_specialarea]
ON=@Enter
IF !(<SRC.ACCOUNT.PLEVEL> > 1)
IF !(<src.tag0.sarea>)
src.sys_kirmizi Bu alana üye değilsiniz.
move 1
return 1
ELSEIF (<src.findid i_rune_poison>)
src.sysmessage @1100,,1 Üzerinizde zehir varken giriş yapamazsınız.
move 1
return 1
ELSEIF (<src.hits> < <eval (<src.str>*80)/100>)
src.sysmessage @1100,,1 Hitsiniz %80'nin altında olduğu için köye giremediniz.
move 1
return 1
endif
endif
src.sysmessage @4001,,1 <region.name>'e hoş geldin, bu alanda güvendesin.
src.f_fizzle
src.findid(i_runebookdelay).remove
src.events +e_sareavnt
ON=@Exit
src.events -e_sareavnt
Süre bitince tag0.sarea'yı oyunculardan sildiriyorum. O dakikadan sonra giriş yapılamıyor fakat, oyuncu içeride login olursa alanda kalmaya devam etmekte. Bu sebepten dolayı @step ile yürüme sorgusu yapmak istedim fakat yine olmadı.
M.CANILIK :
1. yol; Areadef altında events kısmı var oraya yeni bir region type belirle. Bu regiontype altında @enter @exit ile giriş çıkışı kontrol edebilirsin.
2. yol; karakter fix eventi altında @regionenter triggerini kullanabilirsin
argo girilen regionu temsil eder
src giren karakter.
Ayrıca player'a tag vermek yerine region'a alanın sahibi olan guildin uidini tag olarak verirsen, giriş yapmak isteyen kişinin guildini sorgulatabilirsin böylelikle karakterlerin üzerindeki bilgi birikmesi 1 satır azalmış olur.
guild uid mantığı daha sağlıklıymış aslında o yönde deneyebilirim. yukarıda region kısmını paylaştım, bu şekilde ilerletmiştim fakat dediğim gibi alanda çıkan biri süresi bittikten sonra login olunca kalmaya devam ettiriyor. bunu sorgulatabileceğim bir trigger var mı? Ya da farklı yol, teşekkürler.