Ir para conteúdo
  • Cadastre-se

[Resolvido] [PEDIDO] Spell com Permissao + Action ou Talkaction para Permissao


Posts Recomendados

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 !

Link para o post
Compartilhar em outros sites

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

 

Link para o post
Compartilhar em outros sites

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>
 
Link para o post
Compartilhar em outros sites

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

 

Link para o post
Compartilhar em outros sites

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)
Link para o post
Compartilhar em outros sites

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 ! :)

Script modificado, recopie o script spellstorage.lua e teste novamente.

Em questão da dúvida sobre a magia é o nome dela mesmo e não a palavra que conjura ela.

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

 

Link para o post
Compartilhar em outros sites

Cara Funcionou. voce é simplesmente D+ :) muito obrigado mesmo cara, REP+ :), só que esta faltando alguns ajustesinhos, eu percebi que o item que a gente coloca pra ganha na quest (no meu caso foi a medal of honour) nao some, ou seja o player usa, ganha a permissao, mais o item nao some, assim possibilitando de ele repassar ou vender para outro player, entao queria ver se nao teria como voce colocar pra ja pegar a permissao direto do bau (que nao precisace pegar o item pra depois usar o item) ou que voce fisece com que o item sumice depois de usado, intendeu ?
 

 

E outra duvida, é, oque voce modificou na magia ? porque eu irei utilizar este metodo em outras magias tambem, e gostaria de saber como fazer :)

 

Cara olha só mano, do fundo do meu coraçao :) valeu mesmo, voce quebro mó galhao, voce e muito bom mesmo parabens e obrigado rrs

só tenta resolve esse negocinhos ae pra mim blz parça ? vlw cara aguardando respostas :)

 

-- @Edit --

 

Giovani PERCEBI QUE A MAGIA QUE ANTES TINHA UM "EXHAUSTION" DE 10 SEGUNDOS, (QUE FALAVA QUE TINHA QUE ESPERA 10 SEGUNDOS PRA ACUMULA O ESPIRITO E TALZ) AGORA NAO PRECISA MAIS ESPERAR, PODERIA CORRIGIR TAMBEM ? MUITO OBG.

Editado por Henrique Cechinel (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Cara Funcionou. voce é simplesmente D+ :) muito obrigado mesmo cara, REP+ :), só que esta faltando alguns ajustesinhos, eu percebi que o item que a gente coloca pra ganha na quest (no meu caso foi a medal of honour) nao some, ou seja o player usa, ganha a permissao, mais o item nao some, assim possibilitando de ele repassar ou vender para outro player, entao queria ver se nao teria como voce colocar pra ja pegar a permissao direto do bau (que nao precisace pegar o item pra depois usar o item) ou que voce fisece com que o item sumice depois de usado, intendeu ?

 

 

E outra duvida, é, oque voce modificou na magia ? porque eu irei utilizar este metodo em outras magias tambem, e gostaria de saber como fazer :)

 

Cara olha só mano, do fundo do meu coraçao :) valeu mesmo, voce quebro mó galhao, voce e muito bom mesmo parabens e obrigado rrs

só tenta resolve esse negocinhos ae pra mim blz parça ? vlw cara aguardando respostas :)

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 caso a permissão é uma storage.

 

if getPlayerStorageValue(cid, config.storage) >= 1 then

 

Veja que a storage esta como config.storage, pois ela é uma variável, então a storage está aqui

 

local config = {
          storage = 40000,
}

 

Essa storage ele ganhou quando clicou no baú

 

setPlayerStorageValue(cid, 40000, 1)

 

Entendeu?

 

@EDIT

Arrumei os 10 segundos do espírito e tal.

 

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

 

Link para o post
Compartilhar em outros sites

Caralh# cara, agora ficou simplesmente perfeito cara, meu deus, muito obrigado, ganhou meus 3rep+ de hoje, só nao do mais porque nao da rsrs, cara muito obrigado mesmo, e com essa ultima explicaçao sua ae entendi o script '-' que por cinal no começo começo com 500 linha agora ta com 200 rsrs '-' ti amo cara S2

 

