Ir para conteúdo
Entre para seguir isso  
Mock

Bot cleanner v.4.2

Recommended Posts

Gorgulf    0
Gorgulf

otnetscript lib

eu colokei akele troço la que é pra por no functions.lua

...aonde eu vejo se tem a funsão, uso o Cryng Damson(axo q é esse o nome) 0.3.5 (acho que é essa), é 8.50....(n sei se funfa.-.)

oque era pra acontecer na hora que eu desse use no tile com a action id?

Compartilhar este post


Link para o post
Mock    32
Mock
--- se seu server é TFS 0.3.1 nao inclua essa função

if getTileHouseInfo == nil then

function getTileHouseInfo(pos)

return 0

end

end

----

Faz o teste

deleta isso e tenta ^^

Compartilhar este post


Link para o post
Gorgulf    0
Gorgulf

msm coisa, eu coloquei itens em volta dele, fica na msm, e fica falando a msm coisa, falo bot, fik aparecendo akela po... :P

Compartilhar este post


Link para o post
carlinhogta    0
carlinhogta

kra o meu tava na msm ;S postei ate aki e nao funfo mock tento me ajudo mais nao deu acabei descobrindo o q era alem desse problema q c ta tendo eu tava tendo problema nos npcs q nao falavam aew tirei as funções q tinha colokado no functions.lua e pus na pasta actions\lib\actions.lua

isso aki

function getDistanceTo(p1,p2)

local c = p1

local s = p2

return math.max(math.abs(s.x - c.x), math.abs(s.y - c.y))

end

function doMove(dir,maspos,config) --- funcion by kaotar THHHHHHHHHHHHHHHHHHHHHHHHHHHHHX!!!!

 

System = {

{NORTH, NORTHWEST, NORTHEAST, EAST, WEST},

{EAST, NORTHEAST, SOUTHEAST, NORTH, SOUTH},

{SOUTH, SOUTHEAST, SOUTHWEST, EAST, WEST},

{WEST, SOUTHWEST, NORTHWEST, SOUTH, NORTH},

{SOUTHWEST, SOUTH, WEST, SOUTHEAST, NORTHWEST},

{SOUTHEAST, EAST, SOUTH, NORTHEAST, SOUTHWEST},

{NORTHWEST, WEST, NORTH, SOUTHWEST, NORTHEAST},

{NORTHEAST, NORTH, EAST, NORTHWEST, SOUTHEAST},

{WEST, WEST, SOUTH, NORTHWEST, SOUTHWEST},

{NORTH, NORTH, EAST, NORTHWEST, SOUTHEAST},

{SOUTHEAST, NORTH, EAST, WEST, EAST},

{SOUTHEAST, NORTHEAST, EAST, WEST, EAST},

{SOUTH, SOUTH, EAST, WEST, EAST},

 

}

if config.move_inteligente == TRUE then

local dir_table = System[dir+1]

local tmp

for tmp = 1, #dir_table do

 

if (isWalkable2(getPosByDir({x=maspos.x,y=maspos.y,z= maspos.z},dir_table[tmp])) == TRUE and getTileHouseInfo({x=maspos.x,y=maspos.y,z=maspos.z }) == 0 and getThingfromPos(getPosByDir({x=maspos.x,y=maspos.y ,z=maspos.z},dir_table[tmp])).actionid ~= 500) then

 

return dir_table[tmp]

end

end

return math.random(0,3)

else

return dir

end

end

function getTileHouseInfo(pos)

return FALSE

end

----

function isWalkable2(pos)

local wall0 = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=0})

local wall1 = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=1})

local wall2 = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=2})

local creature = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=255})

if isCreature(creature.uid) == FALSE then

if wall0.uid ~= 0 and hasProperty(wall0.uid, 3) == FALSE and hasProperty(wall0.uid, 7) == FALSE then

if wall1.uid == 0 or (hasProperty(wall1.uid, 3) == FALSE and hasProperty(wall1.uid, 7) == FALSE) then

if wall2.uid == 0 or (hasProperty(wall2.uid, 3) == FALSE and hasProperty(wall2.uid, 7) == FALSE) then

return TRUE

end

end

end

end

