Sorunları sıralayım size

1-)Beari ethernallikten çıkardım biniliyor filan hiç bi sorun yok ama adam indimi başka biride binebiliyor
[itemdef i_et_bear]
name=Ethereal Bear
id=i_mt_bear
TDATA3=01bb
layer=25
on=@create
color=07a1
on=@equip
link=<src.uid>
on=@unequip
src.newnpc c_bear_polar_M
link <src.act.uid>
link.memorydel <src.uid>
link.newitem i_memory
link.act.more1 04
link.act.more2 <serv.time>
link.act.morep <link.p>
link.act.color memory_ipet
link.act.timer -1
link.act.link <src.uid>
link.act.cont <link.uid>
link.flags <link.flags>&statf_pet
link.update
link.anim 5
link.bark 3
[itemdef i_et_eb]
NAME=Ethereal Bear
id=i_pet_Bear
type=t_normal
CATEGORY=Other
SUBSECTION=Ethereal pets
DESCRIPTION=Ethereal Bear
on=@create
color=00
on=@dclick
IF (<SRC.FINDID.i_drum_timer>==1)
src.message You can't mout an etheral pet while A Spirit Is Within You!
RETURN 1
elseif (<src.flags>&000000400)
src.message You can't mout an etheral pet while polymorphed!
return 1
elseif !(<src.findlayer.25.uid>)
src.newitem i_et_bear
src.act.equip
src.update
remove
return 1
else
src.message you are already mounted
return 1
endif
[CHARDEF c_bear_polar_M]
DEFNAME=c_bear_polar_M
NAME=Polar Bear
ID=c_bear_polar
ANIM=01fff
SOUND=snd_ANIMALS_BEAR1
ICON=i_pet_bear_polar
DAM=1,3
ARMOR=9
RESOURCES=11 i_ribs_raw,5 i_fur_light
CAN=MT_WALK|MT_RUN
FOODTYPE=6 t_FISH,5 t_fruit, 15 t_meat_raw
SHELTER=r_snow,r_caves,r_mountains
DESIRES=r_snow
AVERSIONS=r_civilization
tag.mountid i_mt_bear
tevents=e_mounts
CATEGORY=Mounts
SUBSECTION=Unusual Mounts
DESCRIPTION=Polar Bear
ON=@Create
NPC=brain_animal
COLOR=colors_white
STR={250 300}
DEX={100 150}
INT={200 250}
PARRYING={70.0 85.0}
MAGICRESISTANCE={45.0 60.0}
TACTICS={70.0 100.0}
WRESTLING={60.0 90.0}
TAMING=50.0
FISHING=20.0
TAMING=99.9
AnimalLore=99.9
Veterinary=99.9
FAME=3000
KARMA=3000
on=@dclick
IF (<SRC.FINDID.i_drum_timer>==1)
src.message Oluyken binemezsiniz...
RETURN 1
elseif (<src.flags>&000000400)
src.message Bu halde binemezsiniz...
return 1
elseif !(<src.findlayer.25.uid>)
src.newitem i_et_bear
src.act.equip
src.update
remove
return 1
else
src.message Zaten biniyorsun ac gozlu...
return 1
endif
[EOF]
2-)Unicorn Ekledim 3d Onun üstünde biri varken veya undead horsedeyken salute çekiyor adam herkes düşüyor oyundan ya saluteyi nasıl kaldırırm yada scriptten bişey yapabilirmiyim
// Scripted by: Admin Phoenix - Merydorn UO Shard
// Merydorn Development Team
[CHARDEF 01E1]
DEFNAME=C_UNICORN
NAME=Unicorn
ON=@CLICK
REMOVE
RETURN 1
ON=@SKILLSTART
REMOVE
RETURN 1
ON=@NPCRESTOCK
REMOVE
RETURN 1
[ITEMDEF 0469]
DEFNAME=I_MT_UNICORN
TYPE=T_EQ_HORSE
LAYER=25
TDATA3=C_UNICORN
[ITEMDEF I_M_UNICORN]
NAME=Unicorn
ID=I_MT_UNICORN
TDATA3=01E1
LAYER=25
ON=@CREATE
COLOR=0
ON=@EQUIP
LINK=<SRC.UID>
ON=@UNEQUIP
SRC.NEWITEM I_UNICORN
SRC.ACT.BOUNCE
[ITEMDEF I_UNICORN]
NAME=Unicorn
ID=i_pet_horse_gray
TYPE=T_NORMAL
ON=@CREATE
ATTR=14
ON=@DCLICK
IF (<SRC.FLAGS>&0400)
SRC.MESSAGE You can't mount a pet while polymorphed!
RETURN 1
ELSEIF !(<SRC.FINDLAYER.25.UID>)
SRC.NEWITEM I_M_UNICORN
SRC.ACT.EQUIP
SRC.UPDATE
SRC.FIX
REMOVE
RETURN 1
ELSE
SRC.MESSAGE You are already mounted!
RETURN 1
ENDIF
CATEGORY=MERYDORN - ITEMS
SUBSECTION=Mounts
DESCRIPTION=Unicorn Mount
[EOF]
3-)VEndor stoneden vendor alıyoruz sorun yok..Fiyat verdigimizde üstünde yazmıyor fiyatı..
[ITEMDEF i_vendor_kira3]
ID=i_grave_stone
NAME=Kiralik Dukkan
TYPE=t_script
DESCRIPTION=Kiralik Vendor
ON=@CREATE
COLOR=07a1
TAG.kiralik=0
TAG.sahip=0
ATTR attr_decay
ON=@CLICK
message @0481 <name>
if (<eval <tag.kiralik>> == 1)
message @0481 [Kiralanmis]
else
message @68 [Kiralanmamis]
endif
return 1
ON=@DCLICK
IF ( <DISTANCE> > 4 )
src.sysmessage @07a1 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 @07a1 Bu dukkan ve vendor kiralanmis.
RETURN 1
ENDIF
ENDIF
RETURN 1
ON=@TIMER
LINK.REMOVE
LINK=04fffffff
TAG.kiralik=0
TAG.sahip=0
COLOR=07a1
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 2500Sp 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 @07a1 Yeterince yakin deilsiniz!
else
if (<src.restest 2500 i_fctn_silver>
src.tag.dist
VAR.SIGN=<SRC.ACT>
SRC.ACT.TAG.kiralik=1
SRC.ACT.COLOR=07a1
SRC.ACT.TAG.sahip=<SRC.UID>
SRC.ACT.TIMER=60*60*24*7
src.consume 2500 i_fctn_silver
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 @07a1 @48 Kiralamak icin 2500 Sp cantanizda olmali.
src.tag.dist
ENDIF
endif
return 1
// **************
// VENDOR CHARDEF
// **************
[chardef c_pv]
defname c_pv
name Player Vendor
id c_man
can mt_equip|mt_nonmover
hiredaywage 52
desires i_fctn_silver
tspeech pv_spch
tevents e_pv
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_tc_r
color 07a1
item i_torch_lit
morey -1
itemnewbie i_backpack
itemnewbie i_bankbox
color 07a1
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 (strmatch('<src.targ.price>',''))
cont.sayu Bu satilabilecek bir esya degil.
elseif (<eval <more2>> <= 0)
src.targ.price 0
cont.sayu <src.targ.name>: 'satilik degil' olarak isaretlendi.
else
src.targ.price <eval <more2>>
more2 0
cont.sayu <src.targ.name>: <src.targ.price> sp.
endif
elseif (<more1> == 2) // satis
if !(<src.targ.topobj.uid> == <cont.uid>
cont.sayu Bu esya cantamda degil.
elseif (strmatch('<src.targ.price>',''))
cont.sayu Bu esya satilik degil.
elseif (<src.targ.price> <= 0)
cont.sayu Bu esya satilik degil.
elseif (<src.sp> < <src.targ.price>
cont.sayu Bankanizin en ust kisminda <src.targ.price> spniz 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_fctn_silver)
cont.sayu Bu gosterdiginiz sp 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> sp calisma suremi <eval (<src.targ.amount> / <cont.hiredaywage>> gun uzatti, tesekkur ederim.
else
cont.sayu <src.targ.amount> sp 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 Vendorun ismini degistir.
SRC.DIALOG d_name_vendor
ON=0 Bir hafta daha kirala. (Kalan sure: <eval <VAR.LEASE>> saat)
IF (<src.restest 2500 i_fctn_silver>
SRC.CONSUME 2500 i_fctn_silver
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 @07a1 @38 Bir hatfa daha calismam icin yeterli paraniz yok!(1m)
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]>> < 250)
sayu Bu miktari veremeyecegim, kasamda en az 250 Sp kalmali.
elseif (<eval <argtxt[1]>> >= 65000)
vend_collect <eval <argtxt[1]>>
sayu <argtxt[1]> sp bankaniza aktarildi.
else
findlayer(29).more1 <eval (<findlayer(29).more1> - <argtxt[1]>>
src.newitem i_fctn_silver
src.act.amount <eval <argtxt[1]>>
src.act.cont <src.findlayer(29).uid>
sayu <argtxt[1]> sp 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: <price> sp. Bunu satin almak istediginize emin misiniz?
[dialog d_pv_buy button]
On=1
if (strmatch('<price>',''))
src.sysmessage @07a1 Bu esya satilik degil.
elseif (<price> <= 0)
src.sysmessage @07a1 Bu esya satilik degil.
elseif (<src.sp> >= <price>
src.spconsume <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_magic_reg30) || (<baseid> == i_magic_reg60) || (<baseid> == i_magic_reg90) || (<baseid> == i_necro_reg20) || (<baseid> == i_necro_reg40) || (<baseid> == i_taxi_kit) || (<baseid> == i_dye_tub_furny) || (<dispid> == i_deed))
attr <attr>|attr_newbie
endif
else
topobj.sayu Bankanizin en ust kisminda bunu alacak kadar spniz yok.
endif
// ******
// SPEECH
// ******
[speech pv_spch]
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>> sp 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 spi 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 250 Spyi aktarmaniz mumkun degildir.
else
if (<eval <findlayer(29).more1>> < 251)
sayu Kasamda 250 veya daha az Sp 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 @07a1 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 @07a1 @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 @0bb2 [Sahibi : <memoryfindtype.memory_ipet.link.name>]
message @0481 <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 @07a1 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 @07a1 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>> > 100000)
sayu Tek bir mali 100000 Sp 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_fctn_silver
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_fctn_silver
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 sp]
var.sp 0
//findlayer(21).packo sp_ctrl
findlayer(29).packo sp_ctrl
return <eval <var.sp>>
[function sp_ctrl]
if (strmatch('<baseid>','i_fctn_silver'))
var.sp <eval (<var.sp> + <amount>>
endif
[function spconsume]
var.sp <argn>
//findlayer(21).packo spconsume_ctrl <argn>
findlayer(29).packo spconsume_ctrl <argn>
return 1
[function spconsume_ctrl]
if ((<var.sp> > 0) && (strmatch('<baseid>','i_fctn_silver')))
if (<amount> > <eval (<var.sp>>
amount <eval (<amount> - <var.sp>>
var.sp 0
else
var.sp <eval (<var.sp> - <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 @07a1 @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 90k Gereklidir.
Bir haftaligina vendor kirala.
[DIALOG d_vendor_intro BUTTON]
on=1
IF (<eval <SRC.BANKBALANCE>+<SRC.FINDLAYER(21).FINDTYPE(i_fctn_silver).AMOUNT>> >=90000)
VAR.SIGN=<SRC.ACT>
SRC.ACT.TAG.kiralik=1
SRC.ACT.COLOR=07a1
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 5000 i_fctn_silver
SRC.CONSUMEBANK 300 i_fctn_silver
SRC.UPDATE
SRC.ACT=<VAR.SIGN>
SRC.MENU m_vendor_admin
RETURN 1
ELSE
src.sysmessage @07a1 @48 Kiralamak icin 90k bankanizda olmali.
ENDIF
[MENU m_vendor_admin]
Kiralik vendor yonetimi.
ON=0 Vendorun ismini degistir.
SRC.DIALOG d_name_vendor
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 "price 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_fctn_silver).AMOUNT>> >=90000)
SRC.CONSUMEBANK 5000 i_fctn_silver
SRC.CONSUMEBANK 300 i_fctn_silver
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 @07a1 @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_fctn_silver,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_fctn_silver
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 @90 * <memoryfindtype.memory_ipet.link.name> *
Message @75 <NAME>
RETURN 1
[CHARDEF c_kiralik_vendor_f]
NAME=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_fctn_silver
STR={66 80}
DEX=90
INT={66 80}
ITEMNEWBIE=i_tc_r
COLOR=07a1
ON=@CLICK
spell_say * <memoryfindtype.memory_ipet.link.name> *
Message @68,1,1 <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 @07a1 @38 Vendorlara buyu atamazsiniz!
RETURN 1
ON=@GETHIT
src.sysmessage @07a1 @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
Bu konu Xazrael tarafından düzenlendi(2007-09-19 14:12, 17 yıl önce)