Ir para conteúdo
  • 0

Pergunta

Ajuda aqui por favor!

 

Eu tenho um item com ID X que quando eu uso ele em outro item ele faz essa função:

 

local items = {

[2379] = {7363, 20},
[2384] = {6529, 15},
[2392] = {2547, 12},
}
function onUse(cid, item, frompos, item2, topos)
if items[item2.itemid] then
doPlayerAddItem(cid, items[item2.itemid][1], items[item2.itemid][2]) <<---X
doRemoveItem(item.uid) <<---Y
else
doPlayerSendCancel(cid, "Essa munição so poder ser usada em Pistolas.")
end
return true
end

Eu gostaria de colocar um tempo no additem.
Ex: quando eu usar esse item no outro, depois de um tempo tal ele vai fazer essa função de adicionar X e remover Y.
E tbem gostaria que no player falasse uma msg (Reloading), tipo um tile falante, effect etc.
E gostaria de poder configurar o tempo!
OBS: Eu utilizo isso para recarregar as armas do meu servidor!
Desde já, obrigado!
Editado por dearthpoenix
Link para o comentário
https://xtibia.com/forum/topic/231230-por-um-tempo-para-usa/
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

CARA isso ai não tem nada a ver do que eu pedi!


Desta eu ja resolvi!

Resolução:

fui em data/lib/50-function.lua

e adicionei isso no final

 

function wait(seconds)
local _start = os.time()
local _end = _start+seconds
while (_end ~= os.time()) do
end

end

 

 

Depois eu substitui esse:

 

local items = {

[2379] = {7363, 20},
[2384] = {6529, 15},
[2392] = {2547, 12},
}

function onUse(cid, item, frompos, item2, topos)
if items[item2.itemid] then
doPlayerAddItem(cid, items[item2.itemid][1], items[item2.itemid][2]) <<---X
doRemoveItem(item.uid) <<---Y
else
doPlayerSendCancel(cid, "Essa munição so poder ser usada em Pistolas.")
end
return true
end

 

 

Por esse:

local items = {

[2379] = {7363, 20},
[2384] = {6529, 15},
[2392] = {2547, 12},
}

function onUse(cid, item, frompos, item2, topos)
if items[item2.itemid] then
wait(3)
doPlayerAddItem(cid, items[item2.itemid][1], items[item2.itemid][2])
doRemoveItem(item.uid)
doSendMagicEffect(getCreaturePos(cid), 3)
doSendAnimatedText((getCreaturePos(cid)), "CARREGADA!", 180)
else
doPlayerSendCancel(cid, "Essa munição so poder ser usada em Pistolas.")
end
return true
end

 

 

OBS: wait(3) <<< tempo em segundos!

 

Sai procurando ai achei essa função.

Testei e deu certo! Flw

Editado por dearthpoenix
Link para o comentário
https://xtibia.com/forum/topic/231230-por-um-tempo-para-usa/#findComment-1632691
Compartilhar em outros sites

  • 0

Amigo se vc explicar pelo menus uque vc quer fazer com esse scripter eu poderia ate te ajuda mais como vc nao explico nada eu nao posso ajuda no momento explique uque vc quer ai faso pra vc aqui

Link para o comentário
https://xtibia.com/forum/topic/231230-por-um-tempo-para-usa/#findComment-1632672
Compartilhar em outros sites

  • 0

????? poderia min explica uque vc esta pretendendo fazer com esse scripter? se posivel eu te ajudo


va ate data / globalevents / scripter / crie um arquivo .lua com o nome efeitox.lua e adicione isso

         local text = {
        --X pos,Y pos, Z pos, text
        [1] = {pos = {32374,32233,7}, text = {"DOTA"}},
	   [2] = {pos = {32374,32238,7}, text = {"WoE"}},
	   [3] = {pos = {32364,32233,7}, text = {"Coliseum"}},
	   [4] = {pos = {32364,32239,7}, text = {"Zombie"}},
        }

        local effects = {
        --X pos,Y pos, Z pos, text
        [1] = {pos = {32374,32233,7}, effect = {11}},
	   [2] = {pos = {32374,32238,7}, effect = {11}},
        [3] = {pos = {32364,32233,7}, effect = {11}},
        [4] = {pos = {32364,32239,7}, effect = {11}},
		}

function onThink(interval, lastExecution)
        for _, area in pairs(text) do
                doSendAnimatedText({x=area.pos[1],y=area.pos[2],z=area.pos[3]},area.text[1], math.random(01,255))
        end
        for _, area in pairs(effects) do
                doSendMagicEffect({x=area.pos[1],y=area.pos[2],z=area.pos[3]},area.effect[1])
        end
        return TRUE
end 

e depois va em globalevents.xml e adicione essa tag

<globalevent name="efeitox" interval="15000" event="script" value="efeitox.lua"/>

explicando

 

onde tem interval="15000" << vc coloca o tempo que passa para solta a magia e fala se o seu servidor for por minutos vc coloca menus se for por segundos vc coloca mais numeros kk

 

se ajudei da rep ai :D

Link para o comentário
https://xtibia.com/forum/topic/231230-por-um-tempo-para-usa/#findComment-1632677
Compartilhar em outros sites

  • 0

Aquela função la funciona de boa, o unico problema que durante o 3 segundos ela trava o server....

 

será que alguem pode corrigir isso pra mim por favor??

Editado por dearthpoenix
Link para o comentário
https://xtibia.com/forum/topic/231230-por-um-tempo-para-usa/#findComment-1632772
Compartilhar em outros sites

×
×
  • Criar Novo...