UO-Dev Arama


item alıp satan bir tezgahtar scripti

Yazar: aldarson
Tarih: 26-06-2010 17:38


Paylaş : Paylaş
Karakter Boyut :


Kod:
[DEFNAME SYSTEM_OPTION]
OPTION_MAX_ITEMS "10"
OPTION_ITEM_MAX_VALUE "7000000"
OPTION_ITEM_MIN_VALUE "2500"
OPTION_ITEM_ADD_GOLD "1000"
OPTION_ITEM_CONT_TIME "28800"

[CHARDEF c_h_tezgahtar]
ID C_MAN
NAME Tezgahtar
TEVENTS=e_Human_Defense

On=@Create
TAG0.MAX_ITEMS=<dDEF.OPTION_MAX_ITEMS>
TAG0.ADD_ITEMS "0"
STR=100
COLOR=01
FOOD=999
ItemNewbie=i_robe
COLOR=0455
ItemNewbie=i_boots_calf
COLOR=01
ItemNewbie=i_cap
COLOR=0455
Item=i_tezgahtar
Timer=Option_Item_Cont_Time
ItemNewbie=i_bankbox

On=@Click
MSG_NORMAL <REGION.NAME> <NAME>
RETURN 1

On=@Dclick
IF (<SRC.F_Flags_Check>)
SRC.SYS_HATA Bu durumda iken bunu yapamazsınız.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Tezgahtar'a ulaşamıyorsunuz.
ELSE
SRC.F_ResenDialog D_Item_Buy,0,<UID>
ENDIF
RETURN 1

On=@Destroy
For 10
REF1=<F_SELECT 1,<TAG0.ITEM_<DLOCAL._FOR>>>
REF2=<F_SELECT 2,<TAG0.ITEM_<DLOCAL._FOR>>>

IF (<REF1>) && (<REF2>)
REF1.CONT=<REF2.FINDLAYER(29)>
ENDIF
ENDFOR

[DIALOG D_Item_Buy]
50,50
NOMOVE
REF1=<ARGV[0]>
SRC.Ctag0.Uid=<REF1>
RESIZEPIC 0 0 02422 900 500
DHTMLGUMP 350 15 999 20 0 0 <DEF.BFONT_RED><SERV.NAME> Tezgahtar Menüsü
DHTMLGUMP 51 50 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Eşya Adı:
DHTMLGUMP 260 50 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Ekleyen:
DHTMLGUMP 522 50 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Fiyatı:
DHTMLGUMP 742 50 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Sağlamlık:

FOR 0 <REF1.dTAG0.MAX_ITEMS>
IF !(<UID.<F_SELECT 2,<REF1.TAG0.ITEM_<dLOCAL._FOR>>>>)
REF1.TAG0.ITEM_<dLOCAL._FOR>=
ENDIF
LOCAL.X=<EVAL (<LOCAL._FOR>*32)+90>
REF2=<REF1.TAG0.ITEM_<dLOCAL._FOR>>
DHTMLGUMP 50 <dLOCAL.X> 999 20 0 0 <QVAL (<REF2>)?[<REF2.NAME>]:Eklenmemiş>
IF (<REF2>)
BUTTON 30 <dLOCAL.X> <DEF.BUTTONID_1> 1 0 <EVAL <LOCAL._FOR> +1>
ENDIF
DHTMLGUMP 260 <dLOCAL.X> 300 20 0 0 <QVAL (<REF2>)?[<UID.<UID.<F_SELECT 2,<REF1.TAG0.ITEM_<dLOCAL._FOR>>.NAME>>.NAME>]:Eklenmemiş>
DHTMLGUMP 520 <dLOCAL.X> 300 20 0 0 <QVAL (<REF2>)?[<F_SELECT 3,<REF1.TAG0.ITEM_<dLOCAL._FOR>>>]:Eklenmemiş>
DHTMLGUMP 740 <dLOCAL.X> 300 20 0 0 <QVAL (<REF2.ISOTHER>)?%<REF2.HITPOINTS>:Bu özellik yok.>
ENDFOR

DHTMLGUMP 50 459 999 20 0 0 Tezgahtara item ekle
BUTTON 30 459 <DEF.BUTTONID_1> 1 0 99
DHTMLGUMP 470 459 999 20 0 0 İtemlerin sahiplerine aktarılmasına : <F_LOOK_TIME <REF1.FINDID(i_tezgahtar).TIMER>>

[DIALOG D_Item_Buy BUTTON]
ON=99
REF1=<SRC.CTAG0.UID>
<QVAL (<SRC.F_CANSEELOS <REF1>>)?SRC.SYS_HATA Tezgahtar'a ulaşamıyorsunuz.:SRC.TARGETF F_ADD_ITEM <REF1>>

ON=1,80
REF1=<Src.CTAG0.UID>
LOCAL.ARGN=<EVAL <ARGN> -1>
REF2=<F_SELECT 1,<REF1.TAG0.ITEM_<dLOCAL.ARGN>>>     
REF4=<F_SELECT 2,<REF1.TAG0.ITEM_<dLOCAL.ARGN>>>     
LOCAL.GOLD=<F_SELECT 3,<REF1.TAG0.ITEM_<dLOCAL.ARGN>>>

IF (<SRC.F_CanSeeLos <REF1>>)
SRC.SYS_HATA Tezgahtar'a ulaşamıyorsunuz.
ELSEIF !(<REF2>)
SRC.SYS_HATA Bu eşya satın alınmış veya kaldırılmış.
ELSE
SRC.F_ResenDialog D_Item_Info,0,<REF2>,<REF4>,<dLOCAL.GOLD>,<REF1>,<dLOCAL.ARGN>
ENDIF

[DIALOG d_Item_Info]
100,100
NOMOVE
REF1=<ARGV[0]>
REF2=<ARGV[1]>
REF3=<ARGV[3]>
RESIZEPIC 0 0 02422 280 180
DHTMLGUMP 60 15 999 20 0 0 <DEF.BFONT_RED><SERV.NAME> Tezgahtar Menüsü
DHTMLGUMP 50 40 999 20 0 0 Eşya adı : <REF1.NAME>
DHTMLGUMP 50 60 999 20 0 0 Ekleyen : <REF2.NAME>
DHTMLGUMP 50 80 999 20 0 0 Fiyatı : <dARGV2>
DHTMLGUMP 50 100 999 20 0 0 Sağlamlık : <QVAL (<REF1.ISOTHER>)?%<REF1.HITPOINTS>:Bu özellik yok.>
DHTMLGUMP 50 120 999 20 0 0 Adet : <REF1.AMOUNT>
BUTTON 40 160 <DEF.BUTTONID_1> 1 0 1
DHTMLGUMP 70 160 999 20 0 0 <QVAL (<REF2>==<SRC>)?Eşyayı bankama aktar:Eşyayı satın al>
SRC.CTAG0.ITEM_INFO=<REF3>,<dARGV2>,<dARGV4>

[DIALOG d_Item_Info button]
ON=1
LOCAL.GOLD=<F_SELECT 2,<SRC.CTAG0.ITEM_INFO>>
LOCAL.ARGN=<F_SELECT 3,<SRC.CTAG0.ITEM_INFO>>

REF3=<F_SELECT 1,<SRC.CTAG0.ITEM_INFO>>
REF1=<F_SELECT 1,<REF3.TAG0.ITEM_<DLOCAL.ARGN>>>
REF2=<F_SELECT 2,<REF3.TAG0.ITEM_<DLOCAL.ARGN>>>

IF (<SRC.F_CanSeeLos <REF3>>)
SRC.SYS_HATA Tezgahtar'a ulaşamıyorsunuz.
ELSEIF (<SRC.F_Flags_Check>)
SRC.SYS_HATA Bu durumda iken bunu yapamazsınız.
ELSEIF !(<REF1>)
SRC.SYS_HATA Bu item satın alınmış veya kaldırılmış.
ELSEIF (<REF3.FINDID(i_tezgahtar).TIMER> <20)
SRC.SYS_HATA Tezgahtar ile şuanda işlem yapamazsınız.
ELSE
IF (<REF2>==<SRC>)
REF1.CONT=<SRC.FINDLAYER(29)>
SRC.SYS_HATA Eşyanız bankanıza aktarıldı.
REF3.TAG0.ADD_ITEMS -=1
REF3.TAG0.ITEM_<dLOCAL.ARGN>
ELSE
IF (<REF1>!=<SRC>) && (<SRC.GOLD> >= <dLOCAL.GOLD>)
REF1.CONT=<SRC>
SRC.GOLD -=<dLOCAL.GOLD>
REF2.GOLD +=<dLOCAL.GOLD>
SERV.WRITEFILE SCRIPTS/LOGS/LOGS1.TXT Tezgahtar - item uid:(<REF1>),satın alan:(<SRC.NAME>=<SRC>),tarih:(<SERV.RTIME>)
SRC.SYS_OK İtemi satın aldınız,çantanıza aktarıldı.
REF3.TAG0.ITEM_<DLOCAL.ARGN>
REF3.TAG.ADD_ITEMS --
IF (<DDEF.CITY_SYSTEM_ACTIVE>==1) && (<SRC.REGION.TAG0.OWNER>) && !(<F_CHARACTER_KONTROL <SRC.REGION.TAG0.OWNER>>)
TRY UID.<SRC.REGION.TAG0.OWNER>.GOLD +=2500
TRY UID.<UID.<SRC.REGION.TAG0.OWNER>.STONE_UID>.TAG0.HASILAT +=2500
ENDIF
ELSE
SRC.SYS_HATA Yeterli altınınız bulunmuyor.[Fiyatı:<dLOCAL.GOLD>]
ENDIF
ENDIF

[DIALOG D_Add_Item]
50,50
NOMOVE
REF1=<ARGV[0]>
REF2=<ARGV[1]>
RESIZEPIC 0 0 02422 600 180
RESIZEPIC 195 89 3000 100 25
DHTMLGUMP 200 15 999 20 0 0 <DEF.BFONT_RED><SERV.NAME> Tezgahtar Menüsü
DHTMLGUMP 50 50 999 20 0 0 Tezgahtara <REF2.NAME> isimli itemi eklemek istediğinizden eminmisiniz?
DHTMLGUMP 50 90 150 20 0 0 Itemin fiyatını giriniz :
DTEXTENTRY 205 89 400 20 0 1
BUTTON 305 92 <DEF.BUTTONID_1> 1 0 1
DHTMLGUMP 335 90 100 20 0 0 Tamam
SRC.Ctag0.Info=<REF1>,<REF2>

[DIALOG D_ADD_ITEM BUTTON]
ON=0
SRC.SYS_OK Tezgahtar menüsünü kapattınız.

ON=1
REF1=<StrARg <SRC.Ctag0.Info>>
REF2=<StrEat <SRC.Ctag0.Info>>

IF (<ISEMPTY <ARGTXT[1]>>)
SRC.SYS_HATA Boş bırakamazsınız.
ELSEIF (<REF2.TOPOBJ>!=<SRC>)
SRC.SYS_HATA <REF2.NAME> çantanızda bulunmuyor.
ELSEIF !(<ISNUMBER <ARGTXT[1]>>)
SRC.SYS_HATA Sadece rakam girebilirsiniz.
ELSEIF (<SRC.GOLD> < <dDEF.OPTION_ITEM_ADD_GOLD>)
SRC.SYS_HATA Satılığa çıkaracak kadar paranız bulunmuyor.[<dDEF.OPTION_ITEM_ADD_GOLD> altın]
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken bunu yapamazsınız.
ELSEIF (<dARGTXT[1]> < <dDEF.OPTION_ITEM_MIN_VALUE>) || (<dARGTXT[1]> > <dDEF.OPTION_ITEM_MAX_VALUE>)
SRC.SYS_HATA En düşük fiyat <DDEF.OPTION_ITEM_MIN_VALUE> gold,en yüksek fiyat olarak <DDEF.OPTION_ITEM_MAX_VALUE>K girebilirsiniz.
ELSEIF (<REF1.dTAG0.ADD.ITEMS>==11)
SRC.SYS_HATA Tezgahtar şuan da çok yoğun.
ELSEIF (<SRC.F_CANSEELOS <REF1>>)
SRC.SYS_HATA Tezgahtar'a ulaşamıyorsunuz.
ELSE

FOR 0 <REF1.dTAG0.MAX_ITEMS>
IF !(<REF1.TAG0.ITEM_<dLOCAL._FOR>>)
LOCAL.BUTTON=<dLOCAL._FOR>
ENDIF
ENDFOR

REF1.TAG0.ITEM_<dLOCAL.BUTTON>=<REF2>,<SRC>,<dARGTXT[1]>
REF1.TAG0.ADD_ITEMS ++
REF1.FINDID(i_tezgahtar).TIMER=<dDEF.OPTION_ITEM_CONT_TIME>
SERV.NEWITEM=I_BACKPACK
NEW.CONT=<REF1.FINDLAYER(29)>
REF2.CONT=<NEW>
SRC.GOLD -=<dDEF.OPTION_ITEM_ADD_GOLD>
SRC.FINDLAYER.21.UPDATEX
ENDIF

[FUNCTION f_add_item]
REF2=<ARGS>
REF3=<ARGO>   
LOCAL.MINHITS=<EVAL <SRC.MAXHITS> / 2>
IF (<SRC.F_CANSEELOS <REF2>>)
SRC.SYS_HATA Tezgahtar'a ulaşamıyorsunuz.
ELSEIF (<SRC.HITS> < <DLOCAL.MINHITS>)
SRC.SYS_HATA Hitpointiniz en az <DLOCAL.MINHITS> olmalıdır.
ELSEIF !(<REF3.ISITEM>)
SRC.SYS_HATA <REF3.NAME> bir item değil.
ELSEIF (<REF3.ATTR>&04|010)
SRC.SYS_HATA Newbie itemleri satılığa çıkaramazsınız.
ELSEIF (<REF3.TOPOBJ>!=<SRC>)
SRC.SYS_HATA Ekleyeceğiniz item çantanızda olması gerekir.
ELSEIF !(<REF3.VALUE>)
SRC.SYS_HATA Bu itemin bir değeri olmadığından satılığa çıkaramazsınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu halde iken bunu yapamazsınız.
ELSEIF (<REF3.TYPE>==T_CONTAINER) || STRMATCH(*DYE*,<REF3.ID>) || (<REF3.DISPID>==I_DEED)
SRC.SYS_HATA Bunu satılığa çıkaramazsınız.
ELSEIF (<REF3.TYPE>==T_FIGURINE)
SRC.SYS_HATA Şuanlık devre dışıdır.
ELSE
SRC.F_RESENDIALOG D_ADD_ITEM,0,<REF2>,<REF3>
ENDIF

[FUNCTION isother]
IF (<ISCLOTH>) || (<ISARMOR>) || (<ISWEAPON>)
RETURN 1
ENDIF
RETURN 0

[ITEMDEF i_tezgahtar]
ID=i_memory
NAME=Tezgahtar
TYPE=t_eq_script

ON=@TIMER
FOR 10
REF1=<F_SELECT 1,<CONT.TAG0.ITEM_<DLOCAL._FOR>>>
REF2=<F_SELECT 2,<CONT.TAG0.ITEM_<DLOCAL._FOR>>>

IF (<REF1>) && (<REF2>)
REF1.CONT=<REF2.FINDLAYER(29)>
TIMERF 1,CONT.TAG0.ITEM_<DLOCAL._FOR>=
TIMERF 1,CONT.TAG0.ADD_ITEMS=
TIMERF 1,CONT.FINDLAYER.29.EMPTY
ENDIF
ENDFOR
TIMER=OPTION_ITEM_CONT_TIME
RETURN 1

[EOF]



Yorumlar

1.   Gönderen Mack   26-07-2010 00:59    

gzl

Oylamalar

Oylama :
Üyelerin oylama ortalaması (10 dışında) : 4.33   
Oylar: 3 den itibaren 11-07-2010 20:14

Benzer Sayfalar

SayfalarYorumlarGönderenTarih

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ı,