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 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)
    • Por BTitan
      Baiak Titan: Uma Experiência Incomparável no Universo Baiak
       
      O Baiak Titan combina a nostalgia dos antigos tempos de OTServ com a inovação e modernidade atuais. Oferecemos um mapa vasto, com mais de 100 áreas de caça para explorar, além de vocações equilibradas para um PvP justo e emocionante. Diversos eventos automáticos ocorrem diariamente, garantindo diversão constante para os jogadores. O servidor conta com vários sistemas, como por exemplo, montarias para quem utiliza o cliente exclusivo, monstros do Tibia 9.6+, sistema de mineração, entre outros!
       
      Por Que Escolher o Baiak Titan?
       
      PvP de Alta Qualidade: Embora seja um servidor Baiak, nosso mapa é cuidadosamente projetado para proporcionar ganho de experiência sem perder a seriedade do jogo, oferecendo desafios instigantes e um equilíbrio perfeito para combates épicos.
      Jogabilidade Customizada: O mapa Baiak foi exclusivamente adaptado para promover intensas batalhas de PvP, com recursos inovadores que mantêm a jogabilidade sempre fresca e emocionante.

      Detalhes do Servidor:
       
      IP: baiaktitan.com Website: https://baiaktitan.com Account Manager: 1/1
        Principais Características:
       
      Uptime 24/7, Sem Lag: Jogue a qualquer hora com a estabilidade de servidores dedicados e de alta performance. Velocidade de Ataque Equilibrada: Ajustada perfeitamente para garantir combates dinâmicos e justos. Sistema de Cast: Transmita suas jogadas ao vivo e assista aos seus amigos em ação. Cliente Exclusivo: Software personalizado com novos outfits, montarias e criaturas, enriquecendo ainda mais sua experiência no jogo. Runas, Poções e Flechas Não Infinitas: Valorizamos uma jogabilidade mais estratégica e desafiadora, onde os recursos precisam ser geridos com sabedoria.
      Eventos Automáticos:
       
      Zombie Team Battle Monster Hunter Castle (War of Emperium) Capture The Flag DOTA Corrida Arena War (O último sobrevivente ganha) Fire Storm
        Taxas do Servidor:
       
      EXP: 200x (com stages)
      Skill: 100x
      Magic: 30x
      Loot: 3x
       
      Junte-se à nossa comunidade e viva essa aventura única. O Baiak Titan espera por você!
    • Por campospkks
      Servidor muito bem otimizado, com amplo map para uma diversão imperdível. 
       
      *  Quest System
      * bugs corrigidos 90,0%
      * Client Específico (V8)
      * Mobile Adaptavel e Otimizado
      * database.sql já com (Modulo Pix) 
      * site 95,9% atualizado (Troque, pois a marca já possuí proprietário)
      * Franquia Tibia Custom baseado em armas.
       
      Site Original: soulgun.com.br
      discord.gg/cCWcaMwjuB
      Relançamento Servidor 20-09-2024
      Horario 17:00
      whatsap Grupo
      https://chat.whatsapp.com/JsAyLAmwJQyGEWgHTI4096
      Video Do Game
      https://youtu.be/N8asxdnzmGw


    • Por chateadoagr
      Bem-vindo ao Genesis Online Tibia (GOT), um mundo onde a civilização foi devastada por um apocalipse zumbi. Inspirado em referências como The Walking Dead e Resident Evil, o GOT desafia você a sobreviver em meio ao caos, enfrentando hordas de mortos-vivos, explorando ruínas perigosas e formando alianças estratégicas. Embarque nesta jornada épica de sobrevivência e descoberta, onde cada escolha molda seu destino em um cenário hostil repleto de desafios e perigos iminentes.
       
       
      Adentre o universo de Genesis Online Tibia (GOT), um jogo repleto de sistemas inovadores e emocionantes. Equipe-se com um vasto arsenal de armas para enfrentar as ameaças do apocalipse zumbi, enquanto o sistema autoloot simplifica suas conquistas. Desenvolva seu personagem através de um sistema de upgrade único, aprimorando habilidades e atributos para enfrentar desafios cada vez mais formidáveis.
       
      Explore um mundo imersivo onde o som desempenha um papel crucial, criando uma atmosfera envolvente e realista. Vasculhe cada canto em busca de recursos vitais, desvendando segredos e tesouros ocultos. Siga uma cativante história através de missões que expandem o enredo, revelando os mistérios por trás do apocalipse e oferecendo recompensas valiosas.
       
      Em Genesis Online Tibia, a jornada pela sobrevivência é repleta de ação, estratégia e emoção, convidando você a se aventurar em um mundo onde cada decisão molda seu destino e determina sua capacidade de enfrentar os desafios que aguardam.

      Em breve imagens do servidor!
       
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo