Log in

View Full Version : Is there a way to setup Sio for teammates



Angel101
04-13-2013, 09:12 AM
I have never been able to do this. How would one set up a Sio for teammates would that be a script? Or an option already enabled in the bot. Any pointers would be great. Thanks.

Spectrus
04-13-2013, 09:18 AM
Script.

Edit: Something like this...?


local config = {}

config.nameList = {"Eternal Oblivion", "Bubbles", "Tomurka"}
config.partyEnabled = true
config.healPercent = 85

Module.New("auto_sio", function()
local p = Self.GetSpectators()
for i = 1, #p do
local creature = p[i]
if (config.partyEnabled and creature:isPartyMember()) or (table.contains(config.nameList, creature:Name())) then
if Self.CanCastSpell("exura sio") and (creature:HealthPercent() <= config.healPercent) then
Self.Say("exura sio '" .. creature:Name())
end
end
end
end)

Tobjun
04-13-2013, 10:04 AM
Script.

Edit: Something like this...?


local config = {}

config.nameList = {"Eternal Oblivion", "Bubbles", "Tomurka"}
config.partyEnabled = true

Module.New("auto_sio", function()
local p = Self.GetSpectators()
for i = 1, #p do
local creature = p[i]
if (config.partyEnabled and creature:isPartyMember()) or (table.contains(config.nameList, creature:Name())) then
if Self.CanCastSpell("exura sio") then
Self.Say("exura sio '" .. creature:Name())
end
end
end
end)


so at what %age would this one heal ^^?

Sponx
04-13-2013, 10:17 AM
Isn't using a sio script, really dangerous when it comes to bans? Just something I've heard.

Spectrus
04-13-2013, 10:23 AM
so at what %age would this one heal ^^?

Hah, all. Woops!

Tobjun
04-13-2013, 12:30 PM
Hah, all. Woops!

hehe ;p

Wovimus
04-13-2013, 01:52 PM
Syntax version here:

--[[
Auto Healer
Version 1.02
Created by Syntax
]]

local config = {
WhiteList = {"Eternal Oblivion"},
healWhiteList = true, -- heal players specified in the whitelist
healParty = true, -- heal party members
healAlly = true, -- heal war allies

range = 4, -- max distance to heal players
mana = 140, -- minimum mana needed to cast
health = 70, -- % of friends health to heal at

method = "exura sio" -- this is the only method currently, rune healing will be added later
}

local function sio(name)
if(Self.Mana() >= config.mana)then
Self.Say("exura sio \""..name)
sleep(math.random(200,600))
end
end

local function think()
for i = CREATURES_LOW, CREATURES_HIGH do
local creature = Creature.GetFromIndex(i)
if (creature:isValid()) then
if (creature:isOnScreen() and creature:isVisible() and creature:isAlive()) then
local name = creature:Name()
if(creature:isWarAlly() and config.healAlly) or (creature:isPartyMember() and config.healParty) or (table.find(config.WhiteList, name, false) and config.healWhiteList)then
if(creature:DistanceFromSelf() <= config.range) and (creature:HealthPercent() <= config.health)then
if(config.method == "exura sio")then
sio(name)
else
displayInformationMessage("Unsupported method type in Auto Healer Script!")
end
end
end
end
end
end
end

local function display()
local display = "Auto Healer by Syntax (v1.02)\n------------------\n\nMethod: " .. config.method .. "\nHeal Party: " .. tostring(config.healParty) .. "\n" .. "Heal War Allies: " .. tostring(config.healAlly)
if(config.healWhiteList)then
display = display .. "\n" .. "Heal Players:" .. table.concat(config.WhiteList, ", ")
end
displayInformationMessage(display)
end

display()

while true do
think()
wait(100,300)
end

Eion
04-13-2013, 04:19 PM
Here is another version for healing a specific person only. This uses UH's instead of Sio.


function AutoUH()
local Afriend = Creature.New("FRIENDS NAME HERE")
local AfriendHealth = Afriend:HealthPercent()
local AfriendPos = Afriend:Position()
local UHid = 3160 -- ID OF HEALING RUNES
local backpack = Container.GetByName("blue backpack") -- Open backpack containing healing runes
if (AfriendHealth <= 55) and (Self.DistanceFromPosition(AfriendPos.x, AfriendPos.y, AfriendPos.z) <= 7) and (Self.Position().z == AfriendPos.z) then
for spots = 0, backpack:ItemCount() do
local item = backpack:GetItemData(spots)
if (item.id == UHid) then
backpack:UseItemWithCreature(spots, Afriend:ID())
break
end
end
end
end


while true do
AutoUH()
wait(500,1000)
end

bombo
04-16-2013, 11:31 AM
should i chance the range to 6, this way it can heal my blocker any where on the screen?

Syntax version here:

--[[
Auto Healer
Version 1.02
Created by Syntax
]]

local config = {
WhiteList = {"Eternal Oblivion"},
healWhiteList = true, -- heal players specified in the whitelist
healParty = true, -- heal party members
healAlly = true, -- heal war allies

range = 4, -- max distance to heal players
mana = 140, -- minimum mana needed to cast
health = 70, -- % of friends health to heal at

method = "exura sio" -- this is the only method currently, rune healing will be added later
}

local function sio(name)
if(Self.Mana() >= config.mana)then
Self.Say("exura sio \""..name)
sleep(math.random(200,600))
end
end

local function think()
for i = CREATURES_LOW, CREATURES_HIGH do
local creature = Creature.GetFromIndex(i)
if (creature:isValid()) then
if (creature:isOnScreen() and creature:isVisible() and creature:isAlive()) then
local name = creature:Name()
if(creature:isWarAlly() and config.healAlly) or (creature:isPartyMember() and config.healParty) or (table.find(config.WhiteList, name, false) and config.healWhiteList)then
if(creature:DistanceFromSelf() <= config.range) and (creature:HealthPercent() <= config.health)then
if(config.method == "exura sio")then
sio(name)
else
displayInformationMessage("Unsupported method type in Auto Healer Script!")
end
end
end
end
end
end
end

local function display()
local display = "Auto Healer by Syntax (v1.02)\n------------------\n\nMethod: " .. config.method .. "\nHeal Party: " .. tostring(config.healParty) .. "\n" .. "Heal War Allies: " .. tostring(config.healAlly)
if(config.healWhiteList)then
display = display .. "\n" .. "Heal Players:" .. table.concat(config.WhiteList, ", ")
end
displayInformationMessage(display)
end

display()

while true do
think()
wait(100,300)
end

nashat
04-16-2013, 11:39 AM
Sio script is detectable ^^

Ohman
04-16-2013, 11:50 AM
Sio script is detectable ^^
everything is detectable, what makes you think a sio script would be easier to detect?

Mannow
04-16-2013, 12:01 PM
Perhaps DarkstaR could make a video blog on this.
Many many people for years now have been saying that sio scripts are "very detectable"/

Are they actually "more detectable" than other functions, or is it just a myth?

I think this is something many people would like to hear coming from Nick himself.

nashat
04-16-2013, 01:45 PM
Mannow, I don't think its a myth ^^

It's easier to detect because a normal human can't heal 20+ different people

Fuzzy
04-16-2013, 02:27 PM
Mannow, I don't think its a myth ^^

It's easier to detect because a normal human can't heal 20+ different people


ive had people telling me this just healing one person i can understand it being true on healing multi people but what about just one

reecey
04-16-2013, 02:49 PM
Perhaps DarkstaR could make a video blog on this.
Many many people for years now have been saying that sio scripts are "very detectable"/

Are they actually "more detectable" than other functions, or is it just a myth?

I think this is something many people would like to hear coming from Nick himself.

This actually makes no sense what anyone is saying about it being detectable lol

Sio is just a spell like any other and it is sent by the bot the same as any other... It's like saying exura and exori flam are more detectable.

As long as the time between casts are randomized or matches the speed of holding a hotkey down then there's no reason to worry and that only if the detection tool even monitors the time between casts.

Please anyone with more knowledge correct me as i'm no pro with botting but this just seems common sense to me and alot of you guys aren't stopping to think before 'typing'.

