Merhaba Arkadaşlar Sorunumu Özetleyeyim. Cantamda Hazine haritam var. Açtıktan sonra İptal Edemiyorum Bununla ilgili Yardımlarınızı Bekliyorum. Aslında İstedigim Dclick olarak iptali degğilde Scriptin İçinde Dialog var Dialog "Hazineyi bulamadım. Haritayı sil!" Şeklinde , Silinmese Sadece Aramaktan Vazgeçsem ?
2. Sıkıntı ise Hazineyi Buldugumda Sadece Shovel Kullanarak hazineyi açmak istiyorum. Haritaya 2 kez bastıgımda Shovel Kullanman Gerek tarzı bir yazı yazmasını istiyorum.. Script hem Shovel hemde Haritayı Dclick olarak algılıyor. Harita Dclicklendiginde Bir Sorun oluşuyor Bu sebepten Sadece Shovel Kullandırmak istiyorum.

Şimdiden Teşekkür ederim Yardımcı Olan Arkadaşlara..

[itemdef i_kara_hazine_harita]
DEFNAME=i_kara_hazine_harita
NAME=Hazine haritası (Kara)
ID=i_map_rolled
TYPE=T_SCRIPT
FLIP=1
VALUE=30
WEIGHT=0.0

ON=@Create
TAG0.DURUM=Çözülmemiş,0,0
COLOR=07A1

ON=@DESTROY
REF1 <F_ARRAY <TAG0.DURUM>,3>
REF2=<REF1.TAG0.KONTROL>

IF (<CONT>)
IF (<REF1>)
IF (<REF2>)
REF2.REMOVE
ENDIF
REF1.ARROWQUEST
REF1.TAG0.KONTROL=
REF1.TAG0.KARA_HAZINE=
ENDIF
ENDIF

on=@click
REF1 <F_ARRAY <TAG0.DURUM>,3>
REF2=<REF1.TAG0.KONTROL>

IF (<REF2>)
MSG_BEYAZ (<REF2.REGION.NAME> - <REF2.P>)
ENDIF
MSG_KIRMIZI [<F_ARRAY <TAG0.DURUM>,1>]
MSG_BEYAZ <name>
return 1


on=@dclick
REF1 <F_ARRAY <TAG0.DURUM>,3>

REF2=<REF1.TAG0.KONTROL>

IF !(<SRC.ISINPACK <UID>>)
SRC.SYS_KIRMIZI <DEF.UNPACKMSG>
return 1

elseif !(<src.cartography> >= 99.9)
src.sys_kirmizi Haritayı okumak için 99.9 Cartography becerisine sahip olmalısınız.
return 1

elseif !(<src.findid.i_shovel>)
src.sys_kirmizi Yanınızda kürek (shovel) bulunmuyor.
RETURN 1

elseif (<src.tag0.kara_hazine>)
if (<tag0.p>)

ref3=<uid>

foritems 10
if (<baseid> == i_kara_hazine_kontrol)
if !(<tag0.bulan> == <src.uid>)
src.sys_kirmizi Bu hazineyi siz bulmamışsınız.
return 1
endif
endif

if (<baseid> == i_kara_hazine_kontrol)
if (<tag0.bulan> == <src>)
REF1 <SRC.TARG.TAG0.HARITA_SAHIP>

SERV.NEWNPC C_KARA_HAZINE_SAHIBI
NEW.P <P>
NEW.HOME <P>
NEW.FIX
NEW.HOMEDIST {3 5}
NEW.EVENTS +E_KARA_HAZINE_SAHIBI
NEW.EVENTS -E_KARA_HAZINE_KORUMA
NEW.TAG0.HARITA_SAHIP <REF1>
LOCAL.SAHIP <NEW.UID>
LOCAL.LEVEL <R1,2>
LOCAL.COUNT <ARRAYCOUNT <DEF.LEVEL_<DLOCAL.LEVEL>>>
DORAND 3
NEW.EMOTE Kim benim hazineme göz dikti!
NEW.EMOTE Hazineme el sürmeye cesaret edende kim?
NEW.EMOTE Seni pişman edeceğim.
NEW.EMOTE <NEW.NAME> ile baş edemezsin.
NEW.EMOTE Demek hazinemi ele geçirmek istiyorsun <SRC.NAME>.
ENDDO

FOR 1 <R4,7>
//SERV.NEWNPC <f_Array <def.level_<R1,2>>,<R1,33>>
SERV.NEWNPC <F_ARRAY <DEF.LEVEL_<DLOCAL.LEVEL>>,<R1,<DLOCAL.COUNT>>>

