Ir para conteúdo
Banner com Efeitos

Luzetti

Membro
  • Registro em

  • Última visita

Tudo que Luzetti postou

  1. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    usei essa base, porem mudei muitas coisas, para ficar a meu gosto, e é uma ótima base...@Vodkart
  2. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    resolvido, pode senar.
  3. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    ja matei mais q 10, e ele fala que ainda to nela, sendo que ja matei.. @KotZletY
  4. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    me ajuda ai
  5. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    Galera de novo se tiver na área errada mova please. Bom, eu tenho esse sistema de task, o npc funfa normal e tals, mas quando eu mato o monstro e volto fala com npc, ele fala que ainda estou na task mas ja matei o monstro pedido. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local xmsg = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local storage = 62003 local monsters = { ["Elemental Apocalypse"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 25000, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, ["Elemental Demodras"] = {storage = 5011, mstorage = 19001, amount = 10, exp = 10000, items = {{id = 2492, count = 1}, {id = 2160, count = 5}}}, ["Elemental Orshabaal"] = {storage = 5012, mstorage = 19002, amount = 10, exp = 18000, items = {{id = 2195, count = 1}, {id = 2157, count = 8}}}, ["Elemental Ghazbaran"] = {storage = 5013, mstorage = 19003, amount = 10, exp = 15000, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } local function getItemsFromTable(itemtable) local text = "" for v = 1, #itemtable do count, info = itemtable[v].count, ItemType(itemtable[v].id) local ret = ", " if v == 1 then ret = "" elseif v == #itemtable then ret = " and " end text = text .. ret text = text .. (count > 1 and count or info:getArticle()).." "..(count > 1 and info:getPluralName() or info:getName()) end return text end local function Cptl(f, r) return f:upper()..r:lower() end function creatureSayCallback(cid, type, msg) local player, cmsg = Player(cid), msg:gsub("(%a)([%w_']*)", Cptl) if not npcHandler:isFocused(cid) then if msg == "hi" or msg == "hello" then npcHandler:addFocus(cid) if player:getStorageValue(storage) == -1 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. ", " text = text .. ""..x.amount.." {"..k.."}" end end if n > 1 then npcHandler:say("I have several tasks for you to kill monsters"..text..", which one do you choose? I can also show you a {list} with rewards and you can {stop} a task if you want.", cid) npcHandler.topic[cid] = 1 xmsg[cid] = msg elseif n == 1 then npcHandler:say("I have one last task for you"..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks, I have nothing for you to do anymore, good job though.", cid) end elseif player:getStorageValue(storage) == 1 then for k, x in pairs(monsters) do if player:getStorageValue(x.storage) == 1 then npcHandler:say("Did you kill "..x.amount.." "..k.."?", cid) npcHandler.topic[cid] = 2 xmsg[cid] = k end end end else return false end elseif monsters[cmsg] and npcHandler.topic[cid] == 1 then if player:getStorageValue(monsters[cmsg].storage) == -1 then npcHandler:say("Good luck, come back when you killed "..monsters[cmsg].amount.." "..cmsg..".", cid) player:setStorageValue(storage, 1) player:setStorageValue(monsters[cmsg].storage, 1) else npcHandler:say("You already did the "..cmsg.." mission.", cid) end npcHandler.topic[cid] = 0 elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 2 then local x = monsters[xmsg[cid]] if player:getStorageValue(x.mstorage) >= x.amount then npcHandler:say("Good job, here is your reward, "..getItemsFromTable(x.items)..".", cid) for g = 1, #x.items do player:addItem(x.items[g].id, x.items[g].count) end player:addExperience(x.exp) player:setStorageValue(x.storage, 2) player:setStorageValue(storage, -1) npcHandler.topic[cid] = 3 else npcHandler:say("You didn't kill them all, you still need to kill "..x.amount -(player:getStorageValue(x.mstorage) + 1).." "..xmsg[cid]..".", cid) end elseif msgcontains(msg, "task") and npcHandler.topic[cid] == 3 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" end end if text ~= "" then npcHandler:say("Want to do another task? You can choose "..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks.", cid) end elseif msgcontains(msg, "no") and npcHandler.topic[cid] == 1 then npcHandler:say("Ok then.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "stop") then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" if player:getStorageValue(x.storage) == 1 then player:setStorageValue(x.storage, -1) end end end if player:getStorageValue(storage) == 1 then npcHandler:say("Alright, let me know if you want to continue an other task, you can still choose "..text..".", cid) else npcHandler:say("You didn't start any new task yet, if you want to start one, you can choose "..text..".", cid) end player:setStorageValue(storage, -1) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "list") then local text = "Tasks\n\n" for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then text = text ..k .." ["..(player:getStorageValue(x.mstorage) + 1).."/"..x.amount.."]:\n Rewards:\n "..getItemsFromTable(x.items).."\n "..x.exp.." experience \n\n" else text = text .. k .." [DONE]\n" end end player:showTextDialog(1949, "" .. text) npcHandler:say("Here you are.", cid) elseif msgcontains(msg, "bye") then npcHandler:say("Bye.", cid) npcHandler:releaseFocus(cid) else npcHandler:say("What?", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) me ajudem please.
  6. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    Galera, se estiver na área errada por favor mova. Bom, eu tenho o coldoown tudo certinho, porem é pra um server de tibia 860, e o icone de cooldown nao aparece, ta tudo certo, não da erro nem nada no termina. Segue Otui SpellGroupIcon < UIWidget size: 22 22 image-size: 22 22 image-source: /images/game/spells/teste focusable: false margin-top: 3 SpellIcon < UIWidget size: 24 24 image-size: 24 24 focusable: false $!first: margin-left: 1 SpellProgressRect < UIProgressRect background: #585858AA percent: 100 focusable: false GroupCooldownParticles < UIParticles effect: groupcooldown-effect MiniWindow id: cooldownWindow !text: tr('Spell Cooldowns') height: 82 icon: /images/topbuttons/teste @onClose: modules.game_cooldown.onMiniWindowClose() &save: true MiniWindowContents SpellGroupIcon id: groupIconAttack image-clip: 0 0 20 20 anchors.top: parent.top anchors.left: parent.left margin-left: 2 $on: image-clip: 0 20 20 20 SpellProgressRect id: progressRectAttack anchors.fill: groupIconAttack !tooltip: tr('Attack') SpellGroupIcon id: groupIconHealing image-clip: 20 0 20 20 anchors.top: parent.top anchors.left: groupIconAttack.right margin-left: 3 $on: image-clip: 20 20 20 20 SpellProgressRect id: progressRectHealing anchors.fill: groupIconHealing !tooltip: tr('Healing') SpellGroupIcon id: groupIconSupport image-clip: 40 0 20 20 anchors.top: parent.top anchors.left: groupIconHealing.right margin-left: 3 $on: image-clip: 40 20 20 20 SpellProgressRect id: progressRectSupport anchors.fill: groupIconSupport !tooltip: tr('Support') SpellGroupIcon id: groupIconSpecial image-clip: 60 0 20 20 anchors.top: parent.top anchors.left: groupIconSupport.right margin-left: 3 $on: image-clip: 60 20 20 20 SpellProgressRect id: progressRectSpecial anchors.fill: groupIconSpecial !tooltip: tr('Special') Panel id: cooldownPanel layout: type: horizontalBox height: 30 margin-top: 3 padding: 3 anchors.top: groupIconSpecial.bottom anchors.left: parent.left anchors.right: parent.right background-color: #00000022 me ajudem pfv
  7. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    --- Correct functions by 5mok3 -- 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 doSetItemActionId(lols, actionid) return doItemSetAttribute(lols, "aid", actionid) end function comparePos(pos1, pos2) return (pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z) 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) 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[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) ~= nil end function getTibiaTime() local minutes, hours = getWorldTime(), 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) 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(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 function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers, showSummons) local creaturesList = {} for x = -radiusx, radiusx do for y = -radiusy, radiusy do if not (x == 0 and y == 0) then local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z}) if (creature.type == 1 and showPlayers) or (creature.type == 2 and showMonsters and (not showSummons or (showSummons and getCreatureMaster(creature.uid) == (creature.uid)))) then table.insert(creaturesList, creature.uid) end end end end local creature = getTopCreature(position) if (creature.type == 1 and showPlayers) or (creature.type == 2 and showMonsters and (not showSummons or (showSummons and getCreatureMaster(creature.uid) == (creature.uid)))) then if not(table.find(creaturesList, creature.uid)) then table.insert(creaturesList, creature.uid) end end return creaturesList end mals a demora tava sem net
  8. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    ???????????????????????????????????????????????????????????????????????????????????
  9. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    gostaria de ver a lib 50-function? ou qual ?
  10. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    esqueci de fala, e o tempo q fica no player tbm n acaba
  11. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    olha o erro: [05/01/2017 12:28:14] [Error - Action Interface] [05/01/2017 12:28:14] In a timer event called from: [05/01/2017 12:28:14] data/actions/scripts/po.lua:onUse [05/01/2017 12:28:14] Description: [05/01/2017 12:28:14] (luaDoCreatureSetStorage) Creature not found [05/01/2017 12:28:17] [Error - Action Interface] [05/01/2017 12:28:17] In a timer event called from: [05/01/2017 12:28:17] data/actions/scripts/pedra.lua:onUse [05/01/2017 12:28:17] Description: [05/01/2017 12:28:17] (luaDoCreatureSetStorage) Creature not found [05/01/2017 12:28:21] [Error - Action Interface] [05/01/2017 12:28:21] In a timer event called from: [05/01/2017 12:28:21] data/actions/scripts/marijuana.lua:onUse [05/01/2017 12:28:21] Description: [05/01/2017 12:28:21] (luaDoCreatureSetStorage) Creature not found
  12. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    pq n pode desligar? eu n sei oq to fazendo errado, eu usei era 12:15 e coloquei 2 minutos pra poder usar de novo, e ate agr n pode usar.
  13. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    sim eu troquei, porem o tempo fica dando assim: e ja faz 2 horas que ta ai parado e n sai o efeito da droga
  14. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    saberia fazer o do boost q falei? OBS: AINDA CONTINUA DANDO QUE TA SOBRE O EFEITO DA DROGA... poe pra 2 minutos elas pfv
  15. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    Galera eu tenho o sistema de auto loot desse link: mas as vezes da esse erro [05/01/2017 08:56:26] [Error - CreatureScript Interface] [05/01/2017 08:56:26] In a timer event called from: [05/01/2017 08:56:26] data/creaturescripts/scripts/aloot.lua:onKill [05/01/2017 08:56:26] Description: [05/01/2017 08:56:26] data/lib/050-function.lua:239: attempt to index a boolean value [05/01/2017 08:56:26] stack traceback: [05/01/2017 08:56:27] data/lib/050-function.lua:239: in function 'getItemName' [05/01/2017 08:56:27] data/creaturescripts/scripts/aloot.lua:107: in function <data/creaturescripts/scripts/aloot.lua:13> alguem pra me ajudar?
  16. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    mto obg meu amigo, mas agr tipo...vc saberia fazer um sistema de boost? mas nao para pokemon e sim para o player mesmo? pode me chamar no face? https://www.facebook.com/kevin.luzetti OBS: o tempo de espera pra usar de novo as drogas n acaba, eu tento usar e fala q ainda tenho q esperar 20 min, mas j dormi e ainda n acabou a espera kkk
  17. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    teria como colocar pra remover o item usado?
  18. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    Galera, bom, boa tarde, eu gostaria de pedir um favor a vocês, tipo...no servidor existe a Marijuana, Small Diamond e Flour, porem gostaria de fazer um npc traficante no sv, sendo assim seria: Marijuana: te deixaria lerdo, diminuindo sua velocidade de acordo com o seu lvl Small Diamond (pedra) Diminuiria 5% na hp e ml (independente do lvl) Flour (cocaina): te deixaria agitado, andando 10% mais rapido (independente do lvl) TBM: Que saísse uma fala em cada um deles, com tempo de uso de 20 min, e com efeito ao usar. Se puderem me ajudar: Agradeço desde já.
  19. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    tenho um sistema de Shopping Player (MOD OTC) mas nao tem aba de colocar os itens la, o que eu pensei, criar comando !sell wand of vortex, 1 e ele ir pro shopping
  20. Luzetti postou uma resposta no tópico em Suporte Tibia OTServer
    Galera, peguei um Mod de shopping pra OTC, mas pra colocar os itens tem que falar, e ai os itens vao no mods, podem me ajudar?
  21. resolvido :D
  22. [27/12/2016 22:43:27] [Error - CreatureScript Interface] [27/12/2016 22:43:27] data/creaturescripts/scripts/senhaporta.lua:onTextEdit [27/12/2016 22:43:27] Description: [27/12/2016 22:43:27] data/creaturescripts/scripts/senhaporta.lua:13: bad argument #1 to 'pairs' (table expected, got nil) [27/12/2016 22:43:27] stack traceback: [27/12/2016 22:43:27] [C]: in function 'pairs' [27/12/2016 22:43:27] data/creaturescripts/scripts/senhaporta.lua:13: in function <data/creaturescripts/scripts/senhaporta.lua:5>
  23. agr a senha que ta no .lua, aparece que ta errada, copiei ela do arquivo e fala q ta errada
  24. a parede nao volta, tem como ver isso pra mim?

Informação Importante

Confirmação de Termo