UO-Dev Arama


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

Yazar: Hossman
Tarih: 06-09-2015 21:30





Geliştirmeye açıktır, Güle güle kullanın.

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

Kod:
//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>>>



Yorumlar

1.   Gönderen 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.

Oylamalar

Oylama :
Üyelerin oylama ortalaması (10 dışında) : 8.67   
Oylar: 3 den itibaren 10-09-2015 15:13

Benzer Sayfalar

SayfalarYorumlarGönderenTarih
Asalet Sistemi0MirroR29-11-2017
Aile Sistemi0MirroR27-09-2017
Barbut Sistemi (Zar)0MirroR26-08-2017
Binek Geliştirme Sistemi0MirroR23-08-2016
Aile Sistemi0Flamer21-06-2016


Keywords:

ultima online, RunUO, ultima online download, sphere scripting, role play, uo grafik, second age ultima, uo loop, macroman, pvp server, server kurulumu, sphere, multool, ml mulls, 56b 55r 55i, htmlgumps, client 4x, client edit, sphere release, osi, rp server, sunucular, ghost mouse, inside uo, kingdom reborn, stygian abyss, uo nasıl oynanır, mondain's legacy, age of shadows, world build, grandmaster, ultima online pvp, player dosyaları, ultima online indir, frp game, RunUO 1.0.0, razor, uo rice, hue editör, skill tools, ultima online patch, axis, world build, verdata, verdata patcher, map editör, gump editör, mul patcher, aos mulls, scriptler, anim edit, anim publish, hues mul, hosting vps, event dialog, account sistemi, skill gain, static yapımı,