return FALSE

end

function hasSqm(maspos)

if getTileThingByPos({x=maspos.x,y=maspos.y,z=maspos. z,stackpos=0}).itemid ~= 0 then

return TRUE

end

end

function doCleanArea(pos, exclusaos,config)

pos1 = {x=pos.x-1,y=pos.y-1,z=pos.z}

pos2 = {x=pos.x+1,y=pos.y+1,z=pos.z}

for x = 0, math.abs(pos1.x-pos2.x) do

for y = 0, math.abs(pos1.y-pos2.y) do

pos3 = {x = pos1.x+x, y = pos1.y+y, z = pos1.z, stackpos = 255}

local coisa = getThingfromPos(pos3)

pos3 = {x = pos1.x+x, y = pos1.y+y, z = pos1.z, stackpos = 0}

local coisa2 = getThingfromPos(pos3)

doSendMagicEffect(pos3,config.BombEfect)

if coisa.itemid ~= 0 then

if isInArray(exclusaos, coisa.itemid) == FALSE and getTileHouseInfo(pos3) == 0 and coisa2.actionid ~= 500 and isWalkable2(pos3) == TRUE then

if config.only_del[1] == nil then

doRemoveItem(coisa.uid, -1)

doSendAnimatedText(pos3,"Deleted", math.random(1,255))

elseif isInArray(config.only_del, coisa.itemid) == TRUE then

doRemoveItem(coisa.uid, -1)

doSendAnimatedText(pos3,"Deleted", math.random(1,255))

end

end

end

end

end

end

function getTileHouseInfo(pos)

return FALSE

end

function isInArea(center, pos2,radius)

if radius ~= 0 then

return TRUE

end

if ((math.abs(center.x - pos2.x) <= radius) and (math.abs(center.y - pos2.y) <= radius)) then

return TRUE

else

return FALSE

end

end

string.trim = function (str)

return (string.gsub(str, "^%s*(.-)%s*$", "%1"))

end

string.explode = function (str, sep)

local pos, t = 1, {}

if #sep == 0 or #str == 0 then

return

end

for s, e in function() return str:find(sep, pos) end do

table.insert(t, str:sub(pos, s - 1):trim())

pos = e + 1

end

table.insert(t, str:sub(pos):trim())

return t

end

function checkItensInArea(item, pos,memory,stack,ignore)

if stack == nil then

local stack = 255

end

for y = 1, 11 do

for x = 1, 15 do

local pos = {x = pos.x+x -7 , y = pos.y+y-5 , z = pos.z,stackpos = stack}

if hasSqm(pos) == TRUE then

local coisa = getThingfromPos(pos)

if coisa.uid ~= 0 then

if (coisa.itemid == item and getTileHouseInfo(pos) == 0 and isWalkable2(pos) == TRUE and memory.ignore ~= coisa.itemid) or (ignore == TRUE and coisa.itemid == item) then

doSendAnimatedText(pos, 'Target!', 200)

return coisa

end

end

end

end

end

end

 

obs:o meu é tfs 0.3.1

Compartilhar este post


Link para o post
Mock    32
Mock

@carlinhogta

isso sew da pq vc deletou tudo do functions.lua e colocou so isso ou apagou algo importante de lá.

@darkness

explique melhor, o bot nao anda é isso?

E siga isso:

http://forums.otserv.com.br/f232/erros-nos-scripts-104381/

 

SS ajuda.

Compartilhar este post


Link para o post
Gorgulf    0
Gorgulf

mock, tipo assim, quando eu do use no tile com o action id, ele fic um efeito, e falando block, em casa eu edito esse post, e posto as ss :P

 

--EDIT--

Especifique: quando dou use na action o efeito aparece mas nem faz nada, não anda, não faz nada.

Especifique qual servidor: TFS 0.3.5 :S

Foto OU texto da janela com o erro: (NO EXECUTAVEL, NÃO ACONTECE NADA DE ++)

Aparece isso na hora que falo bot:

18:42 Parametros insuficientes para 'folow'

18:42 Parametros insuficientes para 'find', Valores existentes limpos

FOTO DO BOT:

[spoiler=FOTO]38900029.png

 

 