entao nas outras magias eu só preciso mudar

storage = {40000, 47112120},

 

e no caso dessas magias que eu estou usando, ja tinha a linha \/ porque tinha pra verificar o storage 47112120 que ja continha na magia certo ? dai eu nao preciso adicionar na verdade ne ?

if getPlayerStorageValue(cid, config.storage) >= 1 then

 

 

 

 

 

 

Muitoooooooo Obrigadoooooooooooo, Voce É Muito Bom Cara :)

Fes o script sem pedir nada, e ainda foi atualizando conforme eu fui pedindo, voce merece muito mais doque 3 reps. Continue assim :)

Link para o post
Compartilhar em outros sites

Dúvida Sanada! Tópico movido!

 

Obrigado pela contribuição Giovani!

 

Ah e Henrique presta mais atenção onde tú criou o tópico carinha :P O certo seria em Suporte OTServ.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Caralh# cara, agora ficou simplesmente perfeito cara, meu deus, muito obrigado, ganhou meus 3rep+ de hoje, só nao do mais porque nao da rsrs, cara muito obrigado mesmo, e com essa ultima explicaçao sua ae entendi o script '-' que por cinal no começo começo com 500 linha agora ta com 200 rsrs '-' ti amo cara S2

 

entao nas outras magias eu só preciso mudar

storage = {40000, 47112120},

 

e no caso dessas magias que eu estou usando, ja tinha a linha \/ porque tinha pra verificar o storage 47112120 que ja continha na magia certo ? dai eu nao preciso adicionar na verdade ne ?

if getPlayerStorageValue(cid, config.storage) >= 1 then

 

 

 

 

 

 

Muitoooooooo Obrigadoooooooooooo, Voce É Muito Bom Cara :)

Fes o script sem pedir nada, e ainda foi atualizando conforme eu fui pedindo, voce merece muito mais doque 3 reps. Continue assim :)

Muito obrigado a você.

No caso da storage, na sua magia tem duas porque uma é pra verificar se ele pode usar e a outra para o papo do espírito e tal.

 

Sempre que for usar duas storages na mesma variável, você identifica elas no script assim

storage = {1234, 4321} -- Variável com dois valores
storage[1] -- Storage 1
storage[2] -- Storage 2

 

Explicando com uma condição

storage = {1234, 4321} -- Variável com dois valores
if getPlayerStorageValue(cid, storage[1]) <= 0 then -- Condição com o valor 1 da variável storage
end
if getPlayerStorageValue(cid, storage[2]) >= 0 then -- Condição com o valor 2 da variável storage
end

 

O script acima diz:

Se o valor da storage do jogador for(cid, 1234) menor ou igual a 0 faça -- Condição com o valor 1 da variável storage
fim
Se o valor da storage do jogador for(cid, 4321) maior ou igual a 0 faça -- Condição com o valor 2 da variável storage
fim

 

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

 

Link para o post
Compartilhar em outros sites

Dúvida sanada, tag adicionada.

Tópico movido!

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Giovani, ocorreu um erro, eu nao estou mais consiguindo soltar as magias, aquele negocio de esperar 10 segundos pra acumular o espirito talz, bugo, ele nao sai mais, a magia nao sai, fica sempre falando aquilo, oque que eu fasso ? eu adicionei 3 novas magias aqui esta uma, para ver se tem algum erro:

local config = {
  seconds = 10,
   storage = {40001, 47112120},
   msg = "Voc\ê preci\sa aguardar 10 segundos para acumular o esp\írito.",
  mana = 2400,
 semMana = "Voc\ê n\ão t\êm mana suficiente."
}

local function useAgain(cid)
 setPlayerStorageValue(cid, config.storage, 2)
 return TRUE
end

local combat1 = createCombatObject()
 setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
 setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

local combat2 = createCombatObject()
 setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
 setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

arr1 = {
{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}
arr2 = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},
}

local area1 = createCombatArea(arr1)
local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)
setCombatArea(combat2, area2)

local function spell(parameters)
 doCombat(parameters.cid, parameters.combat2, parameters.var)
end

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
      if getPlayerMana(cid) >= config.mana then
       doPlayerAddMana(cid, -config.mana)
        setPlayerStorageValue(cid, config.storage[2], 1)
         addEvent(useAgain, config.seconds*1000, cid)
        local parameters = { cid = cid, var = var, combat2 = combat2 }
       addEvent(spell, 500, parameters)
      return doCombat(cid, combat1, var)
     else
    doPlayerSendCancel(cid, config.semMana)
   end
  end
 return TRUE
end

 

a storage la em cima é 40001 porque fis 4 quests, 1 pada cada magia (pois nao queria que uma permissao dece para todas as magias) (dai ficou 40000 em uma,  40001 em outra, 40002 em outra ....)

 

eu acredito que seja porque eu fis a quest de uma outra storage em quanto eu tinha que esperar os 10 segundos da magia que eu tinha soltado anteriormente, seria isto ? (tipo eu soltei uma magia, e logo em seguida eu fis a quest de uma outra storage e soltei a nova magia)

foi assim que aconteceu: eu fis as outras 3 magias, e tinha esquecido de colocar:

 

 

if getPlayerStorageValue(cid, config.storage[2]) == 1 then
  doPlayerSendCancel(cid, config.msg)
   return TRUE
    end
     if getPlayerStorageValue(cid, config.storage[1]) >= 1 then
      if getPlayerMana(cid) >= config.mana then
       doPlayerAddMana(cid, -config.mana)
        setPlayerStorageValue(cid, config.storage[2], 1) <<<<<<<<<<<<<<<<<<<<<<<<<<<< ESSE [2] AQUI
 

nas outras 3 magias dai o sistema de permissao estava funcionando perfeitamente, só que o sistema de acumular espirito e talz nao estava funcionando, entao eu abri as magias e percebi que tinha esquecido de colocar aquele [2] la, dai eu fui e arrumei, só que quando fui testar aconteceu isso, eu peguei a primeira magia, dai soltei ela, e logo ja peguei a segunda, dai tive que esperar os 10 segunds, mais eles se tornaram infinitos, ou seja nao consigui mais soltar nenhuma outra magia, fica mandando a menssagem de esperar os 10 segundos pra sempre, eu tentei fechar e abrir o server mais bem na hora que eu fui fechar deu save dai salvou com a storage da magia ja, sera que tem como arrumar ? sera que tem como retirar as storages existentes pra mim tentar pegar as permissoes sem usar uma magia antes ? aguardo respostas, muito obrigado S2

 

obs: nao da nenhum erro no console do server e em nenhum outro lugar, so fica aparecendo aquele negocio que tem que esperar 10 segundos la.

 

 

---- @EDIT ----

