;==================================
; 脚本名称: McMurder's Statistical Multi-Stealing Trainer
; 作者: PonyXpress/McMurderer
; 版本: 1.00
; 经过测试的客户端: 4.0.1b (patch 1
; 要求easyuo最低版本: 1.41 build 0067
; 发布时间:2004年1月31日
; 是否使用全局变量:没有使用全局变量
; 目的: 训练你的小偷技能从0-GM
;==================================
; 这是一个训练偷窃技能的脚本
; 你只需要准备好以下物品就可以运行脚本训练你的偷窃技能了.
; 1. 1000 金币.
; 2. 200 熟矿块 ( 不管什么颜色只要堆成一堆就可以) .
; 3. 20 空瓶子.
; 4. 20 空白卷轴.
; 5. 两个容器放在身上 (建议买两个那种扎口的小布袋,一般用来装药材的那种) .
; 6. 将上面提到的金币、熟矿块、空瓶子、空白卷轴统统放在其中的一个容器里面.
; 7. 在自己的房子放置一个箱子并且用i wish to secure this命令保全了.箱子可以用木盒、木匣.
; 8. 站在上面被保全的箱子一步以内的距离也就是贴着箱子站.
; 9. 运行脚本,脚本运行期间最好不要移动鼠标,如果要移动就请把游戏窗口最小化到任务栏.
; 注: 本人使用此脚本的分辨率设置是: 系统桌面分辨率 1024X768
; UO窗口全屏幕分辨率 800X600
; UO游戏窗口分辨率 640X480
initevents
gosub initalize
gosub datawindow
loop:
gosub windowupdate
ITEM2STEAL:
set %item #random % 4
if %item = 0
set %stealable POF ; gold
if %item = 1
set %stealable WUF ; bottles
if %item = 2
set %stealable DPF ; scrolls
if %item = 3
set %stealable ENK ; ingots
finditem %stealable C_ , %itempack
if #findkind = -1
goto ITEM2STEAL
if #findtype = POF
{
if #findstack < 1000
goto ITEM2STEAL
event drag #findid
wait 15
gosub windowupdate
set %amount ( ( #skill / 100 ) + 1 ) * 50
set %TGold %TGold + %amount
msg %amount $
wait 15
gosub windowupdate
}
if #findtype = ENK
{
if #findstack < 200
goto ITEM2STEAL
event drag #findid
wait 15
gosub windowupdate
set %amount ( ( #skill / 100 ) + 1 ) * 10
set %TIngots %TIngots + %amount
msg %amount $
wait 15
gosub windowupdate
}
if #findtype = DPF
{
if #findstack < 20
goto ITEM2STEAL
event drag #findid
wait 15
gosub windowupdate
set %amount #skill / 100 + 1
set %TScrolls %TScrolls + %amount
msg %amount $
wait 15
gosub windowupdate
}
if #findtype = WUF
{
if #findstack < 20
goto ITEM2STEAL
event drag #findid
wait 15
gosub windowupdate
set %amount #skill / 100 + 1
set %TBottles %TBottles + %amount
msg %amount $
wait 15
gosub windowupdate
}
finditem %stealpack
if #findtype = ZJF
set #findmod 20_14 ; BackPack
if #findtype = LKF
set #findmod 25_8 ; Pouch
if #findtype = CKF set #findmod 20_10 ; Bag
click #findx #findy p
wait 20
gosub windowupdate
finditem %stealable C_ , %stealpack
set #ltargetid #findid
set #ltargetkind 1
Timer:
if %updateTime < #scnt
{
gosub windowupdate
set %updateTime #scnt + 1
}
if %stealtime > #scnt
goto Timer
event macro 13 33
target
event macro 22
set %stealTime #scnt + 12
set %attempts %attempts + 1
if #findtype = POF
set %goldSuc %goldSuc + 1
if #findtype = ENK
set %ingotSuc %ingotSuc + 1
if #findtype = WUF
set %bottleSuc %bottleSuc + 1
if #findtype = DPF
set %scrollSuc %scrollSuc + 1
wait 15
gosub windowupdate
finditem %stealable C_ , %BP
if #findkind = -1
{
set %fail %fail + 1
setuotitle %fail %item
if %stealable = POF
set %goldFail %goldFail + 1
if %stealable = ENK
set %ingotFail %ingotFail + 1
if %stealable = WUF
set %bottleFail %bottleFail + 1
if %stealable = DPF
set %scrollFail %scrollFail + 1
}
if #findkind <> -1
{
if #findtype = POF
set %stoldgold %stoldgold + #findstack
if #findtype = ENK
set %stoldingots %stoldingots + #findstack
if #findtype = WUF
set %stoldbottles %stoldbottles + #findstack
if #findtype = DPF
set %stoldscrolls %stoldscrolls + #findstack
event drag #findid
wait 20
gosub windowupdate
msg $
wait 20
gosub windowupdate
finditem %itempack
if #findtype = ZJF
set #findmod 20_14 ; BackPack
if #findtype = LKF
set #findmod 25_8 ; Pouch
if #findtype = CKF
set #findmod 20_10 ; Bag
click #findx #findy p
wait 20
gosub windowupdate
}
finditem %stealable C_ , %stealpack
if #findkind <> -1
{
event drag #findid
wait 20
gosub windowupdate
msg $
wait 20
gosub windowupdate
finditem %itempack
if #findtype = ZJF
set #findmod 20_14 ; BackPack
if #findtype = LKF
set #findmod 25_8 ; Pouch
if #findtype = CKF
set #findmod 20_10 ; Bag
click #findx #findy p
wait 20
gosub windowupdate
}
goto loop
sub initalize
; %P = Packhorse ID
; %BP = BackPack ID
; %stealpack = container on packyhorse
; %itempack = container in main backpack
linespercycle 1000
set %STime #scnt2 ; Set Starting TIME
chooseskill stea ; Choose which skill your going to monitor "Stealing"
set %SSkill #skill ; Starting Skill
set %attempts 0 ; number of attempts
set %stealtime 0 ; Stealing Timer
set %updateTime 0 ; Timer used to update Cronometers
set %gainTime 0 ; Variable used to activate Since Gain Cronometer
set %fail 0 ; Fail Variable
set %failRate 0 ; Fail Rate Variable
set %stoldgold 0 ; How much gold you have stole
set %stoldingots 0 ; How many ingots you swiped
set %stoldbottles 0 ; Number of HOT Bottles you have
set %stoldscrolls 0 ; Ripped off Scrolls
set %goldFail 0 ; Number of Fails attempting to steal gold
set %ingotFail 0 ; Number of Fails attempting to steal ingots
set %scrollFail 0 ; Number of Fails attempting to steal scrolls
set %bottleFail 0 ; Number of Fails attempting to steal bottles
set %goldSuc 0 ; Number of Attempts stealing gold
set %ingotSuc 0 ; Number of Attempts stealing ingots
set %scrollSuc 0 ; Number of Attempts stealing scrolls
set %bottleSuc 0 ; Number of Attempts stealing bottles
set %TGold 0 ; Total amount of Gold That has been attempted to swipe
set %TIngots 0 ; Total amount of Ingots That has been attempted to swipe
set %TScrolls 0 ; Total amount of Scrolls That has been attempted to swipe
set %TBottles 0 ; Total amount of Bottles That has been attempted to swipe
set %skillgain #skill - %SSkill ; inital skill gain check
event macro 31 0
wait 20
set #nextCPosX 0
set #nextCPosY 0
event macro 8 7
wait 20
set %BP #contid
wait 20
event macro 3 0 All Follow Me
wait 40
event macro 3 0 All Guard Me
;finditem WN_BO G_2 ; find packy
finditem UMF_KIF_CUD_HKF G_1
if #findkind <> -1
{
set %P #findid
set #lobjectid #findid
set #nextCPosX 0
set #nextCPosY 200
event macro 17
wait 20
}
wait 10
stacker:
finditem ZJF_CKF_LKF C
if #findkind <> -1
{
event drag #findid
wait 20
click 177 56 p
wait 20
ignoreitem #findid
goto stacker
}
ignoreitem reset
finditem ZJF_CKF_LKF C
if #findkind <> -1
{
set %ItemPack #findid
event drag #findid
wait 15
click 177 178 p
wait 15
}
opener:
finditem ZJF_CKF_LKF C
if #findkind <> -1
{
if #findid = %itempack
{
ignoreitem #findid
goto opener
}
set #lobjectid #findid
set #nextCPosX 400
set #nextCPosY 0
event macro 17 0
wait 20
ignoreitem #findid
goto opener
}
ignoreitem reset
stacker1:
finditem POF_ENK_DPF_WUF C
if #findkind <> -1
{
event drag #findid
wait 20
msg $
wait 20
finditem %itempack
if #findtype = ZJF
set #findmod 20_14 ; BackPack
if #findtype = LKF
set #findmod 25_8 ; Pouch
if #findtype = CKF
set #findmod 20_10 ; Bag
click #findx #findy p
wait 20
goto stacker1
}
ignoreitem reset
set #lobjectid %itempack
set #nextCPosX 250
set #nextCPosY 0
event macro 17 0
wait 20
stacker2:
finditem ZJF_CKF_LKF C_ , %BP
if #findkind <> -1
{
if #findid = %itempack
{
ignoreitem #findid
goto stacker2
}
set %stealpack #findid
event drag #findid
wait 20
click 105 282 p
wait 20
}
ignoreitem reset
event macro 31 0
wait 25
set #nextCPosX 0
set #nextCPosY 0
event macro 8 7
wait 25
set #lobjectid %itempack
set #nextCPosX 200
set #nextCPosY 0
event macro 17 0
wait 25
set #lobjectid %P
set #nextCPosX 0
set #nextCPosY 200
event macro 17
wait 20
set #lobjectid %stealpack
set #nextCPosX 0
set #nextCPosY 400
event macro 17 0
wait 20
return
sub datawindow
menu clear
menu show 400 19
menu hide
menu font size 8
menu window color black
menu font BGcolor black
menu window size 400 75
menu show 400 19
menu window title 偷窃技能训练脚本
menu font style b
menu font color white
menu text label_1 2 2 运行时间:
menu font color $00FF99
menu text label_2 2 20 上涨过后:
menu font color $FFFF00
menu text label_3 2 38 相隔时间:
menu font style b|u
menu font color $6633FF
menu text label_4 15 56 失败率总计:
menu font style b
menu font color $FF66FF
menu text label_5 149 2 技能:
menu text label_6 148 17 上涨:
menu text label_7 148 32 尝试:
menu font style
menu font color $00FF99
menu text temp_1 65 20 00:00:00
menu font color $FFFF00
menu text temp_2 65 38 00:00:00
menu font style u
menu text label_200 260 0 偷到
menu text label_201 300 0 次数
menu font color red
menu text label_202 330 0 失败
menu font style b|u
menu font color $66FF66
menu font size 8
menu text label_204 361 0 成功率
menu font size 8
menu font color white
menu font style
menu text label_100 220 17 金币:
menu text label_110 220 31 矿块:
menu text label_120 220 46 卷轴:
menu text label_130 220 61 瓶子:
return
sub windowupdate
menu font align right
menu font color white
; RUN-TIME TIMER
set %CTime #scnt2
set %elapsed %CTime - %STime
set %hour %elapsed / 36000
set %min ( %elapsed / 600 ) % 60
set %sec ( %elapsed / 10 ) % 60
menu delete second
if %sec < 10
menu text second 104 2 : , 0 , %sec
if %sec => 10
menu text second 104 2 : , %sec
menu delete minute
if %min < 10
menu text minute 89 2 : , 0 , %min
if %min => 10
menu text minute 89 2 : , %min
menu delete hour
menu text hour 74 2 %hour
; SINCE GAIN TIMER
if %gainTime <> 0
{
menu font style
menu font color $00FF99
menu delete temp_1
set %CTime #scnt2
set %elapsed %CTime - %gaintime
set %hour %elapsed / 36000
set %min ( %elapsed / 600 ) % 60
set %sec ( %elapsed / 10 ) % 60
menu delete Gsecond
if %sec < 10
menu text Gsecond 104 20 : , 0 , %sec
if %sec => 10
menu text Gsecond 104 20 : , %sec
menu delete Gminute
if %min < 10
menu text Gminute 89 20 : , 0 , %min
if %min => 10
menu text Gminute 89 20 : , %min
menu delete Ghour
menu text Ghour 74 20 %hour
}
chooseskill stea
if #skill - %SSkill <> %skillgain
set %gaintime #scnt2
set %skillgain #skill - %SSkill
menu font color yellow
str len #skill
if #strres = 3
{
str left #skill 2
set %skillL #strres
str right #skill 1
set %skillR #strres
}
if #strres = 4
{
str left #skill 3
set %skillL #strres
str right #skill 1
set %skillR #strres
}
menu delete label_50
menu text label_50 203 2 %skillL , #dot , %skillR
menu delete label_60
menu text label_60 203 17 %skillgain
menu delete label_70
menu text label_70 203 32 %attempts
set %temp %fail
set %failRate %fail * 100 / %attempts
menu font style b
menu font size 14
menu font color $6633FF
menu delete label_40
menu text label_40 195 51 % , %failRate
menu font size 8
menu font style
menu font color white
menu delete label_210
menu text label_210 275 17 %stoldgold
menu delete label_211
menu text label_211 315 17 %goldSuc
set %temp %goldFail * 100 / %goldSuc
menu delete label_212
menu font color $CC66FF
menu text label_212 350 17 % , %temp
menu font color $66FF66
set %temp ( %stoldgold * 100 ) / %TGold
menu delete label_213
menu text label_213 385 17 % , %temp
menu font color white
menu delete label_220
menu text label_220 275 31 %stoldingots
menu delete label_221
menu text label_221 315 31 %ingotSuc
set %temp %ingotFail * 100 / %ingotSuc
menu delete label_222
menu font color $CC66FF
menu text label_222 350 31 % , %temp
menu font color $66FF66
set %temp ( %stoldingots * 100 ) / %TIngots
menu delete label_223
menu text label_223 385 31 % , %temp
menu font color white
menu delete label_230
menu text label_230 275 46 %stoldscrolls
menu delete label_231
menu text label_231 315 46 %scrollSuc
set %temp %scrollFail * 100 / %scrollSuc
menu delete label_332
menu font color $CC66FF
menu text label_332 350 46 % , %temp
menu font color $66FF66
set %temp ( %stoldscrolls * 100 ) / %TScrolls
menu delete label_333
menu text label_333 385 46 % , %temp
menu font color white
menu delete label_240
menu text label_240 275 61 %stoldbottles
menu delete label_241
menu text label_241 315 61 %bottleSuc
set %temp %bottleFail * 100 / %bottleSuc
menu delete label_242
menu font color $CC66FF
menu text label_242 350 61 % , %temp
menu font color $66FF66
set %temp ( %stoldbottles * 100 ) / %TBottles
menu delete label_243
menu text label_243 385 61 % , %temp
menu font color white
; GAIN EVERY TIMER
if %skillgain <> 0
{
menu font color $FFFF00
menu delete temp_2
set %CTime #scnt2
set %elapsed %CTime - %STime
if %skillgain > 1
set %elapsed ( %CTime - %STime ) / %skillgain
set %hour ( %elapsed / 36000 )
set %min ( ( %elapsed / 600 ) % 60 )
set %sec ( ( %elapsed / 10 ) % 60 )
menu delete SGsecond
if %sec < 10
menu text SGsecond 104 38 : , 0 , %sec
if %sec => 10
menu text SGsecond 104 38 : , %sec
menu delete SGminute
if %min < 10
menu text SGminute 89 38 : , 0 , %min
if %min => 10
menu text SGminute 89 38 : , %min
menu delete SGhour
menu text SGhour 74 38 %hour
}
return
; ------------ END OF SCRIPT ----------------------