Merhaba arkadaşlar,
Önceki yazdığım scriptleri güncelleme furyasının yeni parçası olan Item Transfer sistemine hoş geldiniz. :) Geçen yıl haziran ayları gibi yayınladığım item transfer v1.0 ve v2.0'dan sonra bu gün itibari ile v3.0'ı yayınlıyorum.
Sistemi en verimli şekilde kullanabilmeniz için güncel bir Sphere 0.56b sürümü ile 4.x veya üzeri client platformuna sahip olmalısınız. 4.x platformununun ilk serilerindeki clientlerde eşya rengi konusunda problem yaşabilirsiniz.
Sistemden bazı resimler ve açıklama:
Basit bir işleyişi var sistemin. Hesabınız üzerindeki karakterler arası eşya transferini sağlıklı bir şekilde yapmanızı sağlar. Sistemin oyunculara kattığı bir artı olarak, oyunda aktif olduğu karakterden aktif olmayan karakterine eşya gönderme veya tam tersi aktif olmayan karakterinden aktif olan karakterine eşya transfer etmesini söyleyebiliriz.
Ayriyetten bankanızda bulunan ve içi dolu olan çantaların, yanlarındaki ufak buttonlara basak içlerindeki eşyaları normal olarak dialogda sıralatmanız mümkün.
Sistem örnek olarak anlatmak gerekirse; Slothere isimli karakteriniz ile oyundasınız, ancak Sloth isimli karakterinizin bankasından bir eşya aktarmanız gerekiyor. Oyundan çıkmadan aktif olan karakteriniz (slothere) ile .itemtransfer komutunu kullanıp karakterin karşısına gelecek dialogda Sloth isimli karakterinin sağında bulunan buttona basarak Sloth isimli karakterinin bankasındaki tüm eşyalara erişebilir, seçtiğiniz eşyayı kendi karakterinize birkaç hamlede aktarabilirsiniz.
http://img8.imageshack.us/img8/5324/transfer1.png
http://img22.imageshack.us/img22/8141/transfer2.png
http://img8.imageshack.us/img8/209/transfer3p.png
http://img297.imageshack.us/img297/3794/transfer4.png
[COMMENT transfer]
yazan: Slothere
tarih: 19-08-09
version: 056b+
------------------------
[DEFNAME Transfer_Buttons]
TRANSFER_Send_Button "0FAB 0FAD"
TRANSFER_Receive_Button "0FAE 0FB0"
TRANSFER_Natural_Button "4005 4007"
TRANSFER_Navigation_Button "04B9 04BA"
[PLEVEL 1]
itemtransfer
[function itemtransfer]
IF (<SRC.FLAGS> & statf_dead|statf_freeze|statf_war)
RETURN 1
ELSE
CLEARCTAGS Transfer
DIALOGCLOSE d_transfer_send
DIALOGCLOSE d_transfer_end
SDIALOG d_transfer
ENDIF
[DIALOG d_transfer]
0,0
nomove
RESIZEPIC 100 100 5054 320 210
ALPHABLACK 110 110 300 190
DTEXT 125 120 1152 Eşya aktarmak istediğiniz karakterinizi seçiniz.
DORIGIN 180 140
FOR 0 <EVAL (<ACCOUNT.CHARS> -1)>
DTEXT +15 *20 <QVAL (<ACCOUNT.CHAR.<dLOCAL._FOR>.UID> == <SRC>)? 0845:1000> <ACCOUNT.CHAR.<dLOCAL._FOR>.NAME>
IF (<ACCOUNT.CHAR.<dLOCAL._FOR>.UID> != <SRC>)
BUTTON -55 *0 <DEF.TRANSFER_Send_Button> 1 0 <EVAL (<LOCAL._FOR> + 1)>
BUTTON -25 *0 <DEF.TRANSFER_Receive_Button> 1 0 <EVAL (<LOCAL._FOR> + 6)>
ENDIF
ENDFOR
[DIALOG d_transfer BUTTON]
ON = 1 5
SRC.CTAG.Transfer_Char = <ACCOUNT.CHAR.<EVAL (<ARGN> -1)>.UID>
SRC.CTAG.Transfer_Length = 0
SRC.CTAG.Transfer_Pack = <SRC.FINDLAYER(Layer_BankBox)>
SDIALOG d_transfer_send
ON = 6 10
REF1 = <ACCOUNT.CHAR.<EVAL (<ARGN> - 6)>.UID>
SRC.CTAG.Transfer_Char = <SRC>
SRC.CTAG.Transfer_Length = 0
SRC.CTAG.Transfer_Pack = <REF1.FINDLAYER(Layer_BankBox)>
SDIALOG d_transfer_send
[DIALOG d_transfer_send]
0,0
NOMOVE
RESIZEPIC 100 100 5054 300 300
ALPHABLACK 110 110 280 280
BUTTON 365 363 9903 9905 1 0 20001
BUTTON 115 363 9909 9911 1 0 20002
DORIGIN 190 100
REF2 = <SRC.CTAG.Transfer_Pack>
FOR <SRC.dCTAG0.Length> <EVAL (<SRC.CTAG0.Length> + 11)>
IF (<REF2.FINDCONT.<dLOCAL._FOR>>)
REF3 = <REF2.FINDCONT.<dLOCAL._FOR>>
DTEXT +0 *20 1152 <QVAL (<REF3.AMOUNT> < 2) ? :<REF3.AMOUNT>> <REF3.NAME>
BUTTON -45 *0 <DEF.TRANSFER_Natural_Button> 1 0 <EVAL (<LOCAL._FOR> + 1)>
IF (<REF3.TYPE> == t_container)
IF (<REF3.RESCOUNT> > 0)
BUTTON -65 +5 <DEF.TRANSFER_Navigation_Button> 1 0 <EVAL (<LOCAL._FOR> + 10000)>
ENDIF
ENDIF
ENDIF
ENDFOR
[DIALOG d_transfer_send BUTTON]
ON = 0
CLEARCTAGS Transfer
ON = 1 9999
REF66 = <SRC.CTAG.Transfer_Pack>
SRC.CTAG.Transfer_SendItem <REF66.FINDCONT.<EVAL (<ARGN> - 1)>.UID>
SRC.DIALOGCLOSE d_transfer_end
SDIALOG d_transfer_end
ON = 10000 20000
REF77 = <SRC.CTAG.Transfer_Pack>
SRC.CTAG.Transfer_Pack = <REF77.FINDCONT.<EVAL (<ARGN> - 10000)>.UID>
SRC.CTAG.Length 0
SDIALOG d_transfer_send
ON = 20001
SRC.CTAG0.Length +=12
SDIALOG d_transfer_send
ON = 20002
IF (<SRC.dCTAG0.Length> > 0)
SRC.CTAG.Length -=12
ENDIF
SDIALOG d_transfer_send
[DIALOG d_transfer_end]
0,0
RESIZEPIC 100 100 5054 340 200
ALPHABLACK 110 110 320 180
IF (<SRC.CTAG0.Transfer_Char>)
REF1 = <SRC.CTAG.Transfer_Char>
ELSE
REF1 = <SRC>
ENDIF
REF2 = <SRC.CTAG0.Transfer_SendItem>
DHTMLGUMP 125 125 310 40 0 0 <DEF.BFONT_White>Bu eşyayı "<REF1.NAME>" isimli karakterinize aktarmak istediğinize emin misiniz?
RESIZEPIC 120 175 5054 65 65
TILEPICHUE 125 185 <REF2.DISPIDDEC> <REF2.dCOLOR>
DHTMLGUMP 200 185 220 45 0 0 <DEF.BFONT_LRed>Eşya: <DEF.BFONT_White><REF2.NAME><DEF.BR><DEF.BFONT_LRed>Adet: <DEF.BFONT_White><QVAL (<REF2.AMOUNT> < 2) ? -:<REF2.AMOUNT>>
BUTTON 125 250 <DEF.TRANSFER_Natural_Button> 1 0 1
DTEXT 160 250 1152 Gönder (Transfer Tutarı: 500 gp.)
[DIALOG d_transfer_end BUTTON]
ON = 0
CLEARCTAGS Transfer
ON = 1
REF1 = <SRC.CTAG0.Transfer_Char>
REF2 = <SRC.CTAG0.Transfer_SendItem>
IF !((<REF1>) || (<REF2>))
SRC.SYSMESSAGE @,,1 Teknik bir hata oluştu.
ELSE
IF (<SRC.GOLD> < 500)
SRC.SYSMESSAGE @,,1 Transfer için yeterli altınınız bulunmuyor. (500 gp.)
ELSE
SRC.GOLD -=500
REF2.CONT = <REF1.FINDLAYER(Layer_BankBox)>
REF2.Update
SRC.Update
SRC.SYSMESSAGE @,,1 <REF2.NAME> isimli eşyanızı, <REF1.NAME> isimli karakterinize aktardınız.
ENDIF
ENDIF
CLEARCTAGS Transfer
[EOF]
Total votes: 0
Ultima Online 1 gün önce
Sphere Scripting 4 gün önce
Ultima Online 4 gün önce
Ultima Online 1 hafta önce
Duyurular 2 hafta önce
Sunucular 3 hafta önce
Ultima Online 3 hafta önce
Ultima Online 3 hafta önce
Ultima Online 1 ay önce
Ultima Online 1 ay önce
Sunucular 1 ay önce
Sunucular 1 ay önce
2024-10-31 22:47
2024-10-14 17:45
2024-09-26 14:21
2024-07-08 22:50
2024-07-08 22:34
2024-06-19 22:05
2024-06-01 02:19
2024-05-31 21:17
Yorumlar (0)