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 Under
      ATENÇÃO, DESENVOLVEDORES DE OTSERV! 
      Uma nova era está chegando — e você vai fazer parte dela desde o começo! 
       Ferramentas de IA + Formação Completa
      Estamos finalizando ferramentas exclusivas de inteligência artificial que vão revolucionar a forma como você cria e gerencia servidores de Tibia.
      E pra abrir com estilo, chegou a primeira etapa da nossa formação completa:
       Curso de Pixel Art para Tibia e Derivados


      Instrutor: Brendon Nogard, fundador da Pixel Art School
      Uma das maiores referências em arte para servidores de tibia no Brasil!
       Quem é o Nogard? @Nogard
      video-de-apresent.mp4
       
      Criador das primeiras remakes gráficas da PXG
      Mais de 10 anos de experiência com Pixel Art
      Conduziu a evolução da perspectiva GBA para um visual moderno e imersivo
      Influenciou uma geração inteira de criadores na comunidade OTServer no Brasil.
       O que você vai aprender nesse curso?
      Compre Aqui!
       Perspectiva 45° para Tibia e derivados
       Criação de itens: pokébolas, loots, mochilas, poções
       Personagens animados com variações de cabelo
       Criaturas como Wolf, Werewolf, Snake, Horse e Centauro
       Cenários: paredes, cortinas, troféus
       Texturas: folhas, rochas
       Fundamentos de estilo, coerência e construção de sprites profissionais
        Duração: 12 horas
        VALOR : R$250,00
       BÔNUS POR R$50,00
      Também está disponível o Curso de Pixel Art Top Down, ideal pra quem quer começar do zero absoluto:
      Crie personagens, inimigos, chefes
      Monte todo o ambiente do seu jogo
         Duração: 3 horas
       Por que isso é importante pra você?
      Esse é o primeiro passo pra criar um OTServer com:
       Identidade visual única
       Alto nível gráfico
       Suporte de ferramentas de IA exclusivas
       E um método claro, testado e acessível!
       Nas próximas 4 semanas...
      Vamos liberar novos cursos sobre:
       Criação de mapas
       Desenvolvimento de sistemas e scripts
       IA aplicada ao design de jogo (desenvolvimento)
       Balanceamento, mecânicas e muito mais!
       Garanta sua vaga agora!
      Comece hoje mesmo com o pé direito.
      Compre Aqui!
    • Por Under
      A CipSoft acaba de anunciar uma grande novidade: a empresa agora também será responsável pelo desenvolvimento e operação do clássico The Settlers Online! 
      O time que já cuidava do jogo seguirá dedicado ao projeto, mas agora diretamente do novo escritório da CipSoft em Düsseldorf, na Alemanha.
       
      Pra quem não conhece, The Settlers Online é um jogo com uma base de jogadores muito fiel e engajada — algo que a CipSoft conhece bem graças à comunidade Tibiana que, há décadas, mostra paixão, comprometimento e amor pelo jogo. 
      O mais importante:
      É incrível ver a CipSoft crescendo e levando seu espírito de comunidade para novos horizontes, sem esquecer de onde veio e quem está com ela há tantos anos. 
      Anúncio oficial no fórum do Tibia
      Site oficial de The Settlers Online (Brasil)
       
    • Por Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! 
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       
       
    • Por Kiman174
      GRIMHAVEN SEASON 4
      LAUNCHING APRIL 18TH 19:00 CEST
       
      Join our community and stay up to date:
      Official Discord Server
       
       
       
       
       
      Step into a world where passion meets innovation—welcome to Grimhaven MMORPG! Born from a heartfelt passion project, Grimhaven has evolved into an extraordinary realm where every pixel on our meticulously crafted Real Map tells a story. Leveraging the classic legacy of version 8.6 and elevated by inventive custom content, our server transcends traditional gameplay, inviting you into a living, breathing adventure at every turn.
       
       
      Explore sprawling landscapes, battle formidable foes, and uncover hidden lore as you journey through environments that blend classic mechanics with innovative systems. Every corner of Grimhaven pulses with life and mystery, inviting you to forge alliances, challenge epic quests, and redefine what you thought possible in an open Tibia server. With each update, our dedicated team pushes the envelope, ensuring that every raid, dungeon, and social encounter feels fresh and electrifying.
       
       
      Whether you're a seasoned adventurer or new to the realm, Grimhaven offers a thrilling escape into a world where the spirit of discovery and the thrill of combat come together in perfect harmony. Embrace the extraordinary—your adventure begins now in Grimhaven MMORPG!
       
       
      What Makes Grimhaven Stand Out?
       
      With over thousands of hours of development and 4000+ commits, Grimhaven stands out with its unique blend of classic and innovative MMORPG features. Built on an authentic Real Map with 8.6 mechanics and expanded with carefully designed custom content, the experience is unmatched. The server offers rates starting from 12x, stunning HD visuals, and intricately scripted quests that immerse you in a dynamic narrative. From challenging custom raid bosses to a refined item system inspired by classic action RPGs, every element is thoughtfully crafted to deliver an engaging and ever-evolving adventure, all backed by a dedicated team ensuring a top-tier gaming experience.
       
       
       
      Custom Zones :
      Explore meticulously designed zones that promise unique challenges and unparalleled rewards.
       

       
       
       
      Unique Randomly Generated Dungeons :
      As if that's not enough, brace yourselves for our unique dungeons. Each one is randomly generated, ensuring that no adventure is ever the same. The thrill of exploring the unknown awaits you in every twist and turn.
       


       

       
       


       
       
       
      Scripted and Mechanically Challenging Quests:
      Immerse yourself in intricately designed quests that push your strategic prowess and combat skills, all brought to life by the remarkable creativity of our quest designer and mapper.
       

       

       


       
       
      Mighty Bosses:
      Confront colossal adversaries, each boasting unique abilities and intricate mechanics that challenge your tactics and teamwork, turning every encounter into an unforgettable battle.
       


       
       
       
      Ancient and Mythic Monsters:
      Encounter legendary beasts, ancient guardians, and mythical creatures that not only test your skills and courage but also offer tougher challenges, richer loot drops, and enhanced experience rewards.
       

       
       
       
      Magical Attributes & Crafting:
      Discover a world of enchantment where magical items not only have a chance to drop in the wild, but can also be expertly crafted to bestow unique and powerful attributes on your gear.
       
       

       

       
       
       
      Custom Events :
      We keep the excitement rolling with unique, server-wide events that'll keep you on the edge of your seat. Expect the unexpected!
       
       



       
       
       
      This glimpse barely scratches the surface—there's a TON more content that would overwhelm this thread! To dive even deeper, visit our official wiki at Grimhaven Wiki (https://wiki.grimhaven.net) and create your account today at Latestnews - Grimhaven (https://www.grimhaven.net/) .   
       
      Gear up for an unforgettable adventure starting April 18th 19:00 CEST.
      Dive into a realm of epic rewards, heart-pounding quests, and intense PVP battles where you'll test your skills against others.
      Join a vibrant community of adventurers, embrace the thrill of discovery, and answer the call to glory on the battlefield!
    • Por Raito
      Eu e mais 3 pessoas gostariamos de criar um digitibia alguem poderia me ajudar disponibilizando uma base que esteja funcionando, as unicas que eu encontrei nao funcionam. se alguem tiver para disponibilizar eu agradesço muito.
      meu email é 
      [email protected]
  • Estatísticas dos Fóruns

    96840
    Tópicos
    519594
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo