|
[itemdef i_vendoruvar]
name Vendoru var
id i_memory
type t_eq_script
weight 0
on=@create
attr attr_decay || attr_invis || attr_newbie
on=@timer
remove
return 1
[itemdef i_killernox]
defname i_killernox
name YattaraNobre
id=i_gold
type=t_eq_script
weight=0
layer=layer_special
on=@create
attr attr_invis || attr_decay
timer 2
on=@Equip
src.message @1153 *Lanetlendin*
On=@timer
cont.kill
remove
return 1
/////pazar vendoru için ///
[ITEMDEF i_deed_pvnoxi]
name Kiralik Vendor
id i_grave_stone
type t_script
value 45000
on=@click
message [Kiralik Vendor]
message [Fiyat 200.000 Gp]
return 1
On=@Create
color 0ba1
attr 010
On=@DClick
src.events e_vendoral
if (<src.restest 1 i_vendoruvar>)
src.message @035,,1 Vendor Alaninda Zaten Bir Vendora Sahipsiniz...
return 1
endif
if !(<src.restest 200000 i_gold>)
src.sysmessage Vendoru Kurabilmek Icin Yaninizda 200k Gold olmali.
return 1
//elseif !(<src.isevent.e_pazar>)
// src.smg Pazar alani disinda bu sistemi kullanamazsin
// return 1
else
src.consume 200000 i_gold
src.newitem i_vendoruvar
src.act.equip
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.findid.i_pv.link <link.uid>
src.act.tag.owner <src.uid>
src.act.findlayer(29).more1 20000
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
src.act.update
src.sysmessage Vendorunuz kuruldu, komutlar icin 'yardim' yaziniz.
src.tag.vendor <src.act.uid>
link.tag.locknumber <eval (<link.tag.locknumber> - 1)>
link.tag.vendnumber <eval (<link.tag.vendnumber> + 1)>
link.findid.i_pv_rem.more1 1
if !(<link.tag.vendor1>)
link.tag.vendor1 <src.act.uid>
elseif !(<link.tag.vendor2>)
link.tag.vendor2 <src.act.uid>
else
link.tag.vendor3 <src.act.uid>
endif
remove
return 1
endif
//////
[ITEMDEF i_deed_pv]
name contract of employment
id i_deed
type t_script
value 41500
On=@Create
color 066f
attr 04
On=@DClick
src.sysmessage @1153 Kapatildi...
//if (<src.isevent.e_house>)
//if !((<src.uid> == <region.tag.owner>) || (<src.uid> == <region.tag.co1uid>) || (<src.uid> == <region.tag.co2uid>) || (<src.uid> == <region.tag.co3uid>) || (<src.uid> == <region.tag.co4uid>) || (<src.uid> == <region.tag.co5uid>) || (<src.uid> == <region.tag.co6uid>) || (<src.uid> == <region.tag.co7uid>) || (<src.uid> == <region.tag.co8uid>))
//src.sysmessage Sadece sahibi veya ortagi oldugunuz evlere vendor yerlestirebilirsiniz.
//return 1
//elseif (<link> == 04fffffff)
//src.sysmessage Deed'i eve sabitleyip kullanmalisiniz.
//return 1
//elseif ((<link.tag.vendor1>))
//src.sysmessage Bir eve 1'den fazla vendor yerlestiremezsiniz.
//return 1
//elseif (strmatch('<src.uid.<src.tag.vendor>.id>','c_pv'))
//try var.vhomeowner <src.uid.<src.tag.vendor>.region.tag.owner>
//try var.vhomeowner <src.uid.<var.vhomeowner>.name>
//if !(strmatch('<var.vhomeowner>','<src.name>'))
// src.sysmessage <var.vhomeowner> isimli sahsin evinde zaten bir vendorunuz bulunuyor, yeni bir tane kurmak icin onu kovmalisiniz.
//else
// src.sysmessage Evinizde zaten bir vendorunuz bulunuyor.
// endif
// elseif !(<src.restest 2500 i_gold>)
// src.sysmessage Vendoru kurabilmek icin yaninizda 2500 altin olmali.
// return 1
// else
// src.consume 2500 i_gold
// 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.findid.i_pv.link <link.uid>
// 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
// src.act.update
// src.sysmessage Vendorunuz kuruldu, komutlar icin 'yardim' yaziniz.
// src.tag.vendor <src.act.uid>
// link.tag.locknumber <eval (<link.tag.locknumber> - 1)>
// link.tag.vendnumber <eval (<link.tag.vendnumber> + 1)>
// if !(<link.tag.vendor1>)
// link.tag.vendor1 <src.act.uid>
// endif
// remove
// endif
//else
// message Bu deed'i kullanabilmek icin evinizde olmalisiniz.
//endif
//return 1
//
//////
//////////////
// **************
// VENDOR CHARDEF
// **************
[chardef c_pv]
defname c_pv
name #names_humanmale the Player Vendor
id c_man
can mt_equip|mt_nonmover
hiredaywage 52
desires i_gold
tevents e_pv
tevents e_vendorfix
tevents e_hitalma
tspeech pv_spch
On=@EnvironChange
if (<flags>&statf_war)
flags <flags>&~statf_war
flags <flags>&~statf_poisoned
findid.i_rune_poison.remove
update
sayua 0481,6,6,1 * Sakinler *
endif
On=@Create
speechcolor 0481
str 9500
dex 25
int 25
color colors_skin
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
itemnewbie i_pv_rem
on=@spelleffect
Say Olmadi...
IF (<ARGN>=24) // wall
sayua 0835,6,0,enu * Etkilenmez *
SPELLEFFECT s_cure,1000
RETURN 1
ENDIF
///////pazar vendoru
[chardef c_pvnoxi]
defname c_pvnoxi
name #names_humanmale the Player Vendor
id c_man
can mt_equip|mt_nonmover
hiredaywage 52
desires i_gold
tevents e_pvnoxi
tevents e_vendorfix
tevents e_vendoral
tevents e_hitalma
tspeech pv_spch
On=@Create
speechcolor 0481
str 9500
dex 25
int 25
color colors_skin
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
itemnewbie i_pv_rem
////270. satir bura
// *******
// ITEMLAR
// *******
[itemdef i_pv_rem]
id i_memory
name vendor silici
type t_eq_script
On=@UnEquip
cont.memoryfindtype.memory_ipet.link.tag.vendor
if !(<more2> == 3)
cont.findid.i_pv.link.tag.vendnumber <eval (<cont.findid.i_pv.link.tag.vendnumber> - 1)>
if (<cont.findid.i_pv.link.tag.vendor1> == <cont.uid>)
cont.findid.i_pv.link.tag.vendor1 0
elseif (<cont.findid.i_pv.link.tag.vendor2> == <cont.uid>)
cont.findid.i_pv.link.tag.vendor2 0
elseif (<cont.findid.i_pv.link.tag.vendor3> == <cont.uid>)
cont.findid.i_pv.link.tag.vendor3 0
endif
endif
src.events -e_vendoral
cont.remove
On=@Timer
remove
return 1
[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.say <src.name>, siz benim isverenim degilsiniz.
elseif !(<src.targ.topobj.uid> == <cont.uid>)
cont.say Bu esya cantamda degil.
elseif (strmatch('<src.targ.price>',''))
cont.say Bu satilabilecek bir esya degil.
elseif (<eval <more2>> <= 0)
src.targ.price 0
cont.say <src.targ.name>: 'satilik degil' olarak isaretlendi.
else
src.targ.price <eval <more2>>
more2 0
cont.say <src.targ.name>: <src.targ.price> altin.
endif
elseif (<more1> == 2) // satis
if !(<src.targ.topobj.uid> == <cont.uid>)
cont.say Bu esya cantamda degil.
elseif (strmatch('<src.targ.price>',''))
cont.say Bu esya satilik degil.
elseif (<src.targ.price> <= 0)
cont.say Bu esya satilik degil.
elseif (<src.gp> < <src.targ.price>)
cont.say Bankanizin en ust kisminda <src.targ.price> altininiz bulunmuyor.
else
src.targ.dialog d_pv_buy
endif
elseif (<more1> == 3) // para aktarma
if !(<src.uid> == <cont.tag.owner>)
cont.say <src.name>, siz benim isverenim degilsiniz.
elseif !(<src.targ.topobj.uid> == <src.uid>)
cont.say Gosterdiginiz nesne sizin uzerinizde degil.
elseif !(<src.targ.baseid> == i_gold)
cont.say 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.say <src.targ.amount> altin calisma suremi <eval (<src.targ.amount> / <cont.hiredaywage>)> saat uzatti, tesekkur ederim.
else
cont.say <src.targ.amount> altin kasama eklendi, tesekkur ederim.
endif
src.targ.remove
endif
endif
return 1
On=@Timer
return 1
// *********
// DIALOGLAR
// *********
[dialog d_pv_help]
35,100
resizepic 0 0 83 330 350
resizepic 7 9 3000 318 332
resizepic 10 12 3500 312 325
htmlgump 28 33 200 80 0 0 0
htmlgump 28 60 300 80 1 0 0
htmlgump 28 75 300 80 2 0 0
htmlgump 28 100 300 80 3 0 0
htmlgump 28 115 300 80 4 0 0
htmlgump 28 140 300 80 5 0 0
htmlgump 28 155 300 80 6 0 0
htmlgump 28 180 300 80 7 0 0
htmlgump 28 195 300 80 8 0 0
htmlgump 28 220 300 80 9 0 0
htmlgump 28 245 300 80 10 0 0
htmlgump 28 260 300 80 11 0 0
htmlgump 28 280 300 80 12 0 0
htmlgump 28 295 300 80 13 0 0
[dialog d_pv_help text]
Kullanabileceginiz komutlar
Durum: Vendorun kac gun daha gorev yapacagi
belirtir
Kasa : Vendorun calismasi icin maas odeme
sistemidir.
Hasila: Vendorun kazandigi paradan istediginiz
miktari almanizi saglar
Fiyat : Vendordaki herhangi esyanin fiyatini
belirtmenizi saglar
Kontrat:Vendoru deed haline getirir
Buy : Musterilerin vendordan esya almalarini
saglar
Not : Bu komutlari kullanabilmek icin evin icinde
olmaniz gerekmektedir
[dialog d_pv_help button]
[function vendor]
dialog d_pv_help
return 1
[plevel 1]
vendor
[dialog d_pv_cash]
300,300
resizepic 0 0 83 205 80
resizepic 7 9 3000 193 63
resizepic 10 12 2620 170 30
textentry 15 16 600 20 1152 1 0
button 160 45 4005 4006 1 0 1
[dialog d_pv_cash text]
<eval (<findlayer(29).more1> - 2500)>
[dialog d_pv_cash button]
On=1
if !(<isnum <argtxt[1]>>)
say Hatali karakter kullanimi.
return 1
elseif (<eval <argtxt[1]>> <= 0)
say Hmm.. Sanirim tam anlayamadim?
elseif (<eval <argtxt[1]>> > <eval <findlayer(29).more1>>)
say Bu miktar kasamda bulunmuyor.
elseif (<eval (<findlayer(29).more1> - <argtxt[1]>)> < 2500)
say Bu miktari veremeyecegim, kasamda en az 2500 altin kalmali.
elseif (<eval <argtxt[1]>> >= 65000)
vend_collect <eval <argtxt[1]>>
say <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>
say <argtxt[1]> Altin Bankaniza Aktarildi.
endif
[dialog d_pv_buy]
300,300
resizepic 0 0 83 270 115
resizepic 7 9 3000 258 97
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: <price> Altin. Bunu satin almak istediginize emin misiniz?
[dialog d_pv_buy button]
On=1
if (strmatch('<price>',''))
src.sysmessage Bu esya satilik degil.
elseif (<price> <= 0)
src.sysmessage Bu esya satilik degil.
elseif (<src.gp> >= <price>)
src.gpconsume <price>
topobj.findlayer(29).more1 (<topobj.findlayer(29).more1> + <price>)
cont <src.findlayer(21).uid>
price
update
if ((<baseid> == i_spellbook) || (<baseid> == i_runebook) || (<baseid> == i_crystal_30) || (<baseid> == i_crystal_60) || (<baseid> == i_crystal_90) || (<baseid> == i_crystal_120) || (<dispid> == i_deed))
attr <attr>|attr_newbie
endif
else
topobj.say Bankanizin en ust kisminda bunu alacak kadar altininiz yok.
endif
[dialog d_pv_dismiss]
300,300
resizepic 0 0 83 270 115
resizepic 7 9 3000 258 97
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_dismiss text]
DIKKAT! Tezgahtarinizda <findlayer(21).rescount> adet esya ve <eval <findlayer(29).more1>> altin bulunuyor, onu deed haline getirmek istediginize emin misiniz?
[dialog d_pv_dismiss button]
On=1
if (<findid.i_pv_rem.timer> < 0)
if (<findid.i_pv_rem.more2> == 1)
say Sizinle calismak guzeldi.
bow
findid.i_pv_rem.timer 3
src.newitem i_deed_pv
src.act.bounce
elseif (<findid.i_pv_rem.more2> == 2)
say Nasil isterseniz.
salute
findid.i_pv_rem.timer 3
src.newitem i_deed_pv
src.act.cont <memoryfindtype.memory_ipet.link.findlayer(21).uid>
endif
endif
// ******
// SPEECH
// ******
[speech pv_spch]
On=bilgi
On=yardim
src.dialog d_pv_help
On=durum*
if ((<src.uid> == <tag.owner>) || (<src.isgm>))
if (strmatch('<args>','DURUM ?'))
say Kasamdaki para miktarini ve kasamdaki parayla calisacagim gun sayisini (reel gun) ogrenmek icin kullancaginiz komuttur.
else
say 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 ?'))
say 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
say Kasama yatirmak istediginiz parayi seciniz.
endif
endif
return 1
On=hasila*
if (<src.uid> == <tag.owner>)
if (strmatch('<args>','HASILA ?'))
say Kasamdaki parayi banka hesabiniza aktarmakta kullanacaginiz komuttur. Kasamdaki son 2500 altini aktarmaniz mumkun degildir.
else
if (<eval <findlayer(29).more1>> < 2501)
say 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 ?'))
say Cantama yerlestirdiginiz esyalari fiyatlandirmakta kullanacaginiz komuttur. Kullanilisi, X'in yerine bir sayi gelecek bicimde 'Fiyat X' seklindedir.
say Satilamaz ibareli esyalari asla fiyatlandiramazsiniz. Satilik haldeki bir esyayi 'satilik degil' hale getirmek icin 0 fiyat vermeniz gereklidir.
else
if !(<findlayer(21).findcont(0)>)
say Cantamda fiyatlandirilacak mal bulunmuyor.
else
try <args>
endif
endif
endif
return 1
//On=Yaklas*
//if ((<src.uid> == <tag.owner>) || (<src.uid> == <region.tag.owner>) || (<src.isgm>))
//if (strmatch('<args>','Yaklas ?'))
//say Ev icerisinde durdugum noktayi degistirmek icin kullanacaginiz komuttur. Durmami istediginiz yeni noktaya gecip kullanmaniz gerekmektedir.
//else
//if (<src.region.type> == <findid.i_pv.link.uid>)
//tag.p <src.p>
//tag.px <src.p.x>
//tag.py <src.p.y>
//tag.pz <src.p.z>
//go <tag.p>
//else
//src.sysmessage Bulundugunuz nokta evin icinde degil.
//endif
//endif
//endif
//return 1
On=kontrat*
if (strmatch('<id>','c_pvnoxi'))
src.smg Pazar vendorunuzu kontrat haline getiremezsiniz...
return 1
endif
if ((<src.uid> == <tag.owner>) || (<src.isgm>) || (<src.uid> == <region.tag.owner>))
if (strmatch('<args>','KONTRAT ?'))
if (<src.uid> == <region.tag.owner>)
say Bu komutu sadece siz kullanabilirsiniz. Komutu kullandiginizda cantamdaki esya sayisini ve kasamdaki para miktarini gosteren bir konfirmasyon diyalogu cikacaktir, tamami tiklamaniz isten ayrilmama ve kontratimi geri kazanmaniza vesile olacaktir.
else
say Bu komutu sadece siz ve ev sahibi kullanabilir. Komutu kullandiginizda cantamdaki esya sayisini ve kasamdaki para miktarini gosteren bir konfirmasyon diyalogu cikacaktir, tamami tiklamaniz isten ayrilmama vesile olacaktir. Kontratim sahibimin cantasina dusecektir.
endif
elseif (<src.uid> == <tag.owner>)
if (<findid.i_pv_rem.timer> < 0)
findid.i_pv_rem.more2 1
dialog d_pv_dismiss
endif
else
if (<findid.i_pv_rem.timer> < 0)
findid.i_pv_rem.more2 2
dialog d_pv_dismiss
endif
endif
endif
return 1
endif
On=alisveris
if ((<canseelos>) && (<distance> < 4))
face
if (<src.uid> == <tag.owner>)
say Satilacak esyalari buraya koyabilirsiniz.
pack
elseif !(<findlayer(21).findcont(0)>)
say 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>)
say Isverenim oldugunuz icin istediginizi alabilirsiniz, para vermenize gerek yok.
elseif !(<findlayer(21).findcont(0)>)
say Su an satilik malim yok uzgunum.
else
findid.i_pv.more1 2
findid.i_pv.target
endif
return 1
On=*
dorand 4
say Nasil yardim edebilirim <src.name>?
say Cok kaliteli mallarin var <src.name>. Almak ister misin?
say <src.name>! Satilik mallarim var. Almak ister misin?
say Yardim icin .vendor yaz <src.name>
enddo
return 1
// *****
// EVENT
// *****
[events e_vendorfix]
//on=@spelleffect
//IF (<ARGN>=24) // wall
//sayua 0835,6,0,enu * Etkilenmez *
//SPELLEFFECT s_cure,1000
//RETURN 1
//ENDIF
[EVENTS e_hitalma]
on=@damage
src.action -1
action -1
return 1
on=@gethit
src.criminal
action -1
return 1
on=@spelleffect
IF (<SRC.UID>==<UID>)
return 1
else
say @1153 * Etkilenmez *
return 1
endif
on=@hittry
src.action -1
action -1
return 1
on=@hit
src.action -1
action -1
return 1
[events e_pv]
On=@GetHit
if !(<src.npc>)
if !(<src.findid.i_starver>)
src.sysmessage Olmadi...
src.newitem i_starver
src.act.equip
skill fail
return 1
else
src.leave 20
skill fail
return 1
endif
return 1
On=@Hit
return 1
On=@HitTry
return 1
On=[url=u-death-9220.html]@death[/url]
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=@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 [url=u-99-2012.html]@99[/url] [ <serv.name> Player Vendor ]
message @45 <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>)
say Satilacak esyalari buraya koyabilirsiniz.
pack
elseif !(<findlayer(21).findcont(0)>)
say 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>
if (<eval <findlayer(29).more1>> < 1)
if (<findid.i_pv_rem.timer> < 0)
if (<findid.i_pv_rem.more1>)
say Bedavaya calisacak degilim.
salute
findid.i_pv_rem.timer 3
memoryfindtype.memory_ipet.link.sysmessage Vendorunuz maas alamadigi icin istifa etti.
else
findid.i_pv_rem.more1 1
go <tag.p>
endif
endif
elseif !(<findid.i_pv.link.type> == t_multi)
if (<findid.i_pv_rem.timer> < 0)
say Ustumde bir cati olmazsa calisamam.
salute
findid.i_pv_rem.timer 3
findid.i_pv_rem.more2 3
memoryfindtype.memory_ipet.link.sysmessage Vendorunuz bagli oldugu ev yikildigi icin istifa etti.
endif
endif
///pazar vendor ueventi
[events e_pvnoxi]
On=@GetHit
if !(<src.npc>)
if !(<src.findid.i_starver>)
src.newitem i_starver
src.act.equip
else
src.leave 20
endif
return 1
On=@Hit
return 1
On=@HitTry
return 1
On=[url=u-death-9220.html]@death[/url]
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=@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 @45 <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>)
say Satilacak esyalari buraya koyabilirsiniz.
face
pack
elseif !(<findlayer(21).findcont(0)>)
say Su an satilik malim yok, lutfen daha sonra tekrar geliniz.
face
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>
if (<eval <findlayer(29).more1>> < 1)
if (<findid.i_pv_rem.timer> < 0)
if (<findid.i_pv_rem.more1>)
say Bedavaya calisacak degilim.
salute
findid.i_pv_rem.timer 3
memoryfindtype.memory_ipet.link.sysmessage Vendorunuz maas alamadigi icin istifa etti.
else
findid.i_pv_rem.more1 1
go <tag.p>
endif
endif
endif
// *********************
// ALTINSAL FONKSIYONLAR
// *********************
[function fiyat]
if (<eval <argn>> > 5000000)
say Tek bir mali 5 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>>
[EVENTS e_vendoral]
on=@itemclick
if (<act.topobj.baseid> == c_pv)
if (strmatch('0<act.price>','0'))
act.message @053,,1 [Satilamaz]
elseif (0<act.price> <= 0)
act.message @048,,1 [Satilik Degil]
else
src.sysmessage @0481,1,1 <act.name> [<act.price> Gp]
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> gp] [%<eval (100 - ((<act.more1l> * 100) / <act.more1h>))> eski]
else
act.message @035,,1 [<act.price> Gp]
endif
else
act.message @035,,1 [<act.price> Gp]
endif
endif
endif
[EOF]
[itemdef i_pv_rem]
id i_memory
name vendor silici
type t_eq_script
On=@UnEquip
cont.memoryfindtype.memory_ipet.link.tag.vendor
if !(<more2> == 3)
cont.findid.i_pv.link.tag.vendnumber <eval (<cont.findid.i_pv.link.tag.vendnumber> - 1)>
if (<cont.findid.i_pv.link.tag.vendor1> == <cont.uid>)
cont.findid.i_pv.link.tag.vendor1 0
elseif (<cont.findid.i_pv.link.tag.vendor2> == <cont.uid>)
cont.findid.i_pv.link.tag.vendor2 0
elseif (<cont.findid.i_pv.link.tag.vendor3> == <cont.uid>)
cont.findid.i_pv.link.tag.vendor3 0
endif
endif
src.findid.i_vendoruvar.remove
src.events -e_vendoral
cont.remove
On=@Timer
remove
return 1
şimdi şöyle bişey var bu vendor sabit değil ücret ile calısıyor. mesela bunun süresi bitince cantadaki i_vendoruvar silinirmi önemli olan o.
say Bedavaya calisacak degilim.
salute
findid.i_pv_rem.timer 3
memoryfindtype.memory_ipet.link.sysmessage Vendorunuz maas alamadigi icin istifa etti.bu kısım galiba baktım sanki siliniyor gibi ama hiç süresini sıfırlayıp denemedim mesaj atıyormu direk siliniyormu
|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Vendor reflesh
Son cevap: 03-07 12:01 · Son yazan: Jada · Mesaj: 3 · Görüntü: 2445
|
ITEM Script Yardımı | 03-07 12:01 | 3 | 2445 | |
|
|
Pazar vendor message sorunu
Son cevap: 09-07 20:58 · Son yazan: berkanu · Mesaj: 10 · Görüntü: 4535
|
Script Yardımı | 09-07 20:58 | 10 | 4535 | |
|
|
Vendor speech
Son cevap: 03-04 09:38 · Son yazan: manyaqq · Mesaj: 1 · Görüntü: 1853
|
NPC Script Yardımı | 03-04 09:38 | 1 | 1853 | |
|
|
Necromancy Bir Kaç Problem
Son cevap: 19-01 21:09 · Son yazan: Marshall Longcloak · Mesaj: 10 · Görüntü: 3810
|
Script Yardımı | 19-01 21:09 | 10 | 3810 | |
|
|
Vendor arama
Son cevap: 15-01 07:03 · Son yazan: xwerswoodx · Mesaj: 5 · Görüntü: 2441
|
Script Yardımı | 15-01 07:03 | 5 | 2441 |