Teşekkürler hepsini tamamladımda. Bu seferde sıralamıyo adamın puanı 250 dierinin 15 15 olan 1. sırada 250 olan 2.
Tavsiye:

FOR loop genelde orjinal kullanin bir variable belirlemeyin pek saglikli degil, orjinal daha saglikli kisacasi

FOR C 1 10 yerine FOR 1 10

local.c yerine local._for
Ben scpi şu hale getirdim fakat ".for_display" olayını anlamadım. onu söylersem 1. sıraya geçiorm ama başkası derse ben siliniyorum o 1. sıraya geçiyo ki 2. 3. 4. vs. sıralar hiç kullanılmıyo nası yapabilrm :S?

[FUNCTION for_display]
var.panim=<eval <src.tag.oldurdugum>>
FOR X 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.x>>>>
if (<obj> = <src.uid>)
var.cnnt=<eval (<eval <local.x>> +1)>
var.numper=<eval <local.x>>
src.foryuk
src.sysmessage varsin <eval <local.x>>
return 1
endif
endfor
src.foryerles
src.sysmessage yerlesios

[function foryerles]
for b 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.b>>>>
if (<eval <obj.tag.>> < <eval <var.panim>>)
var.cnntq=<eval (<eval <local.b>> +1)>
var.numper=<eval <local.b>>
src.forfo
return 1
endif
endfor


[FUNCTION foryuk]
for y <eval <var.cnnt>> 10
try uid.<var.ranktas>.tag.sira<eval <local.y> - 1> = <uid.<var.ranktas>tag.sira<eval <local.y>>>
endfor
src.foryerles
src.sysmessage foryuuuk



[dialog errg] 
0,0 
resizepic 220 100 3600 255 250
page 0 
for c 1 10  
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.c>>>>
   dtext 260 <hval (<local.c>*20)+(100)> 1307 <obj.name>
   dtext 430 <hval (<local.c>*20)+(100)> 50 <eval <obj.tag0.oldurdugum>>
   dtext 240 120 37 1.
   dtext 240 140 37 2.
   dtext 240 160 37 3.
   dtext 240 180 37 4.
   dtext 240 200 37 5.
   dtext 240 220 37 6.
   dtext 240 240 37 7.
   dtext 240 260 37 8.
   dtext 240 280 37 9.
   dtext 240 300 37 10.
// puanlar

   dtext 385 <eval (<local.c>*20)+(100)> 37 Puan:
endfor


[FUNCTION forfo]
for y 10 <eval <var.cnntq>>
try uid.<var.ranktas 040023d72>.tag.sira<eval <local.y>> = <eval <uid.<var.ranktas>tag.sira<eval <local.y> - 1>>>
endfor
src.sysmessage forfof
try uid.<var.ranktas>.tag.sira<eval <var.numper>> = <src.uid>



[itemdef i_ranktasnix]
id i_grave_stone
type=t_script
name=ranking

on=@create
attr 080

[function rankkur]
var.ranktas=<args>
src.sysmessage @045,1,1 Kurulum tamamlandi bap <var.ranktas> :)
return 1

[plevel 1]
errg
for_display

[function errg]
src.dialog errg
Silindi
Members
0
[itemdef i_top10_stone]
defname=i_top10_stone
id=i_grave_stone
weight=999
type=t_eq_script
name=Top 10 Listesi


on=@create
attr=010
color=07a1


on=@click
Message @07a1 <serv.name>
message @50 <name>
return 1

on=@dclick
src.dialog errg
return 1

[EOF]

Bilmiyorum Belki Yapmıssındır Ama Bence Boyle Stone Icınde Kullanırsan Scp Daha Iyı Olur

Nixdorf:
ben burada sıralamayı playerlardaki tag.pan a göre yaptırdım.. bir stone koyup uid ini var.ranktas olarak ayarla. mesela kelle sisteminde her puan aldığında tag.pan ı bir arttır sonrada for_display fonksiyonunu çalıştır sürekli güncel bir listen olsun..


Bu konu By\Tymaron tarafından düzenlendi(2007-11-11 14:29, 16 yıl önce)
[events tagverdir]
on=@kill
src.tag adamkestibu
src.tag.adamkestibu +1
src.sysmessage @0810 1 puan kazandiniz.

[function tagabaktir]
src.sysmessage @080a <eval<src.tag.adamkestibu>> puaniniz var.
src.sysmessage @0810 tebrikler.

beyler ya bu olur mu ? kesince 1 puan kazandiniz diyorda <eval<src.tag.adamkestibu>> puaniniz var. yazan yerde (boşluk) puaniniz var. diyor sanirim tag verdirmede yanlıs yaptım :S yardım edebilcek olan varmı


ayrıca burda bi benim char oldu dier adam menude görünmüyor onuda çözemedim :S
[FUNCTION for_display]
var.panim=<eval <src.tag.pan>>
FOR X 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.x>>>>
if (<obj> = <src.uid>)
var.cnnt=<eval (<eval <local.x>> +1)>
var.numper=<eval <local.x>>
src.foryuk
src.sysmessage varsin <eval <local.x>>
return 1
endif
endfor
src.foryerles
src.sysmessage yerlesios

[function foryerles]
for b 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.b>>>>
if (<eval <obj.tag.pan>> < <eval <var.panim>>)
var.cnntq=<eval (<eval <local.b>> +1)>
var.numper=<eval <local.b>>
src.forfo
return 1
endif
endfor


[FUNCTION foryuk]
for y <eval <var.cnnt>> 10
try uid.<var.ranktas>.tag.sira<eval <local.y> - 1> = <uid.<var.ranktas>tag.sira<eval <local.y>>>
endfor
src.foryerles
src.sysmessage foryuuuk



[dialog errg] 
0,0
resizepic 50 0 83 500 250//ARka Fon
resizepic 50 300 83 200 80//Zamazingo
resizepic 60 20 3000 480 20////Liste Cizgileri
resizepic 60 40 3000 480 20////Liste Cizgileri
resizepic 60 60 3000 480 20////Liste Cizgileri
resizepic 60 80 3000 480 20////Liste Cizgileri
resizepic 60 100 3000 480 20////Liste Cizgileri
resizepic 60 120 3000 480 20////Liste Cizgileri
resizepic 60 140 3000 480 20////Liste Cizgileri
resizepic 60 160 3000 480 20////Liste Cizgileri
resizepic 60 180 3000 480 20////Liste Cizgileri
resizepic 60 200 3000 480 20////Liste Cizgileri
page 0 
for c 1 10  
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.c>>>>
   dtext 130 <hval <local.c>*20> 50 <obj.name>
   dtext 500 <hval <local.c>*20> 50 <eval <obj.tag.pan>>
   dtext 65 325 1152 <serv.servname> Top 10 Player
   dtext 65 20 38 1.Name:                       
   dtext 65 40 38 2.Name:                        
   dtext 65 60 38 3.Name:
   dtext 65 80 38 4.Name:                          
   dtext 65 100 38 5.Name:
   dtext 65 120 38 6.Name:
   dtext 65 140 38 7.Name:
   dtext 65 160 38 8.Name:
   dtext 65 180 38 9.Name:
   dtext 65 200 38 10.Name:
   dtext 450 20 38 Puan:                       
   dtext 450 40 38 Puan:                         
   dtext 450 60 38 Puan: 
   dtext 450 80 38 Puan:                           
   dtext 450 100 38 Puan: 
   dtext 450 120 38 Puan: 
   dtext 450 140 38 Puan: 
   dtext 450 160 38 Puan: 
   dtext 450 180 38 Puan: 
   dtext 450 200 38 Puan: 
endfor


[FUNCTION forfo]
for y 10 <eval <var.cnntq>>
try uid.<var.ranktas>.tag.sira<eval <local.y>> = <eval <uid.<var.ranktas>tag.sira<eval <local.y> - 1>>>
endfor
src.sysmessage forfof
try uid.<var.ranktas>.tag.sira<eval <var.numper>> = <src.uid>


[itemdef i_ranktasnix]
id i_grave_stone
type=t_script
name=ranking

on=@create
attr 080


[function rankkur]
var.ranktas=<args>
src.sysmessage @11 Kurulum tamamlandi bap <var.ranktas> :)
return 1

[Plevel 01]
for_display

[Events e_puan]
on=@death
if (<act.tag.puan> = 0)
src.sysmessage @1153 0 puana sahipsin...
else
src.tag.pan <eval <src.tag.pan> -1>
src.for_display

on=@kill
if (<argo.fame> <= 3500))
src.sysmessage @38,1,1 Puan alamadin...
else
src.tag.pan <eval <src.tag.pan> +1>
src.sysmessage @63,1,1 1 Puan Aldin
src.for_display
endif


[itemdef i_top10_stone]
defname=i_top10_stone
id=i_gravestone
weight=999
type=t_eq_script
name=Top 10 Listesi


on=@create
attr=010
color=07a1



on=@click
Message @07a1 <serv.name>
message @50 <name>
return 1

on=@dclick
src.dialog errg
return 1


[function f_bosalt]
for b 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.b>>>>
var.cnntq=0
var.numper=0
obj.tag.pan=0
endfor

[ITEMDEF i_puan_Stone] 
id i_grave_stone 
type t_eq_script 

on=@create 
attr 010
color 0800 
timer 3
return 1 

on=@dclick 
src.f_bosalt
return 1 

on=@click
message @0481,,1 Puan Sıfırlama
return 1 




////////////////


[EOF]

bende sorunsuz çalışıo

Beyler bi el atin be oto gm topuk yapmaya çalışıorum!

https://www.ultima-strike.com/forum/ultima-online/sphere-scripting/oto-gm-topuk-acil-yardim-q31641#bottom
tüm adamlar .for_display mi yazıcak yani anlamadım biri acıklarmı lütfen.

nasıl sorunsuz çalışıyor anlamadım ya off anlatırmısın tam olarak..
bak oyundan
1.add i_ranktasnix de tası stara çıkar!
2.ondan sonra o tasa info cek serail die bi sey var info menusunde onu
.rankkur xxxxx(xxxx=serail numarası yani)
3.sonra logini event e_puan puanı ekle playerlara verdir ondan sonra çalışır!
scpde bikaç hata var onları fixledim bide famesine göre puan vermesini yaptım. tam bitiriyim sanada veririm

Editledim kendimce iste isteyen varsa buyrun.

///////////////U-S'ye tesekkürler www.ultima-strike.com//////////
///////////////Creator:Nixdorf                                    //////////
 ///////////////Last Editor:Rexos                                 //////////


TARİH: Pazartesi, Ocak 28, 2008 / 23:10


[FUNCTION xxtop10]
var.panim=<eval <src.tag.pan>>
FOR X 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.x>>>>
if (<obj> = <src.uid>)
var.cnnt=<eval (<eval <local.x>> +1)>
var.numper=<eval <local.x>>
src.foryuk
src.sysmessage @1993 Sayin <src.name> Suan, <eval <local.x>>. siradasiniz ve <eval <src.tag.pan>> kadar puana sahipsiniz. RFW Ailesi...
return 1
endif
endfor
src.foryerles
src.sysmessage @0810 Siralamaya Koyuluyor...
src.sysmessage @0823 [NOT: Daha once kimseyi oldurmediyseniz siralamaya giremezsiniz.]
src.sysmessage @07d4 Sadece siralamaya Bakabilirsiniz. (.istatistik)

[function foryerles]
for b 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.b>>>>
if (<eval <obj.tag.pan>> < <eval <var.panim>>)
var.cnntq=<eval (<eval <local.b>> +1)>
var.numper=<eval <local.b>>
src.forfo
return 1
endif
endfor


[FUNCTION foryuk]
for y <eval <var.cnnt>> 10
try uid.<var.ranktas>.tag.sira<eval <local.y> - 1> = <uid.<var.ranktas>tag.sira<eval <local.y>>>
endfor
src.foryerles



[dialog errg]
0,0
resizepic 50 0 83 500 250//ARka Fon
resizepic 50 300 83 200 80//Zamazingo
resizepic 60 20 3000 480 20////Liste Cizgileri
resizepic 60 40 3000 480 20////Liste Cizgileri
resizepic 60 60 3000 480 20////Liste Cizgileri
resizepic 60 80 3000 480 20////Liste Cizgileri
resizepic 60 100 3000 480 20////Liste Cizgileri
resizepic 60 120 3000 480 20////Liste Cizgileri
resizepic 60 140 3000 480 20////Liste Cizgileri
resizepic 60 160 3000 480 20////Liste Cizgileri
resizepic 60 180 3000 480 20////Liste Cizgileri
resizepic 60 200 3000 480 20////Liste Cizgileri
page 0
for c 1 10 
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.c>>>>
   dtext 130 <hval <local.c>*20> 50 <obj.name>
   dtext 500 <hval <local.c>*20> 50 <eval <obj.tag.pan>>
   dtext 65 325 1152 RFW Top 10 Player
   dtext 65 20 38 1.Isim:                       
   dtext 65 40 38 2.Isim:                       
   dtext 65 60 38 3.Isim: 
   dtext 65 80 38 4.Isim:                         
   dtext 65 100 38 5.Isim: 
   dtext 65 120 38 6.Isim: 
   dtext 65 140 38 7.Isim: 
   dtext 65 160 38 8.Isim: 
   dtext 65 180 38 9.Isim: 
   dtext 65 200 38 10.Isim:
   dtext 450 20 38 Puan:                       
   dtext 450 40 38 Puan:                         
   dtext 450 60 38 Puan:
   dtext 450 80 38 Puan:                           
   dtext 450 100 38 Puan:
   dtext 450 120 38 Puan:
   dtext 450 140 38 Puan:
   dtext 450 160 38 Puan:
   dtext 450 180 38 Puan:
   dtext 450 200 38 Puan:
