tekrardan herkese merhaba diğer konu uzadığı için ordan devam etmek istemedim sorunum sıralama guild taşları üzerinde olan puanları sıralama ile tabloya nasıl aktarabilceğimi düşündüm ama şuan acemiyim bunu tek başıma beceremem sizden direk kod filan istemiyorum sadece burda bana ufak bi başlangıç veya fikir verebilcek varmı diye sormak istedim .
Slotherenin paylaştığı top10 sistemi vardı onu incele guild'e göre düzenle..
onu düşündüm hatta girip baktım ama orda playera verilen tag var burda ise taşa birbirini tutmuyo herşey birdaha inceleyim o zaman belki birşeyler çıkar.

biraz komik oldu ama boyle bişeyler çıktı herşeyi guild olayına göre ayarladım sadece bir satır hata verdi kod bu


[events e_puan]

[FUNCTION yyguildtop10]
var.guildpanim=<eval <src.tag.guildpoints>>
FOR X 1 10
obj = <uid.<uid.<var.guildranktas>.tag.guildsira<eval <local.x>>>>
if (<obj> = <src.uid>)
var.cnnt=<eval (<eval <local.x>> +1)>
var.numper=<eval <local.x>>
src.guildforyuk
return 1
endif
endfor
src.guildforyerles
src.sysmessage @0810 Siralamaya Koyuluyor...



[function guildforyerles]
for b 1 10
obj = <uid.<uid.<var.guildranktas>.tag.guildsira<eval <local.b>>>>
if (<eval <obj.tag.guildpoints>> < <eval <var.guildpanim>>)
var.cnntq=<eval (<eval <local.b>> +1)>
var.numper=<eval <local.b>>
src.guildforfo
return 1
endif
endfor


[FUNCTION guildforyuk]
for y <eval <var.cnnt>> 10
try uid.<var.guildranktas>.tag.guildsira<eval <local.y> - 1> = <uid.<var.guildranktas>tag.guildsira<eval <local.y>>>
endfor
src.guildforyerles



[dialog guilderrg]
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 1 10
obj = <uid.<uid.<var.guildranktas>.tag.guildsira<eval <local._for>>>>
   dtext 130 <hval <local._for>*20> 50 <obj.name>
   dtext 500 <hval <local._for>*20> 50 <eval <obj.tag.guildpoints>>
   dtext 65 325 1152 Top 10 Guild
   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 guildforfo]
for y 10 <eval <var.cnntq>>
try uid.<var.guildranktas>.tag.guildsira<eval <local.y>> = <eval <uid.<var.guildranktas>tag.guildsira<eval <local.y> - 1>>>
endfor
try uid.<var.guildranktas>.tag.guildsira<eval <var.numper>> = <src.uid>


[itemdef i_guildranktasnix]
id i_grave_stone
type=t_script
name=guild ranking

on=@create
attr 080


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

[Plevel 01]
guildtop10
yyguildtop10
guildsiralama

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


on=@create
attr=010
color=07a1



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

on=@dclick
src.dialog guilderrg
return 1


[FUNCTION guildtop10]
var.guildpanim=<eval <src.tag.guildpoints>>
FOR X 1 10
obj = <uid.<uid.<var.guildranktas>.tag.guildsira<eval <local.x>>>>
if (<obj> = <src.uid>)
var.cnnt=<eval (<eval <local.x>> +1)>
var.numper=<eval <local.x>>
src.guildforyuk
src.dialog guilderrg
return 1
endif
endfor
src.guildforyerles
src.sysmessage @0810 Siralamaya Koyuluyor...
[function guildforyerles]
for b 1 10
obj = <uid.<uid.<var.guildranktas>.tag.guildsira<eval <local.b>>>>
if (<eval <obj.tag.guildpoints>> < <eval <var.guildpanim>>)
var.cnntq=<eval (<eval <local.b>> +1)>
var.numper=<eval <local.b>>
src.guildforfo
return 1
endif
endfor

[FUNCTION guildsiralama]
src.dialog guilderrg


[EOF]

hata veren yer : obj = <uid.<uid.<var.guildranktas>.tag.guildsira<eval <local._for>>>>

Bu konu darchrow tarafından düzenlendi(2011-10-12 23:46, 12 yıl önce)
Master
59.2997
Sana örnek olması açısından şöyle bir fonksiyon hazırladım. Kullanman için tag.guildpuan olan kısımları kendine göre değiştirmen yeterlidir. Puanları şu anki halinde en yüksekten düşüğe doğru alt alta mesaj olarak gösteriyor. Kendi istediğin şekilde düzenlemek sana kalmış artık.


[function guildSiralama]
local.n = 0
forinstances i_guild_stone
  local.guild<dlocal.n> = <uid>
  local.n ++
endfor
for a 0 <eval <local.n>-1>
  for b 0 <eval <local.n>-1>
    local.1 = <uid.<local.guild<dlocal.a>>.dtag0.guildpuan>
    local.2 = <uid.<local.guild<dlocal.b>>.dtag0.guildpuan>
    if <dlocal.1> > <dlocal.2>
      local.t = <local.guild<dlocal.b>>
      local.guild<dlocal.b> == <local.guild<dlocal.a>>
      local.guild<dlocal.a> = <local.t>
    endif
  endfor
endfor
sysmessage Guildlerin Puan Siralamasi :
for 0 <eval <local.n>-1>
  ref1 = <local.guild<dlocal._for>>
  sysmessage <ref1.name> --> <ref1.dtag0.guildpuan>
endfor
teşekkürler slothere bunu dialoga dökmeyi denedim ama biryerde yanlış yapıyorum guild isimlerinde ve puan larda 0 yazıyor


[dialog d_guild]
100,100
nomove
resizepic 50 0 3500 500 250 //ARka Fon
//resizepic 50 260 5120 220 100 //ARka Fon
//resizepic 60 270 3000 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
dtext 200 220 450 <serv.name> Guild Top10 Tablosu
   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:
for n 1 10
  ref1 = <local.guild<dlocal._for>>
   dtext 130 <hval <local.n>*20> 50 <ref1.name>
   dtext 500 <hval <local.n>*20> 50 <ref1.dtag0.guildpoints>
endfor
local.n = 0
forinstances i_guild_stone
  local.guild<dlocal.n> = <uid>
  local.n ++
endfor
for a 0 <eval <local.n>-1>
  for b 0 <eval <local.n>-1>
    local.1 = <uid.<local.guild<dlocal.a>>.dtag0.guildpuan>
    local.2 = <uid.<local.guild<dlocal.b>>.dtag0.guildpuan>
    if <dlocal.1> > <dlocal.2>
      local.t = <local.guild<dlocal.b>>
      local.guild<dlocal.b> == <local.guild<dlocal.a>>
      local.guild<dlocal.a> = <local.t>
    endif
  endfor
endfor

kısımlarınıda eklemelisin.
onları zaten ekledim .guildsiralama yazınca sol altta message olarak guildler ve puanları yazıyor ama benim amacım o bilgileri dialog a aktarmak yukarda verdiğim dialog da bi hata var puan ları ve isimleri 0 olarak gösteriyor.
Master
59.2997
Al bakalım. Sadece şu şekilde eklemen yeterli fonksiyonla işin yok artık. Onu da ayriyetten eklemene gerek yok. En yüksek puanı olan 20 tane guildi gösterir. Rakamı düzenlersin. Tüm tag.guildpuan'ları değiştirdiğinden emin ol. Yoksa hepsi sıfır görünür.


[dialog d_guildSirala]
0,0
resizepic 50 50 3500 300 300
dtext 90 70 1000 En Yuksek Puani Olan Guildler
local.n = 0
forinstances i_guild_stone
  local.guild<dlocal.n> = <uid>
  local.n ++
endfor
for a 0 <eval <local.n>-1>
  for b 0 <eval <local.n>-1>
    local.1 = <uid.<local.guild<dlocal.a>>.dtag0.guildpuan>
    local.2 = <uid.<local.guild<dlocal.b>>.dtag0.guildpuan>
    if <dlocal.1> > <dlocal.2>
      local.t = <local.guild<dlocal.b>>
      local.guild<dlocal.b> = <local.guild<dlocal.a>>
      local.guild<dlocal.a> = <local.t>
    endif
  endfor
endfor
dtext 85 100 1000 Guild Adi
dtext 275 100 1000 Puani
for 0 20
  if <local.guild<dlocal._for>>
    ref1 = <local.guild<dlocal._for>>
    dtext 80 <eval (<local._for>*20)+120> 0 <eval <local._for>+1>. <ref1.name>
    dtext 275 <eval (<local._for>*20)+120> 0 <ref1.dtag0.guildpuan>
  endif
endfor
Silindi
Master
59.2997
çok teşekkürler ..

Üye Ol veya Giriş Yap

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