arkadaşlar elimde böyle bir sistem var bu sistem parayı sorunsuz yolluyor yollayandan parayıda kesiyor fakat üzerimde bulunan paradan fazla para yazarsam xx kadar gpniz yok diyecegine server kapanıyor bür türlü beceremedim yardım ederseniz sevinirim.
örnek : üzerimde 50000 altın var ben yollamak istedigim miktara 51000 yazıyorum server kapanıyor
on=1
if (<src.toplampara> <eval (<src.ctag.havalemiktar>)>)
src.sysmessage @1153 <eval (<src.ctag.havalemiktar>)> gpniz yok.
return 1
endif
src.parayikes <eval <src.ctag.havalemiktar>>
src.sysmessage @1153 <eval <src.ctag.havalemiktar>> gp, <uid.<src.ctag.hesapnosu>.name> isimli kisiye gonderilmistir.
try uid.<src.ctag.hesapnosu>.parayiyolla <eval <src.ctag.havalemiktar>>
try uid.<src.ctag.hesapnosu>.sysmessage @1153 <src.name> isimli kisi size <eval <src.ctag.havalemiktar>> gp havale etmistir.Paraniz bankanizdadir.
return 1
[FUNCTION parayikes]
IF (<toplampara> <ARGN>)
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 toplampara]
RETURN <eval <rescount <def.cmoney>>+<findlayer.29.rescount <def.cmoney>>>
[FUNCTION parayiyolla]
IF (<ARGS> > 0)
serv.newitem i_gold
IF (<ARGS> > 65000)
new.amount=65000
new.cont <uid.<src.ctag.hesapnosu>.findlayer.29.uid>
parayiyolla <eval <ARGS>-<NEW.AMOUNT>>
ELSE
new.amount=<ARGS>
new.cont <uid.<src.ctag.hesapnosu>.findlayer.29.uid>
ENDIF
ENDIF