QUOTE]

Editado por Gorgulf

Compartilhar este post


Link para o post
Nightz    7
Nightz

Ai Mock, eu coloquei o script, quando falei "bot", deu isso:

20:33 Parametros insuficientes para 'folow'

20:33 Parametros insuficientes para 'find', Valores existentes limpos

Compartilhar este post


Link para o post
Mock    32
Mock

@pedromaluko

nao se fala apenas bot se fala

bot find 6500

bot folow Mock

Compartilhar este post


Link para o post
josimarraizel    0
josimarraizel
[27/10/2009 16:42:48] Lua Script Error: [Action Interface]

[27/10/2009 16:42:48] in a timer event called from:

[27/10/2009 16:42:48] data/actions/scripts/lixos.lua:onUse

 

[27/10/2009 16:42:48] attempt to index a nil value

[27/10/2009 16:42:48] stack traceback:

[27/10/2009 16:42:48] [C]: in function 'isInArray'

[27/10/2009 16:42:48] data/actions/scripts/lixos.lua:49: in function <data/actions/scripts/lixos.lua:24>

 

Alguem sabe me dizer como resolver este erro?

Compartilhar este post


Link para o post
Mock    32
Mock

@josimarraizel

seu servidor nao tem a função isInArray

Compartilhar este post


Link para o post
josimarraizel    0
josimarraizel

tem como solucionar?

Compartilhar este post


Link para o post
Mock    32
Mock

baxa otro server.

Compartilhar este post


Link para o post
josimarraizel    0
josimarraizel

da uma sujestao de um server bom ai :D

Compartilhar este post


Link para o post
josimarraizel    0
josimarraizel

Mock

 

Fiz o download de outro server, esse funcionou, o bot chegou a aparecer porem só fica falando Block Block...

e Nao anda..

 

Não da nenhum erro no console do server.

 

Eu não entendi muito bem as parada de coordenadas ali,

move = {1,2,0,0,0,3,5}

 

Tipo um exemplo, pra ele fazer o seguinte trajeto no inicio ("pra baixo" "pra direita" "Direita" "pra cima" "pra cima" "pra esquerda")

Como ficaria esse trajeto assim no "move = {}"

 

[spoiler=Imagem do BOT]erroqt.jpg

 

 

O function.lua esta assim:

[spoiler=Function.lua]

function doPlayerGiveItem(cid, itemid, amount, subType)

local item = 0

if(isItemStackable(itemid)) then

item = doCreateItemEx(itemid, amount)

if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then

return false

end

else

for i = 1, amount do

item = doCreateItemEx(itemid, subType)

if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then

return false

end

end

end

 

return true

end

 

function doPlayerTakeItem(cid, itemid, amount)

return getPlayerItemCount(cid, itemid) >= amount and doPlayerRemoveItem(cid, itemid, amount)

end

 

function doPlayerBuyItem(cid, itemid, count, cost, charges)

return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItem(cid, itemid, count, charges)

end

 

function doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges)

if(not doPlayerRemoveMoney(cid, cost)) then

return false

end

 

for i = 1, count do

local container = doCreateItemEx(containerid, 1)

for x = 1, getContainerCapById(containerid) do

doAddContainerItem(container, itemid, charges)

end

 

if(doPlayerAddItemEx(cid, container, true) ~= RETURNVALUE_NOERROR) then

return false

end

end

 

return true

end

 

function doPlayerSellItem(cid, itemid, count, cost)

if(not doPlayerTakeItem(cid, itemid, count)) then

return false

end

 

if(not doPlayerAddMoney(cid, cost)) then

error('[doPlayerSellItem] Could not add money to: ' .. getPlayerName(cid) .. ' (' .. cost .. 'gp).')

end

 

return true

end

 

function doPlayerWithdrawMoney(cid, amount)

if(not getBooleanFromString(getConfigInfo('bankSystem'))) then

return false

end

 

local balance = getPlayerBalance(cid)

if(amount > balance or not doPlayerAddMoney(cid, amount)) then

return false

end

 

doPlayerSetBalance(cid, balance - amount)

return true

end

 

function doPlayerDepositMoney(cid, amount)

if(not getBooleanFromString(getConfigInfo('bankSystem'))) then

return false

end

 

if(not doPlayerRemoveMoney(cid, amount)) then

return false

end

 

doPlayerSetBalance(cid, getPlayerBalance(cid) + amount)

return true

end

 

function isPremium(cid)

return (isPlayer(cid) and (getPlayerPremiumDays(cid) > 0 or getBooleanFromString(getConfigInfo('freePremium'))))

end

 

function getMonthDayEnding(day)

if(day == "01" or day == "21" or day == "31") then

return "st"

elseif(day == "02" or day == "22") then

return "nd"

elseif(day == "03" or day == "23") then

return "rd"

end

 

return "th"

end

 

function getMonthString(m)

return os.date("%B", os.time{year = 1970, month = m, day = 1})

end

 

function getArticle(str)

return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a"

end

 

function isNumber(str)

return tonumber(str) ~= nil

end

 

function doPlayerAddAddons(cid, addon)

for i = 0, table.maxn(maleOutfits) do

doPlayerAddOutfit(cid, maleOutfits, addon)

end

 

for i = 0, table.maxn(femaleOutfits) do

doPlayerAddOutfit(cid, femaleOutfits, addon)

end

end

 

function doPlayerWithdrawAllMoney(cid)

return doPlayerWithdrawMoney(cid, getPlayerBalance(cid))

end

 

function doPlayerDepositAllMoney(cid)

return doPlayerDepositMoney(cid, getPlayerMoney(cid))

end

 

function doPlayerTransferAllMoneyTo(cid, target)

return doPlayerTransferMoneyTo(cid, target, getPlayerBalance(cid))

end

 

function playerExists(name)

return getPlayerGUIDByName(name) ~= 0

end

 

function getTibiaTime()

local minutes = getWorldTime()

local hours = 0

while (minutes > 60) do

hours = hours + 1

minutes = minutes - 60

end

 

return {hours = hours, minutes = minutes}

end

 

function doWriteLogFile(file, text)

local f = io.open(file, "a+")

if(not f) then

return false

end

 

f:write("[" .. os.date("%d/%m/%Y %H:%M:%S") .. "] " .. text .. "\n")

f:close()

return true

end

 

function getExperienceForLevel(lv)

lv = lv - 1

return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3

end

 

function doMutePlayer(cid, time)

local condition = createConditionObject(CONDITION_MUTED)

setConditionParam(condition, CONDITION_PARAM_TICKS, time * 1000)

return doAddCondition(cid, condition)

end

 

function getPlayerGroupName(cid)

return getGroupInfo(getPlayerGroupId(cid)).name

end

 

function getPlayerVocationName(cid)

return getVocationInfo(getPlayerVocation(cid)).name

end

 

function getPromotedVocation(vid)

return getVocationInfo(vid).promotedVocation

end

 

function doPlayerRemovePremiumDays(cid, days)

return doPlayerAddPremiumDays(cid, -days)

end

 

function getPlayerMasterPos(cid)

return getTownTemplePosition(getPlayerTown(cid))

end

 

function getHouseOwner(houseId)

return getHouseInfo(houseId).owner

end

 

function getHouseName(houseId)

return getHouseInfo(houseId).name

end

 

function getHouseEntry(houseId)

return getHouseInfo(houseId).entry

end

 

function getHouseRent(houseId)

return getHouseInfo(houseId).rent

end

 

function getHousePrice(houseId)

return getHouseInfo(houseId).price

end

 

function getHouseTown(houseId)

return getHouseInfo(houseId).town

end

 

function getHouseTilesCount(houseId)

return getHouseInfo(houseId).tiles

end

 

function getItemNameById(itemid)

return getItemDescriptionsById(itemid).name

end

 

function getItemPluralNameById(itemid)

return getItemDescriptionsById(itemid).plural

end

 

function getItemArticleById(itemid)

return getItemDescriptionsById(itemid).article

end

 

function getItemName(uid)

return getItemDescriptions(uid).name

end

 

function getItemPluralName(uid)

return getItemDescriptions(uid).plural

end

 

function getItemArticle(uid)

return getItemDescriptions(uid).article

end

 

function getItemText(uid)

return getItemDescriptions(uid).text

end

 

function getItemSpecialDescription(uid)

return getItemDescriptions(uid).special

end

 

function getItemWriter(uid)

return getItemDescriptions(uid).writer

end

 

function getItemDate(uid)

return getItemDescriptions(uid).date

end

 

function getTilePzInfo(pos)

return getTileInfo(pos).protection

end

 

function getTileZoneInfo(pos)

local tmp = getTileInfo(pos)

if(tmp.pvp) then

return 2

end

 

if(tmp.nopvp) then

return 1

end

 

return 0

end

 

function doShutdown()

return doSetGameState(GAMESTATE_SHUTDOWN)

end

 

function doSummonCreature(name, pos)

local cid = doCreateMonster(name, pos)

if(not cid) then

cid = doCreateNpc(name, pos)

end

 

return cid

end

 

function getOnlinePlayers()

local tmp = getPlayersOnline()

local players = {}

for i, cid in ipairs(tmp) do

table.insert(players, getCreatureName(cid))

end

 

return players

end

 

function getPlayerByName(name)

local cid = getCreatureByName(name)

return isPlayer(cid) and cid or nil

end

 

function isPlayer(cid)

return isCreature(cid) and cid >= AUTOID_PLAYERS and cid < AUTOID_MONSTERS

end

 

function isPlayerGhost(cid)

if(not isPlayer(cid)) then

return false

end

 

return getCreatureCondition(cid, CONDITION_GAMEMASTER, GAMEMASTER_INVISIBLE) or getPlayerFlagValue(cid, PlayerFlag_CannotBeSeen)

end

 

function isMonster(cid)

return isCreature(cid) and cid >= AUTOID_MONSTERS and cid < AUTOID_NPCS

end

 

function isNpc(cid)

return isCreature(cid) and cid >= AUTOID_NPCS

end

 

function doPlayerSetExperienceRate(cid, value)

return doPlayerSetRate(cid, SKILL__LEVEL, value)

end

 

function doPlayerSetMagicRate(cid, value)

return doPlayerSetRate(cid, SKILL__MAGLEVEL, value)

end

 

function doPlayerAddLevel(cid, amount, round)

local experience, level = 0, getPlayerLevel(cid)

if(amount > 0) then

experience = getExperienceForLevel(level + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(level))

else

experience = -((round and getPlayerExperience(cid) or getExperienceForLevel(level)) - getExperienceForLevel(level + amount))

end

 

return doPlayerAddExperience(cid, experience)

end

 

function doPlayerAddMagLevel(cid, amount)

for i = 1, amount do

doPlayerAddSpentMana(cid, (getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid)) / getConfigInfo('rateMagic'))

end

return true

end

 

function doPlayerAddSkill(cid, skill, amount, round)

if(skill == SKILL__LEVEL) then

return doPlayerAddLevel(cid, amount, round)

elseif(skill == SKILL__MAGLEVEL) then

return doPlayerAddMagLevel(cid, amount)

end

 

return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))

end

 

function getPartyLeader(cid)

local party = getPartyMembers(cid)

if(type(party) ~= 'table') then

return 0

end

 

return party[1]

end

 

function isInParty(cid)

return type(getPartyMembers(cid)) == 'table'

end

 

function isPrivateChannel(channelId)

return channelId >= CHANNEL_PRIVATE

end

 

function doPlayerResetIdleTime(cid)

return doPlayerSetIdleTime(cid, 0)

end

 

function doBroadcastMessage(text, class)

local class = class or MESSAGE_STATUS_WARNING

if(type(class) == 'string') then

local className = MESSAGE_TYPES[class]

if(className == nil) then

return false

end

 

class = className

elseif(class < MESSAGE_FIRST or class > MESSAGE_LAST) then

return false

end

 

local players = getPlayersOnline()

for _, pid in ipairs(players) do

doPlayerSendTextMessage(pid, class, text)

end

 

print("> Broadcasted message: \"" .. text .. "\".")

return true

end

 

function doPlayerBroadcastMessage(cid, text, class, checkFlag, ghost)

local checkFlag, ghost, class = checkFlag or true, ghost or false, class or TALKTYPE_BROADCAST

if(checkFlag and not getPlayerFlagValue(cid, PLAYERFLAG_CANBROADCAST)) then

return false

end

 

if(type(class) == 'string') then

local className = TALKTYPE_TYPES[class]

if(className == nil) then

return false

end

 

class = className

elseif(class < TALKTYPE_FIRST or class > TALKTYPE_LAST) then

return false

end

 

local players = getPlayersOnline()

for _, pid in ipairs(players) do

doCreatureSay(cid, text, class, ghost, pid)

end

 

print("> " .. getCreatureName(cid) .. " broadcasted message: \"" .. text .. "\".")

return true

end

 

function getBooleanFromString(str)

return (str:lower() == "yes" or str:lower() == "true" or (tonumber(str) and tonumber(str) > 0))

end

 

function doCopyItem(item, attributes)

local attributes = attributes or false

 

local ret = doCreateItemEx(item.itemid, item.type)

if(attributes) then

if(item.actionid > 0) then

doSetItemActionId(ret, item.actionid)

end

end

 

if(isContainer(item.uid)) then

for i = (getContainerSize(item.uid) - 1), 0, -1 do

local tmp = getContainerItem(item.uid, i)

if(tmp.itemid > 0) then

doAddContainerItemEx(ret, doCopyItem(tmp, true).uid)

end

end

end

 

return getThing(ret)

end

 

function doRemoveThing(uid)

if(isCreature(uid)) then

return doRemoveCreature(uid)

end

 

return doRemoveItem(uid)

end

function getDistanceTo(p1,p2)

local c = p1

local s = p2

return math.max(math.abs(s.x - c.x), math.abs(s.y - c.y))

end

function doMove(dir,maspos,config) --- funcion by kaotar THHHHHHHHHHHHHHHHHHHHHHHHHHHHHX!!!!

 

System = {

{NORTH, NORTHWEST, NORTHEAST, EAST, WEST},

{EAST, NORTHEAST, SOUTHEAST, NORTH, SOUTH},

{SOUTH, SOUTHEAST, SOUTHWEST, EAST, WEST},

{WEST, SOUTHWEST, NORTHWEST, SOUTH, NORTH},

{SOUTHWEST, SOUTH, WEST, SOUTHEAST, NORTHWEST},

{SOUTHEAST, EAST, SOUTH, NORTHEAST, SOUTHWEST},

{NORTHWEST, WEST, NORTH, SOUTHWEST, NORTHEAST},

{NORTHEAST, NORTH, EAST, NORTHWEST, SOUTHEAST},

}

if config.move_inteligente == TRUE then

local dir_table = System[dir+1]

local tmp

for tmp = 1, #dir_table do

 

if (isWalkable2(getPosByDir({x=maspos.x,y=maspos.y,z= maspos.z},dir_table[tmp])) == TRUE and getTileHouseInfo({x=maspos.x,y=maspos.y,z=maspos.z }) == 0 and getThingfromPos(getPosByDir({x=maspos.x,y=maspos.y ,z=maspos.z},dir_table[tmp])).actionid ~= 500) then

 

return dir_table[tmp]

end

end

return math.random(0,3)

else

return dir

end

end

function isWalkable2(pos)

local wall0 = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=0})

local wall1 = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=1})

local wall2 = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=2})

local creature = getThingfromPos({x=pos.x, y=pos.y, z=pos.z, stackpos=255})

if isCreature(creature.uid) == FALSE then

if wall0.uid ~= 0 and hasProperty(wall0.uid, 3) == FALSE and hasProperty(wall0.uid, 7) == FALSE then

if wall1.uid == 0 or (hasProperty(wall1.uid, 3) == FALSE and hasProperty(wall1.uid, 7) == FALSE) then

if wall2.uid == 0 or (hasProperty(wall2.uid, 3) == FALSE and hasProperty(wall2.uid, 7) == FALSE) then

return TRUE

end

end

end

end

return FALSE

end

function hasSqm(maspos)

if getTileThingByPos({x=maspos.x,y=maspos.y,z=maspos. z,stackpos=0}).itemid ~= 0 then

return TRUE

end

end

 

function checkItensInArea(item, pos,memory,stack,ignore)

if stack == nil then

local stack = 255

end

for y = 1, 11 do

for x = 1, 15 do

local pos = {x = pos.x+x -7 , y = pos.y+y-5 , z = pos.z,stackpos = stack}

if hasSqm(pos) == TRUE then

local coisa = getThingfromPos(pos)

if coisa.uid ~= 0 then

if (coisa.itemid == item and getTileHouseInfo(pos) == 0 and isWalkable2(pos) == TRUE and memory.ignore ~= coisa.itemid) or (ignore == TRUE and coisa.itemid == item) then

doSendAnimatedText(pos, 'Target!', 200)

return coisa

end

end

end

end

end

end

function doCleanArea(pos, exclusaos,config)

pos1 = {x=pos.x-1,y=pos.y-1,z=pos.z}

pos2 = {x=pos.x+1,y=pos.y+1,z=pos.z}

for x = 0, math.abs(pos1.x-pos2.x) do

for y = 0, math.abs(pos1.y-pos2.y) do

pos3 = {x = pos1.x+x, y = pos1.y+y, z = pos1.z, stackpos = 255}

local coisa = getThingfromPos(pos3)

pos3 = {x = pos1.x+x, y = pos1.y+y, z = pos1.z, stackpos = 0}

local coisa2 = getThingfromPos(pos3)

doSendMagicEffect(pos3,config.BombEfect)

if coisa.itemid ~= 0 then

if isInArray(exclusaos, coisa.itemid) == FALSE and getTileHouseInfo(pos3) == 0 and coisa2.actionid ~= 500 and isWalkable2(pos3) == TRUE then

if config.only_del[1] == nil then

doRemoveItem(coisa.uid, -1)

doSendAnimatedText(pos3,"Deleted", math.random(1,255))

elseif isInArray(config.only_del, coisa.itemid) == TRUE then

doRemoveItem(coisa.uid, -1)

doSendAnimatedText(pos3,"Deleted", math.random(1,255))

end

end

end

end

end

end

--- Thanks jovial for tihs function

--- http://forums.otserv.com.br/f154/funcao-inscreen-2-0-by-jovial-3363/

function isInArea(center, pos2,radius)

if radius ~= 0 then

return TRUE

end

if ((math.abs(center.x - pos2.x) <= radius) and (math.abs(center.y - pos2.y) <= radius)) then

return TRUE

else

return FALSE

end

end

string.trim = function (str)

return (string.gsub(str, "^%s*(.-)%s*$", "%1"))

end

string.explode = function (str, sep)

local pos, t = 1, {}

if #sep == 0 or #str == 0 then

return

end

for s, e in function() return str:find(sep, pos) end do

table.insert(t, str:sub(pos, s - 1):trim())

pos = e + 1

end

table.insert(t, str:sub(pos):trim())

return t

end

function getTileHouseInfo(pos)

return FALSE

end

 

Editado por josimarraizel
adicionar o "function.lua"

Compartilhar este post


Link para o post
Mock    32
Mock

@josimarraizel

o bot nao funciuona em nem servidor sem ser no que o post fala, eu ja disse isso 5x

e a tabela move é cima, baixo direita etc a diferença que usa numeros ao inves de string.

Compartilhar este post


Link para o post
eletroboy97    0
eletroboy97

nos resta apenas esperar por um update pra tsf 0.3.5

Compartilhar este post


Link para o post
Mock    32
Mock

@eletroboy97

na otewra update para TFS 0.3.5 pois é o pior TFS de todos e nao merece update.

quando sair o 0.4 ou o 0.3.6 eu fasso update

Compartilhar este post


Link para o post
eletroboy97    0
eletroboy97

@mock

creio eu que agora com o novo update do tibia será lançada uma nova versão do tsf...

só nos resta esperar

Compartilhar este post


Link para o post
lokote    0
lokote

3.6pl1? plx

Compartilhar este post


Link para o post
seilamw    0
seilamw

pode me dizer onde fica o functions.lua? gostei, mas não to encontrando, já até pesquisei no sistema inteiro pofihpoiadshf

 

:B

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×