merhaba arkadaslar forumda aradim ama hazine anahtariyla ilgili pek bisey bulamadim Önce Scripti Koyayim..


[ITEMDEF i_hazine_kasa]
NAME=Hazine Kasasi
ID=i_chest_metal_brass
TYPE=CONTAINER_LOCKED
FLIP=1
WEIGHT=1

ON=@Create
COLOR=0482
ATTR=02

ON=@Timer
REMOVE
RETURN 1

ON=@click
message @07a1,,1 [Kilitli]
message @38,,1 [LifelesS PvP Hazine]
message @07a1,,1 <name>
return 1

on=@dclick
if (<type> == container_locked)
src.sysmessage @07a1,,1 Anahtari Hala Bulamadinmi ?
return 1
endif


[ITEMDEF i_hazine_key]
NAME=Hazine Anahtari
ID=i_key_copper
TYPE=t_lockpick
FLIP=1
WEIGHT=1

ON=@Create
COLOR=0490
ATTR=02

ON=@Timer
REMOVE
RETURN 1

ON=@click
message @38,,1 [LifelesS PvP Hazine]
message @07a1,,1 <name>
return 1

on=@dclick
src.sysmessage @07a1,,1 Hangi Kasayi Acalim Abi ?
if (<type> == container_locked)
return 1
endif

[EOF]

Sorunum şu.. Yaratiklari Kestikten Sonra Bir Hazine Kasasi Kilitli halde cıkıyor buraya kadar sorun yok.. kestigim Yaratigin İcinden Anahtari Aliyorum Kasayı acmaya calisiyorum Acamazsin diyor. Bu konuda yardim isteyecektim anahtarin dclick inde bi islem oldugunu biliorum ama yapamadim

Su Key deki Dclick de container_locked var onu t_lockpick yapiyorum ama bu seferde target cıkmıyor Acacagim kasayi secmek icin yani


Normal bi lockpickle acmaya calistigimdada Lockpickleri bunun üzerinde kullanamazsiniz diyor

Bu konu callejon tarafından düzenlendi(2012-09-22 04:02, 11 yıl önce)
anahtar da aynı npc den çıkıyosa ne gerek var kilitli olmasına, uğraşma gel https://www.dot.gen.tr


return 1 leri return 2 yaparsan çalışır bu arada ^^ en sona da endif koy
öteki türlüde yaratigi kesip alip kacarlar hemen cok kolay olur.
yaratıgı kesip anahtarla kasayı da alıp kaçarlar fark ne
Neyse Tesekürler bunu hallettim.. Baska Bi Topic Acmiyim Buraya Yaziyim Öteki Sorunuda, Simdide Bi Vendor sorunum var.. Serverima Bana özel bir Coin Sistemi Yaptim Coin in id si i_lifecoin Assagida verdigim scp de i_gold olanlari i_lifecoin diye cevirdim fakat orda bikactane <src.totalgold>
ibaresi var zannediyorumki bu yuzden hala gold alarak aliyo parayı ama bunu kendi coinime nasil cevirecegim ? <src.totalgold> yerine <src.totallifecoin> gibi biseymi ?

[chardef c_pv]
defname c_pv
name #names_humanmale the Player Vendor
id c_man_nomove
can mt_equip|mt_nonmover
hiredaywage 52
desires i_lifecoin
TSPEECH=s_pv
tevents e_pv

On=@Create
str 9500
dex 0
int 25
invul 1
color colors_skin
speechcolor 0481
food 990
npc 1

itemnewbie random_male_hair
color colors_hair
itemnewbie random_facial_hair
color match_hair
item i_robe
color colors_all
itemnewbie i_backpack
itemnewbie i_bankbox
color 0384
timer 900
attr 014


on=@death
say @03c1,6,1,1 Uzgunum , ben olmuyorum !
hits=<str>
return 1

[speech s_pv]
On=*all go*
return 1

ON=*go*
return 1

on=*all friend*
src.syshata OF
return 1

on=all friend
src.syshata KAPALIDIR!
return 1

on=all attack
return 1

on=kasa

src.bankself

