Merhaba 4 gün once ki topicim de yazdım ama gorulmedi herhalde cevap gelmedi oyuzden bu topici acma geregi duydum

Serverima Bana özel bir Coin Sistemi Yaptim Coin in id si i_lifecoin Assagida verdigim scp de i_gold olanlari i_lifecoin diye cevirdim fakat orda bikactane <src.totalgold>
ibaresi var zannediyorumki bu yuzden hala gold alarak aliyo parayı ama bunu kendi coinime nasil cevirecegim ? <src.totalgold> yerine <src.totallifecoin> gibi biseymi ?

[chardef c_pv]
defname c_pv
name #names_humanmale the Player Vendor
id c_man_nomove
can mt_equip|mt_nonmover
hiredaywage 52
desires i_lifecoin
TSPEECH=s_pv
tevents e_pv

On=@Create
str 9500
dex 0
int 25
invul 1
color colors_skin
speechcolor 0481
food 990
npc 1

itemnewbie random_male_hair
color colors_hair
itemnewbie random_facial_hair
color match_hair
item i_robe
color colors_all
itemnewbie i_backpack
itemnewbie i_bankbox
color 0384
timer 900
attr 014


on=@death
say @03c1,6,1,1 Uzgunum , ben olmuyorum !
hits=<str>
return 1

[speech s_pv]
On=*all go*
return 1

ON=*go*
return 1

on=*all friend*
src.syshata OF
return 1

on=all friend
src.syshata KAPALIDIR!
return 1

on=all attack
return 1

on=kasa

src.bankself

On=fiyat *
if (<src.uid> == <uid.<uid.<tag.stone>.tag.owner>.uid>)
if !(<findlayer(21).findcont(0)>)
message @0481,1,1 Cantamda fiyatlandirilacak mal bulunmuyor.
else
src.tag.fiyatt <strsub 6 100 <args>>
if !(<isnum <eval <src.tag.fiyatt>>>)
src.sysmessage @0481,1,1 Fiyat olarak sadece rakam girebilirsiniz.
return 1
endif
if (<src.tag.fiyatt> < 10)
src.sysmessage @0481,1,1 Bu kadar dusuk bir fiyat giremezsiniz.
return 1
endif
if (<src.tag.fiyatt> > 50000000)
src.sysmessage @0481,1,1 Bu kadar yuksek bir fiyat giremezsiniz.
return 1
endif
src.newitem i_pvf
src.act.morex 1
src.act.equip
endif
endif
return 1

ON=satin al
if !(<findlayer(21).findcont(0)>)
src.sysmessage @0481,1,1 Satilik bir esyam yok.
return 1
endif
src.dialogclose d_pval
src.playervendordialog
src.newitem i_pvf
src.act.morex 2
src.act.tag.morey <uid>
src.act.equip

on=all go
return 1



[itemdef i_pvf]
id i_memory
name vendor ana kontroller
type t_eq_script

on=@create
timer 300

on=@timer
remove
return 1

on=@equip
if (<morex>=1)
target @0481,1,1 <eval <topobj.tag.fiyatt>> olarak fiyatlandiracaginiz esyayi seciniz...
elseif (<morex>=2)
target @0481,1,1 Almak istediginiz esyayi seciniz.
endif

On=@TargOn_Item
if (<morex>=1)
if (<src.targ.tag0.pving>==0)
if ((<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag0.owner>==<src.uid>)&& !(strmatch('<uid.<src.targ.uid>.price>','')))
try uid.<src.targ.uid>.price <eval <topobj.tag.fiyatt>>
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> <eval <topobj.tag.fiyatt>>Lifecoin olarak fiyatlandirildi...
else
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> fiyatlandirilamaz...
endif
else
src.sysmessage @0481,1,1 Bu esya su anda satin aliniyor. . .
return 1
endif
target @0481,1,1 <eval <topobj.tag.fiyatt>> olarak fiyatlandiracaginiz itemi seciniz...
return 1
endif
if (<morex>=2)
src.tag.venal=<uid.<src.targ.uid>>
if !(<uid.<src.targ.uid>.topobj.uid>=<tag.morey>)
src.sysmessage <uid.<src.targ.uid>.topobj.uid>=<tag.morey>
src.sysmessage @0481,1,1 Bu esya bu vendorda satilmiyor.
return 1
endif
if !(0<uid.<src.targ.uid>.price> > 0)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> satilik degil.
return 1
endif
if (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.owner>==<src.uid>)
src.sysmessage @0481,1,1 Vendor zaten size ait.
return 1
endif
if (<uid.<src.targ>.price> > <src.total i_lifecoin>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
if !(strmatch('<src.findid.i_memory.name>','Gump Memory'))
try uid.<src.targ.uid>.sdialog d_pval
try uid.<src.targ.uid>.tag0.pving=1
src.tag0.lastbuy=<src.targ.uid>
endif
return 1
endif


ON=@TARGON_CHAR
src.say abiiii!
if (<morex>=1)
target @0481,1,1 <morey> olarak fiyatlandiracaginiz itemi seciniz...
return 1
endif

[itemdef i_pvi]
id 1
name vendor item
type t_eq_script

on=@create
dispid i_rune_Marker
attr 010

On=@Timer
return 1


[itemdef i_vendoro]
id 01183
name vendor hazirlik tasi
type t_eq_script

on=@create
attr=010
color=055

on=@dclick
if !(0<tag.pv>)
move 0 0 -1
serv.newitem i_pvi
new.p <p>
new.color 065a
tag.pv <new.uid>
endif
remove 1
return 1

[itemdef i_pvi]
id 01183
name Vendor Tasi
type t_eq_script

ON=@create
morex=2

On=@Timer
timer 50000
return 1

on=@dclick
//return 1
if (0<tag.owner>=0<src.uid>)
sdialog d_pv_kiralanmis
return 1
endif
if !(0<tag.vendor>)
sdialog d_pv_kirala
return 1
endif
return 1

on=@click
if !(0<tag.owner>)
message @0481,1,1 Kiralik
else
message @0481,1,1 [<uid.<tag.owner>.name>]
endif
return 1

[dialog d_pval]
0 0
nomove
page 0
resizepic 0 0 5054 800 800
dtext 320 80 55 Satin Al
button 290 80 4029 4030 1 1 1
dtext 320 40 55 Iptal
button 290 40 4029 4030 2 1 2
dtext 50 80 55 Bakiye: <src.totalgold>LifeCoin
tilepic 20 20 <id>
dtext 110 10 55 <amount> <name>
dtext 110 30 55 (<price>LifeCoin)

[dialog d_pval button]
ON=1
src.targ <src.tag.venal>
if !(<price> > 0)
src.sysmessage @0481,1,1 Satilik degil.
return 1
endif
if !(<src.targ.uid>.topobj.uid>=<topobj.uid>)
src.sysmessage @0481,1,1 Esya vendorda degil.
return 1
endif
if (<uid.<src.targ>.price> > <src.totalgold>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
try uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold = <eval (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold>+<uid.<src.targ>.price>)>
src.consumebank <uid.<src.targ>.price>
try uid.<src.targ.uid>.price 0
src.targ.tag0.pving=0
src.act <src.targ.uid>
src.act.bounce

on=2
src.targ.tag0.pving=0


[dialog d_pv_kiralanmis]
90 100
page 1
resizepic 0 0 5054 390 202
dtext 20 20 990 <tag.street> #<eval <tag.no>>
button 340 50 4029 4030 1 1 1
dtext 20 50 990 Dukkan adi:
resizepic 120 43 2620 200 35
dtextentry 127 50 180 20 990 1 <tag.shopname>
dtext 20 82 990 Tahsilat yap. (<eval <tag.gold>>LifeCoin)
button 340 82 4029 4030 1 1 2
dtext 20 114 60 Sureyi 1 Hafta Uzat (10k)
button 340 114 4029 4030 1 1 3
dtext 20 150 990 Kalan Hizmet Suresi: <eval (<timer> / 3600)> saat.



[dialog d_pv_kiralanmis button]
ON=1
tag.shopname <argtxt[1]>
ON=2
src.gold += <eval <tag.gold>>
tag.gold=0
on=3
if (<Src.Totalgold> < 10000)
src.sysmessage @0481,1,1 Yeterli LifeCoin yok.
return 1
else
src.consumebank 10000
timer <eval <timer>+604800>
src.sysmessage @60 Vendorunuzun suresi 7 gun daha uzatilmistir
src.sysmessage @60 $uanda <eval (<timer> / 3600)> saat hizmet verebilir
endif

[dialog d_pv_kirala]
90 100
page 1
resizepic 0 0 5054 390 122
dtext 20 20 990 <tag.street> #<eval <tag.no>>
button 340 50 4029 4030 1 1 1
dtext 20 50 990 1 Haftaligina kirala (200.000LifeCoin)

[dialog d_pv_kirala button]
ON=1
if !(0<tag.vendor>)
if (<src.totalgold> < 125000)
src.sysmessage @0481,1,1 Yeterli paraniz yok.
return 1
endif
if (<uid.<src.tag.vendorvar>.baseid> == i_pvi)
src.sysmessage @0481,1,1 Zaten bir vendorunuz var.
return 1
endif
src.consumebank 200000
timer 24*60*60*7
tag.owner <src.uid>
src.newnpc c_pv
tag.vendor <src.act.uid>
tag.gold=00
if (<morex>=-2)
move -1
else
move 1
endif
src.act.tag.stone <uid>
src.act.tag.owner <src.uid>
src.act.p <p>
src.act.tag.p <p>
src.act.tag.px <p.x>
src.act.tag.py <p.y>
src.act.tag.pz <p.z>
src.act.tag.owner <src.uid>
src.act.findlayer(29).more1 2500
src.act.memorydel <src.uid>
src.act.newitem i_memory
src.act.act.attr 04
src.act.act.more1 04
src.act.act.more2 <serv.time>
src.act.act.morep <src.act.p>
src.act.act.color memory_ipet
src.act.act.timer -1
src.act.act.link <src.uid>
src.act.act.cont <src.act.uid>
src.act.flags <src.act.flags>&statf_pet
if (<morex>=-1)
src.act.flip
src.act.flip
src.act.flip
endif
src.act.update
if (<morex>=-1)
move 1
else
move -1
endif




else
src.sysmessage @0481,1,1 Bu dukkan baskasi tarafindan kiralanmis.
endif
return 1

[EVENTS vendoral]
on=@itemclick
if (<act.topobj.baseid> == c_pv)
if (strmatch('0<act.price>','0'))
act.message @0481,1,1 [satilamaz]
elseif (0<act.price> <= 0)
act.message @0481,1,1 [satilik degil]
else
                        if (<act.price> < 10000)
                        act.price 3000000
                        endif
src.sysmessage @0481,1,1 <act.name> [<act.price> LifeCoin]
if ((<act.type> == t_armor) || (<act.type> == t_armor_leather) || (<act.type> == t_shield) || (<act.type> == t_clothing) || (<act.type> == t_weapon_sword) || (<act.type> == t_weapon_fence) || (<act.type> == t_weapon_mace_staff) || (<act.type> == t_weapon_mace_smith) || (<act.type> == t_weapon_mace_pick) || (<act.type> == t_weapon_bow) || (<act.type> == t_weapon_xbow))
if !(<eval ((<act.more1l> * 100) / <act.more1h>)> == 100)
act.message @0481,1,1 [<act.price> LifeCoin] [%<eval (100 - ((<act.more1l> * 100) / <act.more1h>))> eski]
else
act.message @0481,1,1 [<act.price> LifeCoin]
endif
else
act.message @0481,1,1 [<act.price> LifeCoin]
endif
endif
endif




[EVENTS e_pv]
on=@click
if !(<p.x>=<tag.px>)
go <tag.p>
endif
if !(<p.y>=<tag.py>)
go <tag.p>
endif
src.events +vendoral
//message @0481,6,1 <uid.<tag.stone>.tag.street> #<eval <uid.<tag.stone>.tag.no>>
if (0<uid.<tag.stone>.tag.owner>)
message @0799,,1 [ <uid.<tag.stone>.tag.shopname> ]
        message @0481,6,1,1 [<uid.<uid.<tag.stone>.tag.owner>.name>]
else
message @0481,6,1 KIRALIK
endif
return 1

on=@dclick
if (<SRC.ACCOUNT.PLEVEL> > 2) && !(<SRC.isevent.e_nurihami>)
SRC.sysmessage Stafflar bunu acamazlar, yaptigin islem kaydedildi.
return 1
endif
if (<distance> > 2)
src.syshata Yakinlasin vendora
return 1
endif
if (0<uid.<tag.stone>.tag.owner>)
pack
else
message @0481,1,1 KIRALIK
endif
return 1

On=@Hit
return 1


ON=@Gethit
return 1

ON=@spelleffect
return 1

[function playervendordialog]
src.newitem i_vendordialogkapat
new.equip
new.dclick
return 1

[itemdef i_vendordialogkapat]
name vendor dialogcu
id i_lifecoin
type t_eq_script
weight 0
layer layer_special

On=@Create
attr attr_invis|attr_can_decay
timer 10

On=@Equip
timer 5
src.sysmessage @0481,1,1 5 saniye içinde onaylayınız...
return 1

on=@unequip
try uid.<cont.tag0.lastbuy>.tag0.pving=0
cont.dialogclose d_pval
return 1

On=@Timer
remove
return 1

[function f_fiyatdusur]
targetf fitaci

[function fitaci]
src.sysmessage <eval <argo.tag0.gold>>
Novice
12.5
çantada kontrol yapabilirsin

<restest i_lifecion 10> diyerek

Eğer tüm heryerdeki coinleri kontrol etsin diyorsan illa şöyle bir function işini görebilir.

[function totalcoins]
forcontid i_lifecoin 10
local.coins +=<amount>
endfor
forcont <findlayer.29.uid>
if (<baseid> == i_lifecoin)
local.coins +=<amount>
endif
endfor
return <local.coins>

// forcontid bankayı okumuyormuş. forcont ekledim.
Kullanımı <totalcoins>

Bu konu Mortal tarafından düzenlendi(2012-09-27 14:11, 11 yıl önce)
ON=satin al
if !(<findlayer(29).uid>.findcont(0)>)
src.sysmessage @0481,1,1 Satilik bir esyam yok.
return 1
endif
src.playervendordialog
src.newitem i_pvf
src.act.morex 2
src.act.tag.morey <uid>
src.act.equip

on=all go
return 1

[itemdef i_pvf]
id i_memory
name vendor ana kontroller
type t_eq_script

on=@create
timer 300

on=@timer
remove
return 1

on=@equip
if (<morex>=1)
target @0481,1,1 <eval <topobj.tag.fiyatt>> Olarak Fiyatlandiracaginiz Esyayi Seciniz...
elseif (<morex>=2)
target @0481,1,1 Almak istediginiz esyayi seciniz.
endif

On=@TargOn_Item
if (<morex>=1)
if (<src.targ.tag0.pving>==0)
if ((<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag0.owner>==<src.uid>)&& !(strmatch('<uid.<src.targ.uid>.price>','')))
try uid.<src.targ.uid>.price <eval <topobj.tag.fiyatt>>
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> <eval <topobj.tag.fiyatt>>LifeCoin olarak fiyatlandirildi...
else
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> fiyatlandirilamaz...
endif
else
src.sysmessage @0481,1,1 Bu esya su anda satin aliniyor. . .
return 1
endif
target @0481,1,1 <eval <topobj.tag.fiyatt>> olarak fiyatlandiracaginiz itemi seciniz...
return 1
endif
if (<morex>=2)
src.tag.venal=<uid.<src.targ.uid>>
if !(<uid.<src.targ.uid>.topobj.uid>=<tag.morey>)
src.sysmessage <uid.<src.targ.uid>.topobj.uid>=<tag.morey>
src.sysmessage @0481,1,1 Bu esya bu vendorda satilmiyor.
return 1
endif
if !(0<uid.<src.targ.uid>.price> > 0)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> satilik degil.
return 1
endif
if (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.owner>==<src.uid>)
src.sysmessage @0481,1,1 Vendor zaten size ait.
return 1
endif
if (<uid.<src.targ>.price> > <src.totalcoins>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
if !(strmatch('<src.findid.i_memory.name>','Gump Memory'))
try uid.<src.targ.uid>.sdialog d_pval
try uid.<src.targ.uid>.tag0.pving=1
src.tag0.lastbuy=<src.targ.uid>
endif
return 1
endif

ON=@TARGON_CHAR
src.say abiiii!
if (<morex>=1)
target @0481,1,1 <morey> olarak fiyatlandiracaginiz itemi seciniz...
return 1
endif

Bu kısımda bi sorun var buyuk ihtimalle vendoru kiralamayı ve satin alma islemlerini lifecoin ile yapıyor fakat player char ile geldigimde satin al diyorum lifecoin varsa satın alıyo ama playerden lifecoin eksilmiyor.. yani 50 life coinim varsa item 10 item coinse çantadaki lifecoini goruyor ama yine 50 olarak kalıyo itemi aldıktan sonra bunu nasıl hallederim ?

[dialog d_pval button]
ON=1
src.targ <src.tag.venal>
if !(<price> > 0)
src.sysmessage @0481,1,1 Satilik degil.
return 1
endif
if !(<src.targ.uid>.topobj.uid>=<topobj.uid>)
src.sysmessage @0481,1,1 Esya vendorda degil.
return 1
endif
if (<uid.<src.targ>.price> > <src.totalgold>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
try uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold = <eval (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold>+<uid.<src.targ>.price>)>
src.consumebank <uid.<src.targ>.price>
try uid.<src.targ.uid>.price 0
src.targ.tag0.pving=0
src.act <src.targ.uid>
src.act.bounce

on=2
src.targ.tag0.pving=0

Yada burda sorun

Bu konu callejon tarafından düzenlendi(2012-09-27 16:50, 11 yıl önce)
Novice
12.5
totalcoins_remove 10 şeklinde dene çalışır sanırım.Çalışmazsada üzerine git hemen sorma :D

[function totalcoins_canta]
forcontid i_lifecoin 10
local.coins +=<amount>
endfor
return <dlocal.coins>

[function totalcoins_banka]
forcont <findlayer.29.uid>
if (<baseid> == i_lifecoin)
local.coins +=<amount>
ctag.coins <uid>
endif
return <dlocal.coins>

[function totalcoins_remove]
if (<totalcoins_canta> > <args>)
consume <args> i_lifecoin
sysmessage <args> tane coin cantanizdan alindi
return 1
else
local.totalcoins_kalan <eval <args>-<totalcoins_canta>>
local.totalcoins_cikarilan <eval <args>-<dlocal.totalcoins_kalan>>
consume <dlocal.totalcoins_cikarilan> i_lifecoin
totalcoins_bank_remove <dlocal.totalcoins_kalan>
endif

[function totalcoins_bank_remove]
try uid.<ctag0.coins>.amount -=<args>

Mantığı önce çantadan kontrol ediyor varsa çantadan siliyor yeterli seviyede yoksa önce çantadakini sonra bankadakini siliyor.Yani bildiğimiz gold mantığında çalışması lazım.
:D Eyw hemen sormadım zaten allak bullak ettim scripti ondan sonra sordum :D

totalcoingremove 10 dedinde simdi soyle bi player buna bi fiyat vericek ister 10 verir ister 500 onu tam olarak nasıl yazıcam

spherede su hatayi veriyo ayrıca

19:40:ERROR:(Vendor.scp,495)Can't resolve <dlocal.coins>
19:40:ERROR:(Vendor.scp,512)Can't resolve <dlocal.totalcoins_kalan>
19:40:ERROR:(Vendor.scp,513)Can't resolve <dlocal.totalcoins_cikarilan>
19:40:ERROR:(Vendor.scp,514)Can't resolve <dlocal.totalcoins_kalan>
19:40:ERROR:(Vendor.scp,518)Can't resolve <ctag0.coins>

Benim Scriptimin Su bölümüne eklemem lazım denedim ama olmuyo

if (<uid.<src.targ>.price> > <src.totalgold>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
try uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold = <eval (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold>+<uid.<src.targ>.price>)>
src.consumebank <uid.<src.targ>.price>
try uid.<src.targ.uid>.price 0
src.targ.tag0.pving=0
src.act <src.targ.uid>
src.act.bounce

buraya src.totalcoinremove yazdigim zaman coini cantamdan alıyo ama 1 tane alıyo onu anlamadım :S

Bu konu callejon tarafından düzenlendi(2012-09-27 19:58, 11 yıl önce)
Novice
12.5
Senin scriptin bu

if (<uid.<src.targ>.price> > <src.totalgold>)
src.sysmessage @0481,1,1 <uid.<src.targ.uid>.name> icin paraniz yetmiyor.
return 1
endif
try uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold = <eval (<uid.<uid.<uid.<src.targ.uid>.topobj.uid>tag.stone>.tag.gold>+<uid.<src.targ>.price>)>
src.totalcoins_remove <uid.<src.targ>.price>
try uid.<src.targ.uid>.price 0
src.targ.tag0.pving=0
src.act <src.targ.uid>
src.act.bounce

Benim verdiğim scripti şöyl güncelle bir.

[function totalcoins_canta]
forcontid i_lifecoin 10
local.coins +=<amount>
ctag.coins2 <uid>
endfor
return <local.coins>

[function totalcoins_banka]
forcont <findlayer.29.uid>
if (<baseid> == i_lifecoin)
local.coins +=<amount>
ctag.coins <uid>
endif
return <local.coins>

[function totalcoins_remove]
if (<totalcoins_canta>)
if (<totalcoins_canta> > <args>)
try uid.<src.ctag0.coins2>.amount -=<args>
src.ctag0.coins
src.ctag0.coins2
src.sysmessage <args> tane coin cantanizdan alindi
else
local.totalcoins_kalan <eval <args>-<totalcoins_canta>>
local.totalcoins_cikarilan <eval <args>-<local.totalcoins_kalan>>
try uid.<src.ctag0.coins2>.amount -=<args>
totalcoins_bank_remove <eval <local.totalcoins_kalan>>
endif
else
totalcoins_bank_remove <eval <local.totalcoins_kalan>>
endif

[function totalcoins_bank_remove]
try uid.<ctag0.coins>.amount -=<args>


Bu konu Mortal tarafından düzenlendi(2012-09-27 23:23, 11 yıl önce)
Yok ya Mantığını çözemedim ki.. Hala coin gitmiyor çantadan
Novice
12.5
en son verdiğim scriptleri güncelledim bir daha baksana.
İyice Karıstı simdi itemi bile satın almıyo :D Pff Çorba oldu iyice ama neyse
Novice
12.5
Valla oturdum sphere başına herşeyi denedim şuan sistem çalışıyor sorunsuz bir şekilde.

sil 10 dersen 10 tane i_scroll_blank siler.kendi id'ne göre kendin düzenle mantığı öğrenmeye çalış hazırcılığa alışma.

Önce çanta
Sonra çanta+banka
Çantada yoksa bankadan siler.

Yalnız küçük bir uyarı vereyim.İtemler üst üste olursa bu sistem çalışır.

10 tane ayrı ayrı 5'er tane çantada
20 tane ayrı arı 5'er tane bankada olursa çalışmaz.

Hala forumda aktif developer varsa kendisi geliştirip rahatlıkla kullanabilir.

NOT: Bu haliyle ben bu scripti kullanmazdım bunuda belirteyim.Geliştirmeyeceksen hiç boşuna kullanma derim.

[function totalcoins]
forcontid i_scroll_blank 10
local.coins +=<amount>
endfor
forcont <findlayer.29.uid>
if (<baseid> == i_scroll_blank)
local.coins +=<amount>
endif
endfor
return <local.coins>

[function totalcoins_canta]
forcontid i_scroll_blank 10
local.coins +=<amount>
src.ctag.coins2 <uid>
endfor
return <local.coins>

[function totalcoins_banka]
forcont <findlayer.29.uid>
if (<baseid> == i_scroll_blank)
local.coins +=<amount>
src.ctag.coins <uid>
endif
return <local.coins>

[function sil]
if (<totalcoins_canta>)
ref1 <src.ctag.coins2>
if (<totalcoins_canta> >= <args>)
ref1.amount -=<dargs>
ref1.update
if (<ref1.amount> < 1)
ref1.remove
endif
src.ctag.coins2
src.ctag.coins
src.sysmessage <args> tane coin cantanizdan alindi
return 1
elseif (<eval <totalcoins_canta>+<totalcoins_banka>> >= <dargs>)
local.totalcoins_kalan <eval <args>-<totalcoins_canta>>
local.totalcoins_cikarilan <eval <args>-<local.totalcoins_kalan>>
ref1.amount -=<dlocal.totalcoins_cikarilan>
ref1.remove
totalcoins_bank_remove <dlocal.totalcoins_kalan>,<src.ctag.coins>
src.sysmessage <args> tane coin cantaniz ve bankanizdan alindi.
return 1
endif
elseif (<totalcoins_banka>)
totalcoins_bank_remove <dargs>,<src.ctag.coins>
src.sysmessage <args> tane coin bankanizdan alindi.
return 1
endif

[function totalcoins_bank_remove]
ref2 <argv[1]>
ref2.amount -=<dargv[0]>
if (<ref2.amount> < 1)
ref2.remove
endif
src.ctag.coins2
src.ctag.coins


Bu konu Mortal tarafından düzenlendi(2012-09-28 17:08, 11 yıl önce)
Neden kullanmazdın Peki ?

Bide Benim Demek istedigim üstte bi kısım var satın al butonuna bastığın zaman Çantana itemin gelicegi kısım yani Cantandan coinin gidecegi kısım Oraya Bu function landan bi ekleme yapilmicakmi yani Scripte Sadece bunu yazım bırakmıcam heralde ?
Novice
12.5
Neden kullanmazdım olayına gelirsek biliyorsun amount sınırı 65000

Ben burada tek bir gold üzerinde çalıştırıyorum yani

çantamda iki adet 65000 coins var ise benim yazdığım script birini görür onu siler.Yani tek bir item üzerinden amount kontrolü yapıyorum.Aynı şekilde banka olayıda öyle.

Kullanma olayına gelirsek dediğim gibi kullanmak istediğin noktaya "sil 100" gibi bir şey yaparsan siler.Eğer bunu kendin scripte yapıştıramıyorsan benim yazdığım yazdığım o kadar kod boşa gitmiştir.Burası script istek bölümü değil yardım bölümüdür.Bir script yazarsınız takıldığınız yerde yardımcı olunulmaya başlanır.Sen gelip alternatif bir gold sistemi yazıcam dersen kimse uğraşmaz.Ben bu scripti yazma nedenim öğrenmek istersin diyedir yoksa kullanılacak bir tarafı yoktur.
Yok Yani benim demek istedigim sey su sen diyosun ya 100 yazarsan 100 siler eyw da ; Bu bi vendor bi kisi bi fiyat veriyo 10000 de fiyat girse cantadan 100 gider eger 100 girersem yani ben bu alınan coini o fiyatın üzerinden almasını istiorum sabit bi fiyat yok yani.. Onu demeye calısıyorum
Novice
12.5
Tamam senin vendor scriptinde o değer var hatta üstteki mesajlara bakarsan senin scriptindede değişiklik yapmıştım.Neyi ne şekilde değiştirdiğime bir bak 100 yerine ne yazıldığını anlarsın.

Üye Ol veya Giriş Yap

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