endfor


[FUNCTION forfo]
for y 10 <eval <var.cnntq>>
try uid.<var.ranktas>.tag.sira<eval <local.y>> = <eval <uid.<var.ranktas>tag.sira<eval <local.y> - 1>>>
endfor
try uid.<var.ranktas>.tag.sira<eval <var.numper>> = <src.uid>


[itemdef i_ranktasnix]
id i_grave_stone
type=t_script
name=ranking

on=@create
attr 080


[function rankkur]
var.ranktas=<args>
serv.allclients sysmessage @0810 Kurulum Basariyla Tamamlandi: <var.ranktas>
return 1

[Plevel 01]
top10
xxtop10
siralama

[Events e_puan]
on=@death
if (<act.tag.puan> = 0)
src.sysmessage @1153 0 puana sahipsin...
else
src.tag.pan <eval <src.tag.pan> -1>
src.sysmessage @0810 Oldugunuz icin 1 puan kaybettiniz.
src.xxtop10

on=@kill
if (<argo.fame> <= 3500))
src.sysmessage @38,1,1 Puan alamadin...
else
src.tag.pan <eval <src.tag.pan> +3>
src.sysmessage @63,1,1 3 Puan Aldininiz...
src.xxtop10
endif


[itemdef i_top10_stone]
defname=i_top10_stone
id=i_gravestone
weight=999
type=t_eq_script
name=Top 10 Listesi


on=@create
attr=010
color=07a1



on=@click
Message @07a1 <serv.name>
message @50 <name>
return 1

on=@dclick
src.dialog errg
return 1


[FUNCTION top10]
var.panim=<eval <src.tag.pan>>
FOR X 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.x>>>>
if (<obj> = <src.uid>)
var.cnnt=<eval (<eval <local.x>> +1)>
var.numper=<eval <local.x>>
src.foryuk
src.sysmessage @1993 Sayin <src.name> Suan, <eval <local.x>>. siradasiniz ve <eval <src.tag.pan>> kadar puana sahipsiniz. RFW Ailesi...
src.dialog errg
return 1
endif
endfor
src.foryerles
src.sysmessage @0810 Siralamaya Koyuluyor...
src.sysmessage @0823 [NOT: Daha once kimseyi oldurmediyseniz siralamaya giremezsiniz.]
src.sysmessage @07d4 Sadece siralamaya Bakabilirsiniz. (.istatistik)
[function foryerles]
for b 1 10
obj = <uid.<uid.<var.ranktas>.tag.sira<eval <local.b>>>>
if (<eval <obj.tag.pan>> < <eval <var.panim>>)
var.cnntq=<eval (<eval <local.b>> +1)>
var.numper=<eval <local.b>>
src.forfo
return 1
endif
endfor

[FUNCTION siralama]
src.dialog errg
src.sysmessage @0810 RFW UO SIRALAMA MENUSU. Basariyla Acilmistir.!


[EOF]

Kurulum:
1. Olarak :.add i_ranktasnix i istedigimiz yere koyuyoruz, koydugumuz tasa .info diyip uid ine bakıyoruz...
2. Olarak : .rankkur (uid) yazıyoruz.
3. Olarak : on=@login'in altına e_puan i ekliyoruz...
4. Olarak : .top10 yazip siralamamiza bakiyoruz...

Bu konu Rexos tarafından düzenlendi(2008-01-29 01:21, 16 yıl önce)
Rexos .top10 Da Sorun Var Haberin Olsun Ve Bence Serial Numaralarını xxx Olarak Koyda Millet Anlasın. Ama Güzel Olmuş.
on=@kill
if (<argo.fame> <= 3500))
src.sysmessage @38,1,1 Puan alamadin...
else
src.tag.pan <eval <src.tag.pan> +3>
src.sysmessage @63,1,1 3 Puan Aldininiz...
src.xxtop10
endif


neden çift parantez? + kestiğinin npc olmadıgını sorgulamamışsın? direk tag arttırmışsın.
Silindi
Members
1
abi bu i_ranktasnix ne işe yarıor bi function yapmıor mu ? guncelleme yapabilmesi icin function yapması gerekıo fakat yok eksik sanki script ?



Üye Ol veya Giriş Yap

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