@ the healing 20 people thing... Don't we get 36 hotkeys to play with? So we can easily heal over 20 players not to mention if they have notepad side-by-side and then they can copy/paste an unlimited amount of characters to sio pretty fast. Even without notepad you can right click to copy name and have a hotkey do [exura sio "] then you can just paste the name and you're go!

DarkstaR
04-16-2013, 02:53 PM
I don't believe there is any specific attribute of sio scripts which makes them any more dangerous than any other bot. While it is possible that Tibia's detection system favors sio scripts, while giving less traction to detection normal self healers, it makes no fucking sense why that would be the case.

The only possible issue is that the people getting banned with sio scripts are using terribly made sio scripts which heal impossibly fast. Every built-in function in XenoBot has a randomized time delay that is invisible to most people but makes an astounding difference to detection heuristics. I've said for years that the quality of scripts determines if they will be detected, and that is likely the case here (if there is actually a higher ban rate for those using sio scripts).

reecey
04-16-2013, 02:58 PM
I don't believe there is any specific attribute of sio scripts which makes them any more dangerous than any other bot. While it is possible that Tibia's detection system favors sio scripts, while giving less traction to detection normal self healers, it makes no fucking sense why that would be the case.

The only possible issue is that the people getting banned with sio scripts are using terribly made sio scripts which heal impossibly fast. Every built-in function in XenoBot has a randomized time delay that is invisible to most people but makes an astounding difference to detection heuristics. I've said for years that the quality of scripts determines if they will be detected, and that is likely the case here (if there is actually a higher ban rate for those using sio scripts).

Well... This confirms my post :)

Thanks for the reply i think it was needed for many people who don't understand much or are new to botting/

Fuzzy
04-16-2013, 02:59 PM
well i dont know much about lua but is there a way to randomize the percent at when u use sio to like at + or - 3% like in the bot healer..



also the sio script i use is the one syntax posted on the forums but i changed the 2 wait times in that script to this