NEW.P <P>
NEW.TAG0.SAHIBI <LOCAL.SAHIP>
NEW.HOME <P>
NEW.FIX
NEW.HOMEDIST {3 5}
NEW.EVENTS +E_KARA_HAZINE_KORUMA
SERV.NEWITEM i_npcfix,1,<new>
ENDFOR

REF3.TAG0.DURUM Çözülmüş-Bulunmuş,1,<src>

SRC.EMOTE Hazineyi bulur
SRC.ARROWQUEST

REMOVE
return 1
endif
endif

endfor


src.sys_kirmizi Şu an başka bir hazine haritası ile meşgulsün. Bu hazine <REF1.region.name> civarında biliniyor.
endif

src.f_dialog d_kara_harita
//SRC.ARROWQUEST <TAG0.P>
//SRC.SYS_BEYAZ Hazine <serv.map(<TAG0.P>).region.name> [<TAG0.P>] civarında biliniyor.
return 1

endif

if (<F_ARRAY <TAG0.DURUM>,2> == 1)
if !(<F_ARRAY <TAG0.DURUM>,3> == <src.uid>)
src.sys_kirmizi Bu harita <UID.<F_ARRAY <TAG0.DURUM>,3>.NAME> tarafından çözülmüş.
remove
return 1
ELSE
SRC.SYS_KIRMIZI Dikkat hazineyi bulmak için 2 saatiniz var.
SRC.ARROWQUEST <TAG0.P>
SRC.SYS_BEYAZ Hazine <serv.map(<TAG0.P>).region.name> [<TAG0.P>] civarında biliniyor.
return 1
endif
endif

SRC.TAG0.KARA_HAZINE <UID>
SRC.F_RANDOM_HAZINE_KARA
SRC.EMOTE Haritayı okur
DISPID=i_MAP
UPDATE
RETURN 1

[dialog d_kara_harita]
<DEF.DIALOGSTARTPOSITION>

MAIN 0,0,260,65
TBUTTON_K 20,20,1,Hazineyi bulamadım. Haritayı sil!

[dialog d_kara_harita button]
on=1
REF1=<SRC.TAG0.KARA_HAZINE>
REF2=<SRC.TAG0.KONTROL>
IF (<REF1>)
REF1.REMOVE
ENDIF
IF (<REF2>)
REF2.REMOVE
ENDIF
SRC.SYS_KIRMIZI Harita silindi!
[dialog d_kara_harita button]
on=1
arrowquest

olarak değiştir en alttaki bölümü
Bu Şekilde Questarrow siliniyor Fakat Yeni haritanın Lokasyonunu ogrenemiyorum Okuyamıyorum yani. ilk harita silindigi zaman 2.yi okuyabiliyorum Nasıl yapıcam anlamadım birtürlü
56c kullanıyorsun bu sorun sadece gmlerle ilgili bir durum o haritanın kapanamsı içinde hem oyuncular hemde yetkililer için .arrowquest 0,0,6 yazarak açılan arrowquest'i kapatma işlemini gerçekleştirebilirsiniz bunu kapatmak istediğiniz fonksiyonun yada button altına entegre edebilirsin.
Öncelikle Sunu Söyleyeyim. 56b Kullanıyorum Ve Şuanki sıkıntım ArrowQuest ile alakalı değil Yani Hazine haritam Arrowquesti deaktif ettigimde İptal olmuyor. Yani harita silindigi anda iptal oluyor. Bende ilk yazımda belirttigim gibi Bunu Silmek yerine nasıl Dönüştürebilirim Diye sorumuştum. Yardımcı olmaya çalışıyorsunuz Teşekkür ederim :) Bu sıkıntıyı Çözemeyecegim belliki. Ama Su Shovel Konusunda Yardım Edebilirsiniz.
REF1 <F_ARRAY <TAG0.DURUM>,3>
REF2=<REF1.TAG0.KONTROL>

IF (<REF1>)
IF (<REF2>)
REF2.REMOVE
ENDIF
REF1.ARROWQUEST
REF1.TAG0.KONTROL=
REF1.TAG0.KARA_HAZINE=
ENDIF
ENDIF

dener misin bi. dialoglar biraz farklı kodlanmış denemedim.
Malesef Aynı Şekilde Devam etmekte Sorun
hiç uğraşmasan böyle. bıraksan silse ama yeni harita ekletsen çantasına.

src.newitem i_kara_hazine_harita
new.bounce

ekle en üstte attığın scriptin en altına
Uğraşlarım Sonucunda Sorunu Hallettim Teşekkür ederim Yardımcı Olan ve Olmaya Çalışanlara :)

Bu konu callejon tarafından düzenlendi(2015-03-16 23:47, 9 yıl önce)

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.