Thank you Child.24/7
1º After some tests the best food is fishing, 1bp of worms I train like 4~~5 days with only 2k, I don't care with magic level right now because will up with level advances.
2º To apper HUD you need the persistent to take screenshot and enable your HUD named "SSTaker" I think is default.
SCREENSHOT:
init start
local UseSmartScreenshot = true
local Skills = {
-- Downgrades
Death = true,
-- Upgrades
Level = true,
Magic = true,
Fist = true,
Axe = true,
Club = true,
Sword = true,
Distance = true,
Shielding = true,
Fishing = true,
}
-- DO NOT EDIT BELOW --
local screenShotFunc = function(a)
if UseSmartScreenshot and smartscreenshot ~= nil then
return smartscreenshot(a)
end
return screenshot(a)
end
init end
auto(400, 800)
foreach newmessage m do
if m.type == MSG_STATUS or m.type == MSG_ADVANCE then
local Skill = m.content:match('You advanced .- (.-)[%s%.].-')
if Skill and Skills[Skill:capitalize()] then
screenShotFunc(string.format('Advance_%s_%s', $name, os.date('%Y-%m-%d %H-%M-%S')))
end
end
end
if Skills.Death and $dead then
screenShotFunc(string.format('Death_%s_%s', $name, os.date('%Y-%m-%d %H-%M-%S')))
repeat
wait(1000)
until not $dead
end
HUD:
init start
-- local SCRIPT_VERSION = '1.0.1'
-- screenshot options
local saveOriginal = false -- save full original, unaltered screenshot
local createWorldVersion = true -- create a version of the screenshot that only shows the world area
local createFullVersion = false -- create a version of the screenshot that shows the whole client
local focusClient = true -- focus client before taking the screenshot
local drawHuds = true -- if desktop composition is enabled (Windows Vista, 7 or 8), draw HUDs on SS
local relocateHuds = true -- draws the huds at a custom location on the screenshot (need desktop composition enabled)
local compressionQuality = 100 -- file compression rate, values ranging from 1 to 100
-- hud locations, relative to world window. negative coordinates will be right / bottom aligned
local relocateLocations = {
{ name = "GeneralInfo", x = 4, y = -20 },
{ name = "MonitorMyStats", x = 0, y = 0 },
{ name = "MonitorMyHunting", x = - 242, y = 0 },
}
-- alteration options
local showEquipment = true -- show your character equipment on world screenshot
local hidePersonalInfo = true -- hide personal info on screenshot (character name)
local hideHudInfo = true -- hide personal info on HUD (must be supported by HUD)
-- technical settings
local hideMethod = "both" -- "shuffle" = shuffle pixels, "blur" = blur region, "both" = both (strongest)
local textSearchTolerance = 30 -- how many % of the text for hiding we want to can be obstructed (by other text on top)
-- internal setup (don't change below)
-- note: textures/child_huds get rendered in the order
-- they were created and not selected, needs fixing
local glowTexture = createtexture()
local clientTexture = createtexture()
local shotTexture = createtexture()
local glowRendered = false
local takeScreenshot = false
local fileName = 'smartss'
local function renderglow()
local rectSize = 34
local glowSize = 4
local fullSize = glowSize + rectSize + glowSize
-- leave space for glow on edges
selecthud(glowTexture)
setfixedsize(fullSize, fullSize)
-- fill with transparent color
setbordercolor(-1)
setfillstyle("color", -1)
drawrect(0, 0, fullSize, fullSize)
-- black rect in center
setfillstyle("color", 0x80000000)
drawrect(glowSize, glowSize, rectSize-1, rectSize-1)
-- apply glow around rect
drawgloweffect(0x000000, glowSize)
--hudsnapshot("glow", 100)
end
local function copyequip()
local slotLocations = {37, 2, 0, 16, 74, 16, 37, 39, 74, 53, 0, 53, 37, 76, 37, 113, 0, 90, 74, 90}
local equipx, equipy = getwindowpos("equip")
if equipx ~= nil then
local destx = $worldwin.width - 123 - 16
local desty = $worldwin.height - 155 - 16
for i=1,10 do
local slotx = 10 + slotLocations[i*2-1]
local sloty = 4 + slotLocations[i*2]
-- add glow
setcompositionmode(CompositionMode_SourceOver)
drawtexture(glowTexture, destx+slotx-2, desty+sloty-2, 100)
-- copy equip slot
setcompositionmode(CompositionMode_Automatic)
drawtexture(clientTexture, destx+slotx, desty+sloty, 100, equipx - $clientwin.x + slotx, equipy - $clientwin.y + sloty, 34, 34)
end
end
end
local function hideregion(r)
if hideMethod == "shuffle" or hideMethod == "both" then
drawshufflepixelseffect(r.left, r.top, r.width, r.height)
end
if hideMethod == "blur" or hideMethod == "both" then
drawblureffect(r.left, r.top, r.width, r.height, 8, 2)
end
end
local function takeshot()
if hudready(clientTexture) and hudready(shotTexture) and hudready(glowTexture) then
local worldx = $worldwin.x - $clientwin.x
local worldy = $worldwin.y - $clientwin.y
local worldw = $worldwin.width
local worldh = $worldwin.height
-- grab whole client screen
selecthud(clientTexture)
setfixedsize($clientwin.width, $clientwin.height)
grabclientwindow()
if saveOriginal then
hudsnapshot(fileName .. ".original", compressionQuality)
end
-- hide information
if hidePersonalInfo then
-- hide name in chat text in world window ($name says:)
hideclienttext($name, worldx, worldy, worldw, worldh, true, hideMethod, 8, 2, textSearchTolerance)
if createFullVersion then
-- hide name in chat window
hideclienttext($name, 0, worldy + worldh + 62, -194, -22, false, hideMethod, 8, 2)
-- hide private channel names
foreach channel c do
if c.outid > 6 then
hideclienttext(c.name, 0, worldy + worldh + 44, -194, 16, true, hideMethod, 8, 2)
end
end
end
-- hide name above char, in case the other way failed (text/other names on top?)
local r = getnamearea($self, worldw, worldh)
if r then
-- map to client coordinates, and expand
r.left = r.left + worldx
r.top = r.top + worldy + 1
r.width = r.width + 1
r.height = r.height + 2
-- hide the region
hideregion(r)
end
end
if drawHuds and not $windowsxp then
-- draw huds transparently
setcompositionmode(CompositionMode_SourceOver)
local i = 0
while isscript("display", i) do
local listname = scriptlistname("display", i)
local x = nil
local y = nil
if relocateHuds then
for _, h in ipairs(relocateLocations) do
if h.name == listname then
if h.x < 0 then x = worldx + worldw + h.x else x = worldx + h.x end
if h.y < 0 then y = worldy + worldh + h.y else y = worldy + h.y end
end
end
end
grabhud(listname, x, y)
i = i + 1
end
-- restore changed defaults
setcompositionmode(CompositionMode_Automatic)
end
-- draw windbot logo
setcompositionmode(CompositionMode_SourceOver)
local logow, logoh = 64, 64
drawimage('windbot.png', worldx + 5, worldy + worldh - (logoh + 25), 0, 0, logow, logoh)
-- restore changed defaults
setcompositionmode(CompositionMode_Automatic)
if createFullVersion then
hudsnapshot(fileName .. ".full", compressionQuality)
end
if createWorldVersion then
-- render a glow effect to place under equip
if not glowRendered then
renderglow()
glowRendered = true
end
-- switch to screenshot texture
selecthud(shotTexture)
setfixedsize(worldw, worldh)
-- copy world area of client
drawtexture(clientTexture, 0, 0, 100, worldx, worldy, worldw, worldh)
-- copy equipment
if showEquipment then
copyequip()
end
-- save texture to file
hudsnapshot(fileName .. ".world", compressionQuality)
-- free texture
freetexture(shotTexture)
end
-- release texture contents to free memory (without deleting it)
-- we won't be using it until next screenshot
freetexture(clientTexture)
end
end
function smartscreenshot(name)
takeScreenshot = true
fileName = name or 'smartss'
end
auto(50)
init end
-- runtime part
if takeScreenshot then
if not TakingScreenshot then
-- huds can check for TakingScreenshot type
-- to avoid drawing identifiable information
TakingScreenshot = hideHudInfo and ("hide_personal_info method:" .. hideMethod) or "normal"
debugscript("Taking screenshot")
-- huds can be hidden and outdated if client not focused
-- and give chance for hud to hide personal info
forcerefreshhuds()
debugscript("Huds refreshed")
-- take the screenshot
takeshot()
debugscript("Done")
TakingScreenshot = nil
end
takeScreenshot = false
end
I'll PM you spot
ps: nice name
I wasn't sure how to copy/paste that HUD script? I am using it as persistent in the right section but it doesn't seem to work, so maybe I am doing something wrong?
I await your PM.