[dialog d_cekyap]
150,150

resizepic 100 100 3600 384 200
resizepic 240 192 2620 120 35

dtext 230 130 172 Cek imzalama
dtext 160 160 1152 Bankanizda <src.bankbalance> altin bulunuyor.
dtext 160 200 1152 Cek degeri:
dtext 295 248 0 -->
dtext 250 200 1152 .

tilepic 325 245 <eval 014ef>
tilepic 253 250 3826
tilepic 240 245 3823
tilepic 250 245 3819
tilepic 255 255 3825
tilepic 225 250 3820
tilepic 235 255 3823
tilepic 245 255 3820

textentry 250 200 100 25 1152 0 4

button 370 198 4015 4014 1 0 1

[dialog d_cekyap button]
On=1
if !(<isnum <argtxt[0]>>)
	src.sms Hatali karakter kullanimi.
	src.dialog d_cekyap
	return 1
endif
if (<eval <argtxt[0]>>=0)
src.sms Hatali bir miktar girdiniz.
src.dialog d_cekyap
return 1
endif

if (<eval <argtxt[0]>><250000)
src.sms 250000gp dan kucuk olan mebla cek olamaz.
src.dialog d_cekyap
return 1
endif

if (<eval <argtxt[0]>>>17000000)
src.sms 17m den buyuk olan mebla cek olamaz.
src.dialog d_cekyap
return 1
endif

if (<src.bankbalance> >= <eval <argtxt[0]>>)
	consumegold <eval <argtxt[0]>>
remove
	newitem i_check_arms
	act.more1 <eval <argtxt[0]>>
	act.more2 <uid>
	act.bounce
else
	src.sms Bankanizin en ust kisminda <eval <argtxt[0]>> gp altininiz bulunmuyor.
endif


[itemdef i_check_arms]
id i_deed
type t_script
weight 0.1
name cek

On=@Create
color 0524
attr 04

On=@Click
message @07a1,1,1 Cek karsiligi: <eval <more1>>gp
message @07ad,3 [<src.uid.<more2>.name>]
return 1

On=@DClick
	src.check_deposits <more1>
	src.smn Cekin tamamini bozdurdunuz.
	remove
return 1

On=@TargOn_Item
return 1

[function check_deposits]
var.check <eval (<argn> - 65000)>
newitem i_gold
act.amount 65000
act.cont <findlayer(29).uid>
if (<eval <var.check>> >= 65000)
	check_deposits <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

Bu scriptte,mesela bankanızda 300m para war diyelim cek dialogunu acıp 250k 500k 1m v.s v.s cek yapmaya calıstıgımızda serveri alaşşa edio.Ama normalde bankada 17m gibi bir miktar oldugunda serveri patlatmadan cek yapabiliyo.

Bu sorunu nasıl düzeltebilirim?
for 0 170
If (<eval (<argtxt[<local._for>]>)> > 170000)
sms Bir seferinde en fazla 17m para çek edebilirsiniz. / misal

Gibi yapabilrisin.
Zaten tek seferde en fazla 17m yapabilio 17m in üstünü yapamıo ama bankada 17m degilde 300 500m gibi bol bi miktar olunca cek sisteminde 1m bile cek yapmaya calış server debuga girio patlıo.
if (<src.bankbalance> >= <eval <argtxt[0]>>)
consumegold <eval <argtxt[0]>>
remove
newitem i_check_arms
act.more1 <eval <argtxt[0]>>
act.more2 <uid>
act.bounce
else
src.sms Bankanizin en ust kisminda <eval <argtxt[0]>> gp altininiz bulunmuyor.
endif

mikatarlar büyük olduğu için Loopa giriyordur emülator

(<eval (<src.bankbalance>/1000) >= <eval (<argtxt[0]>/1000)>)

gibi ifadeler kulanarak sayıyı küçült ufak ta bi ekleme yap 1000 küsürden aşşa paralar kabul edilmez gibisinden yani

2 564 234 deil de 2 560 000 gibi ifadeler kullansınlar 10 ,000 den ufak değerleri kabul etme öyle bir dene
Neyse saolun bişiler yaptım halletim.Ama hafif kasmalar oluo.

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.