Merhaba sayın uo-developer sakinleri ,
Bir çok sunucu yıllardır " uzak masa üstü " [Remote] Bağlanıp günlük log'ları kontrol ediyor , buda sanırım sizleri uğraştırıyor ve sıkıyor bu nedeni göze alarak Remoteye bağlanmadan oyun içerisinde iken .seer yazarak owner rütbesi olan kişi veya kişiler Log sistemini detaylı bir şekilde görebilir , kopyalayabilir ve günlük silebilir aynı zamanda suç işleyen staff yada edit basmaya çalışan kişiler kesinlikle iftira vs yalan söylüyorsunuz böyle birşey yapmadım! diyemeyecek , çünkü logger sistemi kim ne çıkarmış ise " Deed " şeklinde çantanıza düşürebilir kanıt sunabilirsiniz.
Bir teşekkürü hor görenlere yazık diyorum.
Güle güle kullanın
Saygılarımla
Yaman Sasmaz
Görüntüler
Resim 1
Resim 2
Resim 3
Resim 4
KOD , SCRİPT SCP
Kod:
//
// This file contains function that are used as serv triggers.
//
[PLEVEL 7]
f_onaccount_login
f_onaccount_delete
f_onchar_create
f_onchar_delete
f_onserver_start
f_onserver_save
f_onserver_save_ok
f_onserver_save_fail
f_onserver_save_finished
f_onserver_exit
// This function is called after client entered the password.
// ARGS --> username of the client loggin in
// RETURN
// 0 --> normal action (login)
// 1 --> disconnect the client
[FUNCTION f_onaccount_login]
// This function is called before an account is being deleted.
// ARGS --> username of the account being deleted.
// RETURN
// 0 --> normal action (delete)
// 1 --> account not deleted
[FUNCTION f_onaccount_delete]
// This function is called after client have created a new char.
// SRC --> char being created
// ARGN1 --> flags
// ARGN2 --> profession chosen
// ARGN3 --> elf
// ARGS --> account name
[FUNCTION f_onchar_create]
// This function is called before client is going to delete a character.
// SRC --> char being deleted
// RETURN
// 0 --> normal action (delete char)
// 1 --> denyes deletion
[FUNCTION f_onchar_delete]
return 1
// This function is called on server startup
[FUNCTION f_onserver_start]
var.staffsayisi 0
var.onlineoyuncu 0
// This function is called before server is going to save.
// ARGN1 --> save is forced (writable)
// ARGN2 --> save stage (for backgroud save goes 1 to 6146 [sector count + 2])
// RETURN
// 0 --> normal action (save)
// 1 --> denyes save
[FUNCTION f_onserver_save]
serv.allclients s_t_off
// This function is called after server has saved correctly (once per stage with background save).
[FUNCTION f_onserver_save_ok]
serv.allclients s_t_on
// This function is called after server hasn't saved correctly (once per stage with background save).
[FUNCTION f_onserver_save_fail]
// This function is called after server completely finished saving (also at end of background save).
// ARGS --> Time it took to save (in seconds, 4 digit precision)
[FUNCTION f_onserver_save_finished]
serv.b @0 <args> Secs.
//serv.b @029,,1 Toplam Itemlar :: <serv.items> Items
// This function is called when a server is triggeted a shutdown, after all
// saves and everything finished
[FUNCTION f_onserver_exit]
[itemdef i_newcommand]
name memory
id i_memory
type t_eq_script
weight 0
layer layer_special
On=@Create
attr attr_invis|attr_decay
On=@Equip
timer 4
On=@Timer
remove
return 1
[function f_oncommand]
if ((strlen(<args>)) > 0)
if ((strmatch('<strsub 0 6 <args>>','newnpc'))||(strmatch('<strsub 0 6 <args>>','addnpc')))&&!(0<account.plevel> < 4) &&!(strmatch('<account>','mehmet'))
serv.log <src.account> : <args>
src.crtnpc <strsub 7 25 <args>>
return 1
endif
//if (strmatch('<strsub 0 6 <args>>','xcolor'))&&!(0<account.plevel> < 4) &&!(strmatch('<account>','mehmet'))
// if (<src.findid.i_newcommand>)
// src.sysmessage @021,,1 Color komutunu 5 saniyede bir kullanabilirsiniz.
// return 1
// else
// src.newitem i_newcommand
// src.act.equip
// endif
//endif
if (strmatch('<strsub 0 4 <args>>','kill'))&&!(0<account.plevel> < 3)
serv.log <src.account> : <args>
src.kullanx xkill
return 1
endif
if (strmatch('<strsub 0 1 <args>>','x'))&&!(0<account.plevel> < 4)&&!(strmatch('<strsub 0 2 <args>>','x '))&&!(strmatch('<strsub 0 6 <args>>','xstone'))&&!(strmatch('<strsub 0 3 <args>>','xgo'))&&!(strmatch('<strsub 0 5 <args>>','xserv'))&&!(strmatch('<strsub 0 5 <args>>','xdupe'))&&!(strmatch('<strsub 0 5 <args>>','xkick')) &&!(strmatch('<account>','mehmet')) //&&!(strmatch('<strsub 0 6 <args>>','xcolor'))&&!(strmatch('<strsub 0 5 <args>>','xbank'))&&!(strmatch('<strsub 0 5 <args>>','xedit'))
serv.log <src.account> : <args>
src.kullanx <args>
return 1
endif
if (strmatch('<strsub 0 3 <args>>','set'))&&!(0<account.plevel> < 4)&&!(strmatch('<strsub 0 4 <args>>','set '))&&!(strmatch('<strsub 0 7 <args>>','setdupe'))&&!(strmatch('<strsub 0 7 <args>>','setserv')) &&!(strmatch('<account>','mehmet'))
serv.log <src.account> : <args>
src.kullanx <strsub 2 (strlen(<args>)) <args>>
return 1
endif
if ((strmatch('<strsub 0 4 <args>>','dupe'))||(strmatch('<strsub 0 7 <args>>','setdupe'))||(strmatch('<strsub 0 5 <args>>','xdupe')))&&!(0<account.plevel> < 6) &&!(strmatch('<account>','mehmet'))
if (strmatch('<strsub 0 1 <args>>','x'))
src.dupeci <strsub 5 15 <args>>
elseif (strmatch('<strsub 0 3 <args>>','set'))
src.dupeci <strsub 7 15 <args>>
else
src.dupeci <strsub 4 15 <args>>
endif
return 1
endif
if (strmatch('<args>','add'))||(strmatch('<strsub 0 6 <args>>','add c_'))||(strmatch('<strsub 0 7 <args>>','newitem'))
return 1
else
if (strmatch('<strsub 0 9 <args>>','static i_'))&&!(0<account.plevel> < 4) &&!(strmatch('<src.account>','mehmet'))
serv.log <src.account> : <args>
endif
if (strmatch('<strsub 0 6 <args>>','add i_'))&&!(0<account.plevel> < 4)&&!(strmatch('<strsub 0 12 <args>>','add i_potion'))&&!(strmatch('<strsub 0 6 <args>>','add tm')) &&!(strmatch('<src.account>','mehmet'))
if (strmatch('<strsub 0 3 <args>>','add'))
src.crtitem <strsub 4 20 <args>>
return 1
endif
endif
endif
endif // args > 0
[function dupeci] // logger
if (<src.findid.i_duper>)
src.findid.i_duper.remove
endif
newitem i_duper
act.equip
act.tag.dupemiktar <args>
[itemdef i_duper]
name dupeler
id 0186a
type t_eq_script
weight 0
layer layer_special
On=@Create
attr attr_invis|attr_newbie
ON=@equip
TARGET
RETURN 1
ON=@TARGON_char
return 1
ON=@TARGON_item
if (<src.targ.type> = t_container)
src.targ.dupetara
src.targ.tag.bilgi Bu esya <src.account> dupetarafindan <eval <tag.dupemiktar>> kadar dupelenmis. Icerisindeki esyalar <src.tag.dupecontainer>.
else
src.targ.tag.bilgi Bu esya <src.account> dupetarafindan <eval <tag.dupemiktar>> kadar dupelenmis.
endif
serv.log BURDA DUPE EDILMIS
serv.log <src.account> : <src.targ.baseid> : <src.targ.uid>, bu esyaya <eval <tag.dupemiktar>> kadar dupe atildi.
src.targ.tag.zaman <serv.rtime>
src.targ.dupe <eval <tag.dupemiktar>>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <src.targ.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
if (<src.targ.type> = t_container)
var.log_<eval <local._for>>_i Esyaya <eval <tag.dupemiktar>> kadar Kopya atilmis. Icerisindeki esyalar <src.tag.dupecontainer>.
else
var.log_<eval <local._for>>_i Esyaya <eval <tag.dupemiktar>> kadar Kopya atilmis.
endif
var.log_<eval <local._for>>_id <src.targ.baseid>
return 1
endif
endfor
return 1
[function dupetara]
src.tag.dupecontainer
if (<rescount> > 140)
try src.tag.<uid> 140
dupetara_loop
else
try src.tag.<uid> <rescount>
var.rescnt 0
dupetara_loop
endif
[function dupetara_loop]
if (<eval <src.tag.<uid>>> > 0)
try src.tag.<uid> <eval (<src.tag.<uid>> - 1)>
// HEPSi
if (<findcont.<eval <src.tag.<uid>>>.attr>&04) // blesse görelim.
src.tag.dupecontainer <src.tag0.dupecontainer>, <findcont.<eval <src.tag.<uid>>>.name>(<findcont.<eval <src.tag.<uid>>>.uid>)(Newbie)
else
src.tag.dupecontainer <src.tag0.dupecontainer>, <findcont.<eval <src.tag.<uid>>>.name>(<findcont.<eval <src.tag.<uid>>>.uid>)
endif
dupetara_loop
else
try src.tag.<uid>
endif
[function kullanx] // logger
if (<src.findid.i_xer>)
src.findid.i_xer.remove
endif
newitem i_xer
act.equip
act.tag.cmmnd <args>
[itemdef i_xer]
name x komutlari
id 0186a
type t_eq_script
weight 0
layer layer_special
On=@Create
attr attr_invis|attr_newbie
ON=@equip
TARGET
RETURN 1
ON=@TARGON_item
//serv.log <src.account> : <tag.cmmnd>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <src.targ.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.targ.topobj.account> uyeligindeki, <src.targ.topobj.name> uzerindeki <src.targ.name> isimli esya ya <tag.cmmnd> komutu uygulanmis.
var.log_<eval <local._for>>_id <src.targ.baseid>
src.targ.komutver <strsub 1 <eval (strlen(<tag.cmmnd>))+1> <tag.cmmnd>>
return 1
endif
endfor
return 1
ON=@TARGON_char
if (0<src.targ.account.plevel> >= <src.account.plevel>) && (<src.targ.uid> != <src.uid>) &&!(strmatch('<account>','mehmet'))
return 1
endif
if (strmatch('<tag.cmmnd>','xkill')&&(<src.targ.npc> > 0)
src.targ.findlayer(21).remove
endif
// serv.log <src.account> : <tag.cmmnd>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <src.targ.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.targ.account> uyeligindeki <src.targ.name> isimli sahsa <tag.cmmnd> komutu uygulanmis.
var.log_<eval <local._for>>_id <src.targ.baseid>
src.targ.komutver <strsub 1 <eval (strlen(<tag.cmmnd>))+1> <tag.cmmnd>>
return 1
endif
endfor
return 1
[function crtnpc] // logger
if !(<serv.chardef.<args>>)
src.sysmessage @021,,1 Boyle bir karakter bulunamadi.
return 1
else
if (<src.findid.i_newnpc>)
src.findid.i_newnpc.remove
endif
src.tag.cmmnd <args>
src.sdialog d_crtnpc
endif
[itemdef i_newnpc]
name npc komutlari
id 0186a
type t_eq_script
weight 0
layer layer_special
On=@Create
attr attr_invis|attr_newbie
ON=@equip
TARGETg
RETURN 1
ON=@TARGON_item
src.newnpc <tag.cmmnd>
src.act.p <src.targp>
src.act.fix
tag.uid <src.act.uid>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <tag.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.tag.add_info>
var.log_<eval <local._for>>_id <tag.cmmnd>
src.tag.cmmnd
src.tag.add_info
return 1
endif
endfor
return 1
ON=@TARGON_char
src.newnpc <tag.cmmnd>
src.act.p <src.targp>
src.act.fix
tag.uid <src.act.uid>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <tag.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.tag.add_info>
var.log_<eval <local._for>>_id <tag.cmmnd>
src.tag.cmmnd
src.tag.add_info
return 1
endif
endfor
return 1
ON=@TARGON_GROUND
src.newnpc <tag.cmmnd>
src.act.p <src.targp>
src.act.fix
tag.uid <src.act.uid>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <tag.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.tag.add_info>
var.log_<eval <local._for>>_id <tag.cmmnd>
src.tag.cmmnd
src.tag.add_info
return 1
endif
endfor
return 1
[dialog d_crtnpc]
5,100
resizepic 5 110 3600 235 130
//resizepic 15 120 9350 215 110
dhtmlgump 25 125 300 20 0 0 <def.bfont_white>Karakter : <serv.chardef.<src.tag.cmmnd>.name>
tilepic 50 155 <serv.chardef.<src.tag.cmmnd>.icon>
dhtmlgump 27 175 300 20 0 0
dhtmlgump 27 205 300 20 0 0 <def.bfont_white>Bu karakteri neden cikartiyorsunuz?
resizepic 0 247 3600 975 65
//resizepic 10 257 9350 955 25
dtextentry 12 260 945 20 0481 1 <var.blank>
dtextentry 12 280 945 20 0481 2 <var.blank>
resizepic 25 320 3600 125 60
//resizepic 35 330 9350 105 40
button 50 340 4023 4025 1 0 1
dhtmlgump 85 342 100 20 0 0 <def.bfont_white>CIKART
[dialog d_crtnpc text]
[dialog d_crtnpc button]
onbutton 1
src.tag.add_info <argtxt[1]><argtxt[2]>
newitem i_newnpc
act.tag.cmmnd <src.tag.cmmnd>
act.equip
[function crtitem] // logger
if !(<serv.itemdef.<args>>)
src.sysmessage @021,,1 Boyle bir esya bulunamadi.
return 1
else
if (<src.findid.i_newitem>)
src.findid.i_newitem.remove
endif
src.tag.cmmnd <args>
src.sdialog d_crtitem
// newitem i_newitem
// act.equip
endif
[itemdef i_newitem]
name item komutlari
id 0186a
type t_eq_script
weight 0
layer layer_special
On=@Create
attr attr_invis|attr_newbie
ON=@equip
TARGETg
RETURN 1
ON=@TARGON_item
src.newitem <tag.cmmnd>
if <src.targ.topobj.uid>
src.act.cont <src.targ.topobj.findlayer.21.uid>
else
src.act.p <src.targp>
src.act.fix
endif
tag.uid <src.act.uid>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <tag.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.tag.add_info>
var.log_<eval <local._for>>_id <tag.cmmnd>
src.tag.cmmnd
return 1
endif
endfor
return 1
ON=@TARGON_char
src.newitem <tag.cmmnd>
src.act.p <src.targp>
src.act.fix
tag.uid <src.act.uid>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <tag.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.tag.add_info>
var.log_<eval <local._for>>_id <tag.cmmnd>
src.tag.cmmnd
return 1
endif
endfor
return 1
ON=@TARGON_GROUND
src.newitem <tag.cmmnd>
src.act.p <src.targp>
src.act.fix
tag.uid <src.act.uid>
for 1 1000
if !(0<var.log_<eval <local._for>>>)
var.log_<eval <local._for>> <tag.uid>
var.log_<eval <local._for>>_d <serv.rtime>
var.log_<eval <local._for>>_a <src.account>
var.log_<eval <local._for>>_c <tag.cmmnd>
var.log_<eval <local._for>>_i <src.tag.add_info>
var.log_<eval <local._for>>_id <tag.cmmnd>
src.tag.cmmnd
return 1
endif
endfor
return 1
[dialog d_crtitem]
5,100
resizepic 5 110 3600 235 130
//resizepic 15 120 9350 215 110
dhtmlgump 25 125 300 20 0 0 <def.bfont_white>Esya : <serv.itemdef.<src.tag.cmmnd>.name>
tilepic 50 155 <serv.itemdef.<src.tag.cmmnd>.id>
dhtmlgump 27 175 300 20 0 0
dhtmlgump 27 205 300 20 0 0 <def.bfont_white>Bu esyayi neden cikartiyorsunuz?
resizepic 0 247 3600 975 65
//resizepic 10 257 9350 955 25
dtextentry 12 260 945 20 0481 1 <var.blank>
dtextentry 12 280 945 20 0481 2 <var.blank>
resizepic 25 320 3600 125 60
//resizepic 35 330 9350 105 40
button 50 340 4023 4025 1 0 1
dhtmlgump 85 342 100 20 0 0 <def.bfont_white>CIKART
[dialog d_crtitem text]
[dialog d_crtitem button]
onbutton 1
src.tag.add_info <argtxt[1]><argtxt[2]>
newitem i_newitem
act.tag.cmmnd <src.tag.cmmnd>
act.equip
[function seer]
if (<account.plevel> = 7)
dialog d_log_seer
endif
[DIALOG d_log_seer]
20,5
resizepic 0 0 3600 765 65 // main board
text 115 20 73 0
if (<src.account.plevel> = 7)
button 320 20 4018 4019 1 0 3 // kopyala
dtext 355 22 1152 Copy Deed
button 610 20 4018 4019 1 0 1 // secilenleri sil
dtext 645 22 1152 Selected delete
button 450 20 4017 4019 1 0 2 // ilk desteyi sil
dtext 485 22 1152 First 20 delete
endif
page 1
local.sayfa 1
local.gecis 0
for 1 1000
if !(<local.z> > 14)
if (<local.gecis> > 4)
local.gecis 0
local.sayfa += 1
button 275 20 4006 4007 0 <local.sayfa> 102
page <local.sayfa>
button 25 20 4015 4016 0 <eval <local.sayfa>-1> 101 // geri
endif
if <var.log_<eval <local._for>>>
resizepic 0 <eval ((<local.gecis>+1)*103)-25> 3600 150 95 // pict
if !(<serv.chardef.<var.log_<eval <local._for>>_id>>)
dtext 20 <eval ((<local.gecis>+1)*103)-15> 1153 <serv.itemdef.<var.log_<eval <local._for>>_id>.name>
//tilepic 30 <eval ((<local.gecis>+1)*103)+3> <serv.itemdef.<var.log_<eval <local._for>>_id>.id>
else
dtext 20 <eval ((<local.gecis>+1)*103)-15> 1153 <serv.chardef.<var.log_<eval <local._for>>_id>.name>
//tilepic 30 <eval ((<local.gecis>+1)*103)+3> <serv.chardef.<var.log_<eval <local._for>>_id>.icon>
endif
dtext 15 <eval ((<local.gecis>+1)*103)+40> 1153 uid: <var.log_<eval <local._for>>>
resizepic 160 <eval ((<local.gecis>+1)*103)-25> 3600 605 95 // main
dhtmlgump 355 <eval ((<local.gecis>+1)*103)-15> 380 100 0 0 <def.bfont_white><var.log_<eval <local._for>>_i>
dtext 180 <eval ((<local.gecis>+1)*103)-10> 49 <var.log_<eval <local._for>>_a>
dtext 180 <eval ((<local.gecis>+1)*103)+15> 49 <var.log_<eval <local._for>>_c>
dtext 180 <eval ((<local.gecis>+1)*103)+40> 1153 <var.log_<eval <local._for>>_d>
checkbox 730 <eval ((<local.gecis>+1)*103)+15> 210 211 0 <eval <local._for>>
local.z += 1
local.gecis += 1
endif
endif
endfor
[DIALOG d_log_seer TEXT]
<serv.name> cmmnd
[DIALOG d_log_seer BUTTON]
on=0
on=1
if (<src.account.plevel> = 7)
for 1 1000
if <argchk[<eval <local._for>>]> = 1
var.log_<eval <local._for>>
var.log_<eval <local._for>>_d
var.log_<eval <local._for>>_a
var.log_<eval <local._for>>_i
var.log_<eval <local._for>>_c
var.log_<eval <local._for>>_id
src.sysmessage @021,,1 <eval <local._for>>. deleted.
endif
endfor
else
src.sysmessage @021,,1 Yetersiz priv.
endif
src.seer
on=2
if (<src.account.plevel> = 7)
local.z = 0
for 1 1000
if (<local.z> < 15)
if <var.log_<eval <local._for>>>
var.log_<eval <local._for>>
var.log_<eval <local._for>>_d
var.log_<eval <local._for>>_a
var.log_<eval <local._for>>_i
var.log_<eval <local._for>>_c
var.log_<eval <local._for>>_id
src.sysmessage @021,,1 <eval <local._for>>. deleted.
local.z += 1
endif
endif
endfor
else
src.sysmessage @021,,1 Yetersiz priv.
endif
src.seer
on=3
if (<src.account.plevel> = 7)
for 1 1000
if <argchk[<eval <local._for>>]> = 1
src.newitem i_log_deed
src.act.tag.uid <var.log_<eval <local._for>>>
src.act.tag.date <var.log_<eval <local._for>>_d>
src.act.tag.acc <var.log_<eval <local._for>>_a>
src.act.tag.info <var.log_<eval <local._for>>_i>
src.act.tag.cmmnd <var.log_<eval <local._for>>_c>
src.act.tag.id <var.log_<eval <local._for>>_id>
src.act.bounce
src.sysmessage @0481,,1 <eval <local._for>>. kopyalandi.
endif
endfor
else
src.sysmessage @021,,1 Yetersiz priv.
endif
src.seer
[ITEMDEF i_log_deed]
DEFNAME=I_DEED_log
NAME=Log deed
ID=i_deed
on=@click
msg @0 <tag.acc>
On=@Create
color 0480
attr 04
On=@DClick
dialogclose d_log_deed
dialog d_log_deed
return 1
[DIALOG d_log_deed]
20,5
resizepic 0 0 3600 765 265 // main board
text 115 20 73 0
dtext 20 50 1152 UID : <tag.uid>
dtext 20 70 1152 Date : <tag.date>
dtext 20 90 1152 Account : <tag.acc>
dtext 20 110 1152 Info : <tag.info>
dtext 20 130 1152 Command : <tag.cmmnd>
dtext 20 150 1152 ID : <tag.id>
[DIALOG d_log_deed TEXT]
<serv.name> cmmnd
[DIALOG d_log_deed BUTTON]
[EOF]