Hesabına erişemeyen eski üyeler Discord üzerinden yardım alabilir.
İyi Akşamlar Herkese...
Sizlerden Birşey rica edicem.. İlgilenirseniz Sevinirim..

Ben Aradım ama bulamadım size danışayım dedim..
Script şöle bişi Mesela ben şimdi britte birtane eve gidip Tabelasına tıklayıp Evi Kiralamak istiyorum..

Sanırım Bu Script Olympusta vardı Cokta güzel bir scriptti..
Eger Elinde olan varsa Paylaşabilirmi Diye Sorucaktım..

İyi akşamlar Tekrar..


Bu konu Branxian tarafından düzenlendi(2007-10-28 20:45, 16 yıl önce)
başlık ismini konu ile alakalı yapmaz iseniz başlığı sileceğim.
Tamam Düzeltiyorum..
O script ev kiralama sistemi değildi.Şehirlerde vendor yani tezgahtar bulundurmak için yapılan bir sistemdi.Ayrıca o script us de mevcut.Arama kısmını kullan ilgili terimleri yazarak.
Valla Yanlış Hatırlıyorda Olabilirim..

Ama Tabelaya Tıklayınca Kendi evin gibi Oluyordu..
Master
59.2997
Geçenlerde elime geçmişti bu script 1-2 hata vardı oralarını düzenledim işine yararsa sevinirim..

// Last Edited: 22.09.2007 - Slothere
[itemdef i_tabela]
id 0bd1
name Kiralik Dukkan
type t_eq_script
dupelist 0bd2

On=@DClick
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
	return 1
elseif (<isempty <tag.kiralik>>)
	if (<isempty <tag.pazaralani>>)
		sdialog d_pazar_alani_kirala
	else
		src.sysmessage @38,1,1 Zaten bir pazar yerine sahipsiniz.
	endif
	return 1
else
	if (<timer> < 2)
		return 1
	endif
	if (strmatch('<tag.sahip>','<src.uid>')
		src.dialogclose d_pazar_alani_kontrat_bitir
		sdialog d_pazar_alani_owner
	endif
endif
return 1

On=@Click
if !(<tag0.kiralik>)
	message @0790,1,1 <name>
else
	message @0790,1,1 <name>
	message @69,1,1 [<uid.<tag.sahip>.name>]
endif
if (<src.account.plevel> > 1)
	if !(<uid.<tag0.kapi1>>) && !(<uid.<tag0.kapi2>>)
		message @38,1,1 kapilar ayarlanmamis.
	endif
	if !(<morep>)
		message @38,1,1 strongbox bolgesi ayarlanmamis.
	endif
endif
return 1

On=@Create
attr attr_static

On=@Timer
try uid.<tag0.sahip>.tag.xxxx
try uid.<uid.<tag.sahip>.tag.key>.remove
try uid.<tag0.strongbox>.remove
try uid.<tag0.vendor>.findid.i_pv_rem.timer 3
try uid.<tag0.vendor>.findid.i_pv_rem.more2 3
try uid.<tag0.vendor>.memoryfindtype.memory_ipet.link.sysmessage @0481,1,1 Süreniz dolduğu için vendorunuz kaldırılmıştır.
tag.strongbox
tag.kiralik
tag.sahip
tag.vendor
name Kiralik Dukkan
return 1

[dialog d_pazar_alani_kirala]
100, 20
PAGE 0
resizepic 2 2 3600 390 160
checkertrans 12 12 370 140
dtext 30 32 990 Bu alani kac gunlugune kiralamak istiyorsunuz?
dtext 30 112 990 Not: Her gun icin 10000 altin odeyeceksiniz.
resizepic 25 63 2620 60 35
textentry 32 70 40 20 990 1 0
button 90 68 4005 4006 1 0 1

[dialog d_pazar_alani_kirala text]
10

[dialog d_pazar_alani_kirala button]
on=1
var.gp <eval <src.rescount i_gold> + <src.bankbalance>>
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
	return 1
elseif !(<isnum <argtxt[1]>>)
	src.sysmessage @38,1,1 Lutfen sayi yazin.
	return 1
elseif (<eval <argtxt[1]>> < 5)
	src.sysmessage @38,1,1 En az 5 gun kiralamalisiniz.
	return 1
elseif (<eval <argtxt[1]>> > 10)
	src.sysmessage @38,1,1 En fazla 10 gun kiralayabilirsiniz.
	return 1
elseif (<eval <argtxt[1]> * 10000> > <var.gp>)
	src.sysmessage @38,1,1 Burayi <eval <argtxt[1]>> gun kiralayabilmek icin <eval <argtxt[1]> * 10000> altina ihtiyaciniz var.
	return 1
elseif !(<tag0.kiralik> == 0)
	src.sysmessage @38,1,1 Bu alani sizden once biri kiralamis.
	return 1
else
	if (<src.restest <eval <argtxt[1]> * 10000> i_gold>)
		src.consume <eval <argtxt[1]> * 10000> i_gold
	else
		src.bankconsume <eval <argtxt[1]> * 10000>
	endif
	tag.kiralik 1
	tag.sahip <src.uid>
	src.tag.pazaralani <uid>

	

	src.serv.newitem i_key_babz
	src.new.bounce
	src.new.tag.sahip <src.uid>
	src.new.attr 04
	src.tag.key <src.new.uid>
	try uid.<tag.kapi1>.link <src.new.uid>
	try uid.<tag.kapi2>.link <src.new.uid>
	try uid.<tag.kapi1>.type t_door
	try uid.<tag.kapi2>.type t_door

	

	timer <eval <argtxt[1]>*24*3600>
	src.sysmessage @69,1,1 Bu alan artik sizin.
endif
return 1

[dialog d_pazar_alani_uzat]
100, 20
PAGE 0
resizepic 2 2 3600 390 160
checkertrans 12 12 370 140
dtext 30 32 990 Kirayi ne kadar uzatmak istiyorsunuz?
dtext 30 112 990 Not: Her gun icin 10000 altin odeyeceksiniz.
resizepic 25 63 2620 60 35
textentry 32 70 40 20 990 1 0
button 90 68 4005 4006 1 0 1

[dialog d_pazar_alani_uzat text]
10

[dialog d_pazar_alani_uzat button]
on=1
var.gp <eval <src.rescount i_gold> + <src.bankbalance>>
var.time <eval ((<argtxt[1]>*24*3600) + <timer>)>
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
	return 1
elseif !(<isnum <argtxt[1]>>)
	src.sysmessage @38,1,1 Lutfen sayi yazin.
	return 1
elseif (<eval <argtxt[1]>> < 1)
	return 1
elseif (<eval <var.time>> > 864000)
	src.sysmessage @38,1,1 Kirayi en fazla 10 gune uzatabilirsiniz.
	return 1
elseif (<eval <argtxt[1]> * 10000> > <var.gp>)
	src.sysmessage @38,1,1 Burayi <eval <argtxt[1]>> gun daha kiralayabilmek icin <eval <argtxt[1]> * 10000> altina ihtiyaciniz var.
	return 1
else
	if (<src.restest <eval <argtxt[1]> * 10000> i_gold>)
		src.consume <eval <argtxt[1]> * 10000> i_gold
	else
		src.bankconsume <eval <argtxt[1]> * 10000>
	endif
	timer <eval <var.time>>
	src.sysmessage @69,1,1 Kirayi uzattiniz.
endif

[dialog d_pazar_alani_owner]
100,50
resizepic 90 65 3600 420 400
checkertrans 100 75 400 380

page 0
gumppic 230 65 100
croppedtext 250 105 105 20 46 0

text 145 217 990 1
button 110 217 4006 4007 1 0 1
text 145 237 990 2
button 110 237 4006 4007 1 0 2
text 145 257 990 3
button 110 257 4006 4007 1 0 3
text 145 277 990 4
button 110 277 4006 4007 1 0 4
text 145 297 990 5
button 110 297 4006 4007 1 0 5
text 145 317 990 6
button 110 317 4006 4007 1 0 6

var.gun <eval (<timer> / (3600*24))>
var.saat <eval (<eval <timer> - (<eval <var0.gun> * 86400>)>) / 3600)>
var.dakika <eval (<eval <timer> - <eval (<eval (<var0.saat> * 3600)> + <eval (<var0.gun> * 86400>)>)>) / 60)>
var.saniye <eval (<eval <timer> - <eval (<eval (<var0.saat> * 3600)> + <eval (<var0.gun> * 86400>) + <eval (<var0.dakika> * 60)>>)>)>
if (<eval <var0.gun>> > 0)
	var.sure <eval <var0.gun>> gun, <eval <var0.saat>> saat, <eval <var0.dakika>> dakika, <eval <var0.saniye>> saniye
	dtext 145 377 990 <var.sure> sonra
	dtext 200 397 990 kira sozlesmeniz sona ericek.
elseif (<eval <var0.saat>> > 0)
	var.sure <eval <var0.saat>> saat, <eval <var0.dakika>> dakika, <eval <var0.saniye>> saniye
	dtext 145 377 990 <var.sure> sonra kira
	dtext 200 397 990 sozlesmeniz sona ericek.
elseif (<eval <var0.dakika>> > 0)
	var.sure <eval <var0.dakika>> dakika, <eval <var0.saniye>> saniye
	dtext 145 377 990 <var.sure> sonra kira sozlesmeniz
	dtext 255 397 990 sona ericek.
else
	var.sure <eval <var0.saniye>> saniye
	dtext 145 377 990 <var.sure> sonra kira sozlesmeniz sona ericek.
endif

[dialog d_pazar_alani_owner text]
<name>
Kirayi uzat
Vendor ekle
Strongbox ekle
Banka
Shopun ismini degistir
Kirayi bitir

[dialog d_pazar_alani_owner button]
On=1
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
else
	sdialog d_pazar_alani_uzat
endif

On=2
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
elseif !(<isempty <tag.vendor>>)
	src.sysmessage @38,1,1 Zaten vendora sahipsiniz.
	return 1
else
	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>
	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 |= statf_pet
	src.act.update
	tag.vendor <src.act.uid>
	return 1
endif

On=3
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
elseif !(<isempty <tag.strongbox>>)
	src.sysmessage @38,1,1 Zaten bir strongbox var.
else
	serv.newitem i_strong_box
	new.p <morep>
	new.more2 <src.uid>
	new.morem 1
	tag.strongbox <new.uid>
endif

On=4
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
else
	src.bankself
endif

On=5
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
else
	sdialog d_pazar_alani_rename
endif

On=6
if (<src.distance <uid>> > 3)
	src.sysmessage @38,1,1 You can't reach that.
else
	sdialog d_pazar_alani_kontrat_bitir
endif


[dialog d_pazar_alani_rename]
100, 20
PAGE 0
resizepic 2 2 3600 250 140
checkertrans 12 12 230 120
dtext 30 32 990 Yeni isim ne olacak?
resizepic 25 63 2620 160 35
textentry 32 70 140 20 990 1 0
button 190 68 4005 4006 1 0 1

[dialog d_pazar_alani_rename text]
<var.blank>

[dialog d_pazar_alani_rename button]
on=1
if (<isnum <argtxt[1]>>)
	src.sysmessage @38,1,1 Lutfen sadece harf kullanin.
elseif (strlen(<argtxt[1]>) > 16)
	src.sysmessage @38,1,1 Vericeginiz isim 16 karakteri gecemez.
else
	name <argtxt[1]>
endif

[dialog d_pazar_alani_kontrat_bitir]
100, 20
PAGE 0
noclose
resizepic 2 2 3600 250 140
checkertrans 12 12 230 120
dtext 30 32 990 Kontrati iptal edecekmisiniz?
button 70 68 4006 4005 1 0 1
button 150 68 4018 4019 2 0 2

[dialog d_pazar_alani_kontrat_bitir button]
On=2
src.sysmessage @38,1,1 Iptal ettiniz.

on=1
timer
src.sysmessage @69,1,1 Kontrati bitirdiniz.

[function doorset]
newitem i_setdoor
act.equip

[itemdef i_setdoor]
id i_gold
type t_eq_script
name Set Door

On=@Equip
target @69,1,1 Tabelayi secin.

On=@TargOn_Char
remove
return 1

On=@TargOn_Ground
remove
return 1

On=@TargOn_Cancel
remove
return 1

On=@TargOn_Item
if (<more1> == 0)
	if (<src.targ.baseid> == i_tabela)
		link <src.targ.uid>
		more1 1
		target @69,1,1 Birinci kapiyi secin.
	else
		remove
	endif
elseif (<more1> == 1)
	if (<src.targ.type> == t_door)
		link.tag.kapi1 <src.targ.uid>
		more1 2
		target @69,1,1 Ikinci kapiyi secin.
	else
		remove
	endif
elseif (<more1> == 2)
	if (<src.targ.type> == t_door)
		link.tag.kapi2 <src.targ.uid>
		src.sysmessage @69,1,1 Kapilar basariyla ayarlandi.
	endif
	remove
endif
return 1

[function strongboxset]
newitem i_strongboxset
act.equip

[itemdef i_strongboxset]
id i_gold
type t_eq_script
name Set Door

On=@Equip
target @69,1,1 Tabelayi secin.

On=@TargOn_Char
remove
return 1

On=@TargOn_Ground
link.morep <src.targp>
remove
return 1

On=@TargOn_Cancel
remove
return 1

On=@TargOn_Item
if !(0<more1>)
	if (<src.targ.baseid> == i_tabela)
		link <src.targ.uid>
		more1 1
		targetg @69,1,1 Strongboxin koyulacagi yeri secin...
	else
		remove
	endif
endif
return 1

[itemdef i_key_babz]
id i_key_copper
name key
type t_eq_script

on=@dclick
if !(<tag0.sahip> == <src.uid>)
	src.sysmessage @38,1,1 Anahtarin sahibi siz degilsiniz.
else
	target
endif
return 1

on=@targon_char
return 1

on=@targon_item
if !(<src.targ.link.uid> == <uid>)
	src.sysmessage @38,1,1 Anahtar kapiyla eslesmiyor.
elseif (<src.targ.type> == t_door)
	src.targ.type t_door_locked
	src.sysmessage @69,1,1 Kapiyi kilitlediniz.
elseif (<src.targ.type> == t_door_locked)
	src.targ.type t_door
	src.sysmessage @69,1,1 Kapiyi actiniz.
else
	src.sysmessage @38,1,1 Bu bir kapi degil.
endif
return 1

[ITEMDEF i_deed_pv]
name contract of employment
id i_deed
type t_script
value 55000

On=@Create
color 066f
attr 04

On=@DClick
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 @38,1,1 Sadece sahibi veya ortagi oldugunuz evlere vendor yerlestirebilirsiniz.
	elseif (<link> == 04fffffff)
		src.sysmessage @38,1,1 Deed'i eve sabitleyip kullanmalisiniz.
	elseif ((<link.tag.vendor1>) && (<link.tag.vendor2>) && (<link.tag.vendor3>))
		src.sysmessage @38,1,1 Bir eve 3'ten fazla vendor yerlestiremezsiniz.
	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 @38,1,1 <var.vhomeowner> isimli sahsin evinde zaten bir vendorunuz bulunuyor, yeni bir tane kurmak icin onu kovmalisiniz.
		else
			src.sysmessage @38,1,1 Evinizde zaten bir vendorunuz bulunuyor.
		endif
	elseif (<src.region.events> == r_house_private)
		src.sysmessage @38,1,1 Lutfen evin halka acik oldugundan emin olunuz.
	elseif !(<src.restest 2500 i_gold>)
		src.sysmessage @38,1,1 Vendoru kurabilmek icin yaninizda 2500 altin olmali.
	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 @69,1,1 Vendorunuz kuruldu, komutlar icin '<src.act.name> yardim' yaziniz.
		src.var.vendorkim <src.act.uid>
		link.tag.locknumber -= 1
		link.tag.vendnumber += 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
	endif
else
	src.sysmessage @38,1,1 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

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_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

// *******
// 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)
	if !(strmatch(<region.events>,r_nujelm)
		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
endif
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.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> altin.
	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.gp> < <src.targ.price>)
		cont.sayu 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.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
// *********

[dialog d_pv_cash]
300,300

resizepic 0 0 3600 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 3600 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> altin. Bunu satin almak istediginize emin misiniz?

[dialog d_pv_buy button]
On=1
if (strmatch('<price>',''))
	src.sysmessage @38,1,1 Bu esya satilik degil.
elseif (<price> <= 0)
	src.sysmessage @38,1,1 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_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 altininiz yok.
endif

[dialog d_pv_dismiss]
300,300
noclose

resizepic 0 0 3600 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_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)
		sayu 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)
		sayu 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
	if (<src.uid> == <tag.owner>)
		sayu Kullanabileceginiz komutlar: durum, kasa, hasila, fiyat, lokasyon, kontrat.
		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=hasila*
	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=lokasyon*
	if ((<src.uid> == <tag.owner>) || (<src.uid> == <region.tag.owner>) || (<src.isgm>))
		if (strmatch('<args>','LOKASYON ?'))
			sayu Ev icerisinde durdugum noktayi degistirmek icin kullanacaginiz komuttur. Durmami istediginiz yeni noktaya gecip kullanmaniz gerekmektedir.
		else
			if (<src.region.uid> == <findid.i_pv.link.uid>) && (strmatch(<region.name>,Britain)
				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 @38,1,1 Bulundugunuz nokta evin icinde degil.
			endif
		endif
	endif
	return 1
	
On=kontrat*
	if ((<src.uid> == <tag.owner>) || (<src.isgm>) || (<src.uid> == <region.tag.owner>))
		if (strmatch('<args>','KONTRAT ?'))
			if (<src.uid> == <region.tag.owner>)
				sayu 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
				sayu 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

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 @38,1,1 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.
	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=@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 * <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 |= statf_pet
endif

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

if (<src.isgm>)
	pack
elseif (<src.flags>&statf_dead)
	src.sysmessage @38,1,1 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 @38,1,1 Vendor'a ulasamiyorsunuz.
endif
return 1

On=@EnvironChange
if (<flags>&statf_war)
	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>)
			sayu Bedavaya calisacak degilim.
			salute
			findid.i_pv_rem.timer 3
			memoryfindtype.memory_ipet.link.sysmessage @38,1,1 Vendorunuz maas alamadigi icin istifa etti.
		else
			findid.i_pv_rem.more1 1
			go <tag.p>
		endif
	endif
endif

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

[function bankconsume]
var.gp <args>
if (<eval <var.gp>> > 65000)
	act <src.findlayer(layer_bankbox).uid> 
	act.layer layer_pack 
	act.type t_container 
	act.equip 
	consume 65000 i_gold
	act.layer layer_bankbox 
	act.type t_eq_bank_box 
	act.equip
	var.gp -= 65000
	bankconsume <eval <var.gp>>
else
	act <src.findlayer(layer_bankbox).uid> 
	act.layer layer_pack 
	act.type t_container 
	act.equip 
	consume <eval <var.gp>> i_gold
	act.layer layer_bankbox 
	act.type t_eq_bank_box 
	act.equip
endif
update

[function fiyat]
if (<eval <argn>> > 1000000)
	sayu Tek bir mali 1 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 += <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 <var.gp>>
		var.gp 0
	else
		var.gp -= <amount>
		remove
	endif
endif

[function evl]

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

[eof]
Valla cok işime yarar Paylaşım için Sağolasın..
bunda su sorun var eger cantasini sahibi olmayan player acmaya calisinca cantasini kurcalar felan cikiyor arada guardsli yor ve adam oluyor..

Canta icndeki cantayı acarken.Crim

Bu konu Muratti tarafından düzenlendi(2008-04-14 12:30, 15 yıl önce)

Üye Ol veya Giriş Yap

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