Sistem Tanımı ve Kullanımı;
Page sistemi SQL üzerinden işler. Kullanmak oldukça basittir. Oyun içerisinde yetkili bir hesap ile "pagetablekur" komutunu kullanmanız yeterli.
Bildiri gönderimi:
Yardım menüsü veya dilediğiniz bir yere "sendpage" fonksiyonunu eklemeniz yeterlidir. Ayrıca bildiri yaparken düşük, orta ve kritik olarak üç önem derecesinden birisinde gönderebilirsiniz. Şu an tekrar bildiri atmak istediğinizde önceden iletmiş olduğunuz bir bildiri mevcut diye bir mesajla karşılaşabilirsiniz. Eğer o şekilde değil de tekrar gönderdiğinde güncellemesini istiyorsanız ilgili kısmı,
for 0 <db.row.numrows>
if strmatch('<db.row.<dlocal._for>.uid>','<src.uid>')
db.execute "update page set gonderilen = '<addslashes <argtxt[0]>>' where uid = '<src.uid>'"
sysmessage @,,1 Mesajiniz guncellendi.
return 1
endif
endfor
ile değiştirmeniz yeterlidir.
Bildiri Kontrol Paneli:
Yetkililerin kullanabileceği bu panele "pg" komutu ile ulaşabilirsiniz. Panel tamamen dinamiktir, istediğiniz önem derecesinde, tarih veya isimde bildirileri sıralayabilirsiniz. Sonsuz sayfa vb eklentiler de mevcut.
Bildiri Kontrolü:
Panelden işlem yapmak istediğiniz bildiriyi seçmek için sol kısımda bildiriye ait olan button'a tıklamanız yeterlidir. Karşınıza gelicek pencere üzerinden kişiyi yanınıza çağırabilir, yanına gidebilir, mesaj gönderebilir veya hapis cezası verebilirsiniz. Ancak şu an sistemde aktif bir hapis sistemi bulunmuyor. Kendi hapis sisteminize göre entegre edebilirsiniz. Eğer seçtiğiniz bildiri ile başka bir yetkili kişi ilgileniyor ise tüm buttonlar de-aktif hale gelir. Sadece ilgilenen kişi kullanabilir.
Mesaj Gönderimi:
Eğer oyuncuya cevabınızı mesaj olarak göndermek istiyorsanız "mesaj gönder" buttonuna basmanız yeterlidir. Eğer mesaj gönderdiğiniz kişi online ise o anda, değil ise online olduğu anda mesaj kişiye ulaşıcaktır.
Script;
[comment SQLPage]
yazan: Slothere
mail: [email protected]
tarih: 16.11.2008
version: +056b
[defname page]
pn Kritik, Orta, Dusuk
pg Tarih, Isim, Hepsi
plvl Player, Counselor, Seer, Gamemaster, Developer, Admin, Owner
[function pagetablekur]
db.connect
if (<db.connected>)
db.execute "create table page(uid text, isim text, tarih text, gonderilen text, seviye text, ilgilenen text)"
sysmessage @,,1 page table'i kuruldu.
else
sysmessage @,,1 sql hatasi ayarlari kontrol edin..
return 1
endif
db.close
[events e_page_send]
on=@Login
dialog d_page_reply
events -e_page_send
[FUNCTION f_array]
local.temp = <argv[<eval <argv> - 1>]> -1
return <argv[<dlocal.temp>]>
[FUNCTION f_array_lenght]
return <dargv>
[function alphablack]
gumppictiled <argv[0]> <argv[1]> 2624 <argv[2]> <argv[3]>
checkertrans <argv[0]> <argv[1]> <argv[2]> <argv[3]>
[plevel 1]
sendpage
[function sendpage]
sdialog d_send_page
[function f_color]
if strmatch('Kritik', '<args>')
return 025
endif
if strmatch('Orta', '<args>')
return 035
endif
if strmatch('Dusuk', '<args>')
return 040
endif
[dialog d_send_page]
0,0
resizepic 50 50 5054 400 250
alphablack 60 60 380 230
resizepic 90 110 3000 320 80
gumppic 70 180 05C
gumppic 395 180 05E
for 1 12
gumppic <eval (<dlocal._for>*19)+70> 75 05D
gumppic <eval (<dlocal._for>*16)+90> 180 05D
endif
dtextentrylimited 125 115 250 80 450 0 <var.empty> 165
dorigin 0 225
for s 1 3
radio *91 +0 210 211 0 <dlocal.s>
dtext +23 +0 2006 <f_array <def.pn>,<dlocal.s>>
endfor
button 350 225 04b9 04ba 1 0 1
dtext 370 225 2006 Gönder
[dialog d_send_page button]
on=1
if (strlen(<argtxt[0]>) < 3) || (strlen(<argtxt[0]>) > 165) || (strmatch('<argtxt[0]>',' '))
sysmessage @,,1 Gondericeginiz ileti en az 3, en fazla 165 karakterden olusmalidir.
sdialog d_send_page
return 1
endif
if (<argchk[1]> == 0) && (<argchk[2]> == 0) && (<argchk[3]> == 0)
sysmessage @,,1 Gondericeginiz iletinin önemini belirten dereceyi secmelisiniz.
sdialog d_send_page
return 1
endif
if (<argchk[1]> == 1)
local.durum = Kritik
elif (<argchk[2]> == 1)
local.durum = Orta
else
local.durum = Dusuk
endif
db.connect
db.query "select * from page"
for 0 <db.row.numrows>
if strmatch('<db.row.<dlocal._for>.uid>','<src.uid>')
sysmessage @,,1 Onceden iletmis oldugunuz bir bildiriniz mevcut.
return 1
endif
endfor
if <db.connected>
db.execute "insert into page values('<addslashes <src.uid>>', '<addslashes <src.name>>', '<addslashes <serv.rtime>>', '<addslashes <argtxt[0]>>', '<addslashes <local.durum>>', ' ')"
db.query "select * from page"
sysmessage @,,1 Iletiniz degerlendirmeye alindi. <eval <db.row.numrows>>. siradasiniz
else
sysmessage @,,1 Bir hata olustu..
endif
db.close
[function pg]
if <isgm>
ctag.limit = 0
ctag.siralama = tarih
ctag.seviye =
sdialog d_view_page
return 1
endif
[dialog d_view_page]
0,0
db.connect
db.query "select * from page <ctag.seviye> order by <ctag0.siralama> limit <dctag0.limit>, 4"
while <db.row.<dlocal._while>.uid>
local.height +=100
endwhile
resizepic 50 50 5054 300 <eval <dlocal.height> +80>
alphablack 60 60 280 <eval <dlocal.height> +60>
resizepic 50 <eval <dlocal.height> + 130> 5054 300 90
alphablack 60 <eval <dlocal.height> +140> 280 70
dorigin -20 <eval <dlocal.height> + 140>
for s 1 3
button *95 +5 04b9 04ba 1 0 <eval <dlocal.s> + 10000>
button *0 +30 04b9 04ba 1 0 <eval <dlocal.s> +10500>
dtext +16 +1 1153 <f_array <def.pn>,<dlocal.s>>
dtext +17 +29 1153 <f_array <def.pg>, <dlocal.s>>
endfor
button -190 +55 04b9 04ba 1 0 99999
dtext -175 +52 1153 Tumunu Sil
button 300 70 015e1 015e5 1 0 6001
button 270 70 015e3 015e7 1 0 6002
dorigin 80 -5
if <db.connected>
while <db.row.<dlocal._while>.uid>
button +0 *100 4006 4007 1 0 <eval <ctag0.limit>+<dlocal._while>+1>
dtext +35 *0 <f_color <db.row.<dlocal._while>.seviye>> <db.row.<dlocal._while>.isim> / <db.row.<dlocal._while>.tarih>
dhtmlgump +0 +26 230 60 1 1 <db.row.<dlocal._while>.gonderilen>
endwhile
endif
[dialog d_view_page button]
on = 6001
ctag.limit = +=4
sdialog d_view_page
return 1
on = 6002
if <dctag.limit> > 0
ctag.limit -=4
endif
sdialog d_view_page
return 1
on = 10001 10003
ctag.seviye = where seviye = '<f_array <def.pn>,<eval <dargn> -10000>>'
sdialog d_view_page
return 1
on = 10501 15004
if <eval <dargn> - 10500> == 3
ctag.seviye =
sdialog d_view_page
return 1
endif
ctag.siralama = <f_array <def.pg>,<eval <dargn> - 10500>>
sdialog d_view_page
return 1
on = 99999
db.connect
db.query "select * from page"
while <db.row.<dlocal._while>.uid>
if !strmatch('<db.row.<dlocal._while>.ilgilenen>',' ')
sysmessage @,,1 Ilgilenilen iletiler mevcut..
return 1
else
db.execute "delete from page"
sysmessage @,,1 Tum iletiler silindi.
serv.log @<name>: tum iletiler silindi.
return 1
endif
endwhile
sysmessage @,,1 Mevcut bildiri yok.
db.close
on = 1 9999
db.connect
db.query "select * from page"
sdialog d_view_page_detail,0,<db.row.<eval <argn> -1>.uid>
return 1
[dialog d_view_page_detail]
0,0
page 0
resizepic 50 50 5054 300 300
alphablack 60 60 280 280
db.connect
db.query "select * from page where uid = '<argv[0]>'"
dcroppedtext 80 80 224 20 1153 Gonderen: <db.row.0.isim>
dtext 80 100 1153 Tarih: <db.row.0.tarih>
dtext 80 120 1153 Seviye: <db.row.0.seviye>
dtext 80 140 1153 Durum: <db.row.0.durum>
dhtmlgump 80 160 230 80 1 1 <db.row.0.gonderilen>
for 1 5
if <dlocal._for> < 4
button 80 <eval (<dlocal._for>*20)+240> <qval !strmatch('<db.row.0.ilgilenen>',' ') && !strmatch('<db.row.0.ilgilenen>','<src.uid>') ? 0FB1 0FB1 0 :4006 4007 1> 0 <dlocal._for>
else
button 220 <eval (<dlocal._for>*20)+180> <qval !strmatch('<db.row.0.ilgilenen>',' ') && !strmatch('<db.row.0.ilgilenen>','<src.uid>') ? 0FB1 0FB1 0 :4006 4007 1> 0 <dlocal._for>
endif
endfor
dtext 115 260 1153 Getir
dtext 115 280 1153 Yanina Git
dtext 115 300 1153 Mesaj Gonder
dtext 255 260 1153 Hapse Gonder
dtext 255 280 1153 Sil
if !strmatch('<db.row.0.ilgilenen>',' ') && !strmatch('<db.row.0.ilgilenen>','<src.uid>')
dhtmlgump 100 320 230 20 0 0 <def.bfont_white> Bu bildiri ile <uid.<db.row.0.ilgilenen>.name> ilgileniyor
endif
[dialog d_view_page_detail button]
on = 1 2
ref1 = <db.row.0.uid>
if !<ref1.isonline>
sysmessage @,,1 <ref1.name> su anda oyunda degil.
return 1
else
<qval <dargn> == 2 ? go <ref1.p> : ref1.summonto>
db.execute "update page set ilgilenen = '<src.uid>' where uid = '<db.row.0.uid>'"
endif
on = 3
ref1 = <db.row.0.uid>
ref1.sdialog d_page_send
return 1
on = 4
// jail
on = 5
db.execute "delete from page where uid = '<db.row.0.uid>'"
sysmessage @,,1 Bildiri silindi.
return 1
[dialog d_page_send]
0,0
nomove
ref1 = <db.row.0.uid>
db.query "select * from page where uid = '<db.row.0.uid>'"
page 0
resizepic 50 50 5054 420 320
alphablack 60 60 400 300
resizepic 80 220 3000 360 90
dtextentrylimited 90 230 330 70 1153 0 <var.blank> 240
dtext 80 70 1153 Gonderen: <ref1.name>
dtext 80 90 1153 Tarih: <db.row.0.tarih>
dtext 80 110 1153 Gelen Bildiri;
dtext 80 200 1153 Gonderilecek Cevap;
dhtmlgump 80 130 350 65 1 1 <db.row.0.gonderilen>
button 80 320 4006 4007 1 0 1
dtext 120 320 1153 Gonder
[dialog d_page_send button]
on = 1
ref1 = <db.row.0.uid>
if <ref1.isonline>
tag.msg = <argtxt[0]>
tag.sender = <f_array <def.plvl>, <src.daccount.plevel>> <src.name>
tag.date = <serv.rtime>
dialog d_page_reply
src.sysmessage @,,1 Mesajiniz gonderildi.
db.execute "delete from page where uid = '<db.row.0.uid>'"
else
tag.msg = <argtxt[0]>
tag.sender = <f_array <def.plvl>, <src.daccount.plevel>> <src.name>
tag.date = <serv.rtime>
events +e_page_send
src.sysmessage @,,1 Mesajiniz gonderildi. Kisi oyuna girdigi zaman goruntulenecek.
db.execute "delete from page where uid = '<db.row.0.uid>'"
endif
[dialog d_page_reply]
0,0
Page 1
resizepic 50 50 5054 100 100
alphablack 60 60 80 80
button 70 65 01581 01582 0 2 1
dtext 65 120 1153 Mesaj Var!
Page 2
resizepic 50 50 5054 350 200
alphablack 60 60 330 180
dtext 75 75 1153 Gonderen: <tag0.sender>
dtext 75 95 1153 Tarih: <tag0.date>
dhtmlgump 75 120 290 80 1 1 <tag0.msg>
[dialog d_page_reply button]
on = 0
tag.msg =
tag.sender =
tag.date =
[eof]
Alternatif olarak,
https://phpfi.com/378698