Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

WeightMax ve Vendor


Öne çıkan mesajlar

Mesaj tarihi:
Merhaba arkadaslar simdi bi sorun var bir turlu ustesinden gelemedim bu sorun su 56bde vendorlarimdan alinan esyalarin eger agirligin weightmaxtan fazlaysa yere dusmesi ve normal vendorlardan bile aldigim esyalar yere dusuyorki ben bir vendor menusu kullaniyorum ve newitem olunca item dusuyor. Once aklima bi eventle duzeltme fikri geldi ama uyguliyamadim bir turlu ondan sonra vendormenusunu oyle ayarliyacaktimki eger aldigin esyanin agirligi weightmaxtan fazlaysa satmamasi bu seferde itemleri args olarak okumuyorda 1 adetin agirligina bakiyor ve itemi vermese dahi parasini aliyor size bi zahmet bi goz atin

[Dialog d_mage_satiss]
130,30
PAGE 0
Resizepic 10 10 5054 379 429
Dtext 130 15 0790 shard UO Alisveris
Dtext 60 45 0790 Esya
Dtext 230 45 0790 Fiyat
Dtext 310 45 0790 Adet
Resizepic 60 70 3000 300 3 // Cizgi
Tilepic 23 80 7961 // Spellbook
Dtext 60 82 0790 Reg Crystal(30)
Dtext 230 82 0790 1200gp
Resizepic 310 80 3000 50 20
Textentry 312 81 42 25 0 0 0
Tilepic 23 110 7961 // Recall Rune
Dtext 60 107 0790 Reg Crystal(60)
Dtext 230 107 0790 2950gp
Resizepic 310 105 3000 50 20
Textentry 312 106 42 25 850 1 1
Tilepic 23 130 7961 // Blank Scrolls
Dtext 60 132 0790 Reg Crystal(90)
Dtext 230 132 0790 4350gp
Resizepic 310 130 3000 50 20
Textentry 312 131 42 25 0 2 2
Tilepic 23 158 3981 // Spider's Silk
Dtext 60 157 0790 Spider's silk
Dtext 230 157 0790 7gp
Resizepic 310 155 3000 50 20
Textentry 312 156 42 25 850 3 3
Tilepic 20 183 3980 // Sulfurous Ash
Dtext 60 182 0790 Sulfurous Ash
Dtext 230 182 0790 7gp
Resizepic 310 180 3000 50 20
Textentry 312 181 42 25 0 4 4
Tilepic 23 205 3976 // Nightshade
Dtext 60 207 0790 Nightshade
Dtext 230 207 0790 7gp
Resizepic 310 205 3000 50 20
Textentry 312 206 42 25 850 5 5
Tilepic 23 235 3974 // Mandrake Root
Dtext 60 232 0790 Mandrake root
Dtext 230 232 0790 7gp
Resizepic 310 230 3000 50 20
Textentry 312 231 42 25 0 6 6
Tilepic 20 260 3973 // Ginseng
Dtext 60 257 0790 Ginseng
Dtext 230 257 0790 7gp
Resizepic 310 255 3000 50 20
Textentry 312 256 42 25 850 7 7
Tilepic 25 285 3972 // Garlic
Dtext 60 282 0790 Garlic
Dtext 230 282 0790 7gp
Resizepic 310 280 3000 50 20
Textentry 312 281 42 25 0 8 8
Tilepic 21 310 3963 // Blood Moss
Dtext 60 307 0790 Blood moss
Dtext 230 307 0790 7gp
Resizepic 310 305 3000 50 20
Textentry 312 306 42 25 850 9 9
Tilepic 23 337 3962 // Black Pearls
Dtext 60 332 0790 Black pearls
Dtext 230 332 0790 7gp
Resizepic 310 330 3000 50 20
Textentry 312 331 42 25 0 10 10
// Satin AL
Button 60 365 4006 4005 1 0 23
Dtext 88 368 0790 Satin Al
// Iptal
Button 170 365 4006 4005 1 0 24
Dtext 198 368 0790 Iptal

[Dialog d_mage_satiss Text]
0
0
0
0
0
0
0
0
0
0
0

[Dialog d_mage_satiss Button]
On=23 // Satin Al
if !(<isnum <argtxt[0]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[1]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[2]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[3]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[4]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[5]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[6]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[7]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[8]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[9]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif !(<isnum <argtxt[10]>>)
Src.Sysmessage @38,,1 Hata: Sadece Rakam olarak girmelisiniz.
return 1
elseif (<src.targ.distance> > 3)
Src.Sysmessage @38,,1 Vendora Ulasamiyorsunuz....
return 1
endif

Local.toplamsatis 0
If (<eval <argtxt[0]>> > 0)
Local.ToplamSatis (<eval <argtxt[0]> * 1200>)
endif
if (<eval <argtxt[1]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[1]> * 2950>)
endif
if (<eval <argtxt[2]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[2]> * 4350>)
endif
if (<eval <argtxt[3]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[3]> * 7>)
endif
if (<eval <argtxt[4]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[4]> * 7>)
endif
if (<eval <argtxt[5]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[5]> * 7>)
endif
if (<eval <argtxt[6]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[6]> * 7>)
endif
if (<eval <argtxt[7]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[7]> * 7>)
endif
if (<eval <argtxt[8]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[8]> * 7>)
endif
if (<eval <argtxt[9]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[9]> * 7>)
endif
if (<eval <argtxt[10]>> > 0)
Local.ToplamSatis (<eval <local.toplamsatis>> + <eval <argtxt[10]> * 7>)
endif
If (<local.toplamsatis> == 0)
Src.Sysmessage @38,,1 Herhangi bir esya satin almamissiniz!
Return 1
Elseif (<Src.Totalgold> < <eval <Local.ToplamSatis>>)
Src.sysmessage @38,,1 Yeterli paraniz yok!
return 1
Endif
If (<eval <argtxt[0]>> > 1000) || (<eval <argtxt[1]>> > 1000) || (<eval <argtxt[2]>> > 1000) || (<eval <argtxt[3]>> > 1000) || (<eval <argtxt[4]>> > 1000) || (<eval <argtxt[5]>> > 1000) || (<eval <argtxt[6]>> > 1000) || (<eval <argtxt[7]>> > 1000) || (<eval <argtxt[8]>> > 1000) || (<eval <argtxt[9]>> > 1000) || (<eval <argtxt[10]>> > 1000)
src.sysmessage @38,,1 En fazla 1000 adet alabilirsiniz!
return 1
endif
Src.consumegold <eval <Local.ToplamSatis>>
If (<eval <argtxt[0]>> > 0)
Src.EsyaVer i_magic_reg30,<eval <argtxt[0]>>
Endif
If (<eval <argtxt[1]>> > 0)
Src.EsyaVer i_magic_reg60,<eval <argtxt[1]>>
Endif
If (<eval <argtxt[2]>> > 0)
Src.EsyaVer i_magic_reg90,<eval <argtxt[2]>>
Endif
If (<eval <argtxt[3]>> > 0)
Src.EsyaVerAmO i_reag_spider_silk,<eval <argtxt[3]>>
ENDIF
If (<eval <argtxt[4]>> > 0)
Src.EsyaVerAmO i_reag_sulfur_ash,<eval <argtxt[4]>>
ENDIF
If (<eval <argtxt[5]>> > 0)
Src.EsyaVerAmO i_reag_nightshade,<eval <argtxt[5]>>
ENDIF
If (<eval <argtxt[6]>> > 0)
Src.EsyaVerAmO i_reag_mandrake_root,<eval <argtxt[6]>>
ENDIF
If (<eval <argtxt[7]>> > 0)
Src.EsyaVerAmO i_reag_ginseng,<eval <argtxt[7]>>
ENDIF
If (<eval <argtxt[8]>> > 0)
Src.EsyaVerAmO i_reag_garlic,<eval <argtxt[8]>>
ENDIF
If (<eval <argtxt[9]>> > 0)
Src.EsyaVerAmO i_reag_blood_moss,<eval <argtxt[9]>>
ENDIF
If (<eval <argtxt[10]>> > 0)
Src.EsyaVerAmO i_reag_black_pearl,<eval <argtxt[10]>>
ENDIF
src.sysmessage @0790 Toplam <eval <Local.ToplamSatis>>gp harcadiniz.
endif


On=24
[function totalgold]
RETURN <eval <rescount <def.cmoney>>+<findlayer.29.rescount <def.cmoney>>>

[FUNCTION consumegold]
IF (<TOTALGOLD> < <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

[DEFNAME vendorsatis]
cmoney i_gold

[Function esyaver]
FOR <argv[1]>
src.NEWITEM <args>
src.act.AMOUNT 1
src.act.bounce

ENDFOR

[Function esyaveramo] // amount olan esyalar (reg fln)
src.NEWITEM <args>
src.act.bounce

[FUNCTION ARGV]
LOCAL.COUNT=<STRARG <ARGS>>
CALL ARGV_AUX <STREAT <ARGS>>
IF (<ISEMPTY <VAR.STRING>>)
RETURN
ELSE
LOCAL.STRING=<VAR.STRING>
VAR.STRING=
RETURN <LOCAL.STRING>
ENDIF

[FUNCTION ARGV_AUX]
VAR.STRING=<ARGV[<eval <LOCAL.COUNT>>]>
[Function hatalikarakter]
if (strmatch('<args>','*')) || (strmatch('<args>','"'))
return 1
elseif (STRMATCH("*!*","<ARGS>")) || (STRMATCH("*'*","<ARGS>")) || (STRMATCH("*^*","<ARGS>")) || (STRMATCH("*+*","<ARGS>")) || (STRMATCH("*#*","<ARGS>")) || (STRMATCH("*$*","<ARGS>")) || (STRMATCH("*%*","<ARGS>")) || (STRMATCH("*@*","<ARGS>")) || (STRMATCH("*&*","<ARGS>")) || (STRMATCH("*/*","<ARGS>")) || (STRMATCH("*{*","<ARGS>")) || (STRMATCH("*(*","<ARGS>")) || (STRMATCH("*=*","<ARGS>")) || (STRMATCH("*}*","<ARGS>")) || (STRMATCH("**","<ARGS>")) || (STRMATCH("*_*","<ARGS>")) || (STRMATCH("*-*","<ARGS>")) || (STRMATCH("*Ђ*","<ARGS>")) || (STRMATCH("*<*","<ARGS>")) || (STRMATCH("*>*","<ARGS>")) || (STRMATCH("*|*","<ARGS>")) || (STRMATCH("*.*","<ARGS>")) || (STRMATCH("*,*","<ARGS>")) || (STRMATCH("*;*","<ARGS>")) || (STRMATCH("*:*","<ARGS>")) || (STRMATCH("*`*","<ARGS>")) || (STRMATCH("*~*","<ARGS>")) || (STRMATCH("*Ё*","<ARGS>")) || (STRMATCH("*ґ*","<ARGS>")) || (STRMATCH("*}*","<ARGS>")) || (STRMATCH("*ѓ*","<ARGS>")) || (STRMATCH("*„*","<ARGS>")) || (STRMATCH("*…*","<ARGS>")) || (STRMATCH("*†*","<ARGS>")) || (STRMATCH("*‡*","<ARGS>")) || (STRMATCH("*€*","<ARGS>")) || (STRMATCH("*‰*","<ARGS>")) || (STRMATCH("*Љ*","<ARGS>")) || (STRMATCH("*‹*","<ARGS>")) || (STRMATCH("*Њ*","<ARGS>")) || (STRMATCH("*ж*","<ARGS>")) || (STRMATCH("*Я*","<ARGS>")) || (STRMATCH("*‘*","<ARGS>")) || (STRMATCH("*’*","<ARGS>")) || (STRMATCH("*“*","<ARGS>")) || (STRMATCH("*”*","<ARGS>")) || (STRMATCH("*•*","<ARGS>")) || (STRMATCH("*-*","<ARGS>")) || (STRMATCH("*-*","<ARGS>")) || (STRMATCH("*˜*","<ARGS>")) || (STRMATCH("*©*","<ARGS>")) || (STRMATCH("*™*","<ARGS>")) || (STRMATCH("*љ*","<ARGS>")) || (STRMATCH("*›*","<ARGS>")) || (STRMATCH("*њ*","<ARGS>")) || (STRMATCH("*®*","<ARGS>")) || (STRMATCH("*Ї*","<ARGS>")) || (STRMATCH("*¬*","<ARGS>")) || (STRMATCH("*Є*","<ARGS>")) || (STRMATCH("*­«*","<ARGS>")) || (STRMATCH("*©*","<ARGS>")) || (STRMATCH("*Ё*","<ARGS>")) || (STRMATCH("*¦*","<ARGS>")) || (STRMATCH("*§*","<ARGS>")) || (STRMATCH("*Ґ*","<ARGS>")) || (STRMATCH("*¤*","<ARGS>")) || (STRMATCH("*Ј*","<ARGS>")) || (STRMATCH("*Ў*","<ARGS>")) || (STRMATCH("*ў*","<ARGS>")) || (STRMATCH("*°*","<ARGS>")) || (STRMATCH("*±*","<ARGS>")) || (STRMATCH("*І*","<ARGS>")) || (STRMATCH("*і*","<ARGS>")) || (STRMATCH("*µ*","<ARGS>")) || (STRMATCH("*¶*","<ARGS>")) || (STRMATCH("*·*","<ARGS>")) || (STRMATCH("*ё*","<ARGS>")) || (STRMATCH("*№*","<ARGS>")) || (STRMATCH("*є*","<ARGS>")) || (STRMATCH("*»*","<ARGS>")) || (STRMATCH("*ј*","<ARGS>")) || (STRMATCH("*Ѕ*","<ARGS>")) || (STRMATCH("*ѕ*","<ARGS>")) || (STRMATCH("*ї*","<ARGS>")) || (STRMATCH("*А*","<ARGS>")) || (STRMATCH("*Б*","<ARGS>")) || (STRMATCH("*В*","<ARGS>")) || (STRMATCH("*Г*","<ARGS>")) || (STRMATCH("*Д*","<ARGS>")) || (STRMATCH("*Е*","<ARGS>")) || (STRMATCH("*Ж*","<ARGS>")) || (STRMATCH("*З*","<ARGS>")) || (STRMATCH("*И*","<ARGS>")) || (STRMATCH("*Й*","<ARGS>")) || (STRMATCH("*К*","<ARGS>")) || (STRMATCH("*Л*","<ARGS>"))
Return 1
elseif (STRMATCH("*Н*","<ARGS>")) || (STRMATCH("*М*","<ARGS>")) || (STRMATCH("0*","<ARGS>")) || (STRMATCH("*О*","<ARGS>")) || (STRMATCH("*П*","<ARGS>")) || (STRMATCH("*Я*","<ARGS>")) || (STRMATCH("*Ъ*","<ARGS>")) || (STRMATCH("*Ы*","<ARGS>")) || (STRMATCH("*Щ*","<ARGS>")) || (STRMATCH("*Ш*","<ARGS>")) || (STRMATCH("*Ч*","<ARGS>")) || (STRMATCH("*Х*","<ARGS>")) || (STRMATCH("*Ф*","<ARGS>")) || (STRMATCH("*У*","<ARGS>")) || (STRMATCH("*Т*","<ARGS>")) || (STRMATCH("*С*","<ARGS>")) || (STRMATCH("*а*","<ARGS>")) || (STRMATCH("*б*","<ARGS>")) || (STRMATCH("*в*","<ARGS>")) || (STRMATCH("*г*","<ARGS>")) || (STRMATCH("*д*","<ARGS>")) || (STRMATCH("*е*","<ARGS>")) || (STRMATCH("*и*","<ARGS>")) || (STRMATCH("*й*","<ARGS>")) || (STRMATCH("*к*","<ARGS>")) || (STRMATCH("*л*","<ARGS>")) || (STRMATCH("*м*","<ARGS>")) || (STRMATCH("*н*","<ARGS>")) || (STRMATCH("*о*","<ARGS>")) || (STRMATCH("*п*","<ARGS>")) || (STRMATCH("*я*","<ARGS>")) || (STRMATCH("*ь*","<ARGS>")) || (STRMATCH("*ы*","<ARGS>")) || (STRMATCH("*ъ*","<ARGS>")) || (STRMATCH("*щ*","<ARGS>")) || (STRMATCH("*ш*","<ARGS>")) || (STRMATCH("*ч*","<ARGS>")) || (STRMATCH("*х*","<ARGS>")) || (STRMATCH("*ф*","<ARGS>")) || (STRMATCH("*у*","<ARGS>")) || (STRMATCH("*т*","<ARGS>")) || (STRMATCH("*с*","<ARGS>")) || (STRMATCH("*[a-z]*","<ARGS>")) || (STRMATCH("*[[]*","<ARGS>")) || (STRMATCH("*]*","<ARGS>")) || (STRMATCH("*[(]*","<ARGS>"))
Return 1
Else
Return 0
Endif

[function esyaaldimi]
if (strmatch("0","<args>"))
src.sysmessage @38,,1 Herhangi bir esya Satin Almadiniz...
return 1
else
return 0
endif

[function totalgold]
RETURN <eval <rescount <def.cmoney>>+<findlayer.29.rescount <def.cmoney>>>

[FUNCTION consumegold]
IF (<TOTALGOLD> < <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

[DEFNAME vendorsatis]
cmoney i_gold
Mesaj tarihi:
Yok kisalttim cunku foruma sigmiyor :D normalde hepsinin dialoglari var ama sorun sadece vendorlarda degil yane newitem ve act.bounce kullanildiginda item dusme olayini gecemedim bi cozumu olmali :)
Mesaj tarihi:
serv.NEWITEM
new.bounce

vb sekillerde kullanabilirsin. NEW src. oluyor burda ve son create edilen item üzerinde etkili oluyor sadece

MAXWEIGHT degiskeni var statusbar gorunen agırlıgı veriyor bunun üzerinde işlem yapabilirsin ayrıca TAG.OVERRIDE.MAXWEIGHT/MAXITEMS de kullanabilirsin bir şekilde. Revisionda açıklaması vardı.



25-02-2007, Nazghul
- Added: TAG.OVERRIDE.MAXWEIGHT and TAG.OVERRIDE.MAXITEMS now are applying to all containers
if set. If not, maximum weight is still unlimited, while max. item count is still default.

×
×
  • Yeni Oluştur...