Postado Fevereiro 10, 2016 9 anos Olá Galera Do TK, Estou aqui para fazer um pedido em um script, eu coloquei o script de GEM igual do servidor FOXWOLRD no meu servidor, mais estou tendo um problema ESTAREI DEIXANDO FOTOS DO CHARACTER TENTANDO USAR A GEM ABAIXO !!!! ele diz que não sou promotion, mais o character está com promotion, os requisitos, para usar GEM são: SER LEVEL 200 + TER A PROMOTION, que no caso do FOXWORLD a promotion maxima são : SORCERER - MASTER SORECER - SUPREME SORCERER DRUID - ELDER DRUID - MAJESTIC DRUID PALADIN - ROYAL PALADIN - LORD PALADIN KNIGHT - ELITE KNIGHT - MONSTER KNIGHT criei um char, coloquei lvl 200, e promotion, mais ainda, não consigo usar a gem, alguem poderia dar uma olhada no script ? darei REP+ a quem puder ajudar !!!! SEGUE ABAIXO OS SCRIPTS : DATA/ACTION/ACTION.XML - <action itemid="2154" script="gems.lua" /> <action itemid="2155" script="gems.lua" /> <action itemid="2156" script="gems.lua" /> <action itemid="2158" script="gems.lua" /> DATA/ACTION/SCRIPTS/GEMS - function onUse(cid, item, fromPosition, itemEx, toPosition) gem = gems.id[getPlayerVocation(cid)] if item.itemid == gem then if (getPlayerLevel(cid) < 200) then doPlayerSendTextMessage(cid,22,"É necessário level 200 ou maior para absorver uma gema espiritual!") else if (getPlayerPromotionLevel(cid) == 1) then if getPlayerStorageValue(cid,21201) == -1 then setPlayerStorageValue(cid,21201,1) doUseGem(cid, item) doPlayerSendTextMessage(cid,22,"Você absorveu uma gema espiritual!") doSendMagicEffect(getPlayerPosition(cid),65) else doPlayerSendTextMessage(cid,22,"Você ainda possui uma gema espiritual absorvida.") end else doPlayerSendTextMessage(cid,22,"Você precisa estar promoted para usar a gema.") end end else return 0 end return 1 end DATA/LIB/PIVI - function doRemoveGemEffect(cid) local voc = getPlayerVocation(cid) if getPlayerPromotionLevel(cid) > 0 then voc = voc - (getPlayerPromotionLevel(cid) * 4) end if getPlayerStorageValue(cid, gems.storage[voc]) == -1 then else setPlayerStorageValue(cid, gems.storage[voc], 0) end end function doUseGem(cid, item) local level = getPlayerLevel(cid) local voc = getPlayerVocation(cid) local interval = gems.interval[voc] if getPlayerPromotionLevel(cid) > 0 then voc = voc - (getPlayerPromotionLevel(cid) * 4) end if item.itemid ~= gems.id[voc] or getPlayerStorageValue(cid, gems.storage[voc]) > 0 then return FALSE end setPlayerStorageValue(cid, gems.storage[voc], 1) sendGemEffect(cid, gems.storage[voc], gems.interval[voc]) doRemoveItem(item.uid, 1) return TRUE end function sendGemEffect(cid, storage, interval) if isPlayer(cid) then local pos = getThingPos(cid) local voc = getPlayerVocation(cid) local level = getPlayerLevel(cid) local color = 1 if level > 199 then if getPlayerPromotionLevel(cid) > 0 then voc = voc - (getPlayerPromotionLevel(cid) * 4) end if voc == 1 then color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)] elseif voc == 2 then color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)] elseif voc == 3 then color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)] elseif voc == 4 then color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)] end doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color) if getPlayerStorageValue(cid, gems.storage[voc]) >= 1 then addEvent(sendGemEffect, interval, cid, storage, interval) end else stopEvent(sendGemEffect(cid, storage, interval)) end end function doRemoveAllGemEffect(cid) for i = 1, table.maxn(gms.storage) do setPlayerStorageValue(cid, gems.storage, 0) end return TRUE end function isGemActivated(cid) local voc = getPlayerVocation(cid) if getPlayerPromotionLevel(cid) > 0 then voc = voc - (getPlayerPromotionLevel(cid) * 4) end if getPlayerStorageValue(cid, gems.storage[voc]) > 0 then return TRUE end return FALSE end return TRUE end DATA/LIB/PIVI_CONST - gems = { id = {2156, 2155, 2158, 2154, 2156, 2155, 2158, 2154, 2156, 2155, 2158, 2154}, storage = {5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012}, interval = {600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600} } gemMsg = { rnd = {"´ . ,", ". ´ ,", "` . ,", ", ´ ."}, colorDruid = {180,180}, colorSorcerer = {30,215}, colorPaladin = {251,10}, colorKnight = {204,212}, colorElderDruid = {180,180}, colorMasterSorcerer = {30,215}, colorRoyalPaladin = {251,10}, colorEliteKnight = {204,212} } @Sekk , @Xagah
Postado Fevereiro 10, 2016 9 anos action/scripts/gems.lua Spoiler function onUse(cid, item, fromPosition, itemEx, toPosition) local gem = gems.id[getPlayerVocation(cid)] if item.itemid == gem then if getPlayerLevel(cid) < 200 then return doPlayerSendTextMessage(cid, 22, "E necessario level 200 ou maior para absorver uma gema espiritual!") end if getPlayerPromotionLevel(cid) == 2 then if getPlayerStorageValue(cid, 21201) == -1 then setPlayerStorageValue(cid, 21201, 1) doUseGem(cid, item) doPlayerSendTextMessage(cid, 22, "Voce absorveu uma gema espiritual!") doSendMagicEffect(getPlayerPosition(cid), 65) else return doPlayerSendTextMessage(cid, 22, "Voce ainda possui uma gema espiritual absorvida.") end else return doPlayerSendTextMessage(cid, 22, "Voce precisa estar promoted para usar a gema.") end end return true end Tenta ai.. GitHub: https://github.com/s3kk Conteúdo: [SERVER] Heromassa[GESIOR] Gesior 2012 modificado por Sekk[GESIOR] Shop Addons & Mounts - TFS 1.x[GESIOR] Outfitter para Characters e Rank[SISTEMA] Castle 24h[TALKACTION] Multi Element Wand[ACTION] Multi Elemental Arrow & Shield[PROGRAMAÇÃO] Compilar TFS 0.4 no Linux[PROGRAMAÇÃO] Compilando TFS 0.4 no MSVC(x64 e x32) [INFRAESTRUTURA] Configuração COMPLETA Google VM + Tibia 11.x
Postado Fevereiro 10, 2016 9 anos Autor @Sekk, continua dando o mesmo problema da vocação ainda, mais na distro não da nenhum erro !!!
Postado Fevereiro 10, 2016 9 anos Seu script não condiz com a imagem, geralmente isso é o suficiente pra fazer eu desistir de ajudar alguém... não faça mais isso. if (getPlayerPromotionLevel(cid) == 1) then troca == por >= que vai resolver. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Fevereiro 10, 2016 9 anos cara.. tenta usar a gem como sorcerer normal '-' Eita, wolf aki '-' pode tentar tbm Spoiler function onUse(cid, item, fromPosition, itemEx, toPosition) local gem = gems.id[getPlayerVocation(cid)] local vocations = {"supreme sorcerer", "majestic druid", "lord paladin", "monster knight"} if item.itemid == gem then if getPlayerLevel(cid) < 200 then return doPlayerSendTextMessage(cid, 22, "E necessario level 200 ou maior para absorver uma gema espiritual!") end if isInArray(vocations, getPlayerVocationName(cid):lower()) then if getPlayerStorageValue(cid, 21201) == -1 then setPlayerStorageValue(cid, 21201, 1) doUseGem(cid, item) doPlayerSendTextMessage(cid, 22, "Voce absorveu uma gema espiritual!") doSendMagicEffect(getPlayerPosition(cid), 65) else return doPlayerSendTextMessage(cid, 22, "Voce ainda possui uma gema espiritual absorvida.") end else return doPlayerSendTextMessage(cid, 22, "Voce precisa estar promoted para usar a gema.") end end return true end Editado Fevereiro 10, 2016 9 anos por Sekk (veja o histórico de edições) GitHub: https://github.com/s3kk Conteúdo: [SERVER] Heromassa[GESIOR] Gesior 2012 modificado por Sekk[GESIOR] Shop Addons & Mounts - TFS 1.x[GESIOR] Outfitter para Characters e Rank[SISTEMA] Castle 24h[TALKACTION] Multi Element Wand[ACTION] Multi Elemental Arrow & Shield[PROGRAMAÇÃO] Compilar TFS 0.4 no Linux[PROGRAMAÇÃO] Compilando TFS 0.4 no MSVC(x64 e x32) [INFRAESTRUTURA] Configuração COMPLETA Google VM + Tibia 11.x
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.