sleep(math.random(1000,1300) , sleep(math.random(1000,1600)


now my other questions are is it better to use wait or sleep and is that enough delay in the script to be human and the script uses health percent

Mannow
04-16-2013, 04:02 PM
BTW reecey, I myself thought the exact same as you, I just wrote my post in an Unbiased way asking for Darkstar to share his thoughts, as most people wouldn't care for my opinion but if Darkstar says it, they won't argue, much :P

I believe that most bots are pretty "undetectable" these days, I personally think that every time someone gets banned 95% of the time It's because they have:


Been botting in a spawn like mutated humans, dara dragons, and other popular places and been reported MANY times.
Been using self made, or borrowed .LUA scripts that are poorly made (Repeat rates and random values not correctly made)
Ran out of money and stood there saying "Hi" or some shit repeatedly.
Eating food exactly every 264 second



***All of these things are called "User Errors" and are problems that are not from Xenobot itself

I've seen many SIO scripts where the player just spams exhaustion because he's trying to heal his entire party in war with an exhaustion rate far too low
That would mean he has set his .LUA wrong.


SO BASICALLY:
My opinion is that SIO script is no more detectable than any other function, it's only seen that way because not many bot's have ever had an Exura Sio function on the bot, rather all made as external scripts which are often made poorly.
I personally think that if there isn't so much other higher priority things needed to be done, and if it won't take so long, DarkstaR could possibly implement an in-built exura sio function which will auto heal "Player name" at "Player percent".

It will be preset to have the lowest "safe" exhaustion rate for exura sio so that it will only cast sio if it won't exhaust you etc, just like your self healing is set.
This way people can use a "safe" exura sio rather than risk using a .LUA that is made poorly, and besides, most people are unaware of correct timers and rates.


Perhaps the "Frag helper" could be renamed to "Battle helper" and an "Heal friend" tab can be places just under the "Combo bot" tab, and then that opens up a box where you enter your players name, and heal percent value next to it.

It will prioritise to heal whoever is highest on the list, OR whoever is at lowest Health percent?

What do you think DarkstaR?

bombo
04-16-2013, 07:35 PM
I wonder whats the difference between this one and Syntax one, if i only wanted to heal my blocker.
like i dont need it for a way or to heal multple eks
Script.

Edit: Something like this...?


local config = {}

config.nameList = {"Eternal Oblivion", "Bubbles", "Tomurka"}
config.partyEnabled = true
config.healPercent = 85

Module.New("auto_sio", function()
local p = Self.GetSpectators()
for i = 1, #p do
local creature = p[i]
if (config.partyEnabled and creature:isPartyMember()) or (table.contains(config.nameList, creature:Name())) then
if Self.CanCastSpell("exura sio") and (creature:HealthPercent() <= config.healPercent) then
Self.Say("exura sio '" .. creature:Name())
end
end
end
end)

bombo
04-16-2013, 08:10 PM
I am using
--[[
Auto Healer
Version 1.02
Created by Syntax
]]

local config = {
WhiteList = {"Darkme"},
healWhiteList = true, -- heal players specified in the whitelist
healParty = true, -- heal party members
healAlly = true, -- heal war allies

range = 6, -- max distance to heal players
mana = 140, -- minimum mana needed to cast
health = 70, -- % of friends health to heal at

method = "exura sio" -- this is the only method currently, rune healing will be added later
}

local function sio(name)
if(Self.Mana() >= config.mana)then
Self.Say("exura sio \""..name)
sleep(math.random(200,600))
end
end

local function think()
for i = CREATURES_LOW, CREATURES_HIGH do
local creature = Creature.GetFromIndex(i)
if (creature:isValid()) then
if (creature:isOnScreen() and creature:isVisible() and creature:isAlive()) then
local name = creature:Name()
if(creature:isWarAlly() and config.healAlly) or (creature:isPartyMember() and config.healParty) or (table.find(config.WhiteList, name, false) and config.healWhiteList)then
if(creatureistanceFromSelf() <= config.range) and (creature:HealthPercent() <= config.health)then
if(config.method == "exura sio")then
sio(name)
else
displayInformationMessage("Unsupported method type in Auto Healer Script!")
end
end
end
end
end
end
end

local function display()
local display = "Auto Healer by Syntax (v1.02)\n------------------\n\nMethod: " .. config.method .. "\nHeal Party: " .. tostring(config.healParty) .. "\n" .. "Heal War Allies: " .. tostring(config.healAlly)
if(config.healWhiteList)then
display = display .. "\n" .. "Heal Players:" .. table.concat(config.WhiteList, ", ")
end
displayInformationMessage(display)
end

display()

while true do
think()
wait(100,300)
end
and
I get this error

21:08 XenoScript Error:
Script: 12sio.lua
Line #: 34
Chunk: ...\Andy?Documents?XenoBot?Scripts?12sio.lua
Error: attempt to call global 'creatureistanceFromSelf' (a nil value)
This is an error with user-input and should not be reported as a bug with XenoBot.

mjdonizetti
04-17-2013, 08:30 PM
^

Change
creatureistanceFromSelf() at line 29 to
creature:DistanceFromSelf().

Fuzzy
04-17-2013, 08:57 PM
ahahahhahahahha

Wizzard
05-11-2013, 01:11 PM
I really wonder when we get a decent sio script up on this forum :p

harley112233
05-27-2013, 01:21 AM
im having trouble gettin this work :/

im seetting like this is it right?


local config = {}
config.nameList = {"Son Of Dexter"}
config.partyEnabled = true
config.healPercent = 85
Module.New("auto_sio", function()
local p = Self.GetSpectators()
for i = 1, #p do
local creature = p[i]
if (config.partyEnabled and creature:isPartyMember()) or (table.contains(config.nameList, creature:Name())) then
if Self.CanCastSpell("exura sio") and (creature:HealthPercent() <= config.healPercent) then
Self.Say("exura sio '" .. creature:Name())
end
end
end
end)

harley112233
05-27-2013, 01:35 AM
it works but when trys heal it says (exura sio 'players name) doesnt have the " before players name

umby
05-27-2013, 08:55 PM
harley, do this


change

Self.Say("exura sio '" .. creature:Name())

to

Self.Say("exura sio \"" .. creature:Name())

Cee
10-20-2014, 06:37 AM
this true? Is it easily detectable?

Kito2
11-10-2014, 06:16 PM
Here is another version for healing a specific person only. This uses UH's instead of Sio.


function AutoUH()
local Afriend = Creature.New("FRIENDS NAME HERE")
local AfriendHealth = Afriend:HealthPercent()
local AfriendPos = Afriend:Position()
local UHid = 3160 -- ID OF HEALING RUNES
local backpack = Container.GetByName("blue backpack") -- Open backpack containing healing runes
if (AfriendHealth <= 55) and (Self.DistanceFromPosition(AfriendPos.x, AfriendPos.y, AfriendPos.z) <= 7) and (Self.Position().z == AfriendPos.z) then
for spots = 0, backpack:ItemCount() do
local item = backpack:GetItemData(spots)
if (item.id == UHid) then
backpack:UseItemWithCreature(spots, Afriend:ID())
break
end
end
end
end


while true do
AutoUH()
wait(500,1000)
end

Worked, thanks :)

jollebollen
11-10-2014, 07:19 PM
Sio script is detectable ^^

Lol I have used sio scripts for years and I have never been deleted.

Nosarios
11-12-2014, 07:42 AM
Syntax version here:

--[[
Auto Healer
Version 1.02
Created by Syntax
]]

local config = {
WhiteList = {"Eternal Oblivion"},
healWhiteList = true, -- heal players specified in the whitelist
healParty = true, -- heal party members
healAlly = true, -- heal war allies

range = 4, -- max distance to heal players
mana = 140, -- minimum mana needed to cast
health = 70, -- % of friends health to heal at

method = "exura sio" -- this is the only method currently, rune healing will be added later
}

local function sio(name)
if(Self.Mana() >= config.mana)then
Self.Say("exura sio \""..name)
sleep(math.random(200,600))
end
end

local function think()
for i = CREATURES_LOW, CREATURES_HIGH do
local creature = Creature.GetFromIndex(i)
if (creature:isValid()) then
if (creature:isOnScreen() and creature:isVisible() and creature:isAlive()) then
local name = creature:Name()
if(creature:isWarAlly() and config.healAlly) or (creature:isPartyMember() and config.healParty) or (table.find(config.WhiteList, name, false) and config.healWhiteList)then
if(creature:DistanceFromSelf() <= config.range) and (creature:HealthPercent() <= config.health)then
if(config.method == "exura sio")then
sio(name)
else
displayInformationMessage("Unsupported method type in Auto Healer Script!")
end
end
end
end
end
end
end

local function display()
local display = "Auto Healer by Syntax (v1.02)\n------------------\n\nMethod: " .. config.method .. "\nHeal Party: " .. tostring(config.healParty) .. "\n" .. "Heal War Allies: " .. tostring(config.healAlly)
if(config.healWhiteList)then
display = display .. "\n" .. "Heal Players:" .. table.concat(config.WhiteList, ", ")
end
displayInformationMessage(display)
end

display()

while true do
think()
wait(100,300)
end


Hello Syntax,

Is it me, or when we share experience the healparty function is not working? Do we need an alternative for this?


With best regards,
Nos.

rihop
11-12-2014, 09:07 AM
Hello Syntax,

Is it me, or when we share experience the healparty function is not working? Do we need an alternative for this?


With best regards,
Nos.

its true when u enable expshare it wont work anymore, also i noticed it on the AUTO AREA ATK where it also dont work, so i quess partymember() dont work on exp share...

i hope that will get fixed somhow...

FlashPointx
11-12-2014, 08:49 PM
Script.

Edit: Something like this...?


local config = {}

config.nameList = {"Eternal Oblivion", "Bubbles", "Tomurka"}
config.partyEnabled = true
config.healPercent = 85

Module.New("auto_sio", function()
local p = Self.GetSpectators()
for i = 1, #p do
local creature = p[i]
if (config.partyEnabled and creature:isPartyMember()) or (table.contains(config.nameList, creature:Name())) then
if Self.CanCastSpell("exura sio") and (creature:HealthPercent() <= config.healPercent) then
Self.Say("exura sio '" .. creature:Name())
end
end
end
end)





Do you copy and paste that to note pad? Im just used to clicking a download link. thanks in advance.

sholh
12-18-2015, 12:08 AM
is there any potion heal script pleasE?