Şimdi Arkadaşlar anlatayım aslında çok basit bir scp ama tüm canavarlardaki altını bilete çevirmek için tüm gün tüm scriptsleri düzenlemek zorunda klaıyorsunuz işte buna bir son veriyoruz...Denedim tamamen çalışıyor :D

İlk olarak:

i_c_para yazan yerlere siz kendi biletinizin id sini yazın yani i_bilet ise oraya i_bilet yazacaksınız...

[itemdef i_gb_stone]
defname=i_gb_stone
id=i_grave_stone
type=t_grave_stone
Name=Gold-Bilet Stone

On=@Create
Color=033
attr=attr_static

On=@click
message @048 [<serv.name>]
Message @020 Altini Bilete Cevirme Tasi
return 1

On=@Dclick
sdialog d_gold_bilet
return 1

[DIALOG d_gold_bilet]
0,0
MOVE
resizepic 10 50 2620 275 200
text 25 68 105 0 0
button 30 100 4006 4007 1 0 1
text 60 100 0492 1
button 30 125 4006 4007 1 0 2
text 60 125 0492 2
button 30 150 4006 4007 1 0 3
text 60 150 0492 3
button 30 175 4006 4007 1 0 4
text 60 175 0492 4
button 30 200 4006 4007 1 0 5
text 60 200 0492 5

[DIALOG d_gold_bilet TEXT]
<serv.name> Bilet Tasi
1k Goldu 1k Bilete Cevir
5k Goldu 5k Bilete Cevir
10k Goldu 10k Bilete Cevir
50k Goldu 50k Bilete Cevir
Iptal 

[DIALOG d_gold_bilet BUTTON]
ONBUTTON=0
src.dialog d_gold_bilet
RETURN 1

ONBUTTON=1
IF (<DISTANCE> > 3)
SRC.SYSMESSAGE @066d,3,1 Cok uzaksiniz..
RETURN 1
elseif (<src.restest 1000 i_gold>)
SRC.NEWITEM i_c_para,(1000)
SRC.ACT.BOUNCE
return1
src.consume 1000 i_gold
src.sysmessage @080a 1k Biletiniz cantaniza konulmustur. Iyi oyunlar...
return 1
else
src.sysmessage @080a Yaninizda 1k altin yok.
return 1
endif
SRC.FIX

ONBUTTON=2
IF (<DISTANCE> > 3)
SRC.SYSMESSAGE @066d,3,1 Cok uzaksiniz..
RETURN 1
elseif (<src.restest 5000 i_gold>)
SRC.NEWITEM i_c_para,(5000)
SRC.ACT.BOUNCE
return1
src.consume 5000 i_gold
src.sysmessage @080a 5k Biletiniz cantaniza konulmustur. Iyi oyunlar...
return 1
else
src.sysmessage @080a Yaninizda 5k altin yok.
return 1
endif
SRC.FIX

ONBUTTON=3
IF (<DISTANCE> > 3)
SRC.SYSMESSAGE @066d,3,1 Cok uzaksiniz..
RETURN 1
elseif (<src.restest 10000 i_gold>)
SRC.NEWITEM i_c_para,(10000)
SRC.ACT.BOUNCE
return1
src.consume 10000 i_gold
src.sysmessage @080a 10k Biletiniz cantaniza konulmustur. Iyi oyunlar...
return 1
else
src.sysmessage @080a Yaninizda 10k altin yok.
return 1
endif
SRC.FIX

ONBUTTON=4
IF (<DISTANCE> > 3)
SRC.SYSMESSAGE @066d,3,1 Cok uzaksiniz..
RETURN 1
elseif (<src.restest 50000 i_gold>)
SRC.NEWITEM i_c_para,(50000)
SRC.ACT.BOUNCE
return1
src.consume 50000 i_gold
src.sysmessage @080a 50k Biletiniz cantaniza konulmustur. Iyi oyunlar...
return 1
else
src.sysmessage @080a Yaninizda 50k altin yok.
return 1
endif
SRC.FIX

ONBUTTON=5
src.sysmessage @020 Bilete Cevirmekten Vazgecitiniz.
return 1


Bu konu xwerswoodx tarafından düzenlendi(2008-06-08 22:13, 15 yıl önce)
Ellerine saglık kardesim.:yes
önemli diil canım sıkıldı işe yarayacak bişiler yapmaya çalıştım benimde en büyük sorunum buydu kendime yaptım herkesle paylaşmak istedim :D
SRC.NEWITEM c_para,(10000)

c_para ? i_para olması gerekmezmiydi ?
c_para olacak çünkü ordaki c serverimin adından gelen c... parada parası yani c_para c...._parası anlamına geliyor :D
Sunucu ismi söylemesek ( :
ben scp yazmak istiyorum bana su metin belgesine hazirlayam bi yardim edin :D:asik2
1000 gold = 1000 bilet'e eşitmi olacak biraz dengesiz olmazmı ?
Satış fiyatlarının çok yukarda olması gerekebilir..
ben yani arkadaşlar kendi istedikleri gibi düzenlesin ben sadece ortalama olarak yaptım :D
Nexiel ben nasil scp yazmayi ogrenebilirim sole ufak birseyler horse llama cat,rabbit,sheep gibi
şimdi abi dökümanlar > ultima online > Sphere > orda birsürü scripts dersi var for döngüsü if döngüsü... ordan öğrene bilirsin ayrıca scripts bölümündede scirptsleri inceleyerek öğrenebilirsin...

https://ultima-strike.com/liste.php?c=doc-uo-sphere
Bana kimse oturup tek tek anlatmadı ama dökümanlar bölümü yararlı olabilir sanıyorum..
Anladim
[function biletcevir]
targetf bilet
src.sysmessage @38,1,1 Bilete cevirmek istediginiz altinlari seciniz.

[function bilet]
if !(<argo.baseid> == i_gold)
src.sysmessage @68,1,1 Bu para degil. !!!
else
argo.remove
ctag.hafiza <argo.amount>
src.newitem i_biletinidisi,(<eval <ctag0.hafiza> /4>)
src.new.cont <findlayer(29).uid>
src.sysmessage @68,1,1 Kazanilan bilet : <eval <ctag0.hafiza> /4> Kaybedilen altin: <eval <ctag0.hafiza>>
endif

Ben sana daha hoş bir versiyonunu vereyim spherede boş yere satır fazlalığından kurtulmuş olursun vede daha kullanışlı olur.
ben adamların pazara gidip çevirmesi için stone olarak yaptım bende function olarak var zaten ama onu buraya yazmadım koyum buraya istersen


//Bu scripts xwerswoodx tarafından yazılmıştır.

[function altin-bilet]
src.dialog d_gold_bilet
src.sysmessage @048 <serv.name> altin cevirmeyi sectiginiz icin tesekkurler.Sayin <src.name>
return 1



Üye Ol veya Giriş Yap

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