On=fiyat *
if (<src.uid> == <uid.<uid.<tag.stone>.tag.owner>.uid>)
if !(<findlayer(21).findcont(0)>)
message @0481,1,1 Cantamda fiyatlandirilacak mal bulunmuyor.
else
src.tag.fiyatt <strsub 6 100 <args>>
if !(<isnum <eval <src.tag.fiyatt>>>)
src.sysmessage @0481,1,1 Fiyat olarak sadece rakam girebilirsiniz.
return 1
endif
if (<src.tag.fiyatt> < 10)
src.sysmessage @0481,1,1 Bu kadar dusuk bir fiyat giremezsiniz.
return 1
endif
if (<src.tag.fiyatt> > 50000000)
src.sysmessage @0481,1,1 Bu kadar yuksek bir fiyat giremezsiniz.
return 1
endif
src.newitem i_pvf
src.act.morex 1
src.act.equip
endif
endif
return 1

ON=satin al
if !(<findlayer(21).findcont(0)>)
src.sysmessage @0481,1,1 Satilik bir esyam yok.
return 1
endif
src.dialogclose d_pval
src.playervendordialog
src.newitem i_pvf
src.act.morex 2
src.act.tag.morey <uid>
src.act.equip

on=all go
return 1



[itemdef i_pvf]
id i_memory
name vendor ana kontroller
type t_eq_script

on=@create
timer 300

on=@timer
remove
return 1

on=@equip
if (<morex>=1)
target @0481,1,1 <eval <topobj.tag.fiyatt>> olarak fiyatlandiracaginiz esyayi seciniz...
elseif (<morex>=2)
target @0481,1,1 Almak istediginiz esyayi seciniz.
endif

