Postado Novembro 8, 2017 7 anos Galera eu tava com 1 servidor base Mithology, editei bastante dele e acabei que tendo a ideia de fazer ele via account manager... bom, demorei mas consegui !Apos fazer isso eu percebi q causei 1 erro na database, toda a vez que puxo qualquer item que seja pra bag do jogador, causa 1 erro na distro. Bom, no jogo em si eu percebi q n mudou nada, o item vai pra bag e tals, so que a distro ta cheia desse bug por conta de itens puxados pra bag, seja de loot ou itens dropados. ERRO Spoiler [08/11/2017 13:20:40] [Error - CreatureScript Interface] [08/11/2017 13:20:40] data/creaturescripts/scripts/player/moveItem.lua:onMoveItem [08/11/2017 13:20:40] Description: [08/11/2017 13:20:40] (luaGetThingFromPos) Tile not found SCRIPT Spoiler function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if not isCreature(cid) then return false end if isWatchingTv(cid) then return false end local name = getCreatureName(cid) local transform = false --- nao retirar item que estao no slot 8 e sao uniques if fromPos.x ~= 0 and toContainer.uid == 0 and fromContainer.uid == 0 and toPos.x == 65535 and getPlayerSlotItem(cid, 8).uid ~= 0 then doPlayerSendCancel(cid, MSG_NAO_E_POSSIVEL) return false end local itemID = item.itemid if itemID >= 14795 and itemID <= 14879 or pokeballs[getPokeballType(itemID)] and (itemID == pokeballs[getPokeballType(itemID)].use and (#getCreatureSummons(cid) > 0 or isRiderOrFlyOrSurf(cid))) then doPlayerSendCancel(cid, "Você não pode mover este item.") return false end if isFly(cid) and (getTileThingByPos(toPos).itemid == 460 or getTileThingByPos(toPos).itemid == 12171 or getTileThingByPos(toPos).itemid == 12172 or (toContainer.uid == 0 and getThingPos(cid).z ~= toPos.z)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_CANNOTTHROW) return false end if isInArray({2589, 15446, 15447, 15448, 15449, 12355}, toContainer.itemid)then -- nao fazer nada no cp return true end local pos = toPos local items = getItemsfromPos(pos) for i = 1, #items do local name = getItemInfo(items.itemid).name if string.find(name, "fainted") or string.find(name, "defeated") then doSendMsg(cid, "Não pode jogar lá.") return false end end if isPokeball(item.itemid) and toPos.x == 65535 then if not getItemAttribute(item.uid, "unique") and getPlayerFreeCap(cid) > 1 then doTransformPokeballIcon(cid, item, count, toContainer, fromContainer, fromPos, toPos) end else if not getItemAttribute(item.uid, "unique") and not getItemAttribute(item.uid, "torneio") then doTransformPokeballIcon(cid, item, count, toContainer, fromContainer, fromPos, toPos) end end if isPokeball(item.itemid) or isContainer(item.uid) thenif hasSqm(toPos) then if isContainer(item.uid) then local itens = getItensUniquesInContainer(item.uid) local sendMsg = false if #itens >= 1 then doSendMsg(cid, #itens.." item"..(#itens < 2 and "" or "s").." neste recipiente "..(#itens < 2 and "é exclusivo" or "são exclusivos")..". Você não pode joga-lo"..(#itens < 2 and "" or "s").." fora!") return false end else if getItemAttribute(item.uid, "unique") or getItemAttribute(item.uid, "torneio") then doSendMsg(cid, "Isso é um item exclusivo, você não pode joga-lo fora!") return false end end elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid)) then if toContainer.itemid == getPlayerSlotItem(cid, 3).itemid then -- nao fazer nada na poke bag principal return true end if not isPosEqual(getThingPos(toContainer.uid), getThingPos(cid)) then if isContainer(item.uid) then local itens = getItensUniquesInContainer(item.uid) local sendMsg = false if #itens >= 1 then doSendMsg(cid, #itens.." item"..(#itens < 2 and "" or "s").." neste recipiente "..(#itens < 2 and "é exclusivo" or "são exclusivos")..". Você não pode joga-lo"..(#itens < 2 and "" or "s").." fora!") return false end else if getItemAttribute(item.uid, "unique") or getItemAttribute(item.uid, "torneio") then doSendMsg(cid, "Isso é um item exclusivo, você não pode joga-lo fora!") return false end end end endend return trueend function getItemsfromPos(position, fromStackpos) local toret = { } -- table to return items position.stackpos = fromStackpos if position.stackpos == nil then position.stackpos = 1 -- default end while true do -- loop to catch the items and insert them in toret table local thing = getThingfromPos(position) if thing.itemid == 0 then -- thing doesn't exist, break the loop... break end if getWholeThing ~= nil and getWholeThing ~= 0 then -- if getWholeThing isn't nil and isn't 0 table.insert(toret,thing) else -- else, insert only item uid in toret table table.insert(toret,thing) end position.stackpos = position.stackpos + 1 -- get next item end return toretend Se alguem puder me ajudar pf... o erro da basicamente quando se move qualquer item dentro ou fora da bag ! Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
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.