/////////////////////////////////////////////////////////
//Tymaron Tarafından Türkçeleştirilmiş ve Editlenmiştir...
//This script was edited and translated by Tymaron for ultima-strike.com
/////////////////////////////////////////////////////////
[DEFNAME admin_options]
// If you do not want clients of lower or equal plevel see the IP addresses
// of clients of equal or higher plevel, set this to 1
// (does not apply to plevel 7)
admin_hideips 0
// If you do not want clients to see clients with a higher plevel that are
// invisible (.invis) in the list, set this to 1
admin_hidehighpriv 0
// When a flag is set or unset, it is sometimes necessary for the character
// to be updated for the new setting to take effect. The settings below
// control whether to call UPDATEX, UPDATE or RESENDTOOLTIP on the character
// based on which flags have been modified.
admin_updatexflags statf_invisible|statf_insubstantial|statf_hidden
admin_updateflags statf_invul|statf_freeze|statf_stone|statf_hallucinating|statf_poisoned|statf_criminal|statf_nightsight
admin_resendtooltipflags statf_incognito
[DEFNAME admin_strings]
// Titles for privilege levels
admin_plevel_0 "Guest"
admin_plevel_1 "Player"
admin_plevel_2 "Counselor"
admin_plevel_3 "Seer"
admin_plevel_4 "Game Master"
admin_plevel_5 "Developer"
admin_plevel_6 "Administrator"
admin_plevel_7 "Owner"
// Titles for UO expansion
admin_resdisp_0 "Pre-T2A"
admin_resdisp_1 "The 2nd Age"
admin_resdisp_2 "Lord Blackthorn's Revenge"
admin_resdisp_3 "Age Of Shadows"
admin_resdisp_4 "Samurai Empire"
admin_resdisp_5 "Mondain's Legacy"
// Titles for flags, copied from axis (slightly modified)
admin_flag_1 "Invulnerability"
admin_flag_2 "Dead"
admin_flag_3 "Paralyzed"
admin_flag_4 "Invisible"
admin_flag_5 "Sleeping"
admin_flag_6 "Warmode"
admin_flag_7 "Reactive Armor"
admin_flag_8 "Poisoned"
admin_flag_9 "Nightsight"
admin_flag_10 "Magic Reflect"
admin_flag_11 "Polymorphed"
admin_flag_12 "Incognito"
admin_flag_13 "Spirit Speak"
admin_flag_14 "Insubstantial"
admin_flag_15 "Emote"
admin_flag_16 "Comm Crystal"
admin_flag_17 "Has Shield"
admin_flag_18 "Can move with bow"
admin_flag_19 "Stoned"
admin_flag_20 "Recording Script"
admin_flag_21 "Flying"
admin_flag_22 "Respawn"
admin_flag_23 "Hallucinating"
admin_flag_24 "Hidden"
admin_flag_25 "Indoors"
admin_flag_26 "Criminal"
admin_flag_27 "Conjured (summoned)"
admin_flag_28 "Pet"
admin_flag_29 "Spawned"
admin_flag_30 "Save parity"
admin_flag_31 "Ridden"
admin_flag_32 "Mounted on horseback"
// Don't edit below this line unless you know what you are doing
[FUNCTION admin]
if ( <getreftype> == <def.tref_serv> )
serv.console C
return
elseif ( !<isplayer> )
return
endif
src.dialogclose d_sphereadmin
ctag.admin_numplayers=0
ctag.admin_page=1
serv.allclients admin_getplayers
ctag.admin_numpages=<eval (((<ctag0.admin_numplayers>-1) / 15) + 1)> // 15 players per page
dialog d_sphereadmin
[FUNCTION admin_getplayers]
// List players in CTAGs on the caller
if ((<account.plevel> > <src.account.plevel>) && (<flags> & statf_insubstantial) && (<def0.admin_hidehighpriv>))
return
else
src.ctag0.admin_numplayers += 1
try src.ctag.admin_p<eval (<src.ctag0.admin_numplayers>)>=<uid>
endif
[DIALOG d_sphereadmin]
100,100
nomove
// Let's not break some (perhaps) scripts using OBJ
local.oldobj=<obj>
page 0 // Basic layout
resizepic 0 0 83 650 397 // Background
//gumppictiled 5 5 640 385 2604
//gumppictiled 5 5 640 25 2624
//gumppictiled 5 370 640 22 2624
//gumppictiled 5 35 640 330 2624
//checkertrans 5 5 640 387
dtext 100 25 0c1 Admin Kontrol (<serv.servname>) - Aktif Üye: <eval <ctag0.admin_numplayers>>
button 615 10 4017 4018 1 0 0
page 1 // Player data
dtext 45 45 025 Kullanıcı Adı
dtext 170 45 025 Karakter Adı
dtext 300 45 025 IP Adresi
dtext 410 45 025 Bulunduğu Bölge
dtext 540 45 025 Yetki
admin_renderdialog
obj=<local.oldobj>
if (<ctag0.admin_page> > 1)
// Back button
button 5 370 4014 4015 1 0 1
endif
if (<ctag0.admin_page> < <ctag0.admin_numpages>)
// Forward button
button 615 370 4005 4006 1 0 2
endif
dtext 275 370 0c1 Sayfa <eval <ctag0.admin_page>> / <eval <ctag0.admin_numpages>>
[FUNCTION admin_renderdialog]
local.y=70
for x <eval ((<ctag0.admin_page> - 1) * 15) + 1> <eval (<ctag0.admin_page> * 15)>
if (<local.x> > <ctag0.admin_numplayers>)
return
endif
obj=<ctag0.admin_p<eval <local.x>>>
if (<obj.flags> & statf_insubstantial)
local.hue=0450
else
local.hue=0480
endif
button 20 <local.y> 4005 4006 1 0 <eval (1000 + <local.x>)>
dtext 60 <local.y> <local.hue> <QVAL <OBJ.ACCOUNT.PLEVEL>==0?(-):<QVAL <OBJ.ACCOUNT.PLEVEL>==1?:(+)>> <obj.account>
dtext 180 <local.y> <local.hue> <QVAL <OBJ.FINDID.i_rune_incognito.UID> ? <OBJ.FINDID.i_rune_incognito.NAME> : <obj.name>>
// Hide IP address to people of lower or equal privilege, if desired
if ((<obj.uid> != <uid>) && (<account.plevel> <= <obj.account.plevel>) && (<def0.admin_hideips>) && (<account.plevel> != 7))
dtext 300 <local.y> <local.hue> x.x.x.x
else
dtext 300 <local.y> <local.hue> <obj.account.lastip>
endif
dtext 410 <local.y> <local.hue> <obj.p.x>,<obj.p.y>,<obj.p.z>,<obj.p.m>
dtext 540 <local.y> <local.hue> (<def0.admin_plevel_<eval <obj.account.plevel>>>)
local.y += 20
end
[DIALOG d_sphereadmin BUTTON]
on=0
clearctags admin_p
ctag.admin_numplayers=
ctag.admin_numpages=
on=1 // Back button
ctag.admin_page -= 1
if (<ctag0.admin_page> < 1)
// Bad! And shouldnt happen
sysmessage Error: admin_page value went too low, please report (<ctag0.admin_page> / <ctag0.admin_numpages>)
ctag.admin_page=1
endif
dialog d_sphereadmin
on=2 // Forward button
ctag.admin_page += 1
if (<ctag0.admin_page> > <ctag0.admin_numpages>)
// Bad! Should also not happen
sysmessage Error: admin_page value went too high, please report (<ctag0.admin_page> / <ctag0.admin_numpages>)
ctag.admin_page=<ctag0.admin_numpages>
endif
dialog d_sphereadmin
on=1001,65535 // Player buttons
try uid.<ctag.admin_p<eval <argn> - 1000>>.dialog d_sphereplayertweak, 2
[DIALOG d_sphereplayertweak]
100,100
nomove
src.dialogclose d_sphereplayertweak
page 0 // Basic layout
resizepic 0 0 83 650 397 // Background
gumppic 5 20 12 /adam resmi
gumppic 20 80 112 / kılıç
gumppic 5 20 50987 /gm robesi
//checkertrans 5 5 640 387
dtext 100 20 0c1 Admin Panel (<serv.servname>) - Tweaking Client
button 615 5 4017 4018 1 0 0
button 585 5 4008 4009 1 0 1
button 20 267 4005 4006 0 1 0
dtext 55 267 0480 Client Bilgileri
button 20 287 4005 4006 0 2 0
dtext 55 287 0480 Oyuncu işlevleri
//button 20 307 4005 4006 1 0 2
//dtext 55 307 0480 Client notes
button 20 327 4005 4006 0 4 0
dtext 55 327 0480 Karakter Bilgileri
button 20 347 4005 4006 0 3 0
dtext 55 347 0480 Status flags
page 1
dtext 160 35 0c1 Karakter Adı:
dtext 300 35 0480 <name>
dtext 460 35 0c1 Uid:
dtext 500 35 0480 <uid>
dtext 160 55 0c1 Kullanıcı Adı:
dtext 300 55 0480 <account.name>
dtext 160 75 0c1 Title:
dtext 300 75 0480 <title>
dtext 160 95 0c1 Yetki:
dtext 300 95 0480 <account.plevel> (<def0.admin_plevel_<eval <account.plevel>>>)
dtext 160 135 0c1 Client Sürümü:
//dtext 300 135 0480 <clientversion> / <reportedcliver>
dtext 160 155 0c1 Resdisp:
dtext 300 155 0480 <account.resdisp> (<def0.admin_resdisp_<eval <account.resdisp>>>)
dtext 160 195 0c1 Kayıt Tarihi:
dtext 300 195 0480 <account.firstconnectdate> from <qval ((<src.account.plevel> <= <account.plevel>) && (<def0.admin_hideips>) && (<src.account.plevel> != 7) ? "x.x.x.x" : <account.firstip>>
dtext 160 215 0c1 Son Giriş:
dtext 300 215 0480 <account.lastconnectdate> from <qval ((<src.account.plevel> <= <account.plevel>) && (<def0.admin_hideips>) && (<src.account.plevel> != 7) ? "x.x.x.x" : <account.lastip>>
dtext 160 255 0c1 Bulunduğu Bölge:
dtext 300 255 0480 <p.x>,<p.y>,<p.z>,<p.m>
dtext 160 295 0c1 Öldürdüğü:
dtext 300 295 0480 <kills>
dtext 360 295 0c1 Öldüğü:
dtext 540 295 0480 <deaths>
dtext 160 315 0c1 Açlık Seviyesi:
dtext 300 315 0480 <food>
page 2
button 160 40 4005 4006 1 0 21
dtext 200 40 0480 Oyuncunun yanına git
button 160 60 4005 4006 1 0 22
dtext 200 60 0480 Oyuncunun yanına git[İnvis]
button 160 80 4005 4006 1 0 23
dtext 200 80 0480 Oyuncuyu getir
button 160 100 4005 4006 1 0 29
dtext 200 100 0480 Oyuncuyu getir [Kafes]
button 160 120 4005 4006 1 0 24
dtext 200 120 0480 Oyuncuyu Takip Et
button 160 140 4005 4006 1 0 25
dtext 200 140 0480 <qval (<account.jail>) ? Forgive:Jail>
button 160 160 4005 4006 1 0 26
dtext 200 160 0480 <qval (<flags> & statf_dead)?Resurrect:Kill>
button 160 180 4005 4006 1 0 27
dtext 200 180 0480 Sunucudan uzaklaştır
button 160 200 4005 4006 1 0 28
dtext 200 200 025 Sunucudan uzaklaştır ve banla
page 3
local.flag=01
local.ox=160
local.oy=40
for x 0 31
checkbox <eval <local.ox>> <eval <local.oy>> 210 211 <hval (<flags> & <local.flag>)> <eval 300 + <local.x>>
dtext <eval <local.ox> + 40> <eval <local.oy>> 0480 <def0.admin_flag_<eval <local.x> + 1>>
// Workaround for sphere bug - local.flag=<hval <local.flag> << 1> attempts to evaluate << !
local.flag="<local.flag> << 1"
local.flag=<hval <local.flag>>
local.oy += 20
if (<local.oy> > 360)
local.ox += 200
local.oy = 40
endif
end
button 360 360 4005 4006 1 0 31
dtext 400 360 0c1 Set flags
page 4
dtext 160 35 0c1 Name:
dtext 300 35 0480 <name>
dtext 460 35 0c1 Uid:
dtext 500 35 0480 <uid>
dtext 160 55 0c1 Title:
dtext 300 55 0480 <title>
dtext 160 95 0c1 Strength:
dtext 300 95 0480 <str>
dtext 360 95 0c1 Hitpoints:
dtext 540 95 0480 <hits>/<maxhits>
dtext 160 115 0c1 Dexterity:
dtext 300 115 0480 <dex>
dtext 360 115 0c1 Stamina:
dtext 540 115 0480 <stam>/<maxstam>
dtext 160 135 0c1 Intelligence:
dtext 300 135 0480 <int>
dtext 360 135 0c1 Mana:
dtext 540 135 0480 <mana>/<maxmana>
dtext 160 155 0c1 Karma:
dtext 300 155 0480 <karma>
dtext 360 155 0c1 Fame:
dtext 540 155 0480 <fame>
[DIALOG d_sphereplayertweak BUTTON]
on=0 1
src.dialog d_sphereadmin
on=2
dialog d_sphereplayernotes
on=21
src.go <p>
on=22
src.invis 1
src.go <p>
on=23
go <src.p>
on=24
if ( <src.uid> != <uid> )
src.follow <uid>
endif
on=25
if (<account.jail>)
forgive
else
jail
endif
on=26
if (<flags> & statf_dead)
resurrect
else
hits=0
// Use kill here if you want the lightning effect
endif
on=27
disconnect
on=28
kick
on=29
summoncage
on=31
local.updatexflags = <flags>&<def0.admin_updatexflags>
local.updateflags = <flags>&<def0.admin_updateflags>
local.resendtooltipflags = <flags>&<def0.admin_resendtooltipflags>
local.flag=01
for x 0 31
if (<argchk[<eval 300 + <local.x>>]>)
flags |= <local.flag>
else
flags &= ~<local.flag>
endif
// Workaround for sphere bug - local.flag=<hval <local.flag> << 1> attempts to evaluate << !
local.flag="<local.flag> << 1"
local.flag=<hval <local.flag>>
endfor
if ((<flags>&<def0.admin_updatexflags>) != <local.updatexflags>)
updatex
elseif ((<flags>&<def0.admin_updateflags>) != <local.updateflags>)
update
elseif ((<flags>&<def0.admin_resendtooltipflags>) != <local.resendtooltipflags>)
resendtooltip
endif
src.sysmessage Flags modified!
[DIALOG d_sphereplayernotes]
0,21
src.dialogclose d_sphereplayernotes
page 0 // Basic layout
resizepic 0 0 2620 650 397 // Background
gumppictiled 5 5 640 385 2604
gumppictiled 5 5 640 25 2624
gumppictiled 5 35 140 355 2624
gumppictiled 150 35 495 330 2624
gumppictiled 150 370 495 20 2624
checkertrans 5 5 640 387
dtext 10 7 0c1 SphereServer <src.version> Admin Panel (<serv.servname>) - Account Notes
button 615 5 4017 4018 1 0 0
button 585 5 4008 4009 1 0 1
button 5 35 4005 4006 1 0 2
dtext 40 37 0480 Client info
button 5 55 4005 4006 1 0 3
dtext 40 57 0480 Client actions
button 5 77 4005 4006 0 1 0
dtext 40 77 0480 Client notes
button 5 117 4005 4006 1 0 4
dtext 40 117 0480 Character info
button 5 137 4005 4006 1 0 5
dtext 40 137 0480 Status flags
dtext 200 35 0c1 Here you can review and/or add notes to this player's account.
dtext 200 55 0c1 This account currently has <eval 0<account.tag0.numnotes>> notes. Showing 4 notes per page.
button 160 75 4005 4006 1 0 10
dtext 200 75 0480 Add note to this account (<account>)
if (0<account.tag0.numnotes>)
local.page=1
local.oy=120
page 1
for x 1 <account.tag0.numnotes>
if (<local.oy> > 300)
local.oy = 120
local.page += 1
button 615 370 4005 4006 0 <eval <local.page>> 0 // Forward button
page <eval <local.page>>
button 150 370 4014 4015 0 <eval <local.page> - 1> 0 // Back button
endif
resizepic 155 <eval <local.oy>> 9350 480 50
dtext 160 <eval <local.oy>> 0 Added by <account.tag0.note_<eval <local.x>>_by> at <account.tag0.note_<eval <local.x>>_time>
dtext 160 <eval <local.oy> + 15> 0480 <account.tag0.note_<eval <local.x>>>
button 600 <eval <local.oy>> 4017 4018 1 0 <EVAL 10+<LOCAL.X>>
local.oy += 60
end
endif
[DIALOG d_sphereplayernotes BUTTON]
on=0 1
src.dialog d_sphereadmin
on=2
dialog d_sphereplayertweak 1
on=3
dialog d_sphereplayertweak 2
on=4
dialog d_sphereplayertweak 4
on=5
dialog d_sphereplayertweak 3
on=10
if ( <src.account.plevel> > <account.plevel> )
src.ctag.notefor=<uid>
src.promptconsole admin_addnote Enter note:
else
src.sysmessage You can't add notes to a plevel higher than you
src.dialog d_sphereplayernotes
endif
on=11 500
if ( <src.account.plevel> > <account.plevel> )
src.ctag.notefor=<uid>
src.admin_removenote <eval (<ARGN1>-10)>
else
src.sysmessage You can't change notes to a plevel higher than you
src.dialog d_sphereplayernotes
endif
[FUNCTION admin_removenote]
local.note=<argv[0]>
local.oldobj=<obj>
obj=<ctag.notefor>
IF (<LOCAL.NOTE>==<OBJ.ACCOUNT.TAG.NUMNOTES>)//if it was the last note no need to sort
TRYSRV OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>>
TRYSRV OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>>_BY
TRYSRV OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>>_TIME
ELSE //sort note list
WHILE (<LOCAL.NOTE> < <ACCOUNT.TAG0.NUMNOTES>)
TRYSRV OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>>=<OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>+1>>
TRYSRV OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>>_BY=<OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>+1>_BY>
TRYSRV OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>>_TIME=<OBJ.ACCOUNT.TAG.NOTE_<EVAL <LOCAL.NOTE>+1>_TIME>
LOCAL.NOTE += 1
end
endif
TRYSRV OBJ.ACCOUNT.TAG0.NUMNOTES=<EVAL <OBJ.ACCOUNT.TAG0.NUMNOTES>-1>
SYSMESSAGE Note removed from <obj.account>!
OBJ.DIALOG d_sphereplayernotes
OBJ=<LOCAL.OLDOBJ>
[FUNCTION admin_addnote]
local.oldobj=<obj>
obj=<ctag.notefor>
local.name=<name>
TRYSRV obj.account.tag.numnotes=<eval <obj.account.tag0.numnotes> + 1>
TRYSRV obj.account.tag.note_<eval <obj.account.tag0.numnotes>>=<args>
TRYSRV obj.account.tag.note_<eval <obj.account.tag0.numnotes>>_by=<local.name>
TRYSRV obj.account.tag.note_<eval <obj.account.tag0.numnotes>>_time=<serv.rtime>
sysmessage Note added to account <obj.account.name>!
obj.dialog d_sphereplayernotes
obj=<local.oldobj>
Total votes: 0
Ultima Online 1 gün önce
Sphere Scripting 4 gün önce
Ultima Online 4 gün önce
Ultima Online 1 hafta önce
Duyurular 2 hafta önce
Sunucular 3 hafta önce
Ultima Online 3 hafta önce
Ultima Online 3 hafta önce
Ultima Online 1 ay önce
Ultima Online 1 ay önce
Sunucular 1 ay önce
Sunucular 1 ay önce
2024-10-31 22:47
2024-10-14 17:45
2024-09-26 14:21
2024-07-08 22:50
2024-07-08 22:34
2024-06-19 22:05
2024-06-01 02:19
2024-05-31 21:17
Yorumlar (0)