Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Vocês devem tá colocando o id do corpo errado, testa apenas com 1 pokemon.

Tentei mais quando clico no corpo morto do pokemon não vem nenhum item para a bp :(

Link para o post
Compartilhar em outros sites
  • Respostas 43
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Bom, vi por aqui e não achei nenhum autoloot igual o da pxg ou sem bugs, então decidi vir aqui postar o que eu fiz. Vamos lá.   1º - Vá na pasta Lib, no arquivo some functions.lua e adicione isso d

Tenta assim : lib na some fuctions.lua  no final end como o dono do topico fez!   vai actions/script   cria arquivo.lua e escreve autoloot.lua, dentro você coloka assim:     No tol

Posted Images

Rep+ 

Vlw Man, tive q altera algumas coisinhas na script mais funciono!

obrigado por arruma a base!

 

Sugestao* : acho melhor voce deixa tabela, eu tinha tirado tabela, e n funcionava!

so coloka explicação para pessoal coloka intens na tabela!

 

topl, tive tambem msm erro, tenta fazer assim, coloka o id do intem na tabela,

e vai data/monster no pokemon e pega corpse de la!

e coloka la no actions so 1 e abre e testa!

Editado por tofpankadao (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Algum erro na distro?

Não :)

 

Rep+ 

Vlw Man, tive q altera algumas coisinhas na script mais funciono!

obrigado por arruma a base!

 

Sugestao* : acho melhor voce deixa tabela, eu tinha tirado tabela, e n funcionava!

so coloka explicação para pessoal coloka intens na tabela!

 

topl, tive tambem msm erro, tenta fazer assim, coloka o id do intem na tabela,

e vai data/monster no pokemon e pega corpse de la!

e coloka la no actions so 1 e abre e testa!

Mim ajuda porfavor? pode passa a sua script do Autoloot e mim fala como que vai funciona? 

Link para o post
Compartilhar em outros sites

Tenta assim :

lib na some fuctions.lua  no final end como o dono do topico fez!

function doPlayerAddItemStacking(cid, itemid, quant)

local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid)
local piles = 0
if #item > 0 then
for i,x in pairs(item) do
if getThing(x).type < 100 then
local it = getThing(x)
doTransformItem(it.uid, itemid, it.type+quant)
if it.type+quant > 100 then
doPlayerAddItem(cid, itemid, it.type+quant-100)
end
else
piles = piles+1
end
break
end
else
return doPlayerAddItem(cid, itemid, quant)
end
if piles == #item then
doPlayerAddItem(cid, itemid, quant)
end

end

 

vai actions/script   cria arquivo.lua e escreve autoloot.lua, dentro você coloka assim:

 

local toloot = {11441, 11442, 11443, 11444, 11445, 11446, 11447, 11448, 11449,11450, 11451, 11452, 11453, 11454, 12618, 12232, 12244}

function onUse(cid, item, frompos, item2, topos)
if getItemAttribute(item.uid, "corpseowner") ~= cid then
doPlayerSendCancel(cid, "You're not the owner.")
return true
end
local items = {}
for x=0, (getContainerSize(item.uid)) do
local itens = getContainerItem(item.uid, x)
if isInArray(toloot, itens.itemid) then
table.insert(items, {i=itens.itemid, q=itens.type})
doRemoveItem(itens.uid)
break
end
end
for y=1, #items do
doPlayerAddItemStacking(cid, items[y].i, items[y].q)
doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".")
end
if #items > 0 then
return true
else
return false
end

end

 

No toloot acima, vc coloka id que você pretende os intens do pokemon!

 

Depois vai actions.xml e adicione

 

<action itemid="" event="script" value="Autoloot.lua"/>

 

dentro de itemid="", coloque os id do corpses

 

Tente pega os Id do pokemon no monster/pokes/1 geração

pega charizard e coloka la no actions.xml e faiz teste!

e funciona você vai adicionando os corpses!

Editado por tofpankadao (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Gabrielbsales o sistema funcionou aqui agora mais só que quando os items vem para a bp do player dar esse erro ai

[18/09/2014 11:27:06] [Error - Action Interface] 
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:onUse
[18/09/2014 11:27:06] Description: 
[18/09/2014 11:27:06] (luaDoRemoveItem) Item not found
 
[18/09/2014 11:27:06] [Error - Action Interface] 
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:onUse
[18/09/2014 11:27:06] Description: 
[18/09/2014 11:27:06] (luaDoPlayerAddItem) Item not found
 
[18/09/2014 11:27:06] [Error - Action Interface] 
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:onUse
[18/09/2014 11:27:06] Description: 
[18/09/2014 11:27:06] data/lib/050-function.lua:227: attempt to index a boolean value
[18/09/2014 11:27:06] stack traceback:
[18/09/2014 11:27:06]  data/lib/050-function.lua:227: in function 'getItemNameById'
[18/09/2014 11:27:06]  data/actions/scripts/Autoloot.lua:18: in function <data/actions/scripts/Autoloot.lua:2>
Editado por TopllDanStar (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

poderia posta seu 050-function.lua

pra eu ve!

ai

 

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 doPlayerGiveItemContainer(cid, containerid, itemid, amount, subType)
for i = 1, amount do
local container = doCreateItemEx(containerid, 1)
for x = 1, getContainerCapById(containerid) do
doAddContainerItem(container, itemid, subType)
end
 
if(doPlayerAddItemEx(cid, container, true) ~= RETURNVALUE_NOERROR) then
return false
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)
return doPlayerRemoveMoney(cid, cost) and doPlayerGiveItemContainer(cid, containerid, itemid, count, charges)
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)
    if str:find("[AaEeIiOoUuYy]") then 
  return str:find("[AaEeIiOoUuYy]") == 1 and "an" or "a"
    else
       print("Error trying to use Look.lua in a pokeball!!")
       return "a"
    end
end
 
function isNumber(str)
return tonumber(str) ~= nil
end
 
function doPlayerAddAddons(cid, addon)
for i = 0, table.maxn(maleOutfits) do
doPlayerAddOutfit(cid, maleOutfits[i], addon)
end
 
for i = 0, table.maxn(femaleOutfits) do
doPlayerAddOutfit(cid, femaleOutfits[i], 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, displayError)
local displayError, cid = displayError or true, doCreateMonster(name, pos, displayError)
if(not cid) then
cid = doCreateNpc(name, pos, displayError)
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)
    amount = tonumber(amount) or 1
    if amount <= 0 then amount = 1 end
                                         
if(skill == SKILL__LEVEL) then    
return doPlayerAddLevel(cid, amount, round)
elseif(skill == SKILL__MAGLEVEL) then
return doPlayerAddMagLevel(cid, amount)
end
 
    for i = 1, amount do
   doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill'))
    end
    return true
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(input)
local tmp = type(input)
if(tmp == 'boolean') then
return input
end
 
if(tmp == 'number') then
return input > 0
end
 
local str = string.lower(tostring(input))
return (str == "yes" or str == "true" or (tonumber(str) ~= nil 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
doItemSetAttribute(ret, "aid", 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 setAttackFormula(combat, type, minl, maxl, minm, maxm, min, max)
local min, max = min or 0, max or 0
return setCombatFormula(combat, type, -1, 0, -1, 0, minl, maxl, minm, maxm, min, max)
end
 
function setHealingFormula(combat, type, minl, maxl, minm, maxm, min, max)
local min, max = min or 0, max or 0
return setCombatFormula(combat, type, 1, 0, 1, 0, minl, maxl, minm, maxm, min, max)
end
 
function doChangeTypeItem(uid, subtype)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
end
 
local subtype = subtype or 1
return doTransformItem(thing.uid, thing.itemid, subtype)
end
 
function doSetItemText(uid, text, writer, date)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
end
 
doItemSetAttribute(uid, "text", text)
if(writer ~= nil) then
doItemSetAttribute(uid, "writer", tostring(writer))
if(date ~= nil) then
doItemSetAttribute(uid, "date", tonumber(date))
end
end
 
return true
end
 
function getFluidSourceType(itemid)
local item = getItemInfo(itemid)
return item and item.fluidSource or false
end
 
function getDepotId(uid)
return getItemAttribute(uid, "depotid") or false
end
 
function getItemDescriptions(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
end
 
local item = getItemInfo(thing.itemid)
return {
name = getItemAttribute(uid, "name") or item.name,
plural = getItemAttribute(uid, "pluralname") or item.plural,
article = getItemAttribute(uid, "article") or item.article,
special = getItemAttribute(uid, "description") or "",
text = getItemAttribute(uid, "text") or "",
writer = getItemAttribute(uid, "writer") or "",
date = getItemAttribute(uid, "date") or 0
} 
end
 
function getItemWeightById(itemid, count, precision)
local item, count, precision = getItemInfo(itemid), count or 1, precision or false
if(not item) then
return false
end
 
if(count > 100) then
-- print a warning, as its impossible to have more than 100 stackable items without "cheating" the count
print('[Warning] getItemWeightById', 'Calculating weight for more than 100 items!')
end
 
local weight = item.weight * count
--[[if(precision) then
return weight
end
 
local t = string.explode(tostring(weight), ".")
if(table.maxn(t) == 2) then
return tonumber(t[1] .. "." .. string.sub(t[2], 1, 2))
end]]--
 
return weight
end
 
function getItemWeaponType(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
end
 
return getItemInfo(thing.itemid).weaponType
end
 
function getItemRWInfo(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
end
 
local item, flags = getItemInfo(thing.itemid), 0
if(item.readable) then
flags = 1
end
 
if(item.writable) then
flags = flags + 2
end
 
return flags
end
 
function getItemLevelDoor(itemid)
local item = getItemInfo(itemid)
return item and item.levelDoor or false
end
 
function isItemStackable(itemid)
local item = getItemInfo(itemid)
return item and item.stackable or false
end
 
function isItemRune(itemid)
local item = getItemInfo(itemid)
return item and item.clientCharges or false
end
 
function isItemDoor(itemid)
local item = getItemInfo(itemid)
return item and item.type == 5 or false
end
 
function isItemContainer(itemid)
local item = getItemInfo(itemid)
return item and item.group == 2 or false
end
 
function isItemFluidContainer(itemid)
local item = getItemInfo(itemid)
return item and item.group == 12 or false
end
 
function isItemMovable(itemid)
local item = getItemInfo(itemid)
return item and item.movable or false
end
 
function isCorpse(uid)
local thing = getThing(uid)
if(thing.itemid < 100) then
return false
end
 
local item = getItemInfo(thing.itemid)
return item and item.corpseType ~= 0 or false
end
 
function getContainerCapById(itemid)
local item = getItemInfo(itemid)
if(not item or item.group ~= 2) then
return false
end
 
return item.maxItems
end
 
function getMonsterAttackSpells(name)
local monster = getMonsterInfo(name)
return monster and monster.attacks or false
end
 
function getMonsterHealingSpells(name)
local monster = getMonsterInfo(name)
return monster and monster.defenses or false
end
 
function getMonsterLootList(name)
local monster = getMonsterInfo(name)
return monster and monster.loot or false
end
 
function getMonsterSummonList(name)
local monster = getMonsterInfo(name)
return monster and monster.summons or false
end

 

 

Gabrielbsales o sistema funcionou aqui agora mais só que quando os items vem para a bp do player dar esse erro ai

[18/09/2014 11:27:06] [Error - Action Interface] 
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:onUse
[18/09/2014 11:27:06] Description: 
[18/09/2014 11:27:06] (luaDoRemoveItem) Item not found
 
[18/09/2014 11:27:06] [Error - Action Interface] 
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:onUse
[18/09/2014 11:27:06] Description: 
[18/09/2014 11:27:06] (luaDoPlayerAddItem) Item not found
 
[18/09/2014 11:27:06] [Error - Action Interface] 
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:onUse
[18/09/2014 11:27:06] Description: 
[18/09/2014 11:27:06] data/lib/050-function.lua:227: attempt to index a boolean value
[18/09/2014 11:27:06] stack traceback:
[18/09/2014 11:27:06] data/lib/050-function.lua:227: in function 'getItemNameById'
[18/09/2014 11:27:06] data/actions/scripts/Autoloot.lua:18: in function <data/actions/scripts/Autoloot.lua:2>
Link para o post
Compartilhar em outros sites
  • 1 month later...

Galera eu uso aqui o PDA cyan by senhor.

Quem quiser ta a tag ai do actions.xml com todos os pokes do jogo

 

<action itemid="11838;11839;11840;11841;11842;11844;11845;11846;11847;11848;11849;11850;11851;11852;11853;11854;11855;11856;11858;11859;11860;11861;11862;11863;11864;11865;11866;11867;11868;11869;11870;11871;11872;11873;11874;11875;11876;11877;11878;11879;11880;12749;11881;11882;11883;11884;11885;11886;11887;11888;11889;12140;11890;11891;11892;11893;11894;11895;11896;11897;11898;11899;11900;11901;11902;11903;11904;11905;11906;11907;11908;11909;11910;11911;11912;11913;11914;11915;11916;11917;11918;11919;11921;11922;11923;11924;11925;11926;11927;11928;11929;11930;11931;11932;11933;11934;11935;11936;11937;11938;11939;11940;11941;11942;11943;11944;11945;11946;11947;11948;11949;11950;11951;11952;11953;11954;11955;11956;11957;11958;11959;11960;11961;11962;11963;11964;11965;11966;11967;11968;11969;11970;11971;11972;11973;11974;11975;11976;11977;11978;11979;11980;11981;11982;11983;11984;11985;11986;11987;11988;3267;3268;3269;3270;3271;3272;3273;3274;3275;3276;3277;3278;3279-4759;14144;14036;13997;13998;14181;14046;14041;14154;14084;14014;14166;14160;14176;12751-12825;12586;12587;12584;12585;12588;12589;12588;12586;12587;12584;12585;3058" event="script" value="Autoloot.lua"/>

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 2 weeks later...

putzz mano excelente sistema como smp rep +++

 

porém estou com o msmo erro do tiu alii , cata os loot mais da esse erro na distro e da um lag de 0.1 seg p.p


#edit

 

na minha tag do actiions.xml eu colokei assim

 

<action itemid="11838-11988" event="script" value="Autoloot.lua"/>

 

e nao deu erro nenhum tlg, exceto o msmo do some functions p.p

Minhas Gambiarras :rock:

 

 

[PDA] Pokedex Mostrando o Catch

 

http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041

 

Link para o post
Compartilhar em outros sites

putzz mano excelente sistema como smp rep +++

 

porém estou com o msmo erro do tiu alii , cata os loot mais da esse erro na distro e da um lag de 0.1 seg p.p

#edit

 

na minha tag do actiions.xml eu colokei assim

 

<action itemid="11838-11988" event="script" value="Autoloot.lua"/>

 

e nao deu erro nenhum tlg, exceto o msmo do some functions p.p

o loot vai para bp e dar um erro na distro? qual erro? 

Link para o post
Compartilhar em outros sites

tpw o loot vai de boa pra bag, as vezes fico um ou outro dentro do corpse mais se clicar denovu pega esses que sobraram tbm

 

o erro eh esse aki

 

[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoRemoveItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoRemoveItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoRemoveItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoPlayerAddItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] data/lib/050-function.lua:227: attempt to index a boolean value
[08/11/2014 12:04:03] stack traceback:
[08/11/2014 12:04:03] data/lib/050-function.lua:227: in function 'getItemNameById'
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:24: in function <data/actions/scripts/Autoloot.lua:3>

 
issu qnd eu abri um corpinhu de bulbasaur ai de 4 itens ele pego 2

Minhas Gambiarras :rock:

 

 

[PDA] Pokedex Mostrando o Catch

 

http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041

 

Link para o post
Compartilhar em outros sites

 

tpw o loot vai de boa pra bag, as vezes fico um ou outro dentro do corpse mais se clicar denovu pega esses que sobraram tbm

 

o erro eh esse aki

 

[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoRemoveItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoRemoveItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoRemoveItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] (luaDoPlayerAddItem) Item not found
 
[08/11/2014 12:04:03] [Error - Action Interface] 
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:onUse
[08/11/2014 12:04:03] Description: 
[08/11/2014 12:04:03] data/lib/050-function.lua:227: attempt to index a boolean value
[08/11/2014 12:04:03] stack traceback:
[08/11/2014 12:04:03] data/lib/050-function.lua:227: in function 'getItemNameById'
[08/11/2014 12:04:03] data/actions/scripts/Autoloot.lua:24: in function <data/actions/scripts/Autoloot.lua:3>

 
issu qnd eu abri um corpinhu de bulbasaur ai de 4 itens ele pego 2

 

troca o da pasta actions por esse; 

 

--local toloot = {11441, 11441, 11443, 11444, 11445, 11446, 11447, 11448, 11449,11450, 11451, 11452, 11453, 11454, 12618, 12232, 12244}
function onUse(cid, item, frompos, item2, topos)
if not isContainer(item.uid) then
    return true
end
if getItemAttribute(item.uid, "corpseowner") ~= cid then
doPlayerSendCancel(cid, "You're not the owner.")
return true
end
local items = {}
for x=0, getContainerSize(item.uid) -1 do
local itens = getContainerItem(item.uid, x)
--if isInArray(toloot, itens.itemid) then
table.insert(items, {i=itens.itemid, q=itens.type})
doRemoveItem(itens.uid)
--break
--end
end
for y=1, #items do
doPlayerAddItemStacking(cid, items[y].i, items[y].q)
doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".")
end
if #items > 0 then
return true
else
return false
end
end
Link para o post
Compartilhar em outros sites

vo dar um test aki vlw mano

 

#edit

 

continua p.p

Editado por tioj (veja o histórico de edições)

Minhas Gambiarras :rock:

 

 

[PDA] Pokedex Mostrando o Catch

 

http://www.tibiaking.com/forum/topic/54998-pda-arrumando-a-dex/?view=findpost&p=323041

 

Link para o post
Compartilhar em outros sites
  • 2 months later...

@Gabrielbsales,

 

Bom, vi por aqui e não achei nenhum autoloot igual o da pxg ou sem bugs, então decidi vir aqui postar o que eu fiz.

Vamos lá.

 

- Vá na pasta Lib, no arquivo some functions.lua e adicione isso depois do ultimo "end":

function doPlayerAddItemStacking(cid, itemid, quant) 
local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid)
local piles = 0
if #item > 0 then
for i,x in pairs(item) do
if getThing(x).type < 100 then
local it = getThing(x)
doTransformItem(it.uid, itemid, it.type+quant)
if it.type+quant > 100 then
doPlayerAddItem(cid, itemid, it.type+quant-100)
end
else
piles = piles+1
end
break
end
else
return doPlayerAddItem(cid, itemid, quant)
end
if piles == #item then
doPlayerAddItem(cid, itemid, quant)
end
end

 

- Vá em actions/script e crie um arquivo.lua com nome de Autoloot, dentro coloque:

--local toloot = {11441, 11441, 11443, 11444, 11445, 11446, 11447, 11448, 11449,11450, 11451, 11452, 11453, 11454, 12618, 12232, 12244} -- PREFERENCIAL - SE QUISER APENAS COM ALGUNS ITENS
function onUse(cid, item, frompos, item2, topos)
if getItemAttribute(item.uid, "corpseowner") ~= cid then
doPlayerSendCancel(cid, "You're not the owner.")
return true
end
local items = {}
for x=0, (getContainerSize(item.uid)) do
local itens = getContainerItem(item.uid, x)
--if isInArray(toloot, itens.itemid) then
table.insert(items, {i=itens.itemid, q=itens.type})
doRemoveItem(itens.uid)
--break
--end
end
for y=1, #items do
doPlayerAddItemStacking(cid, items[y].i, items[y].q)
doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".")
end
if #items > 0 then
return true
else
return false
end
end
--[[
 AUTO LOOT BY GABRIEL SALES
 SE QUISER ATIVAR O AUTOLOOT APENAS PARA ALGUNS ITENS, ADICIONE OS IDS NA TABELA toloot E TIRE OS COMENTÁRIOS(--).
--]] 

 

Agora, no actions.xml adicione a tag:

<action itemid="" event="script" value="Autoloot.lua"/>

Dentro de itemid="", coloque o id dos corpses.

 

Para conseguir o id dos corpses, podemos fazer um pequeno script, que pegará o corpse de cada pokemon capturável.

- Acesse o site: Compiler Online

2º - Vá em configuration.lua, localizado na pasta lib.

Lá copie a tabela pokecatchs completa, ficando mais ou menos assim: 

pokecatchs = {

// informações

}

- Va no compiler online, e cole a tabela lá( :O)

- E depois, adicione isto em baixo:

local corpses = {}
for x,y in pairs(pokecatches) do
  table.insert(corpses, y.corpse)
end
print(table.concat(corpses, ";"))

 

Clique em: Execute Script e terá todos os corpses de pokemons capturáveis.

Créditos:

Mkalo -- Auto Stacking

Gabriel Sales(eu) -- Resto

 

 

 

 

aki em casa da esse erro! 

 

02/02/2015 20:27:51] [Error - Action Interface] 
[02/02/2015 20:27:51] data/actions/scripts/Autoloot.lua:onUse
[02/02/2015 20:27:51] Description: 
[02/02/2015 20:27:51] (luaDoPlayerAddItem) Item not found
 
[02/02/2015 20:27:51] [Error - Action Interface] 
[02/02/2015 20:27:51] data/actions/scripts/Autoloot.lua:onUse
[02/02/2015 20:27:51] Description: 
[02/02/2015 20:27:52] data/lib/050-function.lua:227: attempt to index a boolean value
[02/02/2015 20:27:52] stack traceback:
[02/02/2015 20:27:52] data/lib/050-function.lua:227: in function 'getItemNameById'
[02/02/2015 20:27:52] data/actions/scripts/Autoloot.lua:18: in function <data/actions/scripts/Autoloot.lua:2>
[02/02/2015 20:28:07] > Broadcasted message: "New: Servidor Lançado Oficialmente, Chame Amigos e embarque nessa nova aventura com o Pokemon Online Battle".
Link para o post
Compartilhar em outros sites
  • 2 months later...

Realmente, nada acontece aqui quando abre o corpo do Pokemon.

 

 

E aonde eu coloco isso: ?

 

local corpses = {}

for x,y in pairs(pokecatches) do
table.insert(corpses, y.corpse)
end
print(table.concat(corpses, ";"))

Editado por FlamesAdmin (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 10 months later...
Em 04/09/2014 12:40:19, Featzen disse:

Bom, vi por aqui e não achei nenhum autoloot igual o da pxg ou sem bugs, então decidi vir aqui postar o que eu fiz.

Vamos lá.

 

- Vá na pasta Lib, no arquivo some functions.lua e adicione isso depois do ultimo "end":

 

 

Conteúdo Oculto

 

 

- Vá em actions/script e crie um arquivo.lua com nome de Autoloot, dentro coloque:

 

 

Conteúdo Oculto

 

 

Agora, no actions.xml adicione a tag:


<action itemid="" event="script" value="Autoloot.lua"/>

Dentro de itemid="", coloque o id dos corpses.

 

Para conseguir o id dos corpses, podemos fazer um pequeno script, que pegará o corpse de cada pokemon capturável.

 

 

Conteúdo Oculto

 

 

Clique em: Execute Script e terá todos os corpses de pokemons capturáveis.

 

Créditos:

Mkalo -- Auto Stacking

Gabriel Sales(eu) -- Resto

 

 

 

Olá eu uso base Cyan, e aq não funcionou, fiz conforme o passo a passo mas os itens adicionados no Autoloot.lua não sobe ao clicar no corpse e os corps foran registrados no 

<action itemid="" event="script" value="Autoloot.lua"/>

 mas agradeço pelo post.

Link para o post
Compartilhar em outros sites
  • 7 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por FeeTads
      salve rapaziada, do TK, esses tempos eu tava a procura de um autoloot bom e eficiente, e como vocês devem saber, o autoloot usado nos scripts .lua são bem "pesados"
      o @Naze fez um excelentíssimo trabalho e disponibilizou um script de autoloot na source, porém como a vida é dificil, ele tem alguns bugs de função e um deles é no 
      "remove autoloot" que quando o player digita "!autoloot remove, nome-do-item" nada acontece, eu decidi mexer e vim disponibilizar arrumado pra vcs.
      LEMBRANDO QUE 100% DOS CRÉDITOS SÃO AO @Naze porém se vc procurar no tópico dele ainda vai estar bugado, então resolvi deixar aqui certinho pra ajudar quem precisar.


      Link do tópico do naze: https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/
       

      caso alguém ja utilize esse autoloot e esteja com o problema de remover items do autoloot
      só ir em player.cpp e trocar

      isso:
       
      void Player::removeAutoLoot(uint16_t id) { if(checkAutoLoot(id)) { return; } AutoLoot.remove(id); }
      por isso:
      void Player::removeAutoLoot(uint16_t id) { if(!checkAutoLoot(id)) return; for(std::list<uint16_t>::iterator it = AutoLoot.begin(); it != AutoLoot.end(); ++it) { if((*it) == id) { AutoLoot.erase(it); break; } } }
      todos os créditos ao Naze, não sei se alguém mais fez esse código, mas como peguei do link citado acima que é post dele deixo aqui o autoloot 100% funcional direto nas sources
    • Por Featzen
      Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui)
      Bom, aqui está o smeargle system, igual o da PxG. Vamos lá.
       
      1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso:



       
      2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso:



       
      3 - Agora no order.lua, do Actions, em baixo de:
      if getTileThingByPos(checkpos).uid <= 0 then return true end Adicione:



       
      4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses:
       



       
      Se não, use os mesmos acima, não esqueça de adicionar no spells.xml.
       
      5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua:



       
      Pronto, se tiver feito tudo certo, funcionará.
      Como ficará:



      Como usar:



       
      Créditos: Eu(Todo o script)
    • Por Cicuta Verde
      Alguem teria as sprites de todos hero cards do pxg q cujo alguns foram usados no Defenders de natal?
       
      Eu ja tive uma vez na epoca q dava pra pegar pelo próprio cliente, mas troquei de pc e perdi, agr to precisando pro meu projeto.
       
      *pesquisei por tags aqui no forum e ja pesquisei no google mas nao achei nada.
    • Por Digoshow
      Ola eu instalei um scrip no meu otserv que e o Auto-loot, tudo certinho blz, mais eu queria editar o comando que e usado para diciona um item, o comando que esta e esse /aloot remove:2170 eu queria deixa assim /aloot remove, 2170 tirar os 2 pontos e deixa uma virgula e um espaco depois da virgula, alguem consegue editar pra mim porfavor:
      Scrip que estou usando : http://www.tibiaking.com/forum/topic/8172-sistema-auto-loot/
      Obrigado, REP+ !
    • Por lucasmacaca
      OLA MEUS AMIGOS ,GOSTARIA DE SABER COMO EU CONSIGO FAZER UM MINI MAP TIPO ESSE , A MANEIRA MAIS FACIL ,DES DE JA AGRADEÇO  



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo