Ir para conteúdo
  • Cadastre-se

Posts Recomendados

BOA NOITE GENTE EU FIZ UMA ACTION 
function on use item 1 no item 2
e ele esta funcionando perfeitamente
mas eu gostaria de adicionar algo nele para que essa função funcione apenas uma vez em cada item
algo que faça o item2 já ficar usado mas sem que altere seu id
talvez adicionar um atributo no item2 quando usar o item1 nele a primeira vez que faça com que a action seja recusada se tentar usar novamente
obg desde ja

quero usar o item 1 no item 2 apenas 1x se eu tentar usar dinovo vai dizer que o item ja foi usado

Spoiler

function onUse(cid, item, frompos, itemEx, topos)
if getTopCorpse(topos) == null then 
return true
end
if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or 
getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 or getPlayerStorageValue (cid, 98752) >= 1 then   --alterado v1.9
return doPlayerSendCancel(cid, "impossivel fazer isso agora.")
end
if not isCreature(itemEx.uid) then
doCreatureSetNoMove(cid, true)
local tmp = getCreatureOutfit(cid)
if getPlayerSex(cid) == 1 then
tmp.lookType = 2501
else
tmp.lookType = 2500
end
doSetCreatureOutfit(cid, tmp, -1)
setPlayerStorageValue(cid, 98752, 1)
--------------------------------------------------
function finalizar(cid,toPos)
doRemoveCondition(cid, CONDITION_OUTFIT)
doCreatureSetNoMove(cid, false)
local itemEx = getTopCorpse(topos)
local rand = math.random(1, 5)
if itemEx then
doPlayerAddItem(cid, 15500, rand)
end
setPlayerStorageValue(cid, 98752, -1)
end
addEvent(finalizar, 8*1000,cid,toPos)
---------------------------------------------                                
end
    return true
end

 

Link para o post
Compartilhar em outros sites

Uma sugestão seria adicionar uma ActionID pra cada item usado, deixando eles 'marcados' por assim dizer.

Tipo assim:

 

Primeiro você checa se o item NÃO TEM actionID:

 

Citar

if(itemEx.actionid ~= 2497) then

 

Ai ao usar o Item[1] no Item[2] como você quer, você adiciona a ActionID 2497 no Item[2] para não poder usar nele novamente, assim:

 

Citar

doItemSetAttribute(itemEx.uid,'aid', 2497)

 

Fazendo isso, você não poderá mais usar o Item[1] no Item[2] que ficou com a ActionID.

Bom, é só uma sugestão. Espero que der certo.

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites
10 horas atrás, Frenesy disse:

Uma sugestão seria adicionar uma ActionID pra cada item usado, deixando eles 'marcados' por assim dizer.

Tipo assim:

 

Primeiro você checa se o item NÃO TEM actionID:

 

 

Ai ao usar o Item[1] no Item[2] como você quer, você adiciona a ActionID 2497 no Item[2] para não poder usar nele novamente, assim:

 

 

Fazendo isso, você não poderá mais usar o Item[1] no Item[2] que ficou com a ActionID.

Bom, é só uma sugestão. Espero que der certo.

man eu tentei aqui mas n consegui, poderia fazer isso por mim? eu postei o script

Link para o post
Compartilhar em outros sites

Eu na verdade ia fazer, só que eu não entendi bem seu script e nem sua finalidade real.

Faz assim, posta exatamente o que o script faz que eu tento fazer.

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites
Em 2017-5-9 ás 23:35, Frenesy disse:

Eu na verdade ia fazer, só que eu não entendi bem seu script e nem sua finalidade real.

Faz assim, posta exatamente o que o script faz que eu tento fazer.

bom man primeiramente o script esta funcionando 100% e sem erro
eu uso um item x em um corpo e a action vai colher algo do corpo tipo a obsidean knife (porem ela muda a autfit por um tempo exibindo uma animação do personagem rancando algo do corpo)
o problema é q n posso alterar o id do corpo como é feito no tibia pois os corpo tem outras funções
do jeito q esta fica igual uma obsidian knife que você pode usar no mesmo corpo eternamente ate ele sumir
quero que adicione algo no script que faça ele impedir de usar essa obsidian knife no mesmo corpo + de 1x

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

Estranho você dizer que o Script está funcionando perfeitamente, pois instalei ele aqui sem alteração e ele não funciona. Enfim...

Vou editar sem testar. Testa você aí em seu servidor e veja se funciona.

 

SUGESTÃO #01

 

function onUse(cid, item, frompos, itemEx, topos)
    if getTopCorpse(topos) == null or itemEx.actionid ~= 2497 then
        return true
    end
    if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or 
        getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
        getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 or getPlayerStorageValue (cid, 98752) >= 1 then   --alterado v1.9
    return doPlayerSendCancel(cid, "impossivel fazer isso agora.")
    end
    if not isCreature(itemEx.uid) then
        doCreatureSetNoMove(cid, true)
        local tmp = getCreatureOutfit(cid)
        if getPlayerSex(cid) == 1 then
            tmp.lookType = 2501
        else
            tmp.lookType = 2500
        end
        doSetCreatureOutfit(cid, tmp, -1)
        setPlayerStorageValue(cid, 98752, 1)
--------------------------------------------------
function finalizar(cid,toPos)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doCreatureSetNoMove(cid, false)
    
    local itemEx = getTopCorpse(topos)
    local rand = math.random(1, 5)
        if itemEx then
            doPlayerAddItem(cid, 15500, rand)
            doItemSetAttribute(itemEx.uid,'aid', 2497)
        end
            setPlayerStorageValue(cid, 98752, -1)
        end
            addEvent(finalizar, 8*1000,cid,toPos)
        ---------------------------------------------                                
    end
    return true
end

 

SUGESTÃO #02

 

function onUse(cid, item, frompos, itemEx, topos)
    if getTopCorpse(topos) == null then
        return true
    end
    if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or 
        getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
        getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 or getPlayerStorageValue (cid, 98752) >= 1 then   --alterado v1.9
    return doPlayerSendCancel(cid, "impossivel fazer isso agora.")
    end
    if not isCreature(itemEx.uid) then
        doCreatureSetNoMove(cid, true)
        local tmp = getCreatureOutfit(cid)
        if getPlayerSex(cid) == 1 then
            tmp.lookType = 2501
        else
            tmp.lookType = 2500
        end
        doSetCreatureOutfit(cid, tmp, -1)
        setPlayerStorageValue(cid, 98752, 1)
--------------------------------------------------
function finalizar(cid,toPos)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doCreatureSetNoMove(cid, false)
    
    local itemEx = getTopCorpse(topos)
    local rand = math.random(1, 5)
        if itemEx and itemEx.actionid ~= 2497 then
            doPlayerAddItem(cid, 15500, rand)
            doItemSetAttribute(itemEx.uid,'aid', 2497)
        end
            setPlayerStorageValue(cid, 98752, -1)
        end
            addEvent(finalizar, 8*1000,cid,toPos)
        ---------------------------------------------                                
    end
    return true
end

 

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites
13 horas atrás, Frenesy disse:

Estranho você dizer que o Script está funcionando perfeitamente, pois instalei ele aqui sem alteração e ele não funciona. Enfim...

Vou editar sem testar. Testa você aí em seu servidor e veja se funciona.

 

SUGESTÃO #01

 


function onUse(cid, item, frompos, itemEx, topos)
    if getTopCorpse(topos) == null or itemEx.actionid ~= 2497 then
        return true
    end
    if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or 
        getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
        getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 or getPlayerStorageValue (cid, 98752) >= 1 then   --alterado v1.9
    return doPlayerSendCancel(cid, "impossivel fazer isso agora.")
    end
    if not isCreature(itemEx.uid) then
        doCreatureSetNoMove(cid, true)
        local tmp = getCreatureOutfit(cid)
        if getPlayerSex(cid) == 1 then
            tmp.lookType = 2501
        else
            tmp.lookType = 2500
        end
        doSetCreatureOutfit(cid, tmp, -1)
        setPlayerStorageValue(cid, 98752, 1)
--------------------------------------------------
function finalizar(cid,toPos)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doCreatureSetNoMove(cid, false)
    
    local itemEx = getTopCorpse(topos)
    local rand = math.random(1, 5)
        if itemEx then
            doPlayerAddItem(cid, 15500, rand)
            doItemSetAttribute(itemEx.uid,'aid', 2497)
        end
            setPlayerStorageValue(cid, 98752, -1)
        end
            addEvent(finalizar, 8*1000,cid,toPos)
        ---------------------------------------------                                
    end
    return true
end

 

SUGESTÃO #02

 


function onUse(cid, item, frompos, itemEx, topos)
    if getTopCorpse(topos) == null then
        return true
    end
    if getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 or 
        getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 or getPlayerStorageValue(cid, 75846) >= 1 or
        getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 or getPlayerStorageValue (cid, 98752) >= 1 then   --alterado v1.9
    return doPlayerSendCancel(cid, "impossivel fazer isso agora.")
    end
    if not isCreature(itemEx.uid) then
        doCreatureSetNoMove(cid, true)
        local tmp = getCreatureOutfit(cid)
        if getPlayerSex(cid) == 1 then
            tmp.lookType = 2501
        else
            tmp.lookType = 2500
        end
        doSetCreatureOutfit(cid, tmp, -1)
        setPlayerStorageValue(cid, 98752, 1)
--------------------------------------------------
function finalizar(cid,toPos)
    doRemoveCondition(cid, CONDITION_OUTFIT)
    doCreatureSetNoMove(cid, false)
    
    local itemEx = getTopCorpse(topos)
    local rand = math.random(1, 5)
        if itemEx and itemEx.actionid ~= 2497 then
            doPlayerAddItem(cid, 15500, rand)
            doItemSetAttribute(itemEx.uid,'aid', 2497)
        end
            setPlayerStorageValue(cid, 98752, -1)
        end
            addEvent(finalizar, 8*1000,cid,toPos)
        ---------------------------------------------                                
    end
    return true
end

 

obrigado foi resolvido man n sei porque eu tinha feito assim e n deu certo
itemEx.aid ~= 2497 then -- isso deu errado eu pensei q era a mesma coisa

 

uma ultima duvida***
é possivel dar valor a uma actionid igual se faz com storage?

Editado por wevertonvrb (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
11 horas atrás, wevertonvrb disse:

obrigado foi resolvido man n sei porque eu tinha feito assim e n deu certo
itemEx.aid ~= 2497 then -- isso deu errado eu pensei q era a mesma coisa

 

Que bom que deu certo. Se eu ajudei em algo, já sabe né? REP+

 

11 horas atrás, wevertonvrb disse:

uma ultima duvida***
é possivel dar valor a uma actionid igual se faz com storage?

 

ActionID não possuem value.

cms1-pr%C3%AAmio.png

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 LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo