Ir para conteúdo

Featured Replies

Postado

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

 

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

Top Posters In This Topic

Most Popular Posts

  • GiovaniRodrigo
    GiovaniRodrigo

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

  • GiovaniRodrigo
    GiovaniRodrigo

    Poste o script da magia que você quer e a tag dela que esta no arquivo spells.xml que se encontra na pasta data/spells.

  • GiovaniRodrigo
    GiovaniRodrigo

    Crie um arquivo chamado questspell.lua na pasta data/actions/scripts e cole isso function onUse(cid, item, frompos, item2, topos)           spellName = "Super Berserk" -- Nome da spell           if

Postado
  • Autor

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)

Postado

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

 

Postado
  • Autor

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)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

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

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo