Dahanlx 0 Postado Outubro 24, 2017 Share Postado Outubro 24, 2017 FALA GALERA, BLZ? SOU NOVATO AQUI, CRIEI UM SERVER DE POKEMON (CENTURION UV) SÓ PRA BRINCAR COM OS AMIGOS. DESEJO CRIAR UMA QUEST QUE TEM COMO PREMIO UM POKEMON, UTILIZEI UMA SCRIPT QUE DISPONIBILIZARAM AQUI NO SITE... MAS AO CLICAR NO BAU ELE ABRE NORMALMENTE E DA O SEGUINTE ERRO. ALGUEM TERIA UMA POSSIVEL SOLUÇÃO? Link para o comentário Compartilhar em outros sites More sharing options...
lSainty 81 Postado Outubro 24, 2017 Share Postado Outubro 24, 2017 Manda esse baupokemon.lua Link para o comentário Compartilhar em outros sites More sharing options...
Dahanlx 0 Postado Outubro 25, 2017 Autor Share Postado Outubro 25, 2017 Em 24/10/2017 at 15:11, SirDubstep disse: Manda esse baupokemon.lua local pokemon = "Metagross" local extrastr = 1.5 local btype = "normal" local storage = 90025 function onUse(cid, item, frompos, item2, topos) if pokemon == "" then return true end if getPlayerStorageValue(cid, storage) <= 0 then addPokeToPlayer(cid, pokemon, nil, 1, btype, true) doPlayerSendTextMessage(cid, 27, "Você pegou seu "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) doSendMagicEffect(getThingPos(cid), 27) doSendMagicEffect(getThingPos(cid), 29) setPlayerStorageValue(cid, storage, 1) else doPlayerSendCancel(cid, "Você já pegou seu pokémon!") end return TRUE Link para o comentário Compartilhar em outros sites More sharing options...
lSainty 81 Postado Outubro 25, 2017 Share Postado Outubro 25, 2017 (editado) O script parece estar normal, qual base você esta usando? DxP, PDA, Poke Dash... Nvm, apenas por via das dúvidas, tenta usar assim e me diga se o erro continua: Spoiler local pokemon = "Metagross" local extrastr = 1.5 local btype = "normal" local storage = 90025 function onUse(cid, item, frompos, item2, topos) if pokemon == "" then return true end if getPlayerStorageValue(cid, storage) <= 0 then addPokeToPlayer(cid, pokemon, 0, nil, btype, true) doPlayerSendTextMessage(cid, 27, "Você pegou seu "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) doSendMagicEffect(getThingPos(cid), 27) doSendMagicEffect(getThingPos(cid), 29) setPlayerStorageValue(cid, storage, 1) else doPlayerSendCancel(cid, "Você já pegou seu pokémon!") end return TRUE end Se continuar, me manda seu 050-functions.lua Editado Outubro 25, 2017 por SirDubstep Link para o comentário Compartilhar em outros sites More sharing options...
Dahanlx 0 Postado Outubro 26, 2017 Autor Share Postado Outubro 26, 2017 (editado) Em 25/10/2017 at 21:05, SirDubstep disse: O script parece estar normal, qual base você esta usando? DxP, PDA, Poke Dash... Nvm, apenas por via das dúvidas, tenta usar assim e me diga se o erro continua: Ocultar conteúdo local pokemon = "Metagross" local extrastr = 1.5 local btype = "normal" local storage = 90025 function onUse(cid, item, frompos, item2, topos) if pokemon == "" then return true end if getPlayerStorageValue(cid, storage) <= 0 then addPokeToPlayer(cid, pokemon, 0, nil, btype, true) doPlayerSendTextMessage(cid, 27, "Você pegou seu "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) doSendMagicEffect(getThingPos(cid), 27) doSendMagicEffect(getThingPos(cid), 29) setPlayerStorageValue(cid, storage, 1) else doPlayerSendCancel(cid, "Você já pegou seu pokémon!") end return TRUE end Se continuar, me manda seu 050-functions.lua Uso PokemonCenturionUV By Jobby Magalhaes, o error persistiu 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) 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) endend 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) ~= 0end 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 trueend function getExperienceForLevel(lv) lv = lv - 1 return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3end 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)).nameend function getPlayerVocationName(cid) return getVocationInfo(getPlayerVocation(cid)).nameend function getPromotedVocation(vid) return getVocationInfo(vid).promotedVocationend function doPlayerRemovePremiumDays(cid, days) return doPlayerAddPremiumDays(cid, -days)end function getPlayerMasterPos(cid) return getTownTemplePosition(getPlayerTown(cid))end function getHouseOwner(houseId) return getHouseInfo(houseId).ownerend function getHouseName(houseId) return getHouseInfo(houseId).nameend function getHouseEntry(houseId) return getHouseInfo(houseId).entryend function getHouseRent(houseId) return getHouseInfo(houseId).rentend function getHousePrice(houseId) return getHouseInfo(houseId).priceend function getHouseTown(houseId) return getHouseInfo(houseId).townend function getHouseTilesCount(houseId) return getHouseInfo(houseId).tilesend function getItemNameById(itemid) return getItemDescriptionsById(itemid).nameend function getItemPluralNameById(itemid) return getItemDescriptionsById(itemid).pluralend function getItemArticleById(itemid) return getItemDescriptionsById(itemid).articleend function getItemName(uid) return getItemDescriptions(uid).nameend function getItemPluralName(uid) return getItemDescriptions(uid).pluralend function getItemArticle(uid) return getItemDescriptions(uid).articleend function getItemText(uid) return getItemDescriptions(uid).textend function getItemSpecialDescription(uid) return getItemDescriptions(uid).specialend function getItemWriter(uid) return getItemDescriptions(uid).writerend function getItemDate(uid) return getItemDescriptions(uid).dateend function getTilePzInfo(pos) return getTileInfo(pos).protectionend function getTileZoneInfo(pos) local tmp = getTileInfo(pos) if(tmp.pvp) then return 2 end if(tmp.nopvp) then return 1 end return 0end 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 cidend function getOnlinePlayers() local tmp = getPlayersOnline() local players = {} for i, cid in ipairs(tmp) do table.insert(players, getCreatureName(cid)) end return playersend function getPlayerByName(name) local cid = getCreatureByName(name) return isPlayer(cid) and cid or nilend function isPlayer(cid) return isCreature(cid) and cid >= AUTOID_PLAYERS and cid < AUTOID_MONSTERSend 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_NPCSend function isNpc(cid) return isCreature(cid) and cid >= AUTOID_NPCSend 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 trueend 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_PRIVATEend 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 trueend 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 trueend 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 trueend function getFluidSourceType(itemid) local item = getItemInfo(itemid) return item and item.fluidSource or falseend function getDepotId(uid) return getItemAttribute(uid, "depotid") or falseend 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 weightend function getItemWeaponType(uid) local thing = getThing(uid) if(thing.itemid < 100) then return false end return getItemInfo(thing.itemid).weaponTypeend 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 flagsend function getItemLevelDoor(itemid) local item = getItemInfo(itemid) return item and item.levelDoor or falseend function isItemStackable(itemid) local item = getItemInfo(itemid) return item and item.stackable or falseend function isItemRune(itemid) local item = getItemInfo(itemid) return item and item.clientCharges or falseend function isItemDoor(itemid) local item = getItemInfo(itemid) return item and item.type == 5 or falseend function isItemContainer(itemid) local item = getItemInfo(itemid) return item and item.group == 2 or falseend function isItemFluidContainer(itemid) local item = getItemInfo(itemid) return item and item.group == 12 or falseend function isItemMovable(itemid) local item = getItemInfo(itemid) return item and item.movable or falseend 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 falseend function getContainerCapById(itemid) local item = getItemInfo(itemid) if(not item or item.group ~= 2) then return false end return item.maxItemsend function getMonsterAttackSpells(name) local monster = getMonsterInfo(name) return monster and monster.attacks or falseend function getMonsterHealingSpells(name) local monster = getMonsterInfo(name) return monster and monster.defenses or falseend function getMonsterLootList(name) local monster = getMonsterInfo(name) return monster and monster.loot or falseend function getMonsterSummonList(name) local monster = getMonsterInfo(name) return monster and monster.summons or falseend Editado Outubro 27, 2017 por Dahanlx Link para o comentário Compartilhar em outros sites More sharing options...
HolyMaN 14 Postado Novembro 1, 2017 Share Postado Novembro 1, 2017 tenta esse Spoiler local pokemon = "Metagross" local storage = 90025 local level = 80 local extrastr = 1.5 local btype = "normal" function onUse(cid, item, frompos, item2, topos) if pokemon == "" then return true end if getPlayerStorageValue(cid, storage) <= 0 then addPokeToPlayer(cid, pokemon, level, extrastr, nil, 0, btype, true) doPlayerSendTextMessage(cid, 27, "Você pegou seu "..pokemon..".") doSendMagicEffect(getThingPos(cid), 29) doSendMagicEffect(getThingPos(cid), 27) doSendMagicEffect(getThingPos(cid), 29) else doPlayerSendCancel(cid, "Você já pegou seu pokémon!") end return TRUE end Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 19, 2018 Share Postado Abril 19, 2018 A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados