Anasayfa
UO Sunucular
Forumlar
Profilim
UO-Developer.COM
Geliştirmeye açıktır, Güle güle kullanın.

Oyuncu vendorları içinde arama ve satınalma yapabileceğiniz bir sistem.
//hssmn

[CHARDEF C_pv_shared]
ID C_MAN
NAME=#NAMES_HUMANMALE
TEVENTS=e_human_environ

ON=@CREATE
STR 100
DEX 0
INT 100
taming 9900

color colors_Skin

ITEMNEWBIE I_ROBE
COLOR 0
ITEMNEWBIE I_STAFF_BLACK
itemnewbie i_boots_calf


on=@gethit
hit <str>
return 1

ON=@CLICK
MESSAGE @1153,,1 [Player Vendor]

on=@dclick
if !(<canseelos>)
src.sysmessage @021,,1 Yoneticiye ulasamiyorsunuz.
else
var.vend_search katana

var.vend_s_p_1 0
var.vend_s_p_2 10000000
var.vend_s_m_1 3
var.vend_s_m_2 30
var.vend_s_d_1 0
var.vend_s_d_2 99

vend_search
sdialog d_pv_shared_weap

if <eval <src.dir>> >= 4
dir <eval <src.dir> - 4>
else
dir <eval <src.dir> + 4>
endif
fix

endif
return 1


[dialog d_pv_buy_shared]
300,300

resizepic 0 0 5054 280 115
resizepic 5 5 3000 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_shared text]
<name>, fiyati: <price> gold coin. Bunu satin almak istediginize emin misiniz?

[dialog d_pv_buy_shared button]
on=0
if <src.findid.i_vend_shared>
src.findid.i_vend_shared.remove
endif
On=1
if (strmatch('<price>',''))
src.sysmessage @0481 Bu esya satilik degil.
elseif (<price> <= 0)
src.sysmessage @0481 Bu esya satilik degil.
elseif !(<topobj.id> == c_pv)
src.sysmessage @021,,1 Sadece saticilardan alinabilir.
elseif !(<src.bankbalance> < <price>)
src.gpconsume <price>
topobj.findlayer(29).more1 (<topobj.findlayer(29).more1> + <price>)
cont <src.findlayer(21).uid>
price 0
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) || (<tag0.newbified>))
attr <attr>|attr_newbie
endif
else
src.sysmessage @021,,1 Bankanizda bunu alacak kadar para bulunmuyor.
endif
if <src.findid.i_vend_shared>
src.findid.i_vend_shared.remove
endif

[function vend_buyin]
uid.<args>.dialog d_pv_buy_shared


[function vend_search]

if <src.findid.i_vend_shared>
src.findid.i_vend_shared.remove
endif
newitem i_vend_shared
act.cont <src>
act.tag.fi_next 0
act.tag.mo_next 0
act.tag.ot_next 0
var.vend_shared_id <act>

forchars 65000
if (<baseid> = c_pv)
findlayer.21.finditems_v
endif
endfor


[function finditems_v]
if (<rescount> > 140)
finditems_v_loop 140
else
finditems_v_loop <rescount>
endif

[function finditems_v_loop]
if (<eval <argn>> >= 0)
if (<findcont.<eval <argn>>.type> == t_container)
findcont.<eval <argn>>.finditems_v
else
if !(strmatch('<findcont.<eval <argn>>.price>','')
if (<findcont.<eval <argn>>.price> > 0)
if (strmatch('<strsub 0 8 <findcont.<eval <argn>>.type>>','t_weapon'))
try uid.<var.vend_shared_id>.tag.vend_weapon_<eval <uid.<var.vend_shared_id>.tag.fi_next>> <findcont.<eval <argn>>.uid>
try uid.<var.vend_shared_id>.tag.fi_next <eval <uid.<var.vend_shared_id>.tag.fi_next>+1>
elseif !(strmatch('<findcont.<eval <argn>>.tag.trade>',''))
try uid.<var.vend_shared_id>.tag.vend_mount_<eval <uid.<var.vend_shared_id>.tag.mo_next>> <findcont.<eval <argn>>.uid>
try uid.<var.vend_shared_id>.tag.mo_next <eval <uid.<var.vend_shared_id>.tag0.mo_next>+1>
else
try uid.<var.vend_shared_id>.tag.vend_other_<eval <uid.<var.vend_shared_id>.tag.ot_next>> <findcont.<eval <argn>>.uid>
try uid.<var.vend_shared_id>.tag.ot_next <eval <uid.<var.vend_shared_id>.tag0.ot_next>+1>

endif
endif
endif
endif

finditems_v_loop <eval <argn>-1>
endif


[function qwe_]
for 0 <var.fi_next>
obj=<var.vend_Weapon_<eval <local._for>>>

for 0 <eval strlen(<obj.name>)>
if (strmatch('<strsub <eval <local._for>> <eval strlen(<args>)> <obj.name>>','<args>')
local.v_list_<eval <local._for>> <obj>
sysmessage @0 <local.v_list_<eval <local._for>>>
local.z += 1
endif
endfor
endfor

[ITEMDEF i_vend_shared]
Name=venditems
Id=i_memory
type=t_eq_script



[dialog d_pv_shared_weap]
0,0
page 0

resizepic 45 0 5054 610 460
resizepic 50 5 3000 600 450

dtext 290 26 1153 Vendor Master

dtext 145 56 73 Silah
button 110 55 4005 4007 20 0 990

dtext 265 56 73 Binek
button 230 55 4006 4007 20 0 991

dtext 385 56 73 Diger
button 350 55 4006 4007 20 0 992

dtext 117 102 1153 Isim :
resizepic 165 95 2620 210 34
dtextentry 174 103 195 25 1153 1 <var.vend_search>

dtext 110 142 1153 Fiyat :
resizepic 165 135 2620 100 34
dtextentry 172 143 80 25 1153 2 <eval <var.vend_s_p_1>>
resizepic 270 135 2620 105 34
dtextentry 277 143 90 25 1153 3 <eval <var.vend_s_p_2>>

dtext 395 102 1153 Buyu :
resizepic 455 95 2620 45 34
dtextentry 462 103 30 25 1153 4 <eval <var.vend_s_m_1>>
dtext 505 102 1153 -
resizepic 520 95 2620 45 34
dtextentry 527 103 30 25 1153 5 <eval <var.vend_s_m_2>>

dtext 390 142 1153 Hasar :
resizepic 455 135 2620 45 34
dtextentry 462 143 30 25 1153 6 <eval <var.vend_s_d_1>>
dtext 505 142 1153 -
resizepic 520 135 2620 45 34
dtextentry 527 143 30 25 1153 7 <eval <var.vend_s_d_2>>

button 575 143 4015 4016 20 0 990


dtext 240 170 049 Hasar

if !(strmatch('<var.vend_search>','')

page 1

local.sayfa 1
local.gecis 0
local.z 0

for 0 <eval <src.findid.i_vend_shared.tag.fi_next>> // ARAMA MOTORU
obj=<src.findid.i_vend_shared.tag.vend_weapon_<eval <local._for>>>
for 0 <eval strlen(<obj.name>)>
if (strmatch('<strsub <eval <local._for>> <eval strlen(<var.vend_search>)> <obj.name>>','<var.vend_search>')
if (<obj.price> > <var.vend_s_p_1>)&&(<obj.price> <= <var.vend_s_p_2>)&&(<eval (100 - ((<obj.more1l> * 100) / <obj.more1h>))> >= <var.vend_s_d_1>)&&(<eval (100 - ((<obj.more1l> * 100) / <obj.more1h>))> <= <var.vend_s_d_2>)&&(<eval (<obj.morey> / (666/10))> >= <var.vend_s_m_1>)&&(<eval (<obj.morey> / 68)> <= <var.vend_s_m_2>)
if (<local.z> < 70)
try local.v_list_<eval <local.z>> <obj>
try local.z <eval <local.z> + 1>
endif
endif
endif
endfor
endfor



for 0 <eval <local.z>-1> // SIRALAMA
local.sira <eval <local._for>>

local.eb_<eval <local._for>> 0

for 0 <eval <local.z>-1>
obj=<local.v_list_<eval <local._for>>>
if <obj> > 0
if (<eval <local.eb_<eval <local.sira>>>> < <obj.price>)
local.eb_<eval <local.sira>> <obj.price>
local.eb_<eval <local.sira>>_uid <obj>
endif
endif

endfor

for 0 <eval <local.z>-1> // SIRADAKI KAYDEDILEN EN BUYUGU SIL
if (<local.eb_<eval <local.sira>>_uid> = <local.v_list_<eval <local._for>>>)
local.v_list_<eval <local._for>>
endif
endfor

endfor

local.bt = 1
for <eval <local.z>-1> 0 // TERS DONGU
obj=<local.eb_<eval <local._for>>_uid>
if (<eval <obj.price>> > 0)

if (<local.gecis> >= 10)
local.gecis 0
local.sayfa += 1
button 602 415 4006 4007 0 <local.sayfa> 102 // ILERI
page <local.sayfa>
button 68 415 4015 4016 0 <eval <local.sayfa>-1> 101 // GERI
endif
if <obj.morey> > 1500
dtext 70 <eval ((<local.gecis>+1)*22)+165> 1153 +<eval (<obj.morey> / 68)> <obj.name>
else
dtext 70 <eval ((<local.gecis>+1)*22)+165> 1153 +<eval (<obj.morey> / (666/10))> <obj.name>
endif

local.hsr <eval (100 - ((<obj.more1l> * 100) / <obj.more1h>))>
if (<local.hsr> > 0)
dtext 275 <eval ((<local.gecis>+1)*22)+165> 1153 %<eval <local.hsr>>
endif
dtext 320 <eval ((<local.gecis>+1)*22)+165> 1153 <strsub 0 10 <uid.<obj.topobj.tag.owner>.name>>
dtext 495 <eval ((<local.gecis>+1)*22)+165> 1153 <noktala <obj.price>>
button 602 <eval ((<local.gecis>+1)*22)+165> 4015 4016 1 0 <eval <local.bt>> // SATIN AL
src.findid.i_vend_shared.tag.<eval <local.bt>> <obj>
local.gecis += 1
local.bt += 1
endif

endfor

endif

[dialog d_pv_shared_weap button]
on=0
if <src.findid.i_Vend_shared>
src.findid.i_vend_shared.remove
endif

on=990
if (strlen(<argtxt[1]>) < 3)
src.sysmessage @021,,1 En az 3 karakter girmelisiniz.
elseif (strmatch('<argtxt[2]>','')||(strmatch('<argtxt[3]>','')||(strmatch('<argtxt[4]>','')||(strmatch('<argtxt[5]>','')||(strmatch('<argtxt[6]>','')||(strmatch('<argtxt[7]>','')
src.sysmessage @021,,1 Kutucuklari bos birakamazsiniz.
elseif (<argtxt[2]> < 0)||(<argtxt[3]> < 0)||(<argtxt[4]> < 0)||(<argtxt[5]> < 0)||(<argtxt[6]> < 0)||(<argtxt[7]> < 0)
src.sysmessage @021,,1 En dusuk deger 0 girebilirsiniz.
else
var.vend_search <argtxt[1]>
var.vend_s_p_1 <argtxt[2]>
var.vend_s_p_2 <argtxt[3]>
var.vend_s_m_1 <argtxt[4]>
var.vend_s_m_2 <argtxt[5]>
var.vend_s_d_1 <argtxt[6]>
var.vend_s_d_2 <argtxt[7]>
endif
sdialog d_pv_shared_weap
on=991
var.vend_search
var.vend_s_p_1 0
var.vend_s_p_2 10000000
sdialog d_pv_shared_mount
on=992
var.vend_search
var.vend_s_p_1 0
var.vend_s_p_2 10000000
sdialog d_pv_shared_other

on=1 989
vend_buyin <src.findid.i_vend_shared.tag.<eval <argn>>>






[dialog d_pv_shared_mount]
0, 0
page 0

resizepic 45 0 5054 610 460
resizepic 50 5 3000 600 450

dtext 290 26 1153 Vendor Master

dtext 145 56 73 Silah
button 110 55 4006 4007 20 0 990

dtext 265 56 73 Binek
button 230 55 4005 4007 20 0 991

dtext 385 56 73 Diger
button 350 55 4006 4007 20 0 992

dtext 117 102 1153 Isim :
resizepic 165 95 2620 210 34
dtextentry 174 103 195 25 1153 1 <var.vend_search>

dtext 110 142 1153 Fiyat :
resizepic 165 135 2620 100 34
dtextentry 172 143 80 25 1153 2 <eval <var.vend_s_p_1>>
resizepic 270 135 2620 105 34
dtextentry 277 143 90 25 1153 3 <eval <var.vend_s_p_2>>


button 385 143 4015 4016 20 0 993


if !(strmatch('<var.vend_search>','')

page 1

local.sayfa 1
local.gecis 0
local.z 0

for 0 <eval <src.findid.i_vend_shared.tag.mo_next>> // ARAMA MOTORU
obj=<src.findid.i_vend_shared.tag.vend_mount_<eval <local._for>>>
for 0 <eval strlen(<obj.tag.trade>)>
if (strmatch('<strsub <eval <local._for>> <eval strlen(<var.vend_search>)> <obj.tag.trade>>','<var.vend_search>')
if (<obj.price> > <var.vend_s_p_1>)&&(<obj.price> <= <var.vend_s_p_2>)
if (<local.z> < 50)
try local.v_list_<eval <local.z>> <obj>
try local.z <eval <local.z> + 1>
endif
endif
endif
endfor
endfor



for 0 <eval <local.z>-1> // SIRALAMA
local.sira <eval <local._for>>

local.eb_<eval <local._for>> 0

for 0 <eval <local.z>-1>
obj=<local.v_list_<eval <local._for>>>
if <obj> > 0
if (<eval <local.eb_<eval <local.sira>>>> < <obj.price>)
local.eb_<eval <local.sira>> <obj.price>
local.eb_<eval <local.sira>>_uid <obj>
endif
endif

endfor

for 0 <eval <local.z>-1> // SIRADAKI KAYDEDILEN EN BUYUGU SIL
if (<local.eb_<eval <local.sira>>_uid> = <local.v_list_<eval <local._for>>>)
local.v_list_<eval <local._for>>
endif
endfor

endfor

local.bt = 1
for <eval <local.z>-1> 0 // TERS DONGU
obj=<local.eb_<eval <local._for>>_uid>
if (<eval <obj.price>> > 0)

if (<local.gecis> >= 10)
local.gecis 0
local.sayfa += 1
button 602 415 4006 4007 0 <local.sayfa> 102 // ILERI
page <local.sayfa>
button 68 415 4015 4016 0 <eval <local.sayfa>-1> 101 // GERI
endif

dtext 70 <eval ((<local.gecis>+1)*22)+165> 1153 <obj.tag.trade>
dtext 250 <eval ((<local.gecis>+1)*22)+165> <obj.color> <obj.color>
dtext 310 <eval ((<local.gecis>+1)*22)+165> 1153 <uid.<obj.topobj.tag.owner>.name>
dtext 495 <eval ((<local.gecis>+1)*22)+165> 1153 <noktala <obj.price>>
button 602 <eval ((<local.gecis>+1)*22)+165> 4015 4016 1 0 <eval <local.bt>> // SATIN AL
src.findid.i_vend_shared.tag.<eval <local.bt>> <obj>
local.gecis += 1
local.bt += 1
endif

endfor

endif

[dialog d_pv_shared_mount button]
on=0
if <src.findid.i_Vend_shared>
src.findid.i_vend_shared.remove
endif

on=993
if (strlen(<argtxt[1]>) < 3)
src.sysmessage @021,,1 En az 3 karakter girmelisiniz.
elseif (strmatch('<argtxt[2]>','')||(strmatch('<argtxt[3]>','')
src.sysmessage @021,,1 Kutucuklari bos birakamazsiniz.
elseif (<argtxt[2]> < 0)||(<argtxt[3]> < 0)
src.sysmessage @021,,1 En dusuk deger 0 girebilirsiniz.
else
var.vend_search <argtxt[1]>
var.vend_s_p_1 <argtxt[2]>
var.vend_s_p_2 <argtxt[3]>
endif
sdialog d_pv_shared_mount
on=990
var.vend_search katana
var.vend_s_p_1 0
var.vend_s_p_2 10000000
var.vend_s_m_1 3
var.vend_s_m_2 30
var.vend_s_d_1 0
var.vend_s_d_2 99
sdialog d_pv_shared_weap
on=991
var.vend_search
var.vend_s_p_1 0
var.vend_s_p_2 10000000
sdialog d_pv_shared_mount
on=992
var.vend_search
var.vend_s_p_1 0
var.vend_s_p_2 10000000
sdialog d_pv_shared_other

on=1 899
vend_buyin <src.findid.i_vend_shared.tag.<eval <argn>>>



[dialog d_pv_shared_other]
0,0
page 0

resizepic 45 0 5054 610 460
resizepic 50 5 3000 600 450

dtext 290 26 1153 Vendor Master

dtext 145 56 73 Silah
button 110 55 4006 4007 20 0 990

dtext 265 56 73 Binek
button 230 55 4006 4007 20 0 991

dtext 385 56 73 Diger
button 350 55 4005 4007 20 0 992

dtext 117 102 1153 Isim :
resizepic 165 95 2620 210 34
dtextentry 174 103 195 25 1153 1 <var.vend_search>

dtext 110 142 1153 Fiyat :
resizepic 165 135 2620 100 34
dtextentry 172 143 80 25 1153 2 <eval <var.vend_s_p_1>>
resizepic 270 135 2620 105 34
dtextentry 277 143 90 25 1153 3 <eval <var.vend_s_p_2>>


button 385 143 4015 4016 20 0 993


if !(strmatch('<var.vend_search>','')

page 1

local.sayfa 1
local.gecis 0
local.z 0

for 0 <eval <src.findid.i_vend_shared.tag.ot_next>> // ARAMA MOTORU
obj=<src.findid.i_vend_shared.tag.vend_other_<eval <local._for>>>
for 0 <eval strlen(<obj.name>)>
if (strmatch('<strsub <eval <local._for>> <eval strlen(<var.vend_search>)> <obj.name>>','<var.vend_search>')
if (<obj.price> > <var.vend_s_p_1>)&&(<obj.price> <= <var.vend_s_p_2>)
if (<local.z> < 50)
try local.v_list_<eval <local.z>> <obj>
try local.z <eval <local.z> + 1>
endif
endif
endif
endfor
endfor



for 0 <eval <local.z>-1> // SIRALAMA
local.sira <eval <local._for>>

local.eb_<eval <local._for>> 0

for 0 <eval <local.z>-1>
obj=<local.v_list_<eval <local._for>>>
if <obj> > 0
if (<eval <local.eb_<eval <local.sira>>>> < <obj.price>)
local.eb_<eval <local.sira>> <obj.price>
local.eb_<eval <local.sira>>_uid <obj>
endif
endif

endfor

for 0 <eval <local.z>-1> // SIRADAKI KAYDEDILEN EN BUYUGU SIL
if (<local.eb_<eval <local.sira>>_uid> = <local.v_list_<eval <local._for>>>)
local.v_list_<eval <local._for>>
endif
endfor

endfor

local.bt = 1
for <eval <local.z>-1> 0 // TERS DONGU
obj=<local.eb_<eval <local._for>>_uid>
if (<eval <obj.price>> > 0)

if (<local.gecis> >= 10)
local.gecis 0
local.sayfa += 1
button 602 415 4006 4007 0 <local.sayfa> 102 // ILERI
page <local.sayfa>
button 68 415 4015 4016 0 <eval <local.sayfa>-1> 101 // GERI
endif

dtext 70 <eval ((<local.gecis>+1)*22)+165> 1153 <obj.name>
dtext 265 <eval ((<local.gecis>+1)*22)+165> 1153 %<eval (100 - ((<obj.more1l> * 100) / <obj.more1h>))>
dtext 310 <eval ((<local.gecis>+1)*22)+165> 1153 <uid.<obj.topobj.tag.owner>.name>
dtext 495 <eval ((<local.gecis>+1)*22)+165> 1153 <noktala <obj.price>>
button 602 <eval ((<local.gecis>+1)*22)+165> 4015 4016 1 0 <eval <local.bt>> // SATIN AL
src.findid.i_vend_shared.tag.<eval <local.bt>> <obj>
local.gecis += 1
local.bt += 1
endif

endfor

endif

[dialog d_pv_shared_other button]
on=0
if <src.findid.i_Vend_shared>
src.findid.i_vend_shared.remove
endif

on=993
if (strlen(<argtxt[1]>) < 3)
src.sysmessage @021,,1 En az 3 karakter girmelisiniz.
elseif (strmatch('<argtxt[2]>','')||(strmatch('<argtxt[3]>','')
src.sysmessage @021,,1 Kutucuklari bos birakamazsiniz.
elseif (<argtxt[2]> < 0)||(<argtxt[3]> < 0)
src.sysmessage @021,,1 En dusuk deger 0 girebilirsiniz.
else
var.vend_search <argtxt[1]>
var.vend_s_p_1 <argtxt[2]>
var.vend_s_p_2 <argtxt[3]>
endif
sdialog d_pv_shared_other
on=990
var.vend_search katana
var.vend_s_p_1 0
var.vend_s_p_2 10000000
var.vend_s_m_1 3
var.vend_s_m_2 30
var.vend_s_d_1 0
var.vend_s_d_2 99
sdialog d_pv_shared_weap
on=991
var.vend_search
var.vend_s_p_1
var.vend_s_p_2 10000000
sdialog d_pv_shared_mount
on=992
var.vend_search
var.vend_s_p_1
var.vend_s_p_2 10000000
sdialog d_pv_shared_other

on=1 899
vend_buyin <src.findid.i_vend_shared.tag.<eval <argn>>>

UO-Dev SPONSOR

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?

UO-Dev SPONSOR

hssmn 11-09-2015 10:16
Vendor chardef c_pv olarak ayarlanmış, bir de satın alındığında newbified olacak eşya ID lerini ayarlayın scriptte örnekler var.

Üyelerin oylama ortalaması (10 dışında) :

8.67

Oylar: 3 den itibaren 10-09-2015 15:13

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?