I've written this script to help you monitor your weapons as you level them. it keeps track of current Exp, it's level, durability points, points gained on last kill or spurt of killing and also displays how many points left until the next level. It's not perfect and sometimes misses a death due to programming restrictions but on the whole it's ok. I hope you find it useful.
Code: Select all
;
;=================================================================
; Script Name: Wep Leveling Aid
; Author: Bearman (Excelsior Shard)
; Version: 1.0
; Client Tested with: 5.0.9.1
; EUO version tested with: 1.5 Version 176
; Shard FS:
; Public Release: 18th July 2011
;=================================================================
display target your wep
set #targcurs 1
while #targcurs = 1
wait 1
set %wepid #ltargetid
set %gain 0
set %quiver 0
set %add 0
gosub wepinfo
gosub showEUOMenu1
main:
if #ENEMYID <> N/A
set %enemyold #ENEMYID
if %enemyold <> N/A && #ENEMYID = N/A
{
event Property %wepid
;wait 1
set %weppropcheck #property
if %wepname notin %weppropcheck
goto main
if %wepprop <> %weppropcheck
{
str len %weppropcheck
if #strres > 10
goto change
}
}
goto main
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; spotting changes
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
change:
str len %weppropcheck
set #strres ( #strres - %quiver )
if #strres <> %weppropLen
gosub wepinfo
str mid %weppropcheck %expstart %explen
if %wepexp <> #strres
{
set %gain #strres - %wepexp
event ExMsg #charID 2 70 EXP , #spc , + , %gain
event ExMsg #charID 2 70 #spc
event ExMsg #charID 2 70 #spc
set %wepexp #strres
menu delete wepexp2
menu Font Align right
menu text wepexp2 180 35 %wepexp
menu delete lastkill2
menu text lastkill2 180 110 + , %gain
)
set %wepprop %weppropcheck
set %enemyold N/A
str mid %weppropcheck %levelstart %levellen
if %weplevel <> #strres
{
set %weplevel #strres
gosub level
menu delete weplevel2
menu text weplevel2 180 60 %weplevel
}
str mid %weppropcheck %levelstart %levellen
if %weplevel <> #strres
{
set %weplevel #strres
menu delete weplevel2
menu text weplevel2 180 60 %weplevel
}
str mid %weppropcheck %durastart %duralen
if %durability <> #strres
{
set %durability #strres
if %durability <= 10
menu Font Color red
menu delete durability2
menu text durability2 180 85 %durability
menu font color white
}
set %nextlev %total - %wepexp + 100
menu delete nextlev2
menu text nextlev2 180 135 %nextlev
goto main
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Getting wep info
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
sub wepinfo
Event Property %wepid
set %wepprop #property
if level notin %wepprop
{
display That is not a leverable wep. Stopping.
Halt
}
str len %wepprop
set %weppropLen #strRes
if quiver in %wepprop
{
set %weppropLen ( %weppropLen - 20 )
set %quiver 20
}
for %i 1 %weppropLen
{
str mid %wepprop 1 %i + 1
if $ in #strRes
{
Set %i %i - 1
str mid %wepprop 1 %i
set %wepname #strRes
goto getdurability
}
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Getting Where Experience starts in property
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
getdurability:
set %search 1 ; just creates the variable
set %weppropLen2 %weppropLen
while %search <> #spc
{
str mid %wepprop %weppropLen2 1
set %weppropLen2 ( %weppropLen2 - 1 )
set %search #strRes
}
set %weppropLen2 ( %weppropLen2 + 2 )
set %expstart %weppropLen2
if quiver in %wepprop
set %explen ( %weppropLen - %weppropLen2 ) - 1
Else
set %explen ( %weppropLen - %weppropLen2 )
str mid %wepprop %expstart %explen
set %wepexp #strres
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Getting Where Level starts in property
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
set %weppropLen2 ( %weppropLen2 - 14 )
set %levelend %weppropLen2 + 1
set %search 1 ; just creates the variable
while %search <> #spc
{
str mid %wepprop %weppropLen2 1
set %weppropLen2 ( %weppropLen2 - 1 )
set %search #strRes
}
set %levelstart %weppropLen2 + 2
set %levellen %levelend - %levelstart
str mid %wepprop %levelstart %levellen
set %weplevel #strres
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Getting Where Durability starts in property
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
set %weppropLen2 ( %weppropLen2 - 7 )
for %i 1 2
{
set %search 1 ; just creates the variable
while %search <> #spc
{
str mid %wepprop %weppropLen2 1
set %weppropLen2 ( %weppropLen2 - 1 )
set %search #strRes
}
}
str mid %wepprop %weppropLen2 2
set %duraend %weppropLen2
set %weppropLen2 ( %weppropLen2 - 1 )
set %search 1 ; just creates the variable
while %search <> #spc
{
str mid %wepprop %weppropLen2 1
set %weppropLen2 ( %weppropLen2 - 1 )
set %search #strRes
}
set %weppropLen2 ( %weppropLen2 + 2 )
set %durastart %weppropLen2
set %duraend ( %duraend + 1 )
set %duralen %duraend - %durastart
str mid %wepprop %durastart %duralen
set %durability #strres
gosub level
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Getting Calculating points till next level
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
sub level
set %total 0
for %i 0 %weplevel
{
set %add ( %i * 100 ) * 2
set %total %total + %add
}
set %total %total + ( %i * 100 ) - 100
set %nextlev %total - %wepexp
return
;---------------------------------
sub showEUOMenu1
menu Clear
menu Window Title Wep Level
menu Window Transparent 100
menu Window Color black
menu Window Size 190 170
menu Font Name MS Sans Serif
menu Font Transparent #false
menu Font Align left
menu Font Size 14
menu Font Color Green
menu Font Style
menu Font BGColor black
menu button wepname 10 5 170 29 %wepname
menu Font Color white
menu text wepexp 10 35 Exp:
menu text weplevel 10 60 Level:
menu text durability 10 85 Durability:
menu text lastkill 10 110 Last Kill:
menu text nextlev 10 135 Till Gain:
menu Font Align right
menu text wepexp2 180 35 %wepexp
menu text weplevel2 180 60 %weplevel
menu text durability2 180 85 %durability
menu text lastkill2 180 135 %gain
menu text nextlev2 180 135 %nextlev
menu Font Align left
menu Show 850 200
menu HideEUO
return
;---------------------------------