On=@TargOn_Item
if (<morex>=1)
if (<src.targ.tag0.pving>==0)
if ((<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag0.owner>==<src.uid>)&& !(strmatch('<uid.<src.targ.uid>.price>','')))
try uid.<src.targ.uid>.price <eval <topobj.tag.fiyatt>>
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> <eval <topobj.tag.fiyatt>>Lifecoin olarak fiyatlandirildi...
else
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> fiyatlandirilamaz...
endif
else
src.sysmessage @0481,1,1 Bu esya su anda satin aliniyor. . .
return 1
endif
target @0481,1,1 <eval <topobj.tag.fiyatt>> olarak fiyatlandiracaginiz itemi seciniz...
return 1
endif
if (<morex>=2)
src.tag.venal=<uid.<src.targ.uid>>
if !(<uid.<src.targ.uid>.topobj.uid>=<tag.morey>)
src.sysmessage <uid.<src.targ.uid>.topobj.uid>=<tag.morey>
src.sysmessage @0481,1,1 Bu esya bu vendorda satilmiyor.
return 1
endif
if !(0<uid.<src.targ.uid>.price> > 0)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> satilik degil.
return 1
endif
if (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.owner>==<src.uid>)
src.sysmessage @0481,1,1 Vendor zaten size ait.
return 1
endif
if (<uid.<src.targ>.price> > <src.total i_lifecoin>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
if !(strmatch('<src.findid.i_memory.name>','Gump Memory'))
try uid.<src.targ.uid>.sdialog d_pval
try uid.<src.targ.uid>.tag0.pving=1
src.tag0.lastbuy=<src.targ.uid>
endif
return 1
endif


ON=@TARGON_CHAR
src.say abiiii!
if (<morex>=1)
target @0481,1,1 <morey> olarak fiyatlandiracaginiz itemi seciniz...
return 1
endif

[itemdef i_pvi]
id 1
name vendor item
type t_eq_script

on=@create
dispid i_rune_Marker
attr 010

On=@Timer
return 1


[itemdef i_vendoro]
id 01183
name vendor hazirlik tasi
type t_eq_script

on=@create
attr=010
color=055

on=@dclick
if !(0<tag.pv>)
move 0 0 -1
serv.newitem i_pvi
new.p <p>
new.color 065a
tag.pv <new.uid>
endif
remove 1
return 1

[itemdef i_pvi]
id 01183
name Vendor Tasi
type t_eq_script

ON=@create
morex=2

On=@Timer
timer 50000
return 1

on=@dclick
//return 1
if (0<tag.owner>=0<src.uid>)
sdialog d_pv_kiralanmis
return 1
endif
if !(0<tag.vendor>)
sdialog d_pv_kirala
return 1
endif
return 1

on=@click
if !(0<tag.owner>)
message @0481,1,1 Kiralik
else
message @0481,1,1 [<uid.<tag.owner>.name>]
endif
return 1

[dialog d_pval]
0 0
nomove
page 0
resizepic 0 0 5054 800 800
dtext 320 80 55 Satin Al
button 290 80 4029 4030 1 1 1
dtext 320 40 55 Iptal
button 290 40 4029 4030 2 1 2
dtext 50 80 55 Bakiye: <src.totalgold>LifeCoin
tilepic 20 20 <id>
dtext 110 10 55 <amount> <name>
dtext 110 30 55 (<price>LifeCoin)

[dialog d_pval button]
ON=1
src.targ <src.tag.venal>
if !(<price> > 0)
src.sysmessage @0481,1,1 Satilik degil.
return 1
endif
if !(<src.targ.uid>.topobj.uid>=<topobj.uid>)
src.sysmessage @0481,1,1 Esya vendorda degil.
return 1
endif
if (<uid.<src.targ>.price> > <src.totalgold>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
try uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold = <eval (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold>+<uid.<src.targ>.price>)>
src.consumebank <uid.<src.targ>.price>
try uid.<src.targ.uid>.price 0
src.targ.tag0.pving=0
src.act <src.targ.uid>
src.act.bounce

on=2
src.targ.tag0.pving=0


[dialog d_pv_kiralanmis]
90 100
page 1
resizepic 0 0 5054 390 202
dtext 20 20 990 <tag.street> #<eval <tag.no>>
button 340 50 4029 4030 1 1 1
dtext 20 50 990 Dukkan adi:
resizepic 120 43 2620 200 35
dtextentry 127 50 180 20 990 1 <tag.shopname>
dtext 20 82 990 Tahsilat yap. (<eval <tag.gold>>LifeCoin)
button 340 82 4029 4030 1 1 2
dtext 20 114 60 Sureyi 1 Hafta Uzat (10k)
button 340 114 4029 4030 1 1 3
dtext 20 150 990 Kalan Hizmet Suresi: <eval (<timer> / 3600)> saat.



[dialog d_pv_kiralanmis button]
ON=1
tag.shopname <argtxt[1]>
ON=2
src.gold += <eval <tag.gold>>
tag.gold=0
on=3
if (<Src.Totalgold> < 10000)
src.sysmessage @0481,1,1 Yeterli LifeCoin yok.
return 1
else
src.consumebank 10000
timer <eval <timer>+604800>
src.sysmessage @60 Vendorunuzun suresi 7 gun daha uzatilmistir
src.sysmessage @60 $uanda <eval (<timer> / 3600)> saat hizmet verebilir
endif

[dialog d_pv_kirala]
90 100
page 1
resizepic 0 0 5054 390 122
dtext 20 20 990 <tag.street> #<eval <tag.no>>
button 340 50 4029 4030 1 1 1
dtext 20 50 990 1 Haftaligina kirala (200.000LifeCoin)

[dialog d_pv_kirala button]
ON=1
if !(0<tag.vendor>)
if (<src.totalgold> < 125000)
src.sysmessage @0481,1,1 Yeterli paraniz yok.
return 1
endif
if (<uid.<src.tag.vendorvar>.baseid> == i_pvi)
src.sysmessage @0481,1,1 Zaten bir vendorunuz var.
return 1
endif
src.consumebank 200000
timer 24*60*60*7
tag.owner <src.uid>
src.newnpc c_pv
tag.vendor <src.act.uid>
tag.gold=00
if (<morex>=-2)
move -1
else
move 1
endif
src.act.tag.stone <uid>
src.act.tag.owner <src.uid>
src.act.p <p>
src.act.tag.p <p>
src.act.tag.px <p.x>
src.act.tag.py <p.y>
src.act.tag.pz <p.z>
src.act.tag.owner <src.uid>
src.act.findlayer(29).more1 2500
src.act.memorydel <src.uid>
src.act.newitem i_memory
src.act.act.attr 04
src.act.act.more1 04
src.act.act.more2 <serv.time>
src.act.act.morep <src.act.p>
src.act.act.color memory_ipet
src.act.act.timer -1
src.act.act.link <src.uid>
src.act.act.cont <src.act.uid>
src.act.flags <src.act.flags>&statf_pet
if (<morex>=-1)
src.act.flip
src.act.flip
src.act.flip
endif
src.act.update
if (<morex>=-1)
move 1
else
move -1
endif




else
src.sysmessage @0481,1,1 Bu dukkan baskasi tarafindan kiralanmis.
endif
return 1

[EVENTS vendoral]
on=@itemclick
if (<act.topobj.baseid> == c_pv)
if (strmatch('0<act.price>','0'))
act.message @0481,1,1 [satilamaz]
elseif (0<act.price> <= 0)
act.message @0481,1,1 [satilik degil]
else
                        if (<act.price> < 10000)
                        act.price 3000000
                        endif
src.sysmessage @0481,1,1 <act.name> [<act.price> LifeCoin]
if ((<act.type> == t_armor) || (<act.type> == t_armor_leather) || (<act.type> == t_shield) || (<act.type> == t_clothing) || (<act.type> == t_weapon_sword) || (<act.type> == t_weapon_fence) || (<act.type> == t_weapon_mace_staff) || (<act.type> == t_weapon_mace_smith) || (<act.type> == t_weapon_mace_pick) || (<act.type> == t_weapon_bow) || (<act.type> == t_weapon_xbow))
if !(<eval ((<act.more1l> * 100) / <act.more1h>)> == 100)
act.message @0481,1,1 [<act.price> LifeCoin] [%<eval (100 - ((<act.more1l> * 100) / <act.more1h>))> eski]
else
act.message @0481,1,1 [<act.price> LifeCoin]
endif
else
act.message @0481,1,1 [<act.price> LifeCoin]
endif
endif
endif




[EVENTS e_pv]
on=@click
if !(<p.x>=<tag.px>)
go <tag.p>
endif
if !(<p.y>=<tag.py>)
go <tag.p>
endif
src.events +vendoral
//message @0481,6,1 <uid.<tag.stone>.tag.street> #<eval <uid.<tag.stone>.tag.no>>
if (0<uid.<tag.stone>.tag.owner>)
message @0799,,1 [ <uid.<tag.stone>.tag.shopname> ]
        message @0481,6,1,1 [<uid.<uid.<tag.stone>.tag.owner>.name>]
else
message @0481,6,1 KIRALIK
endif
return 1

on=@dclick
if (<SRC.ACCOUNT.PLEVEL> > 2) && !(<SRC.isevent.e_nurihami>)
SRC.sysmessage Stafflar bunu acamazlar, yaptigin islem kaydedildi.
return 1
endif
if (<distance> > 2)
src.syshata Yakinlasin vendora
return 1
endif
if (0<uid.<tag.stone>.tag.owner>)
pack
else
message @0481,1,1 KIRALIK
endif
return 1

On=@Hit
return 1


ON=@Gethit
return 1

ON=@spelleffect
return 1

[function playervendordialog]
src.newitem i_vendordialogkapat
new.equip
new.dclick
return 1

[itemdef i_vendordialogkapat]
name vendor dialogcu
id i_lifecoin
type t_eq_script
weight 0
layer layer_special

On=@Create
attr attr_invis|attr_can_decay
timer 10

On=@Equip
timer 5
src.sysmessage @0481,1,1 5 saniye içinde onaylayınız...
return 1

on=@unequip
try uid.<cont.tag0.lastbuy>.tag0.pving=0
cont.dialogclose d_pval
return 1

On=@Timer
remove
return 1

[function f_fiyatdusur]
targetf fitaci

[function fitaci]
src.sysmessage <eval <argo.tag0.gold>>

Biri Yardim Edicekmi ?

Üye Ol veya Giriş Yap

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