se eu retiro aqueles numeros das storages la em baixo ([1] e [2]) (lembrando que quando eu tiro o [1] e [2] nao funciona o sistema de permissao :X)eu consigo soltar as 3 outras magias que eu criei, mas percebi que a magia que esta bugando é o super berserk (aquele que voce passou pra mim, o script ta la em cima) apos eu soltar ele nao consigo mais utilizar as outras magias, e magia que eu disse que eu soltei ali anteriormente foi bem o super berserk, entao pode ser q a permissao bugou ele ou nao sei, poderia tentar ver ? :(

Muito Obrigado.

 

 

att

Henrique Cechinel    xD

Editado por Henrique Cechinel (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Giovani, ocorreu um erro, eu nao estou mais consiguindo soltar as magias, aquele negocio de esperar 10 segundos pra acumular o espirito talz, bugo, ele nao sai mais, a magia nao sai, fica sempre falando aquilo, oque que eu fasso ? eu adicionei 3 novas magias aqui esta uma, para ver se tem algum erro:

local config = {

  seconds = 10,

   storage = {40001, 47112120},

   msg = "Voc\ê preci\sa aguardar 10 segundos para acumular o esp\írito.",

  mana = 2400,

 semMana = "Voc\ê n\ão t\êm mana suficiente."

}

local function useAgain(cid)

 setPlayerStorageValue(cid, config.storage, 2)

 return TRUE

end

local combat1 = createCombatObject()

 setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

 setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

local combat2 = createCombatObject()

 setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

 setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400)

arr1 = {

{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0},

}

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

local function spell(parameters)

 doCombat(parameters.cid, parameters.combat2, parameters.var)

end

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

      if getPlayerMana(cid) >= config.mana then

       doPlayerAddMana(cid, -config.mana)

        setPlayerStorageValue(cid, config.storage[2], 1)

         addEvent(useAgain, config.seconds*1000, cid)

        local parameters = { cid = cid, var = var, combat2 = combat2 }

       addEvent(spell, 500, parameters)

      return doCombat(cid, combat1, var)

     else

    doPlayerSendCancel(cid, config.semMana)

   end

  end

 return TRUE

end

 

a storage la em cima é 40001 porque fis 4 quests, 1 pada cada magia (pois nao queria que uma permissao dece para todas as magias) (dai ficou 40000 em uma,  40001 em outra, 40002 em outra ....)

 

eu acredito que seja porque eu fis a quest de uma outra storage em quanto eu tinha que esperar os 10 segundos da magia que eu tinha soltado anteriormente, seria isto ? (tipo eu soltei uma magia, e logo em seguida eu fis a quest de uma outra storage e soltei a nova magia)

foi assim que aconteceu: eu fis as outras 3 magias, e tinha esquecido de colocar:

 

 

if getPlayerStorageValue(cid, config.storage[2]) == 1 then
  doPlayerSendCancel(cid, config.msg)
   return TRUE
    end
     if getPlayerStorageValue(cid, config.storage[1]) >= 1 then
      if getPlayerMana(cid) >= config.mana then
       doPlayerAddMana(cid, -config.mana)
        setPlayerStorageValue(cid, config.storage[2], 1) <<<<<<<<<<<<<<<<<<<<<<<<<<<< ESSE [2] AQUI
 

nas outras 3 magias dai o sistema de permissao estava funcionando perfeitamente, só que o sistema de acumular espirito e talz nao estava funcionando, entao eu abri as magias e percebi que tinha esquecido de colocar aquele [2] la, dai eu fui e arrumei, só que quando fui testar aconteceu isso, eu peguei a primeira magia, dai soltei ela, e logo ja peguei a segunda, dai tive que esperar os 10 segunds, mais eles se tornaram infinitos, ou seja nao consigui mais soltar nenhuma outra magia, fica mandando a menssagem de esperar os 10 segundos pra sempre, eu tentei fechar e abrir o server mais bem na hora que eu fui fechar deu save dai salvou com a storage da magia ja, sera que tem como arrumar ? sera que tem como retirar as storages existentes pra mim tentar pegar as permissoes sem usar uma magia antes ? aguardo respostas, muito obrigado S2

 

obs: nao da nenhum erro no console do server e em nenhum outro lugar, so fica aparecendo aquele negocio que tem que esperar 10 segundos la.

 

 

---- @EDIT ----

percebi que a magia que esta bugando é o super berserk (aquele que voce passou pra mim, o script ta la em cima) apos eu soltar ele nao consigo mais utilizar as outras magias, e magia que eu disse que eu soltei ali anteriormente foi bem o super berserk, entao pode ser q a permissao bugou ele ou nao sei, poderia tentar ver ? :(

Você tem que trocar o storage das magias, o storage de acumular o espírito.

Se for mesmo storage quando você soltar uma magia vai ter que esperar 10 segundos pra soltar outra.

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

 

Link para o post
Compartilhar em outros sites

Você tem que trocar o storage das magias, o storage de acumular o espírito.

Se for mesmo storage quando você soltar uma magia vai ter queue esperar 10 segundos pra soltar outra.

você não intendeu... Eu não estou conseguindo soltar as magias nem depois dos 10 segundos. Tipo, nunca sai aquela menssagem dos 10 segundos sempre quando eu tento soltar uma magia aparece aquilo

 

 

 

------ @EDIT -----

 

Me desculpe ae giovani o erro foi totalmente meu, estava comparando os scripts das magias que eu criei com o super berserk que voce fes pra mim, e percebi que deixei passar um storage sem identificalas, entao estava dando este "bug" mais corrigi e esta funcionando perfeitamente

 

 

local function useAgain(cid)
 setPlayerStorageValue(cid, config.storage, 2)  << Tinha esquecido de colocar [2] aqui =/
 return TRUE
end
 

 

Muito obrigado ae por me aranjar este script maravilhoso, +3  REP+ pra voce :)

Ate a proxima.

Editado por Henrique Cechinel (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Ola Giovani, tudo bem ? :), intao, percebi que quando eu tento soltar a magia (quando ainda nao fis a quest da storage) a magia nao sai (obviamente) mais nao esta aparecendo nenhuma menssagem nem nada, apenas aparece o nome da magia e nao solta nen aparece nada, queria que aparecece uma fala falando que ele teria que comprar a magia:

 

 

doPlayerSendCancel(cid, "Desculpe,Você tem que comprar a permissao para usar está magia.")
 

acho que eu teria que adicionar isso ne ? mais a onde na magia ?

 

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, 1, 1, 1, 0, 0, 0,0,0},
{0, 1, 0, 1, 1, 0, 1, 1, 0, 1,0,0},
{0, 0, 1, 1, 0, 1, 0, 1, 1, 0,0,0},
{0, 1, 1, 0, 1, 1, 1, 0, 1, 1,0,0},
{1, 1, 0, 1, 1, 1, 1, 1, 0, 1,1,0},
{1, 0, 1, 1, 1, 3, 1, 1, 1, 0,1,0},
{1, 1, 0, 1, 1, 1, 1, 1, 0, 1,1,0},
{0, 1, 1, 0, 1, 1, 1, 0, 1, 1,0,0},
{0, 0, 1, 1, 0, 1, 0, 1, 1, 0,0,0},
{0, 1, 0, 1, 1, 0, 1, 1, 0, 1,0,0},
{0, 0, 0, 0, 1, 1, 1, 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
          end
          return TRUE
end

 

Adiciona ae pra mim por favor ? mt obg. :)

Link para o post
Compartilhar em outros sites

Recopie o script da spell que eu postei e cuidado com double post.

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

 

Link para o post
Compartilhar em outros sites

Recopie o script da spell que eu postei e cuidado com double post.

deu certo, ficou muito legal :) desculpa ae, nao farei isso denovo (double post)

 

agora queria saber se teria como voce me ensinar como fazer a magia com a storage só que sem a storage de esperar os 10 segundos, só o storage da permissao mesmo , encina ? :)

 

aqui ta a magia que eu queria fazer:

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.1, 0, 1.8, 0)

arr = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 1, 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)

    return doCombat(cid, combat, var)

end

 

obs: tente explicar oque voce muda, porque dai eu vo colocar nas outras magias, :) te amo rsrs

esse meu post aqui nao acaba em kkk, foi malz ae, é que to aperfeiçoando rsrs.

 

 

 

se quiser consultar a magia anterior que voce fes pra mim, ela esta aqui:

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, 1, 1, 1, 0, 0, 0,0,0},

{0, 1, 0, 1, 1, 0, 1, 1, 0, 1,0,0},

{0, 0, 1, 1, 0, 1, 0, 1, 1, 0,0,0},

{0, 1, 1, 0, 1, 1, 1, 0, 1, 1,0,0},

{1, 1, 0, 1, 1, 1, 1, 1, 0, 1,1,0},

{1, 0, 1, 1, 1, 3, 1, 1, 1, 0,1,0},

{1, 1, 0, 1, 1, 1, 1, 1, 0, 1,1,0},

{0, 1, 1, 0, 1, 1, 1, 0, 1, 1,0,0},

{0, 0, 1, 1, 0, 1, 0, 1, 1, 0,0,0},

{0, 1, 0, 1, 1, 0, 1, 1, 0, 1,0,0},

{0, 0, 0, 0, 1, 1, 1, 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

Editado por Henrique Cechinel (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

deu certo, ficou muito legal :) desculpa ae, nao farei isso denovo (double post)

 

agora queria saber se teria como voce me ensinar como fazer a magia com a storage só que sem a storage de esperar os 10 segundos, só o storage da permissao mesmo , encina ? :)

 

aqui ta a magia que eu queria fazer:

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.1, 0, 1.8, 0)

arr = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 1, 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)

    return doCombat(cid, combat, var)

end

 

obs: tente explicar oque voce muda, porque dai eu vo colocar nas outras magias, :) te amo rsrs

esse meu post aqui nao acaba em kkk, foi malz ae, é que to aperfeiçoando rsrs.

 

 

 

se quiser consultar a magia anterior que voce fes pra mim, ela esta aqui:

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, 1, 1, 1, 0, 0, 0,0,0},

{0, 1, 0, 1, 1, 0, 1, 1, 0, 1,0,0},

{0, 0, 1, 1, 0, 1, 0, 1, 1, 0,0,0},

{0, 1, 1, 0, 1, 1, 1, 0, 1, 1,0,0},

{1, 1, 0, 1, 1, 1, 1, 1, 0, 1,1,0},

{1, 0, 1, 1, 1, 3, 1, 1, 1, 0,1,0},

{1, 1, 0, 1, 1, 1, 1, 1, 0, 1,1,0},

{0, 1, 1, 0, 1, 1, 1, 0, 1, 1,0,0},

{0, 0, 1, 1, 0, 1, 0, 1, 1, 0,0,0},

{0, 1, 0, 1, 1, 0, 1, 1, 0, 1,0,0},

{0, 0, 0, 0, 1, 1, 1, 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

Apenas coloquei um else.

Veja que antes da mensagem tem um else.

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

 

Link para o post
Compartilhar em outros sites

Apenas coloquei um else.

Veja que antes da mensagem tem um else.

 

cade o.O ?

nao tava falando do script ali de falar que tem que comprar a magia, eu pedi que voce fisece o script da storage pra mim só que sem o da storage de esperar 10 segundos, no caso só o 40000, só que nao da de simplesmente tirar o outro numero ne, porque aqueles segs, e um monte de coisa ali dai nao vai ter nada a ver, eu só quero uma magia que utilize o mesmo sistema de storage que vc me encinou, dai só queria que adicionace na magia, que a parte da quest e talz ja ta muito mais doque intendida, a magia que eu queria que voce adicionace o sistema de storage esta aqui:

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.1, 0, 1.8, 0)

arr = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},

{0, 0, 0, 0, 0, 1, 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)

    return doCombat(cid, combat, var)

end

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por BTitan
      Reviva a nostalgia do Tibia 8.6 com um toque das novidades modernas, mantendo a essência clássica que você ama. Nosso mapa é limpo e otimizado, perfeito para wars intensas e estratégicas.
      Com mais de 100 áreas de caça, vocações equilibradas e eventos automáticos diários, garantimos diversão sem limites para todos os jogadores.
       
      ACC Manager: 1/1
      IP: go.baiaktitan.com
      https://www.baiaktitan.com
       
      Principais informações:
       
      Dedicado 24 horas sem lag Attack Speed moderado Cast System DODGE! CRITICAL! REFLECT! Upgrade Weapon Forge System Autoloot Anti Rollbacks Eventos exclusivos (Battle Royale, DOTA, Team Battle, entre outros...) Servidor integrado com Telegram (Contato direto com ADM) Cliente próprio (com novos itens, montarias e outfits) Mapa Baiak, modificado exclusivamente para o PvP Servidor otimizado, suportando mais de 1.000 players online  
      »» EXP Rate: 200x
      »» Skill Rate: 20x
      »» Magic Rate: 10x
      »» Loot Rate: 3x
       
      Aguardamos por você!
    • Por Veigh
      IP: HYPEOT.COM (Versão 8.60) Por que jogar no HYPEOT? Confira nossos diferenciais: Sistema de Reset 180+ Montarias 65+ Outfits Sistema de Stage Sistema de Pesca Sistema de Refinamento Sistema de Aura Sistema de Mineração Sistema de Woodcut Sistema de Dungeons Sistema de Survival Mais de 30 Bosses de Alavancas +10 Eventos Automáticos Mais de 5 anos online com apenas 2 resets. Agora estamos de volta com força total desde 05/12! O que você está esperando? Junte-se à aventura e faça parte dessa jornada épica! Conecte-se agora mesmo e não fique de fora!
    • Por Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
    • Por otpokesalense
      🧿Base Tibia Solebran totalmente otimizada!  
       
       ✔️ OTClient (Version Old);
      ✔️ Update 2.2;
      ✔️ Site Póprio;
      ✔️ Map Global
      ✔️ Bugs, Minimo (2x) talvez;
      ✔️ PVP 💯 Funcional.
       
       
      Get Servidor: https://files.fm/f/7qumr8943e 💸 Buy! otimo projeto para vc utilizá-lo.
      Lembrando:: ao comprar o download será disponibilizado automaticamente.
       
      🧑‍💻System Operacional: Windows (VPS)
      👨‍💻Programador (27) 998931903 - - - O Valor já inclui o serviço de programação! 🤗
       

       
       

       
       
    • Por Arkanjo39
      CUIDA, CUIDA E VEM CONHECER NOSSO SERVER. KING BAIAK ACABOU DE SER LANÇADO!!! VEM SER O TOP 1 Site com Otclient: https://kingbaiak.com/ PARA NOVOS JOGARES ADM TA DANDO AQUELA FORCINHA! SERVIDOR 8.60 COM RESETS, MONTARIAS E GOLDEN OUTFIT! INFORMAÇÕES BÁSICAS DO SERVIDOR: [+] MAPA BAIAK [+] HIGH EXP [+] RESETS COM + DAMAGE [+] AUTOLOOT AUTOMÁTICO [+] CITY DONATE [+] ROSHAMUUL, ORAMOND E NETHER [+] MONTARIAS E GOLDEN OUTFIT [+] INVASÃO DE MONSTROS AUTOMÁTICAS [+] DAILY MONSTER QUE APARECE AO LOGAR [+] MONTARIAS COM COMANDO !MOUNT [+] SISTEMA DE ROLETA ATUAL [+] CAST WATCH [+] FAST ATTACK [+] CAST ARROWS [+] PUSH CRUZADO [+] REWARD CHEST [+] WARSQUARE [+] COMBO EXP DE POTIONS [+] MINERAÇÃO COM LOJA [+] SISTEMA DE BOSS [+] CRITICAL/DODGE [500/500] [+] LIFE E MANA EM PORCENTAGEM* [+] VARIAS QUESTS [+] EVENTO DTT (AUTOMÁTICO) [+] EVENTO BATLEFIELD (AUTOMÁTICO) [+] EVENTO SNOWBALLWAR (AUTOMÁTICO) [+] EVENTO DESERT WAR (AUTOMÁTICO) [+] EVENTO ZOMBIE (AUTOMÁTICO) [+] EVENTO CAMPO MINADO (AUTOMÁTICO) [+] EVENTO TEAM BATLE (AUTOMÁTICO) [+] EVENTO CAPTURE THE FLAG (AUTOMÁTICO)
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo