Pazar vendorunda vendordaki itemlerin üzerinde eğer fiyat girilmediyse [ satilik değil ] veya herhangi bir fiyat konuldugunda [ tag.fiyat ] itemin fiyatını göstermek istiyorum fakat yapamadım bir türlü yardımcı olabilirmisiniz ? teşekkur ederim yardımcı olabilecek herkese

[ITEMDEF i_vendor_kira]
ID=i_grave_stone
NAME=Kiralik Dukkan
TYPE=t_script
DESCRIPTION=Kiralik Vendor

ON=@CREATE
COLOR=789
TAG.kiralik=0
TAG.sahip=0
ATTR attr_decay

ON=@CLICK
message <name>
if (<eval <tag.kiralik>> == 1)
message [Kiralanmis]
else
message [Kiralanmamis]
endif
return 1

ON=@DCLICK
IF ( <DISTANCE> > 2 )
SRC.sysMESSAGE Yeterince yakin deilsiniz!
RETURN 1
ENDIF
SRC.ACT=<UID>
IF !(<eval <SRC.ACT.TAG.kiralik>>)
      SRC.DIALOG d_vendor_intro
	src.tag.dist <src.act.uid>
      RETURN 1
ELSE
   IF (<SRC.ACT.LINK.TAG.sahip>==<SRC.UID>)||(<SRC.ISGM>)
      VAR.LEASE=<eval <SRC.ACT.TIMER>/60>
      VAR.LEASE=<eval <VAR.LEASE>/60>
      SRC.MENU m_vendor_admin
      RETURN 1
   ELSE
   SRC.SYSMESSAGE @38 Bu dukkan ve vendor kiralanmis.
   RETURN 1
   ENDIF
ENDIF
RETURN 1

ON=@TIMER
LINK.REMOVE
LINK=04fffffff
TAG.kiralik=0
TAG.sahip=0
COLOR=789
RETURN 1

[DIALOG d_vendor_intro]
100, 100
PAGE 0
resizepic 81 93 3500 305 126
text 170 103 1153 0
text 131 134 1153 1
button 107 169 2151 2152 1 0 1
text 141 171 1152 2

[DIALOG d_vendor_intro TEXT]
Vendor Kiralama 
Kiralamak icin 60k Gereklidir.
Bir haftaligina vendor kirala.


[DIALOG d_vendor_intro BUTTON]
on=0
src.tag.dist
on=1
IF (<uid.<src.tag.dist>.DISTANCE> > 2 )
SRC.sysMESSAGE Yeterince yakin deilsiniz!
else
if (<src.restest 60000 i_gold>)
	src.tag.dist
	VAR.SIGN=<SRC.ACT>
	SRC.ACT.TAG.kiralik=1
	SRC.ACT.COLOR=141
	SRC.ACT.TAG.sahip=<SRC.UID>
	SRC.ACT.TIMER=60*60*24*7
	src.consume 60000 i_gold
	VAR.SIGN=<SRC.ACT>
	src.newnpc c_pv
	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>
	VAR.VEND=<SRC.ACT.UID>
	src.act.findlayer(29).more1 2500
	SRC.ACT.TAG.sahip=<SRC.UID>
	SRC.ACT=<VAR.SIGN>
	SRC.ACT.LINK=<VAR.VEND>
	src.act.memorydel <src.uid>
	SRC.ACT=<VAR.VEND>
	src.act.newitem i_memory
	SRC.act.ACT.LINK=<SRC.UID>
	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.act.CONT=<VAR.VEND>
	src.act.flags <src.act.flags>&statf_pet
	src.tag.vendor <src.act.uid>
	SRC.ACT=<VAR.SIGN> 
	src.act.update
ELSE
SRC.SYSMESSAGE @48 Kiralamak icin 60k cantanizda olmali.
src.tag.dist
ENDIF
endif
return 1


// **************
// VENDOR CHARDEF
// **************

[chardef c_pv]
defname c_pv
name @0785 [ Pazar Vendoru ]
id c_man
can mt_equip|mt_nonmover
hiredaywage 52
desires i_gold

tspeech pv_spch
tevents e_pv
//tevents vendorfix

On=@Create
str 9500
dex 25
int 25
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
item i_torch_lit
morey -1
itemnewbie i_backpack
itemnewbie i_bankbox
color 0384
timer 900
attr 014
itemnewbie i_pv

// *******
// ITEMLAR
// *******
[itemdef i_pv]
id i_memory
name vendor ana kontroller
type t_eq_script

On=@TargOn_Char
if (<src.targ.uid> == <cont.uid>)
	cont.findlayer(21).open
	target
endif
return 1

On=@TargOn_Item
if (<more1> == 1) // dinamik fiyatlandirma
	if !(<src.uid> == <cont.tag.owner>)
		cont.sayu <src.name>, siz benim isverenim degilsiniz.
	elseif !(<src.targ.topobj.uid> == <cont.uid>)
		cont.sayu Bu esya cantamda degil.
	elseif (<eval <more2>> <= 0)
		src.targ.tag.fiyat 0
		cont.sayu <src.targ.name>: 'satilik degil' olarak isaretlendi.
	else
		src.targ.tag.fiyat <eval <more2>>
		more2 0
		cont.sayu <src.targ.name>: <eval <src.targ.tag.fiyat>> altin.
	endif
elseif (<more1> == 2) // satis
	if !(<src.targ.topobj.uid> == <cont.uid>)
		cont.sayu Bu esya cantamda degil.
	elseif (strmatch('<eval <src.targ.tag.fiyat>>',''))
		cont.sayu Bu esya satilik degil.
	elseif (<eval <src.targ.tag.fiyat>> <= 0)
		cont.sayu Bu esya satilik degil.
	elseif (<src.gp> < <eval <src.targ.tag.fiyat>>)
		cont.sayu Bankanizin en ust kisminda <eval <src.targ.tag.fiyat>> altininiz bulunmuyor.
	else
		src.targ.dialog d_pv_buy
	endif
elseif (<more1> == 3) // para aktarma
	if !(<src.uid> == <cont.tag.owner>)
		cont.sayu <src.name>, siz benim isverenim degilsiniz.
	elseif !(<src.targ.topobj.uid> == <src.uid>)
		cont.sayu Gosterdiginiz nesne sizin uzerinizde degil.
	elseif !(<src.targ.baseid> == i_gold)
		cont.sayu Bu gosterdiginiz altin degil.
	else
		cont.findlayer(29).more1 <eval (<cont.findlayer(29).more1> + <src.targ.amount>)>
		if (<eval (<src.targ.amount> / <cont.hiredaywage>)> > 0)
			cont.sayu <src.targ.amount> altin calisma suremi <eval (<src.targ.amount> / <cont.hiredaywage>)> gun uzatti, tesekkur ederim.
		else
			cont.sayu <src.targ.amount> altin kasama eklendi, tesekkur ederim.
		endif
		src.targ.remove
	endif
endif
return 1

On=@Timer
return 1

// *********
// DIALOGLAR
// *********
[MENU m_vendor_admin]
Kiralik vendor yonetimi.

ON=0 Bir hafta daha kirala. (Kalan sure: <eval <VAR.LEASE>> saat)
IF (<src.restest 60000 i_gold>)
    SRC.CONSUME 60000 i_gold
    SRC.UPDATE
    SRC.TAG.vendtimer <SRC.ACT.TIMER> 
    SRC.ACT.TIMER= <eval <SRC.ACT.TIMER>> + 604800
    src.act.link.message @90 Calisma suremi 1 hafta daha uzattiniz. Tesekkurler.
ELSE
    SRC.SYSMESSAGE @38 Bir hatfa daha calismam icin yeterli paraniz yok!(60k)
ENDIF

ON=0 Vendoru terket.
    SRC.ACT.TIMER 1

ON=0 Banka
    SRC.BANKSELF


[DIALOG d_name_vendor]
0,0
nomove
resizepic 190 175 5054 335 150
resizepic 200 185 3000 315 130
resizepic 220 235 3000 270 22
text 215 200 995 0
text 255 275 0000 1
button 220 275 4005 4006 1 0 1
text 435 275 0000 2
//button 400 275 4005 4006 1 0 0
textentry 225 237 253 25 0 0 3

[DIALOG d_name_vendor TEXT]
Vendorunuzun ismini girin.
Devam
Vazgec
<src.act.link.name>

[DIALOG d_name_vendor BUTTON]
ON=0
ON=1
src.act.link.message @48 Yeni adim <ARGTXT[0]>
SRC.ACT.LINK.NAME <ARGTXT[0]>
RETURN 1

[dialog d_pv_cash]
300,300

resizepic 0 0 5054 200 75
resizepic 5 10 2620 190 35
textentry 15 16 600 20 1152 1 0
button 165 50 4005 4006 1 0 1

[dialog d_pv_cash text]
<eval (<findlayer(29).more1> - 2500)>

[dialog d_pv_cash button]
On=1
if (<eval <argtxt[1]>> <= 0)
	sayu Hmm.. Sanirim tam anlayamadim?
elseif (<eval <argtxt[1]>> > <eval <findlayer(29).more1>>)
	sayu Bu miktar kasamda bulunmuyor.
elseif (<eval (<findlayer(29).more1> - <argtxt[1]>)> < 2500)
	sayu Bu miktari veremeyecegim, kasamda en az 2500 altin kalmali.
elseif (<eval <argtxt[1]>> >= 65000)
	vend_collect <eval <argtxt[1]>>
	sayu <argtxt[1]> altin bankaniza aktarildi.
else
	findlayer(29).more1 <eval (<findlayer(29).more1> - <argtxt[1]>)>
	src.newitem i_gold
	src.act.amount <eval <argtxt[1]>>
	src.act.cont <src.findlayer(29).uid>
	sayu <argtxt[1]> altin bankaniza aktarildi.
endif

[dialog d_pv_buy]
300,300

resizepic 0 0 5054 270 105
htmlgump 10 15 250 60 0 1 0
button 200 80 1153 1155 1 0 1
button 233 80 1150 1152 1 0 0

[dialog d_pv_buy text]
<name>, fiyati: <eval <tag.fiyat>> altin. Bunu satin almak istediginize emin misiniz?

[dialog d_pv_buy button]
On=1
if (strmatch('<eval <tag.fiyat>>',''))
	src.sysmessage 
 degil.
elseif (<eval <tag.fiyat>> <= 0)
	src.sysmessage Bu esya satilik degil.
elseif (<src.gp> >= <eval <tag.fiyat>>)
	src.gpconsume <eval <tag.fiyat>>
	topobj.findlayer(29).more1 (<topobj.findlayer(29).more1> + <eval <tag.fiyat>>)
	cont <src.findlayer(21).uid>
	tag.fiyat
	update
	if ((<baseid> == i_spellbook) || (<baseid> == i_runebook) || (<baseid> == i_necro_reg20) || (<baseid> == i_necro_reg40) || (<baseid> == i_taxi_kit) || (<baseid> == i_dye_tub_furny) || (<dispid> == i_deed) || (<baseid> == i_f_s))
		attr <attr>|attr_newbie
	endif
else
	topobj.sayu Bankanizin en ust kisminda bunu alacak kadar altininiz yok.
endif

// ******
// SPEECH
// ******

[speech pv_spch]
ON=all go
say Ben Burdan KIPRASMAM. Bosuna Heveslenme..
return 1

On=Stormuo
src.sayua @09c1StormUo Ile Sonsuza Dek...

On=bilgi
On=yardim
	if (<src.uid> == <tag.owner>)
		sayu Kullanabileceginiz komutlar: durum, kasa, hasilat, fiyat.
		sayu Belirli bir komut hakkinda bilgi icin 'Komut ?' yazmaniz yeterlidir.
	else
		sayu Uzerime cift tiklayarak veya 'alisveris' komutuyla cantami acabilir, cantamdaki kutu veya torbalara cift tiklayarak iclerine bakabilir, 'buy' veya 'satin al' komutuyla satilik esyalari satin alabilirsiniz.
	endif
	return 1

On=durum*
	if ((<src.uid> == <tag.owner>) || (<src.isgm>))
		if (strmatch('<args>','DURUM ?'))
			sayu Kasamdaki para miktarini ve kasamdaki parayla calisacagim gun sayisini (reel gun) ogrenmek icin kullancaginiz komuttur.
		else
			sayu Kasamdaki <eval <findlayer(29).more1>> altin ile <eval (<findlayer(29).more1> / (<hiredaywage> * 24))> gun daha sizin icin calisacagim.
		endif
	endif
	return 1

On=kasa*
	if (<src.uid> == <tag.owner>)
		if (strmatch('<args>','KASA ?'))
			sayu Satis olmamasi ve kasamdaki paranin azalmasi durumunda kasama yaninizda getireceginiz altini eklemek icin kullanacaginiz komuttur.
		else
			findid.i_pv.more1 3
			findid.i_pv.target
			sayu Kasama yatirmak istediginiz parayi seciniz.
		endif
	endif
	return 1

On=hasilat*
	if (<src.uid> == <tag.owner>)
		if (strmatch('<args>','HASILA ?'))
			sayu Kasamdaki parayi banka hesabiniza aktarmakta kullanacaginiz komuttur. Kasamdaki son 2500 altini aktarmaniz mumkun degildir.
		else
			if (<eval <findlayer(29).more1>> < 2501)
				sayu Kasamda 2500 veya daha az altin var, su durumda size nakit veremem.
			else
				dialog d_pv_cash
			endif
		endif
	endif
	return 1

On=fiyat *
	if (<src.uid> == <tag.owner>)
		if (strmatch('<args>','FIYAT ?'))
			sayu Cantama yerlestirdiginiz esyalari fiyatlandirmakta kullanacaginiz komuttur. Kullanilisi, X'in yerine bir sayi gelecek bicimde 'Fiyat X' seklindedir.
			sayu Satilamaz ibareli esyalari asla fiyatlandiramazsiniz. Satilik haldeki bir esyayi 'satilik degil' hale getirmek icin 0 fiyat vermeniz gereklidir.
		else
			if !(<findlayer(21).findcont(0)>)
				sayu Cantamda fiyatlandirilacak mal bulunmuyor.
			else
				try <args>
			endif
		endif
	endif
	return 1
On=alisveris
	if ((<canseelos>) && (<distance> < 4))
		face
		if (<src.uid> == <tag.owner>)
			sayu Satilacak esyalari buraya koyabilirsiniz.
			pack
		elseif !(<findlayer(21).findcont(0)>)
			sayu Su an satilik malim yok, lutfen daha sonra tekrar geliniz.
		else
			pack
		endif
	else
		src.sysmessage Vendor'a ulasamiyorsunuz.
	endif
	return 1

On=buy
On=satin al
	if (<src.uid> == <tag.owner>)
		sayu Isverenim oldugunuz icin istediginizi alabilirsiniz, para vermenize gerek yok.
	elseif !(<findlayer(21).findcont(0)>)
		sayu Su an satilik malim yok uzgunum.
	elseif (<isgm>)
		sayu Benden birsey satin alamazsiniz.
	else
		findid.i_pv.more1 2
		findid.i_pv.target
	endif
	return 1

On=*
return 1

// *****
// EVENT
// *****

[events e_pv]
On=@GetHit
if !(<src.npc>)
	src.newitem i_killer
	src.act.equip
else
	src.leave 20
endif
return 1

On=@Hit
return 1

On=@HitTry
return 1

On=@Death
hits <str>
return 1

