Kod:
[ITEMDEF I_DEED_RENDER]
DEFNAME=I_DEED_RENDER
NAME=Render Deed
ID=I_DEED
TYPE=T_SCRIPT
WEIGHT=20
SKILLMAKE=
RESOURCES=
VALUE=150000
ON=@Create
TAG.BINEK=0
MOREX=0
ATTR=ATTR_NEWBIE
ON=@Click
ATTR=ATTR_NEWBIE
IF (<TAG0.BINEK>)
MESSAGE @0481,,1,1 [<MOREX> <SERV.ITEMDEF.<TAG0.BINEK>.NAME>]
ENDIF
ON=@DClick
ATTR=ATTR_NEWBIE
IF (<MOREX> < 0)
SRC.SYSMESSAGE @38,,1,1 Hatalı adet saptandığı için <NAME> kullanamazsınız.
RETURN 1
ENDIF
TARGET
SRC.SYSMESSAGE @044,,1,1 Bir binek kontratı/figürü seçiniz.
RETURN 1
ON=@Targon_Char
TARGET
SRC.SYSMESSAGE @38,,1,1 Bir binek kontratı/figürü seçiniz.
RETURN 1
ON=@Targon_Ground
TARGET
SRC.SYSMESSAGE @38,,1,1 Bir binek kontratı/figürü seçiniz.
RETURN 1
ON=@Targon_Item
IF (<SRC.TARG.TOPOBJ.UID> != <SRC.UID>)
SRC.SYSMESSAGE @38,,1,1 <NAME> yanınızda olmalıdır.
RETURN 1
ENDIF
IF (<SRC.TARG.UID> == <UID>)
DIALOGCLOSE D_DEED_RENDER
DIALOG D_DEED_RENDER
ELSE
IF !(<SRC.TARG.TYPE> == T_FIGURINE)
SRC.SYSMESSAGE @38,,1,1 Bu bir binek kontratı/figürü değil.
RETURN 1
ENDIF
IF (<TAG0.BINEK>)
IF (<TAG0.BINEK> != <SRC.TARG.BASEID>)
SRC.SYSMESSAGE @38,,1,1 Buna tek çeşit binek kontratı/figürü eklenebilir.
RETURN 1
ENDIF
ENDIF
IF !(STRMATCH(*<SRC.TARG.BASEID>*,'<DEF.RENDER_LISTS>'))
SRC.SYSMESSAGE @38,,1,1 Bu binek çevirilebilir binek listesinde bulunmuyor.
RETURN 1
ENDIF
MOREX=(<MOREX> + 1)
TAG0.BINEK=<SRC.TARG.BASEID>
COLOR=<SRC.TARG.COLOR>
SRC.SYSMESSAGE @044,,1,1 <SRC.TARG.NAME> eklendi!
SRC.TARG.REMOVE
TARGET
SRC.SYSMESSAGE @044,,1,1 Bir binek kontratı/figürü seçiniz.
IF (<SRC.ISDIALOGOPEN D_DEED_RENDER>)
DIALOGCLOSE D_DEED_RENDER
DIALOG D_DEED_RENDER
ENDIF
ENDIF
RETURN 1
[DEFNAME RENDER_DEED_CONFIG]
RENDER_1 30,I_PET_LLAMA,I_PET_OSTARD_DESERT
RENDER_2 30,I_PET_LLAMA,I_PET_OSTARD_FOREST
RENDER_3 15,I_PET_OSTARD_DESERT,I_PET_OSTARD_FRENZIED
RENDER_4 15,I_PET_OSTARD_FOREST,I_PET_OSTARD_FRENZIED
RENDER_5 15,I_PET_OSTARD_FRENZIED_2,I_PET_SHIRE
RENDER_6 15,I_PET_OSTARD_FRENZIED_2,I_PET_MUSTANG
RENDER_7 15,I_PET_MUSTANG,I_PET_KIRIN_AOS
RENDER_LISTS I_PET_LLAMA,I_PET_OSTARD_DESERT_2,I_PET_OSTARD_FOREST_2,I_PET_OSTARD_FRENZIED_2,I_PET_SHIRE,I_PET_MU
STANG,I_PET_KIRIN_AOS
RENDERS 7
[DIALOG D_DEED_RENDER]
<DEF.DSP>
RESIZEPIC 0 0 3000 340 400
PAGE 1
LOCAL.AUMENTAR=0
LOCAL.PAGE=1
LOCAL.X=25
LOCAL.Y=10
FOR 1 <DDEF.RENDERS>
IF (<LOCAL.AUMENTAR> >= 4)
LOCAL.AUMENTAR=0
BUTTON 60 350 4006 4007 0 <EVAL <LOCAL.PAGE>+1> 0 // ileri button
LOCAL.PAGE += 1
LOCAL.X=25
LOCAL.Y=10
PAGE <EVAL <LOCAL.PAGE>>
BUTTON 30 350 4006 4007 0 <EVAL <LOCAL.PAGE>-1> 0 // geri button
ENDIF
LOCAL.Y +=70
LOCAL.AUMENTAR += 1
LOCAL.TO_CONVERT=<ARRAY <DEF.RENDER_<DLOCAL._FOR>>,3>
LOCAL.CONVERTED=<ARRAY <DEF.RENDER_<DLOCAL._FOR>>,2>
LOCAL.AMOUNT=<ARRAY <DEF.RENDER_<DLOCAL._FOR>>,1>
IF (<TAG0.BINEK> == <LOCAL.CONVERTED>)
DHTMLGUMP <EVAL (<DLOCAL.X>)> <EVAL (<DLOCAL.Y>)+20> 120 25 1 0 <MOREX>/<DLOCAL.AMOUNT> <SERV.ITEMDEF.<LOCAL.CONVERTED>.NAME>
TILEPICHUE <EVAL (<DLOCAL.X>)+30> <EVAL (<DLOCAL.Y>)-20> <SERV.ITEMDEF.<LOCAL.CONVERTED>.ID> <DCOLOR>
BUTTON <EVAL (<DLOCAL.X>)+125> <EVAL (<DLOCAL.Y>)+18> 4005 4006 1 0 <DLOCAL._FOR>
ELSE
DHTMLGUMP <EVAL (<DLOCAL.X>)> <EVAL (<DLOCAL.Y>)+20> 120 25 1 0 <DLOCAL.AMOUNT> <SERV.ITEMDEF.<LOCAL.CONVERTED>.NAME>
TILEPICHUE <EVAL (<DLOCAL.X>)+30> <EVAL (<DLOCAL.Y>)-20> <SERV.ITEMDEF.<LOCAL.CONVERTED>.ID> <DSERV.ITEMDEF.<LOCAL.CONVERTED>.RESDISPDNHUE>
GUMPPIC <EVAL (<DLOCAL.X>)+125> <EVAL (<DLOCAL.Y>)+18> 0539
ENDIF
DHTMLGUMP <EVAL (<DLOCAL.X>)+170> <EVAL (<DLOCAL.Y>)+20> 120 25 1 0 1 <SERV.ITEMDEF.<LOCAL.TO_CONVERT>.NAME>
TILEPICHUE <EVAL (<DLOCAL.X>)+200> <EVAL (<DLOCAL.Y>)-20> <SERV.ITEMDEF.<LOCAL.TO_CONVERT>.ID> <DSERV.ITEMDEF.<LOCAL.TO_CONVERT>.RESDISPDNHUE>
IF (<LOCAL.Y> > 420)
LOCAL.X +=50
LOCAL.Y=10
ENDIF
ENDFOR
[DIALOG D_DEED_RENDER BUTTON]
ON=1 100
LOCAL.TO_CONVERT=<ARRAY <DEF.RENDER_<DARGN>>,3>
LOCAL.CONVERTED=<ARRAY <DEF.RENDER_<DARGN>>,2>
LOCAL.AMOUNT=<ARRAY <DEF.RENDER_<DARGN>>,1>
IF (<TAG0.BINEK> != <LOCAL.CONVERTED>)
SRC.SYSMESSAGE @38,,1,1 Çevirilecek binek Render Deed içeriği ile uyuşmuyor.
RETURN 1
ELSEIF (<MOREX> < <DLOCAL.AMOUNT>)
SRC.SYSMESSAGE @38,,1,1 Render Deedte yeterli sayıda <SERV.ITEMDEF.<LOCAL.CONVERTED>.NAME> bulunmuyor.
RETURN 1
ENDIF
SERV.NEWITEM <LOCAL.TO_CONVERT>,1,<SRC.FINDLAYER.29>,1
SRC.SYSMESSAGE @044,,1,1 <SERV.ITEMDEF.<LOCAL.TO_CONVERT>.NAME> bankanıza gönderilmiştir.
MOREX -=<DLOCAL.AMOUNT>
IF (<MOREX> <= 0)
REMOVE
ENDIF
RETURN 1
[FUNCTION ARRAY]
LOCAL.TEMP = <ARGV[<EVAL <ARGV> - 1>]> -1
RETURN <ARGV[<DLOCAL.TEMP>]>
[EOF]
Zamanında böyle bir şey yapmıştım ama işine yarar mı bilmem. Keg mantığına benzer çalışıyor. Deed'e bir binek türü ekliyorsunuz. Bu deed o binek türüne ait oluyor. Daha sonra 10 tane binek ile doldurduğunuzda listedeki diğer binek türleri ile değiştirebiliyorsunuz.
RENDER_1 30,I_PET_LLAMA,I_PET_OSTARD_DESERT
Bu tanımlamada 30 adet llama karşılığında 1 adet desert ostart alabileceğini belirtiyor. Daha da geliştirilebilir.