DE
pedido

Por um tempo para usa

Por dearthpoenix, 02 de abr. de 2014 em Scripts

9
1.5k
02 de abril de 2014 às 16:28

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 Abril 2 por dearthpoenix

WiihtopW
02 de abril de 2014 às 16:35

tbm precisso de algo parecido

02 de abril de 2014 às 16:49

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

DbkoD
02 de abril de 2014 às 16:51


Erro

 

Editado Abril 2 por Dbko

02 de abril de 2014 às 17:04

????? 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

02 de abril de 2014 às 17:13
Melhor resposta

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 Abril 2 por dearthpoenix

02 de abril de 2014 às 17:27

Tópico movido para Pedidos e dúvidas resolvidos.

02 de abril de 2014 às 17:31

ali a cima vc pedia um tp que falase e saise efeito dai pus uque vc pediu

02 de abril de 2014 às 20:05

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 Abril 2 por dearthpoenix