Devam eden page sistemi sorunları üzerine, güncellenmiş, hataları giderilmiş ve sizlerin kullanmış olduğu page sistemine uyarlanmış bir kod bütünür.
.add i_page_stone ekleyin ve 2 defa tıklayarak aktif hale getirin.
Özellikleri
Pg g //page atana gider
Pg s //page atanı çeker
Pg o //page atılan yere gider
Pg d //page i siler
Pg q //page i yerine koyar (xxx bu page ile ilgileniyor denilen şey)
Pg m //page e mesaj atar
Pg w //tüm pageleri siler
Sistem tek dialog üzerine yazılmıştır. Page sayısına göre dialog boyut alır ve her sayfada 5 er page gösterilir. Sizlerdeki mevcut page sistemine nazaran, 5 ten sonraki page lerde yine aynı dialog ta gösterilmektedir ve sorunsuz çalışmaktadır. Page sınırlaması yoktur. Page dialogunda player a page atmayı süresiz yasaklama gibi özellik eklenmiştir. Normal page atma süresi 10 dk dır.
Sunucuda page stone silindiğinde herhangi bir yere kod yazmanız gerekmeketedir. Yenisi çıkartıp çift tıklayarak aktif edebilirsiniz.
Player tarafından page gönderme dialogunu sdialog d_page_sender olarak açabilirsiniz.
Hatırlatma: Kod lar for döngüsünden yararlanılarak yazılmıştır. Açıklayıcıdır. Mevcut page sisteminiz 1700+ satırken bu sistem 350+ satırdan ibarettir.
İyi Çalışmalar
[dialog d_page_sender]
0,600
page 0
resizepic 10 7 5120 780 110
resizepic 15 12 3000 770 100
resizepic 35 50 3000 730 25
dhtmlgump 35 25 920 20 0 0 yeni page
dhtmlgump 70 85 100 20 0 0 gonder
button 50 85 01519 0151a 1 0 1
dtextentry 40 55 700 80 0 2
[dialog d_page_sender text]
[dialog d_page_sender button]
ONbutton=0
src.sysmessage Previous targeting cancelled.
ONbutton=1
if (<src.isevent.e_page_ignore>)
src.sysmessage @55 Page atmaniz yasaklanmistir
elseif (<src.findid.i_jailcik>) || (<flags>&statf_stone)
src.sysmessage @55 Suan page atamazsiniz
elseif (<src.findid.i_page_yasak>)
src.sysmessage @55 Page atabilmek icin <eval <src.findid.i_page_yasak.timer> / 60> dakika beklemelisiniz.
else
pg_send <ARGTXT[2]>
src.newitem i_page_yasak
src.act.equip
endif
[itemdef i_page_stone]
Name page stone
Id i_basket_square
Type t_container
Weight 2000
Tdata2 03f
On=@Dclick
var.page_stone <uid>
On=@Create
attr attr_move_never
dispid i_grave_stone
On=@Click
Message a <name> [<rescount>]
return 1
[itemdef i_page]
Name Page
Id i_deed
Type t_script
On=@Create
Attr attr_invis|attr_move_never
[function pg]
if (<uid.<var.page_stone>.rescount> > 0)
if !(<uid.<src.tag0.page_look>.topobj> = <uid.<var.page_stone>.uid>)
src.tag.page_select 0
if (<uid.<var.page_stone>.rescount> > 0) && (<uid.<var.page_stone>.rescount> < 5)
src.try uid.<var.page_stone>.more1 <eval ((<uid.<var.page_stone>.rescount> * 70) +70)>
elseif (<uid.<var.page_stone>.rescount> > 4)
src.try uid.<var.page_stone>.more1 420
endif
if (strmatch('<args>','w')) || (strmatch('<args>','wipe'))
src.try uid.<var.page_stone>.empty
src.sysmessage @55 Tum pageler silindi
else
try uid.<var.page_stone>.sdialog d_page_finder
endif
else
if (strmatch('<args>','g')) || (strmatch('<args>','go'))
src.go <uid.<src.tag.page_look>.link.p>
elseif (strmatch('<args>','s')) || (strmatch('<args>','summon'))
src.try uid.<src.tag.page_look>.link.go <src.p>
elseif (strmatch('<args>','m')) || (strmatch('<args>','msg')) || (strmatch('<args>','message'))
src.sdialog d_page_messager
elseif (strmatch('<args>','o')) || (strmatch('<args>','ori')) || (strmatch('<args>','origin'))
src.go <uid.<src.tag.page_look>.morep>
elseif (strmatch('<args>','d')) || (strmatch('<args>','del')) || (strmatch('<args>','delete'))
src.try uid.<src.tag.page_look>.remove
elseif (strmatch('<args>','q')) || (strmatch('<args>','que')) || (strmatch('<args>','queue'))
src.try uid.<src.tag.page_look>.more2 00
src.tag.page_look
else
src.sysmessageua 048,0,0,trk Aktif Page [.pg (g - s - d - o - m - q)]
src.sysmessageua 048,0,0,trk [<uid.<src.tag.page_look>.link.account>] <uid.<src.tag.page_look>.link.name>: <uid.<src.tag.page_look>.tag.message>
endif
endif
else
src.sysmessage @55 Page bulunamadi.
endif
[function pg_send]
if !(strmatch('<args>',''))
if (<uid.<src.tag0.page>.topobj> = <uid.<var.page_stone>.uid>)
src.sysmessage @55 Mesajiniz guncellendi.
serv.allclients page_info Page Guncelleme <account> - [<name>]: <args>
src.try uid.<src.tag0.page>.tag.message = <args>
else
src.newitem i_page
src.tag.page <new.uid>
src.new.tag.message <args>
src.new.morep <src.p>
src.new.link <src.uid>
src.new.cont <var.page_stone>
serv.allclients page_info Yeni Page [<account>,<name>]: <args>
src.sysmessage @55 Mesajiniz gonderildi. <eval <uid.<var.page_stone>.rescount>>. siradasiniz.
endif
else
src.sysmessage @55 Bos mesaj gonderemezsiniz.
endif
[dialog d_page_finder]
0,250
page 0
resizepic 0 0 5120 400 <eval <uid.<var.page_stone>.more1> +25>
resizepic 5 5 3000 390 <eval <uid.<var.page_stone>.more1> +15>
button 20 <eval <uid.<var.page_stone>.more1> -15> 4030 4031 1 0 1 // mesaj
button 60 <eval <uid.<var.page_stone>.more1> -15> 4006 4007 1 0 2 // git
button 100 <eval <uid.<var.page_stone>.more1> -15> 4015 4016 1 0 3 // getir
button 140 <eval <uid.<var.page_stone>.more1> -15> 4021 4022 1 0 4 // origin
button 180 <eval <uid.<var.page_stone>.more1> -15> 4018 4019 1 0 5 // sil
if (<src.account.plevel> > 5)
button 300 <eval <uid.<var.page_stone>.more1> -15> 4003 4004 1 0 6 // yasak
button 340 <eval <uid.<var.page_stone>.more1> -15> 4027 4028 1 0 7 // temizle
endif
dhtmlgump 130 10 200 20 0 0 Page Sistemi (<eval <rescount>> page)
if (<eval <rescount> -5> > <src.tag.page_select>)
button 340 15 4006 4007 1 0 8 // next
endif
if (<src.tag.page_select> > 4)
button 40 15 4015 4016 1 0 9 // last
endif
local.pos= 70
local.number= <eval <src.tag.page_select> +1>
for 1 5
if (<findcont.<eval ((<src.tag.page_select> + <local._for>) -1)>>)
radio 20 <eval <local.pos> -10> 01519 0151a 0 <local._for>
dhtmlgump 20 <eval <local.pos> -30> 50 20 0 0 <eval <local.number>>
dhtmlgump 40 <eval <local.pos> -10> 340 60 0 0 <findcont.<eval ((<src.tag.page_select> + <local._for>) -1)>.tag.message>
dhtmlgump 40 <eval <local.pos> -30> 400 20 0 0 - Gonderen: <findcont.<eval ((<src.tag.page_select> + <local._for>) -1)>.link.name> - <findcont.<eval ((<src.tag.page_select> + <local._for>) -1)>.link.uid>
local.pos +=70
local.number +=1
endif
src.tag.page_find<eval <local._for>> <findcont.<eval ((<local._for> -1) + <src.tag.page_select>)>.uid>
endfor
[dialog d_page_finder button]
on=1
for 1 5
if (<argchk[<eval <local._for>>]>)
if !(<uid.<src.tag.page_find<eval <local._for>>>.link.region>) || (<uid.<src.tag.page_find<eval <local._for>>>.link.findtype.t_eq_client_linger>)
src.sysmessage @55 <uid.<src.tag.page_find<eval <local._for>>>.link.name> su an offline
else
src.tag.page_look <src.tag.page_find<eval <local._for>>>
src.tag.page_looker <uid.<src.tag.page_find<eval <local._for>>>.more2>
if (<uid.<src.tag.page_find<eval <local._for>>>.more2>)
src.sysmessage @55 Bu page ile <uid.<src.tag.page_looker>.name> ilgileniyor.
src.tag.page_look
src.tag.page_looker
src.pg
else
src.sdialog d_page_messager
try uid.<src.tag.page_find<eval <local._for>>>.more2 <src.uid>
endif
endif
endif
endfor
on=2
for 1 5
if (<argchk[<eval <local._for>>]>)
if !(<uid.<src.tag.page_find<eval <local._for>>>.link.region>) || (<uid.<src.tag.page_find<eval <local._for>>>.link.findtype.t_eq_client_linger>)
src.sysmessage @55 <uid.<src.tag.page_find<eval <local._for>>>.link.name> su an offline
else
src.tag.page_look <src.tag.page_find<eval <local._for>>>
src.tag.page_looker <uid.<src.tag.page_find<eval <local._for>>>.more2>
if (<uid.<src.tag.page_find<eval <local._for>>>.more2>)
src.sysmessage @55 Bu page ile <uid.<src.tag.page_looker>.name> ilgileniyor.
src.tag.page_look
src.tag.page_looker
src.pg
else
src.go <uid.<src.tag.page_find<eval <local._for>>>.link.p>
try uid.<src.tag.page_find<eval <local._for>>>.more2 <src.uid>
endif
endif
endif
endfor
on=3
for 1 5
if (<argchk[<eval <local._for>>]>)
if !(<uid.<src.tag.page_find<eval <local._for>>>.link.region>) || (<uid.<src.tag.page_find<eval <local._for>>>.link.findtype.t_eq_client_linger>)
src.sysmessage @55 <uid.<src.tag.page_find<eval <local._for>>>.link.name> su an offline
else
src.tag.page_look <src.tag.page_find<eval <local._for>>>
src.tag.page_looker <uid.<src.tag.page_find<eval <local._for>>>.more2>
if (<uid.<src.tag.page_find<eval <local._for>>>.more2>)
src.sysmessage @55 Bu page ile <uid.<src.tag.page_looker>.name> ilgileniyor.
src.tag.page_look
src.tag.page_looker
src.pg
else
try uid.<src.tag.page_find<eval <local._for>>>.link.go <src.p>
try uid.<src.tag.page_find<eval <local._for>>>.more2 <src.uid>
endif
endif
endif
endfor
on=4
for 1 5
if (<argchk[<eval <local._for>>]>)
src.tag.page_look <src.tag.page_find<eval <local._for>>>
src.tag.page_looker <uid.<src.tag.page_find<eval <local._for>>>.more2>
if (<uid.<src.tag.page_find<eval <local._for>>>.more2>)
src.sysmessage @55 Bu page ile <uid.<src.tag.page_looker>.name> ilgileniyor.
src.tag.page_look
src.tag.page_looker
src.pg
else
src.go <uid.<src.tag.page_find<eval <local._for>>>.morep>
try uid.<src.tag.page_find<eval <local._for>>>.more2 <src.uid>
endif
endif
endfor
on=5
for 1 5
if (<argchk[<eval <local._for>>]>)
src.tag.page_looker <uid.<src.tag.page_find<eval <local._for>>>.more2>
if (<uid.<src.tag.page_find<eval <local._for>>>.more2>)
src.sysmessage @55 Bu page ile <uid.<src.tag.page_looker>.name> ilgileniyor.
src.tag.page_look
src.tag.page_looker
src.pg
else
src.try uid.<src.tag.page_find<eval <local._for>>>.remove
endif
endif
endfor
on=6
for 1 5
if (<argchk[<eval <local._for>>]>)
try uid.<src.tag.page_find<eval <local._for>>>.link.events +e_page_ignore
src.try uid.<src.tag.page_find<eval <local._for>>>.remove
endif
endfor
on=7
src.try uid.<var.page_stone>.empty
on=8
src.tag.page_select += 5
try uid.<var.page_stone>.sdialog d_page_finder
on=9
src.tag.page_select -= 5
try uid.<var.page_stone>.sdialog d_page_finder
[dialog d_page_messager]
0,250
page 0
resizepic 0 0 5120 370 300
resizepic 5 5 3000 360 290
dhtmlgump 25 20 300 20 0 0 <uid.<src.tag.page_look>.link.account> - <uid.<src.tag.page_look>.link.name>
dhtmlgump 25 40 330 60 0 0 <uid.<src.tag.page_look>.tag.message>
dhtmlgump 25 100 330 20 0 0 Gonderilecek mesaj:
resizepic 14 125 3000 345 160
dtextentry 23 130 330 35 1152 1
dtextentry 23 150 330 35 1152 2
dtextentry 23 170 330 35 1152 3
dtextentry 23 190 330 35 1152 4
dtextentry 23 210 330 35 1152 5
dtextentry 23 230 330 35 1152 6
button 280 255 4015 4016 1 0 0
button 320 255 4030 4031 1 0 1
[dialog d_page_messager button]
On=0
pg q
pg
On=1
if !(<uid.<src.tag.page_look>.link.region>) || (<uid.<src.tag.page_look>.link.findtype.t_eq_client_linger>)
src.sysmessage @55 <uid.<src.tag.page_look>.link.name> su an offline
pg q
pg
else
src.newitem i_page_owner
src.new.tag.page <argtxt[1]> <argtxt[2]> <argtxt[3]> <argtxt[4]> <argtxt[5]> <argtxt[6]>
src.new.cont <uid.<src.tag.page_look>.link.uid>
pg d
endif
[itemdef i_page_owner]
defname=i_page_owner
id=i_memory
name=page owner
on=@unequip
try src.dialog d_page_message_user
return 1
[dialog d_page_message_user]
0,0
nomove
noclose
page 1
button 15 15 30 30 0 2 1
page 2
resizepic 50 50 5120 330 200
resizepic 55 55 3000 320 190
button 350 65 3 4 1 0 0
dhtmlgump 65 60 250 20 0 0 <serv.name> Staff'tan Mesaj Var
resizepic 60 100 3000 310 130
dhtmlgump 65 120 310 100 0 0 <src.findid.i_page_owner.tag.page>
[dialog d_page_message_user text]
[events e_page_ignore]
[function page_info]
if (<account.plevel> > 1)
sysmessageua 048,0,0,trk <args>
endif
[itemdef i_page_yasak]
defname i_page_yasak
id i_memory
type t_eq_Script
on=@create
timer 60*10
on=@timer
cont.sysmessage @55 Page yasaginiz kalkmistir.
remove
return 1
[EOF]
Bu konu Mac-Fusion tarafından düzenlendi(2008-07-02 13:13, 16 yıl önce)