On=@SpellEffect
if (<src.npc>)
	src.leave 20
endif
return 1

On=@ItemEquip
if ((<act.layer> == 1) || (<act.layer> == 2))
	findid.i_torch.equip
	findid.i_torch.dclick
	return 1
endif

on=@skillstart 
if (<action>==skill_stealing)
src.sysmessage @38 Stealing yeteneginizi player vendorlari uzerinde kullanamazsiniz.
src.action=-1 
return 1
endif 

On=@Click
if !(strmatch('<eval 0<tag.px>>','<eval <p.x>>')) || !(strmatch('<eval 0<tag.py>>','<eval <p.y>>')) || !(strmatch('<eval 0<tag.pz>>','<eval <p.z>>'))
	p <tag.p>
	update
	return 1
endif
message <name>
message @0803 <memoryfindtype.memory_ipet.link.name>
return 1

On=@DClick
if !(strmatch('<eval 0<tag.px>>','<eval <p.x>>')) || !(strmatch('<eval 0<tag.py>>','<eval <p.y>>')) || !(strmatch('<eval 0<tag.pz>>','<eval <p.z>>'))
	p <tag.p>
	update
	return 1
endif

if !(<memoryfindtype.memory_ipet>)
	memorydel <src.uid>
	newitem i_memory
	act.attr 04
	act.more1 04
	act.more2 <serv.time>
	act.morep <link.p>
	act.color memory_ipet
	act.timer -1
	act.link <tag.owner>
	act.cont <uid>
	flags <flags>&statf_pet
endif

if (<src.uid> == <tag.owner>)
	src.tag.vendor <uid>
endif

if (<src.isgm>)
	pack
elseif (<src.flags>&statf_dead)
	src.sysmessage Su anki durumuzda bu islemi gerceklestiremezsiniz.
elseif ((<canseelos>) && (<distance> < 4))
	face
	if (<src.uid> == <tag.owner>)
		sayu Satilacak esyalari buraya koyabilirsiniz.
		pack
	elseif !(<findlayer(21).findcont(0)>)
		sayu Su an satilik malim yok, lutfen daha sonra tekrar geliniz.
	else
		pack
	endif
else
	src.sysmessage Vendor'a ulasamiyorsunuz.
endif
return 1

On=@EnvironChange
if (<flags>&statf_war)
	flags <flags>&~statf_war
	update
endif
food 990
p <tag.p>
tag.p <p>
tag.px <p.x>
tag.py <p.y>
tag.pz <p.z>

// *********************
// ALTINSAL FONKSIYONLAR
// *********************

[function fiyat]
if (<eval <argn>> > 2000000)
	sayu Tek bir mali 2 milyon altinin uzerinde fiyatla satmam yasalara aykiridir.
else
	findid.i_pv.more1 1
	findid.i_pv.more2 <eval <argn>>
	findid.i_pv.target
endif

[function vend_collect]
var.vendorcash <eval (<argn> - 65000)>
findlayer(29).more1 <eval (<findlayer(29).more1> - 65000)>
src.newitem i_gold
src.act.amount 65000
src.act.cont <src.findlayer(29).uid>
if (<eval <var.vendorcash>> >= 65000)
	vend_collect <eval <var.vendorcash>>
elseif (<eval <var.vendorcash>> > 0)
	findlayer(29).more1 <eval (<findlayer(29).more1> - <var.vendorcash>)>
	src.newitem i_gold
	src.act.amount <eval <var.vendorcash>>
	src.act.cont <src.findlayer(29).uid>
	var.vendorcash
else
	var.vendorcash
endif

[function packo] // (special thx to laroux below this line)
try src.tag.<uid> <rescount>
packo_loop <args>

[function packo_loop]
if (<eval <src.tag.<uid>>> > 0)
	try src.tag.<uid> <eval (<src.tag.<uid>> - 1)>
	//if (strmatch('<findcont.<eval <src.tag.<uid>>>.type>','t_container'))
	//	try findcont.<eval <src.tag.<uid>>>.packo <args>
	//else
		try findcont.<eval <src.tag.<uid>>>.<args>
	//endif
	packo_loop <args>
else
	try src.tag.<uid>
endif

[function gp]
var.gp 0
//findlayer(21).packo gp_ctrl
findlayer(29).packo gp_ctrl
return <eval <var.gp>>

[function gp_ctrl]
if (strmatch('<baseid>','i_gold'))
	var.gp <eval (<var.gp> + <amount>)>
endif

[function gpconsume]
var.gp <argn>
//findlayer(21).packo gpconsume_ctrl <argn>
findlayer(29).packo gpconsume_ctrl <argn>
return 1

[function gpconsume_ctrl]
if ((<var.gp> > 0) && (strmatch('<baseid>','i_gold')))
	if (<amount> > <eval (<var.gp>)>)
		amount <eval (<amount> - <var.gp>)>
		var.gp 0
	else
		var.gp <eval (<var.gp> - <amount>)>
		remove
	endif
endif

[function evl]

sysmessage Evaluating [0<args>]: <eval 0<args>>.
return <valstr 0<args>>

[eof]args>>

[eof]sage @90 <name>
return 1

ON=@DCLICK
SRC.ACT=<UID>

IF !(<eval <SRC.ACT.TAG.kiralik>>)
      SRC.DIALOG d_vendor_intro
      RETURN 1
ELSE
   IF (<SRC.ACT.LINK.TAG.sahip>==<SRC.UID>)||(<SRC.ISGM>)
      VAR.LEASE=<eval <SRC.ACT.TIMER>/60>
      VAR.LEASE=<eval <VAR.LEASE>/60>
      SRC.MENU m_vendor_admin
      RETURN 1
   ELSE
   SRC.SYSMESSAGE @38 Bu dukkan ve vendor kiralanmis.
   RETURN 1
   ENDIF
ENDIF
RETURN 1

ON=@TIMER
LINK.REMOVE
LINK=04fffffff
TAG.kiralik=0
TAG.sahip=0
COLOR=000d1
RETURN 1


[DIALOG d_vendor_intro]
100, 100
PAGE 0
resizepic 81 93 3500 305 126
text 170 103 1153 0
text 131 134 1153 1
button 107 169 2151 2152 1 0 1
text 141 171 1152 2

[DIALOG d_vendor_intro TEXT]
Vendor Kiralama 
Kiralamak icin 60k Gereklidir.
Bir haftaligina vendor kirala.


[DIALOG d_vendor_intro BUTTON]
on=1
IF (<eval <SRC.BANKBALANCE>+<SRC.FINDLAYER(21).FINDTYPE(i_GOLD).AMOUNT>> >=90000)
VAR.SIGN=<SRC.ACT>
SRC.ACT.TAG.kiralik=1
SRC.ACT.COLOR=0484
SRC.ACT.TAG.sahip=<SRC.UID>
SRC.ACT.TIMER=60*60*24*7
VAR.SIGN=<SRC.ACT>
SRC.NEWNPC { c_kiralik_vendor 1 c_kiralik_vendor_f 1 }
SRC.ACT.P <SRC.P>
VAR.VEND=<SRC.ACT.UID>
SRC.ACT.findlayer(layer_bankbox).more1=500
SRC.ACT.TAG.sahip=<SRC.UID>
SRC.ACT=<VAR.SIGN>
SRC.ACT.LINK=<VAR.VEND>

SRC.ACT=<VAR.VEND>
SRC.NEWITEM=i_memory
SRC.ACT.COLOR=memory_ipet
SRC.ACT.LINK=<SRC.UID>
SRC.ACT.LAYER=layer_special
SRC.ACT.CONT=<VAR.VEND>
SRC.CONSUMEBANK 60000 i_gold
SRC.CONSUMEBANK 30000 i_gold
SRC.UPDATE
SRC.ACT=<VAR.SIGN> 
SRC.MENU m_vendor_admin
RETURN 1
ELSE
SRC.SYSMESSAGE @48 Kiralamak icin 90k bankanizda olmali.
ENDIF

[MENU m_vendor_admin]
Kiralik vendor yonetimi.

ON=0 Satilacak esyalar.
SRC.ACT.LINK.FINDLAYER(layer_vendor_stock).OPEN
src.act.link.message @50 Satilacak esyalari buraya koyun.
src.act.link.message @50 Esyalarin fiyatini ayarlamak icin "fiyat xxx" yazin. (xxx=fiyat)

ON=0 Bir hafta daha kirala. (Kalan sure: <eval <VAR.LEASE>> saat)
IF (<eval <SRC.BANKBALANCE>+<SRC.FINDLAYER(21).FINDTYPE(i_GOLD).AMOUNT>> >=90000)
    SRC.CONSUMEBANK 60000 i_gold
    SRC.CONSUMEBANK 30000 i_gold
    SRC.UPDATE
    SRC.ACT.TIMER=60*60*24*7
    src.act.link.message @90 Calisma süremi 1 hafta daha uzattiniz. Tesekkurler.
ELSE
    SRC.SYSMESSAGE @38 Bir hatfa daha calismam icin yeterli paraniz yok!
ENDIF

ON=0 Vendoru terket.
    SRC.ACT.TIMER 1

ON=0 Banka
    SRC.BANKSELF


[DIALOG d_name_vendor]
0,0
nomove
resizepic 190 175 5054 335 150
resizepic 200 185 3000 315 130
resizepic 220 235 3000 270 22
text 215 200 995 0
text 255 275 0000 1
button 220 275 4005 4006 1 0 1
text 435 275 0000 2
button 400 275 4005 4006 1 0 0
textentry 225 237 253 25 0 0 3

[DIALOG d_name_vendor TEXT]
Vendorunuzun ismini girin.
Devam
Vazgec
<src.act.link.name>

[DIALOG d_name_vendor BUTTON]
ON=0
ON=1
src.act.link.message @48 Yeni adim <ARGTXT[0]>
SRC.ACT.LINK.NAME <ARGTXT[0]>
RETURN 1

[CHARDEF c_kiralik_vendor]
NAME Kiralik Vendor
ID=C_MAN
DESIRES=i_gold,e_notoriety
AVERSIONS=t_TRAP,t_eerie_stuff

TSPEECH=spk_human_prime
TSPEECH=spk_shopkeep
TSPEECH=spk_needs
TSPEECH=spk_human_default

TEVENTS=e_Human_HearUnk
TEVENTS=e_Human_ConvInit
TEVENTS=e_Human_Needs
TEVENTS=e_Human_Greet
TEVENTS=e_Human_Space
TEVENTS=e_Human_Refuse
TEVENTS=e_Human_Environ
tevents e_no_pvp

ON=@Create
NPC=brain_vendor
COLOR=colors_skin
speechcolor 0481
FLAGS=028000005
NEED=i_gold

STR={66 80}
DEX=90
INT={66 80}

ITEMNEWBIE=random_male_hair
COLOR=colors_hair
ITEMNEWBIE=random_facial_hair
COLOR=match_hair

ITEMNEWBIE=i_shirt_plain
COLOR=colors_all
ITEMNEWBIE=random_pants
COLOR=colors_all
ITEMNEWBIE=random_shoes
COLOR=colors_neutral

ON=@CLICK
message @09c1 * <memoryfindtype.memory_ipet.link.name> *
Message @75 <NAME>
RETURN 1

[CHARDEF c_kiralik_vendor_f]
NAME=@27 Kiralik Vendor
ID=C_WOMAN
CAN=0
FOODTYPE=

TSPEECH=spk_human_prime
TSPEECH=spk_shopkeep
TSPEECH=spk_needs
TSPEECH=spk_human_default

TEVENTS=e_Human_HearUnk
TEVENTS=e_Human_ConvInit
TEVENTS=e_Human_Needs
TEVENTS=e_Human_Greet
TEVENTS=e_Human_Space
TEVENTS=e_Human_Refuse
TEVENTS=e_Human_Environ
TEVENTS=e_no_pvp

ON=@Create
NPC=brain_vendor
speechcolor 0481
COLOR=colors_skin
FLAGS=028000001
NEED=i_gold

STR={66 80}
DEX=90
INT={66 80}


ITEMNEWBIE=random_female_hair
COLOR=colors_hair
ON=@CLICK
message @90 * <memoryfindtype.memory_ipet.link.name> *
Message @75 <NAME>
RETURN 1

ON=@NPCRestock
ITEM=i_shirt_plain
COLOR=colors_all
ITEM=random_skirt
COLOR=colors_all
ITEM=random_shoes
COLOR=colors_neutral
ITEM=random_coin_purse

[EVENTS e_no_pvp]
ON=@SPELLEFFECT
SRC.SYSMESSAGE @38 Vendorlara buyu atamazsiniz!
RETURN 1

ON=@GETHIT
SRC.SYSMESSAGE @38 Vendorlara atak veremezsiniz!
RETURN 1

[FUNCTION consumebank]
act=<SRC.FINDLAYER(layer_bankbox).uid> 
act.layer=layer_pack 
act.type=t_container 
act.equip 
src.consume <args> 
act.layer=layer_bankbox 
act.type=t_eq_bank_box 
act.equip 

act.equip 

ip 

ct.type=t_eq_bank_box 
act.equip 

.layer=layer_bankbox 
act.type=t_eq_bank_box 
act.equip
fix.scp'de On=@ItemClick trigger'ının altına aşağıdaki kodu girerseniz istediğiniz sonucu elde edebilirsiniz. Bazı yerleri kendinize göre ayarlamanız gerekebilir. (kendi scp'inize göre)

if (<act.topobj.id> == c_pv)
	if (strmatch('<act.value>','0'))
		act.message @07a1,,1 [satılamaz]
	elseif (<act.price> <= 0)
		act.message @38,,1 [satılık değil]
	else
		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 @07a1,,1 [<act.price> gp]
			else
				act.message @07a1,,1 [<act.price> gp]
			endif
		else
			act.message @07a1,,1 [<act.price> gp]
		endif
	endif
endif
endif
olmadı :(

if (<act.topobj.id> == c_pv)
if (<eval <tag.fiyat>> <= 0)
act.message @0481,,1 [Satilik degil]
else
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 [<act.tag.fiyat> Sp]
else
act.message @0481,,1 [<act.tag.fiyat> Sp]
endif
else
act.message @0481,,1 [<act.tag.fiyat> Sp]
endif
endif
endif

bu sekilde yaptım :/

Bu konu cagladogan tarafından düzenlendi(2009-06-15 07:00, 14 yıl önce)
:(

if (<act.topobj.id> == c_pv)

bunu böyle yap

if (<act.topobj.baseid> == c_pv)
if (strmatch('<act.value>','0'))
act.message @07a1,,1 [satılamaz]

Yukarıdaki kısmı neden çıkarttın anlayabilmiş değilim doğrusu.

Direk benim verdiğim gibi bazı yerlerini kendine göre ayarlarsan bunun çalışması gerekiyor. Burda kimlere yardımcı olduysam hep deneyip oluyorum bazı şeyleri unuttuğum için bununda çalışıyor olması gerek.
:huh

Evet birde basic'in dediği gibi id kısmını baseid olarak okuttur bakalım.
yine olmadı :(
Allah allah deneyipte veriyorum sizin yaptığınız türlü denedim yine çalışıyor.
Bence siz biyeri atlıyorsunuz veya yanlış yere ekliyorsunuz bende gayet düzgün çalışıyor çünkü kendi pazar vendor scriptime ayarladığımda.
Siz scripti benim pazar vendora göre ayarlayıp verseniz ben denesem olmazmı :$

Üye Ol veya Giriş Yap

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