Bir stone düşündüm düello sistemini karıştırmamak için. Pvp biletini paraya çeviriyor aynı miktarda. Fakat bunu nasıl yaparım bir türlü bulamadım. Yardımcı olabilirmisiniz?
Uosuz Yaptım İnş Olmuştur.




By Narcotik

[ITEMDEF i_bilet_gold]
name Cevirici
defname i_bilet_gold
id i_grave_stone
type t_container

ON=@CLICK
MESSAGE @0481 Cevirici
RETURN 1

ON=@CREATE
COLOR=0810
ATTR=010

ON=@DCLICK
IF ( <DISTANCE> < 4 )
SRC.sysMESSAGE @54 Tas'a erisemiyorsunuz.
RETURN 1

ON=@TARGON_CHAR
SRC.SYSMESSAGE @54 Sadece PvP Biletlerini kullanabilirsiniz!
RETURN 1

ON=@TARGON_ITEM
IF (<MORE> = 2)
	IF (<SRC.TARG.BASEID> = i_xxxx_xxxx)|(<SRC.TARG.BASEID> = i_xxxx_xxx)
 
 		IF <SRC.TARG.TOPOBJ.UID> != <SRC.UID>
			SRC.SYSMESSAGE @54 Cevireceginiz biletler cantanizda olmali.
			RETURN 1
		ENDIF

		SRC.tag.xxx=<EVAL <SRC.tag.xxx>> + <SRC.TARG.AMOUNT>
		SRC.act.bounce
		RETURN 1
[defname ayar_bilet]
biletid i_biletid
biletfiyat 5 // gp cinsinden , 1 bilet 5 gp suan

[function biletcevir]
if !<findid.<def.biletid>>
sysmessage biletiniz yok
return 1
endif

while <findid.<def.biletid>>
gold +=<ddef.biletfiyat>
remove
endwhile

biletin amountable değilmiş olarak kabul ettim.


öyle değilse

[function biletcevir]
if !<findid.<def.biletid>>
sysmessage biletiniz yok
return 1
endif

while <findid.<def.biletid>>
gold +=<eval <amount>*<ddef.biletfiyat>>
remove
endwhile

denemedim fakat bir dene
Noxier seninki serverı kapattı :P . Writing seninkide çalışmıyo malesef
version nedir

[FUNCTION biletcevir]
WHILE (<FINDLAYER(21).FINDID.<def.biletid>>)
	LOCAL.UID=<FINDLAYER(21).FINDID.<def.biletid>>
	LOCAL.Amount=<UID.<LOCAL.UID>.Amount>
	UID.<LOCAL.UID>.Remove
	gold +=<eval <LOCAL.Amount>*<def.biletfiyat>>
endwhile


bunun çalışması lazım

Bu konu Noxier tarafından düzenlendi(2007-11-11 15:12, 16 yıl önce)
malesef çalışmadı server kapatıyo. version 55r 4.0.2 56b ye geçmek istiyorum geçerken neleri değiştirceğimi buldum fakat scriptleri aktarırken neleri değiştirmem gerekiyo bunu pek bilmediğim için cesaret edemiyorum.
Elini korkak alıstırma.Al yedeklerini çak 56 b yi olmadı tekrar 55rden devam et.
Olmadıki 55r den dewam ediorm =)
yaptıklarım 56b için revisionda olmaz.
55r de serverı kapatıyo
[function biletcevir]
if !(<src.findid.i_gold>)
src.sysmessage @0845,1,1 Yaninizda para yok.
return 1
else
src.newitem i_biletID
src.act.bounce
src.act.amount <src.findid.i_gold.amount>
src.findid.i_gold.remove
src.sysmessage @0845,1,1 Paralar bilete cevrildi!
return 1
endif

Hatalar olabilir:gorme
karışık buglar var fakat teşekkür ederim bunun üstünde çalışabilirm :)
Özgür Bilader Senden Birşey İsticem...
Sen Bir Döküman Yazsanda Bizde Yararlansak...

Local._for ile ilgili fln

Dialogda *-- itemde fln nasıl kullanabiliriz.
Yazarsan Sevinirim Bizde Yararlanırız Bir Tek Bilmedigim Sey
boş bir anımda yapayım.
Expert
34.0001
[itemdef i_cevirici]
defname i_cevirici
id i_grave_stone
name Altinlari Bilete cevirir


on=@create
color 0fb2

on=@click
message @07a1 Cevirici
message @07a1 <name>
return 1

on=@dclick
if (<distance> > 3)
src.sysmessage @07a1 Yeterince yakin degilsiniz.
return 1
else
target @07a1 Bilete Cevirmek istediginiz Gold u secin.
return 1

on=@targon_item
iF <SRC.TARG.TOPOBJ.UID> != <SRC.UID>
src.sysmessage @0bb7 Hata:Satacaginiz item cantanizda olmali.
RETURN 1
endif
if (<argo.baseid> == i_gold) && (<argo.amount> >= 5000)
Sdialog d_cevirme
return 1
else
src.sysmessage @0bb7 Hata: En az 5000 Altini bilete cevirebilirsiniz.
RETURN 1
ENDIF



on=@targon_char
src.sysmessage @0bb7 Hata:Yanlizca altinlari Bilete cevirebilirsiniz.
return 1

on=@targon_ground
src.sysmessage @0bb7 Hata:Yanlizca altinlari bilete cevirebilirsiniz.
return 1


On=@itemdropon_item
src.sysmessage Bunun icine bisey koymayiniz.
return 1


[dialog d_cevirme]
50,50
nomove

resizepic 0 0 5054 350 200
dtext 75 20 1152 <serv.name> Cevirme Menusu
dtext 15 60 999 <src.targ.amount> tane altini <eval (<src.targ.amount>/500)> tane Bilete cevirmek
dtext 15 80 999 istediginize eminmisiniz ?
dtext 220 120 999 Hayir.
dtext 50 120 999 Evet.


button 10 122 57 58  1 0 1
button 180 122 57 58 1 0 2

[dialog d_cevirme button]
on=0
src.sysmessage @55 Cevirme islemini iptal ettiniz.
return 1

on=1
newitem i_bilet
new.amount (<src.targ.amount>/500)
new.bounce
src.consume <src.targ.amount> i_gold
RETURN 1

on=2
src.sysmessage @55 Islem yapmadan kapadiniz.
return 1


verilmiş ama bende bunu vermek istedim.bi pvp serverı için yazmıştım umarım işinize yarar.



Üye Ol veya Giriş Yap

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