Ir para conteúdo

Featured Replies

Postado

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 !

  • Respostas 23
  • Visualizações 3.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • GiovaniRodrigo
    GiovaniRodrigo

    Reveja o meu post dos scripts, modifiquei para apenas fazer a quest da permissão. Em questão sobre o que eu modifiquei na spell, eu apenas coloquei uma linha para checar se o cara tem permissão, no c

  • GiovaniRodrigo
    GiovaniRodrigo

    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.

  • GiovaniRodrigo
    GiovaniRodrigo

    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

Postado

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
  • 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

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

 

divisoriap.png

 

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

 

divisoriap.png

 

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 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
  • 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 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo