Sunu Denermisin ;
[dialog d_check]
50,50
resizepic 10 20 5120 400 150
resizepic 20 30 3000 380 130
//text 30 70 955 4
//text 30 110 955 5
resizepic 150 90 3000 130 22
textentry 165 90 253 25 0 0 2
htmlgump 30 40 150 25 3 1 0
tilepic 50 85 3826
tilepic 40 80 3823
tilepic 50 80 3819
tilepic 55 95 3825
tilepic 25 85 3820
tilepic 35 95 3823
tilepic 45 95 3820
htmlgump 30 70 300 20 4 0 0
htmlgump 30 110 300 20 5 0 0
htmlgump 35 130 150 25 6 0 0
htmlgump 310 130 40 25 7 0 0
//text 305 130 955 7
button 355 130 4005 4006 1 0 1
[dialog d_check text]
Cek Haline Getirebileceginiz 0 Altininiz Var
Bunun Ne Kadarini Cek Yapalim?
0
Tarihi : <serv.rtime>
Bu Cek Karsiliginda Bankamdan
GP Cekilebilir.
[<src.name>]
Tamam
[dialog d_check button]
On=1
//src.sysmessage @38,1,1 Check Sistemi Bakima aAlinmistir.
//return 1
//if (<eval <ARGTXT[0]>>=0)
//src.sysmessage @38,1,1 Girdiginiz Miktar Gecersizdir.
//src.dialog d_check
//return 1
//endif
if (<isempty <argtxt[0]>>)
src.sysmessage @38,1,1 Bos Birakamazsiniz.
return 1
endif
if !(<isnum <argtxt[0]>>)
src.sysmessage @38,1,1 Sadece Rakam Girebilirsiniz.
return 1
endif
if (<eval <ARGTXT[0]>><50000)
src.sysmessage @38,1,1 50.000 GP Altinda Check Yazamazsiniz.
src.dialog d_check
return 1
endif
if (<eval <ARGTXT[0]>>>2000000)
src.sysmessage @38,1,1 2 Milyondan Fazla Check Yazamazsiniz.
src.dialog d_check
return 1
endif
src.payup <eval <ARGTXT[0]>>
if (<var.enough>)
src.newitem i_check
src.act.more1 <eval <ARGTXT[0]>>
src.act.more2 <uid>
src.act.bounce
else
src.sysmessage @38,1,1 Bu Check'i Yazdirabilcek Kadar Paraniz Yok..
endif
[itemdef i_check]
id i_deed
type t_script
weight 0.1
name check
On=@Create
color 0846
attr 04
On=@Click
message @68 Check [<src.uid.<more2>.name>]
message @1153 [<eval <more1>> GP]
return 1
On=@DClick
target @1153,1,1 Ceki Bozdurmak Icin Banker Seciniz.
return 1
On=@TargOn_Char
if (<src.targ.npc> == 5)
src.check_deposit <more1>
src.sysmessage @68,1,1 <eval <more1>> Altin Bankaniza Aktarildi.
remove
endif
return 1
[function payup]
if !(<args>)
return 1
endif
var.enough 0
var.totalgold <src.findlayer.21.rescount i_gold> + <src.findlayer.29.rescount i_gold>
if (<eval <args>> > <var.totalgold>)
else
var.enough 1
if (<eval <args>> <= <src.findlayer.29.rescount i_gold>)
goldtopack <args>
else
goldtopackall
endif
payamount <args>
endif
[function goldtopackall]
if (<src.findlayer.29.findid.i_gold.uid>)
src.findlayer.29.findid.i_gold.cont <src.findlayer.21.uid>
goldtopackall
endif
[function goldtopack]
var.counter <eval <args>>
var.found (<var.counter> - <src.findlayer.29.findid.i_gold.amount>)
if (<var.found> > 0)
src.findlayer.29.findid.i_gold.cont <src.findlayer.21.uid>
goldtopack <var.found>
else
var.left (0 - <var.found>)
if (<var.left>)
src.findlayer.29.findid.i_gold.amount <var.left>
else
src.findlayer.29.findid.i_gold.remove
endif
src.newitem i_gold
src.act.amount <args>
src.act.cont <src.findlayer.21.uid>
endif
[function payamount]
var.counter <eval <args>>
if (<var.counter> > 65000)
src.consume 65000 i_gold
var.counter (<var.counter> - 65000)
payamount <var.counter>
else
src.consume <args> i_gold
endif
On=@TargOn_Item
return 1
[function check_deposit]
var.check <eval (<argn> - 50000)>
newitem i_gold
act.amount 50000
act.cont <findlayer(29).uid>
if (<eval <var.check>> >= 50000)
check_deposit <eval <var.check>>
elseif (<eval <var.check>> > 0)
newitem i_gold
act.amount <eval <var.check>>
act.cont <findlayer(29).uid>
var.check
else
var.check
endif
[function packo] // (special thx to laroux below this line)
try src.tag.<uid> <rescount>
packo_loop <args>
[function packo_loop]
if (<eval <src.tag.<uid>>> > 0)
try src.tag.<uid> <eval (<src.tag.<uid>> - 1)>
//if (strmatch('<findcont.<eval <src.tag.<uid>>>.type>','t_container'))
// try findcont.<eval <src.tag.<uid>>>.packo <args>
//else
try findcont.<eval <src.tag.<uid>>>.<args>
//endif
packo_loop <args>
else
try src.tag.<uid>
endif
[function gp]
var.gp 0
//findlayer(21).packo gp_ctrl
findlayer(29).packo gp_ctrl
return <eval <var.gp>>
[function gp_ctrl]
if (strmatch('<baseid>','i_gold'))
var.gp <eval (<var.gp> + <amount>)>
endif
[function gpconsume]
var.gp <argn>
//findlayer(21).packo gpconsume_ctrl <argn>
findlayer(29).packo gpconsume_ctrl <argn>
return 1
[function gpconsume_ctrl]
if ((<var.gp> > 0) && (strmatch('<baseid>','i_gold')))
if (<amount> > <eval (<var.gp>)>)
amount <eval (<amount> - <var.gp>)>
var.gp 0
else
var.gp <eval (<var.gp> - <amount>)>
remove
endif
endif
[function allgold]
local.player=<eval <rescount i_gold>+<findlayer.29.rescount i_gold>>
local.tmp=<obj>
var.gold_house=0
obj=<uid>
FORCHARMEMORYTYPE 0100
IF (<LINK.TYPE>==t_multi) || (<LINK.TYPE>==t_ship)
LINK.TOTALGOLD_HOUSE
ENDIF
ENDFOR
LOCAL.GOLD_HOUSE=<VAR.GOLD_HOUSE>
VAR.GOLD_HOUSE=
OBJ=<LOCAL.TMP>
RETURN <EVAL <LOCAL.PLAYER>+<LOCAL.GOLD_HOUSE>>
[function TOTALGOLD_HOUSE]
LOCAL.TMP2=<OBJ>
OBJ=<UID>
FORITEMS 60
IF (<REGION.UID>==<OBJ>) && (<BASEID>!=i_gold) && (<TYPE>==t_container)
var.gold_house += <rescount i_gold>
ELIF (<REGION.UID>==<OBJ>) && (<BASEID>=i_gold)
var.gold_house += <amount>
ENDIF
ENDFOR
OBJ=<LOCAL.TMP2>
//Usage: [obj].allgold
//ex.:
//IF (<ALLGOLD> < 10000)
//SAY I'm poor!
//ENDIF
///////////////////
[FUNCTION consumegoldcoins]
IF (<ALLGOLD> < <ARGN1>)
RETURN 1
ENDIF
LOCAL.AMOUNT=<ARGN1>
WHILE (<LOCAL.AMOUNT>)
IF (0<FINDLAYER.21.FINDID.i_gold>)
LOCAL.GOLD=<FINDLAYER.21.FINDID.i_gold.amount>
IF (<EVAL <LOCAL.AMOUNT>-<LOCAL.GOLD>> < 0)
FINDLAYER.21.FINDID.i_gold.AMOUNT -= <LOCAL.AMOUNT>
LOCAL.AMOUNT=0
ELSE
FINDLAYER.21.FINDID.i_gold.remove
LOCAL.AMOUNT -= <LOCAL.GOLD>
ENDIF
ELIF (0<FINDLAYER.29.FINDID.i_gold>)
LOCAL.GOLD=<FINDLAYER.29.FINDID.i_gold.amount>
IF (<EVAL <LOCAL.AMOUNT>-<LOCAL.GOLD>> < 0)
FINDLAYER.29.FINDID.i_gold.AMOUNT -= <LOCAL.AMOUNT>
LOCAL.AMOUNT=0
ELSE
FINDLAYER.29.FINDID.i_gold.remove
LOCAL.AMOUNT -= <LOCAL.GOLD>
ENDIF
ENDIF
ENDWHILE
UPDATE
//[function goldcheck]
//IF (<ALLGOLD> > <eval <args>>)
//consumegoldcoins <eval <args>>
//ENDIF
[FUNCTION addgold]
IF (<ARGN1>)
IF (<ARGN1> > 64999)
SERV.NEWITEM i_gold
NEW.AMOUNT 65000
IF !(0<ARGN2>)
BOUNCE <NEW>
addgold <EVAL <ARGN1>-65000>
ELSE
NEW.CONT=<HVAL <ARGN2>>
addgold <EVAL <ARGN1>-65000> <ARGN2>
ENDIF
ELSE
SERV.NEWITEM i_gold
NEW.AMOUNT <ARGN1>
IF !(0<ARGN2>)
BOUNCE <NEW>
ELSE
NEW.CONT=<HVAL <ARGN2>>
ENDIF
ENDIF
ENDIF
UPDATE
[eof]
House Bugunu Biliyormusun Bilmiyorum Ama Onu Fixlemek İcin Housing.scp Gir Ordan Control F Yaz sabitliyemezsin Yazar Orayi Silerek Sunu Yapistir ;
elseif (<morex> == 1) // I wish to lock this down
if ((<src.targ.type> == t_stone_guild) || (<src.targ.type> == t_spell) || (<src.targ.baseid> == i_corpse) || (<src.targ.type> == t_blood)) || (<src.targ.baseid> == i_check))
src.sysmessage @026,,1 Bunu evine sabitleyemezsin.