Postado Junho 14, 2013 12 anos Tipo do script: Spells, Action/Talkaction Protocolo (versão do Tibia): 8.6 Servidor utilizado: Styller Yourots PremiumNível de experiência: Medio Adicionais/Informações: Ola ! Ja fais muito tempo que estou procurando isso, mas nunca consiguir achar (é claro), estou querendo uma magia que precise de uma permissao para poder ser soltada, e tambem da permissao para poder soltar a magia, ou seja ao player tentar soltar a magia, apareceria que ele nao tem permissao, entao eu dava um item (com uma action) ou usaria uma talkaction para dar permissao permanente para tal player usar tal magia, bom é isso, estou precisando, muito disso, por favor me ajude. Aguardo respostas, Muito Obrigado !
Postado Junho 14, 2013 12 anos Tipo do script: Spells, Action/Talkaction Protocolo (versão do Tibia): 8.6 Servidor utilizado: Styller Yourots Premium Nível de experiência: Medio Adicionais/Informações: Ola ! Ja fais muito tempo que estou procurando isso, mas nunca consiguir achar (é claro), estou querendo uma magia que precise de uma permissao para poder ser soltada, e tambem da permissao para poder soltar a magia, ou seja ao player tentar soltar a magia, apareceria que ele nao tem permissao, entao eu dava um item (com uma action) ou usaria uma talkaction para dar permissao permanente para tal player usar tal magia, bom é isso, estou precisando, muito disso, por favor me ajude. Aguardo respostas, Muito Obrigado ! Poste o script da magia que você quer e a tag dela que esta no arquivo spells.xml que se encontra na pasta data/spells. Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Junho 14, 2013 12 anos Autor Poste o script da magia que você quer e a tag dela que esta no arquivo spells.xml que se encontra na pasta data/spells. script da magia: magia: knightvip local config = { seconds = 10, storage = 47112120, msg = "Voc\ê preci\sa aguardar 10 segundos para acumular o esp\írito.", mana = 995, semMana = "Voc\ê n\ão t\êm mana suficiente." } local function useAgain(cid) setPlayerStorageValue(cid, config.storage, 2) return TRUE end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat,COMBAT_FORMULA_LEVELMAGIC, -3.0, -290, -3.5, -300) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) -- setConditionParam(condition, CONDITION_PARAM_SPEED, -70) setConditionFormula(condition, -0.9, 0, -0.9, 0) setCombatCondition(combat, condition) arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0,0,0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0,0,0}, {0, 0, 1, 0, 1, 1, 1, 0, 1, 0,0,0}, {0, 1, 0, 1, 1, 1, 1, 1, 0, 1,0,0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0,0,0}, {0, 1, 0, 1, 1, 1, 1, 1, 0, 1,0,0}, {0, 0, 1, 0, 1, 1, 1, 0, 1, 0,0,0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0,0,0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0,0,0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) == 1 then doPlayerSendCancel(cid, config.msg) return TRUE end if getPlayerStorageValue(cid, config.storage) ~= 1 then config.mana = getCreatureMaxMana(cid)*0.90 if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage, 1) addEvent(useAgain, config.seconds*1000, cid) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, config.semMana) end end return TRUE end tag: <instant name="Super Berserk" words="knightvip" lvl="200" prem="1" direction="0" exhaustion="0" needlearn="0" script="vip/super berserk.lua"> <vocation id="12"/> </instant>
Postado Junho 14, 2013 12 anos Tipo do script: Spells, Action/Talkaction Protocolo (versão do Tibia): 8.6 Servidor utilizado: Styller Yourots Premium Nível de experiência: Medio Adicionais/Informações: Ola ! Ja fais muito tempo que estou procurando isso, mas nunca consiguir achar (é claro), estou querendo uma magia que precise de uma permissao para poder ser soltada, e tambem da permissao para poder soltar a magia, ou seja ao player tentar soltar a magia, apareceria que ele nao tem permissao, entao eu dava um item (com uma action) ou usaria uma talkaction para dar permissao permanente para tal player usar tal magia, bom é isso, estou precisando, muito disso, por favor me ajude. Aguardo respostas, Muito Obrigado ! Crie um arquivo chamado questspell.lua na pasta data/actions/scripts e cole isso function onUse(cid, item, frompos, item2, topos) spellName = "Super Berserk" -- Nome da spell if getPlayerStorageValue(cid, 40000) <= 0 then setPlayerStorageValue(cid, 40000, 1) doPlayerSendTextMessage(cid, 20, "You received permission to use the ".. spellName ..".") else doPlayerSendTextMessage(cid, 20, "You already have permission to use the ".. spellName .." spell.") end return TRUE end O script da spell ficou assim local config = { seconds = 10, storage = {40000, 47112120}, msg = "Voc\ê preci\sa aguardar 10 segundos para acumular o esp\írito.", mana = 995, semMana = "Voc\ê n\ão t\êm mana suficiente." } local function useAgain(cid) setPlayerStorageValue(cid, config.storage[2], 2) return TRUE end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat,COMBAT_FORMULA_LEVELMAGIC, -3.0, -290, -3.5, -300) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) -- setConditionParam(condition, CONDITION_PARAM_SPEED, -70) setConditionFormula(condition, -0.9, 0, -0.9, 0) setCombatCondition(combat, condition) arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0,0,0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0,0,0}, {0, 0, 1, 0, 1, 1, 1, 0, 1, 0,0,0}, {0, 1, 0, 1, 1, 1, 1, 1, 0, 1,0,0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0,0,0}, {0, 1, 0, 1, 1, 1, 1, 1, 0, 1,0,0}, {0, 0, 1, 0, 1, 1, 1, 0, 1, 0,0,0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0,0,0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0,0,0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0,0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage[2]) == 1 then doPlayerSendCancel(cid, config.msg) return TRUE end if getPlayerStorageValue(cid, config.storage[1]) >= 1 then config.mana = getCreatureMaxMana(cid)*0.90 if getPlayerMana(cid) >= config.mana then doPlayerAddMana(cid, -config.mana) setPlayerStorageValue(cid, config.storage[2], 1) addEvent(useAgain, config.seconds*1000, cid) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, config.semMana) end else doPlayerSendCancel(cid, "Desculpe,Você tem que comprar a permissao para usar está magia.") end return TRUE end No arquivo actions.xml que se encontra na pasta data/actions adicione as seguintes linhas <action actionid="6588" event="script" value="questspell.lua"/> No map editor coloque um baú com ActionID 6588 para a quest da permissão para soltar spell. Não testado. Dúvidas? Me avise. Att. Giovani Rodrigo Editado Junho 18, 2013 12 anos por GiovaniRodrigo (veja o histórico de edições) Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Junho 15, 2013 12 anos Autor Infelizmente nao funcionou ! O server inicia normalmente, eu fasso a quest que ganho o item, mais quando eu tento usar o item aparece o seguinte erro no console do server: [Error - Action Interface] data/actions/scripts/spellstorage.lua:onUse Description: data/actions/scritps/spellstorage.lua:5: attempt to concatenate global 'nameSpell' <a nil value> stack traceback: data/actions/scripts/spellstorage.lua:5: in function <data/actions/scripts/spellstorage.lua:1> E depois nao acontece nada, pode ser erro meu ? 1ª duvida: tem como voce colocar pra ganhar a permissao altomaticamente quando eu der use no bau, sem ter que ganhar o item pra depois usar o item ? obg. 2ª duvida: voce mudou algo na spell ? se mudou, oque mudou ? 3ª duvida \/ function onUse(cid, item, frompos, item2, topos) spellName = "Super Berserk" -- AQUI É PRA MIM COLOCA O "NOME" DA MAGIA OU A PALAVRA PRA CONJURAR ELA ? if isPlayer(cid) then if getPlayerStorageValue(cid, 40000) <= 0 then doPlayerSendTextMessage(cid, 20, "You have permission to use the ".. nameSpell .." spell.") setPlayerStorageValue(cid, 40000, 1) doPlayerRemoveItem(cid, item, 1) else doPlayerSendTextMessage(cid, 20, "You already have permission to use the ".. nameSpell .." spell.") end end return TRUE end Obrigado, Sera Que Tem Como Arrumar ? =/ Aguardo Respostas ! Editado Junho 15, 2013 12 anos por Henrique Cechinel (veja o histórico de edições)
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.