aktif bir sunucuda tam olarak test etme fırsatım bulmadı ama pek sorun olacağını sanmıyorum. Mysql ile yazılırsa çok daha güzel şeyler yapılır.
[comment bug-tracker]
Tarih : 3 aralık 2009
Scripter: Alcholic
Yetkililerin oyunculardan öğrendiği sorunları yetkili kişilere ulaşması için yapılmış bir sistemdir.
Kurulum
i_board_bug taşını oyuncuların ulaşamayacağı bir yere koyunuz.
e_bugtracker eventini verdiiniz zaman buglar oyuna girişte otomatik olarak listelenir.
[defname urgency]
urgency_4 Fixed
urgency_3 Çok acil
urgency_2 Önemli
urgency_1 Normal
bfont_orange <basefont color="#B45F04">
[itemdef i_board_bug]
id = i_bulletin_board
name Bugtracker
type t_script
ON=@create
attr attr_static|attr_invis
tag.bugs = 0
ON=@click
message [<dtag0.bugs> bugs]
message Bugtracker
return 1
ON=@dclick
src.ctag.bug =
dialog d_bugtracker
return 1
ON=[url=u-destroy-527.html]@destroy[/url]
return 1
[dialog d_bugtracker]
0,0
nomove
page 0
resizepic 30 50 5120 510 480
resizepic 40 60 3000 490 460
dtext 170 60 200 <serv.name> Bugtracker Sistemi
resizepic 60 480 3000 450 30
dhtmlgump 90 485 85 25 0 0 <def.bfont_blue> Hata incele.
button 80 485 55 56 1 0 101
dhtmlgump 190 485 90 25 0 0 <def.bfont_red> Hata bildir.
button 180 485 55 56 0 2 0
dhtmlgump 290 485 90 25 0 0 <def.bfont_blue> Hatayı kapat.
button 280 485 55 56 1 0 103
dhtmlgump 390 485 100 25 0 0 <def.bfont_red> Hataları listele.
button 380 485 55 56 0 1 0
page 1
dhtmlgump 100 90 400 20 0 0 <def.bfont_black>Hata - Hata Tarihi - Bildiren - Ilgilenen
if <tag.bugs> == 0
dhtmlgump 100 120 400 20 0 0 <def.bfont_red>Düzeltilmesi gereken bir hata bulunamadı.
else
local.x = 120
for <tag.bugs>
dhtmlgump 120 <local.x> 400 20 0 0 <def.small><qval (<tag0.bug_urgency_<dlocal._for>>==4)?<def.bfont_blue>:<qval (<tag0.bug_ison_<dlocal._for>>)?<def.bfont_orange>:<def.bfont_red>>> <strsub 0 30 <tag.bug_<dlocal._for>>>... - <tag0.bug_tarih_<dlocal._for>> - <uid.<tag0.bug_bildiren_<dlocal._for>>.name> <def.bfont_Green>(<def.urgency_<dtag0.bug_urgency_<dlocal._for>>>) <def.bfont_black>- <qval (<tag0.bug_ison_<dlocal._for>>)?<uid.<tag0.bug_ison_<dlocal._for>>.name>:beklemede>
radio 100 <local.x> 56 55 0 <dlocal._for>
local.x +=25
endfor
endif
page 2
dhtmlgump 100 90 400 20 0 0 <def.bfont_black>Bulduğunuz hatayı açıklayıcı bir şekilde tanımlayınız.
resizepic 100 120 3000 300 200
dtextentry 110 130 280 380 1153 1 ???
radio 420 120 55 56 0 101
dhtmlgump 430 120 100 25 0 0 <def.bfont_red> Acil.
radio 420 145 55 56 0 102
dhtmlgump 430 145 100 25 0 0 <def.bfont_red> Önemli.
radio 420 170 55 56 0 103
dhtmlgump 430 170 100 25 0 0 <def.bfont_red> Normal.
dhtmlgump 420 190 100 25 0 0 <def.bfont_blue>__________
button 100 340 2714 2715 1 0 201
dtext 120 340 07d3 Hatayı ekle.
page 3
if <src.ctag0.bug>
dhtmlgump 100 90 400 45 0 0 <def.bfont_black>Aşağıdaki hata <def.bfont_red><uid.<tag.bug_bildiren_<src.dctag0.bug>>.name> <def.bfont_black>tarafindan bildirilmiş.<def.br>Ilgilenen yetkili <def.bfont_red><qval (<tag.bug_ison_<src.dctag0.bug>>)?<uid.<tag.bug_ison_<dsrc.ctag0.bug>>.name>:yok.>
dhtmlgump 110 140 350 200 1 1 <tag.bug_<src.dctag.bug>>
button 110 340 2714 2715 1 0 301
dtext 130 340 07d3 ''Hallediliyor'' olarak işaretle.
button 110 360 2714 2715 1 0 302
dtext 130 360 07d3 ''Düzeltildi'' olarak işaretle.
endif
[dialog d_bugtracker button]
ON=101
for <dtag.bugs>
if <argchk[<dlocal._for>]> == 1
src.ctag.bug = <dlocal._For>
endif
endfor
if <src.ctag.bug> == 0
src.sysh_trk Herhangi bir bug seçmediniz.
return 1
endif
dialog d_bugtracker,3
ON=201
if <tag.bugs> == 14
src.sysh_trk Bugtracker dolu.
return 1
endif
if (<isallowedchar <argtxt[1]>>)
src.sysh_trk Hatalı karakter girdiniz.
else
tag0.bugs ++
tag.bug_<dtag.bugs> = 1
tag.bug_<dtag.bugs> = <argtxt[1]>
tag.bug_bildiren_<dtag.bugs> = <src.uid>
tag.bug_tarih_<dtag.bugs> = <strarg <serv.rtime>>
sayu yeni bir hata eklendi.
for 3
if <argchk[(<dlocal._for>+100)]> == 1
tag.bug_urgency_<dtag.bugs> = <dlocal._for>
else
tag.bug_urgency_<dtag.bugs> = 1
endif
endfor
src.sysmessage @1153,,1 Hata, sisteme eklendi.
endif
ON=103
for <dtag.bugs>
if <argchk[<dlocal._for>]> == 1
local.bug = <dlocal._For>
endif
endfor
if <local.bug> == 0
src.sysh_Trk Herhangi bir bug seçmemişsiniz.
return 1
endif
for <dlocal.bug> <dtag.bugs>
if !(<dlocal._for> == <tag.bugs>)
tag.bug_bildiren_<dlocal._for> <tag.bug_bildiren_<eval <dlocal._for>+1>>
tag.bug_tarih_<dlocal._for> <tag.bug_tarih_<eval <dlocal._for>+1>>
tag.bug_urgency_<dlocal._for> <tag.bug_urgency_<eval <dlocal._for>+1>>
tag.bug_ison_<dlocal._for> <tag.bug_ison_<eval <dlocal._for>+1>>
tag.bug_<dlocal._for> <tag.bug_<eval <dlocal._for>+1>>
endif
endfor
tag.bugs -=1
ON=301
tag.bug_ison_<src.dctag0.bug> = <src.uid>
src.sys_trk Hatayı ilgileniyorum olarak işaretlediniz.
ON=302
tag.bug_urgency_<src.dctag0.bug> = 4
src.sys_trk Hatayı fixlendi olarak işaretlediniz.
[function date]
return <serv.rtime.format %Y>-<serv.rtime.format %m>-<serv.rtime.format %d>
[function isallowedchar]
if (STRMATCH("*[*}`>?´;:^%¨!$"<#@_~|=+&/æ{]*","<ARGS>"))
return 1
endif
return 0
[event e_bugtracker]
ON=@login // test edilmedi.
forinstances i_board_bug
use = 0
endfor
[eof]
Birkaç resim
ps : monitörün renk ayarları karıştı ondan renkler bir değişik çıktı.