Postado Agosto 23, 2015 9 anos Lua Script Error: [Action Interface] data/actions/scripts/other/strengthening_potions.lua:onUse data/actions/scripts/other/strengthening_potions.lua:30: attempt to call method 'isSorcerer' (a nil value) stack traceback: [C]: in function 'isSorcerer' data/actions/scripts/other/strengthening_potions.lua:30: in function SCRIPT = local berserker = Condition(CONDITION_ATTRIBUTES) berserker:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) berserker:setParameter(CONDITION_PARAM_SKILL_MELEE, 5) berserker:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) local mastermind = Condition(CONDITION_ATTRIBUTES) mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 3) mastermind:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) local bullseye = Condition(CONDITION_ATTRIBUTES) bullseye:setParameter(CONDITION_PARAM_TICKS, 30 * 60 * 1000) bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 5) bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) local config = { [7439] = berserker, [7440] = mastermind, [7443] = bullseye } function onUse(cid, item, fromPosition, itemEx, toPosition) local useItem = config[item.itemid] if not useItem then return true end local player = Player(cid) if item.itemid == 7440 then if not isDruid(cid) and not player:isSorcerer() then player:say('Only sorcerers and druids may drink this fluid.', TALKTYPE_MONSTER_SAY) return true end end local cStorage = player:getStorageValue(Storage.Achievements.PotionAddict) if cStorage < 100000 then player:setStorageValue(Storage.Achievements.PotionAddict, math.max(1, cStorage) + 1) elseif cStorage == 100000 then player:addAchievement('Potion Addict') player:setStorageValue(Storage.Achievements.PotionAddict, 100001) end player:addCondition(useItem) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Item(item.uid):remove(1) return true end
Postado Agosto 23, 2015 9 anos Solução Tenta assim: local berserker = Condition(CONDITION_ATTRIBUTES) berserker:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) berserker:setParameter(CONDITION_PARAM_SKILL_MELEE, 5) berserker:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) local mastermind = Condition(CONDITION_ATTRIBUTES) mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000) mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 3) mastermind:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) local bullseye = Condition(CONDITION_ATTRIBUTES) bullseye:setParameter(CONDITION_PARAM_TICKS, 30 * 60 * 1000) bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 5) bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10) local config = { [7439] = berserker, [7440] = mastermind, [7443] = bullseye } function onUse(cid, item, fromPosition, itemEx, toPosition) local useItem = config[item.itemid] if not useItem then return true end local player = Player(cid) local vocations = {1, 2, 5, 6} if item.itemid == 7440 then if not isInArray(vocations, player:getVocation():getBase():getId()) then doPlayerSendTextMessage(cid, 18 ,'Only sorcerers and druids may drink this fluid.', TALKTYPE_MONSTER_SAY) return true end end local cStorage = player:getStorageValue(Storage.Achievements.PotionAddict) if cStorage < 100000 then player:setStorageValue(Storage.Achievements.PotionAddict, math.max(1, cStorage) + 1) elseif cStorage == 100000 then player:addAchievement('Potion Addict') player:setStorageValue(Storage.Achievements.PotionAddict, 100001) end player:addCondition(useItem) player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Item(item.uid):remove(1) return true end ➥ Regras | Seções OTServ | Seções BOT
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.