Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

YanRenat

Scripting Alavanca de Monstros (OTServ 8.10)

Posts Recomendados

Eae pessoal, beleza?
Pesquisei no fórum antes de fazer esse tópico e encontrei vários scripts de alavanca de monstros, mas nenhum deles funcionou no meu servidor e eu não consegui resolver o problema :/
Diante disso venho com humildade pedir a ajuda de vocês...

O problema é o seguinte: A alavanca summona o monstro tranquilamente, no entanto, não há nenhum tipo de tempo para usá-la novamente. Dessa forma, o player pode usá-la quantas vezes quiser, invocando vários monstros seguidamente.
Eu preciso que tenha um tempo que pode ser de 1 minuto ou mais para usar a alavanca novamente.
Servidor: Aries Server to Tibia 8.10 - Version 3.0 (OTServ SVN 0.6.0)

E o script é esse:

Citar

function onUse(cid, item, fromPosition, item2, toPosition)
local posmonster = {x= 510, y= 293, z= 10}
local monster = "Arena Goblin"
if (item.itemid == 1945) then
doTransformItem(item.uid,item.itemid+1)
doSummonCreature(monster, posmonster)
else
doTransformItem(item.uid,item.itemid-1)
return TRUE
end
return FALSE
end

Se alguém puder me ajudar nisso, ficarei muito grato.


Compartilhar este post


Link para o post
Compartilhar em outros sites

@YanRenat 

local config = {
    
    posmonster = {x= 510, y= 293, z= 10},
    monster = "Arena Goblin",
    storage = 15666, -- Storage
    time = 1 -- Minutos de exhaust
    
}

function onUse(cid, item, fromPosition, item2, toPosition)
    
    if getStorage(config.storage) >= os.time() then
        doPlayerSendTextMessage(cid, 19, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this alavanca again.") 
        return true
    end 
    doSetStorage(config.storage, os.time() + config.time * 60)
    doSummonCreature(config.monster, config.posmonster)
    return true
end

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

@YanRenat 

local config = {
    
    posmonster = {x= 510, y= 293, z= 10},
    monster = "Arena Goblin",
    storage = 15666, -- Storage
    time = 1 -- Minutos de exhaust
    
}

function onUse(cid, item, fromPosition, item2, toPosition)
    
    if getGlobalStorageValue(config.storae) >= os.time() then
        doPlayerSendTextMessage(cid, 19, "wait " .. getGlobalStorageValue(cid, config.storage) - os.time() .. " seconds to use this alavanca again.") 
        return true
    end 
    SetGlobalStorageValue(config.storage, os.time() + config.time * 60)
    doSummonCreature(config.monster, config.posmonster)
    return true
end

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

@YanRenat Você teria as sourcers? se sim,  me manda o arquivo luascript.cpp 


Compartilhar este post


Link para o post
Compartilhar em outros sites

@Storm 
PS: Encontrei também na pasta do server um arquivo chamado Funções para usar em arquivos LUA.
Dentre várias, selecionei essas funções pois foram as que deram problema no distro.

	getPlayerStorageValue(uid,valueid) -- Returns the value of the value id of a player
	setPlayerStorageValue(uid,valueid, newvalue) -- Adds a new value-id to the storage map of player
	getGlobalStorageValue(valueid) -- Returns the value of the value id
	setGlobalStorageValue(valueid, newvalue) -- Adds a new value-id to the storage map

 

luascript.cpp


Compartilhar este post


Link para o post
Compartilhar em outros sites

@YanRenat 

local config = {
    
    posmonster = {x= 510, y= 293, z= 10},
    monster = "Arena Goblin",
    storage = 15666, -- Storage
    time = 1 -- Minutos de exhaust
    
}

function onUse(cid, item, fromPosition, item2, toPosition)
    
    if getGlobalStorageValue(config.storae) >= os.time() then
        doPlayerSendTextMessage(cid, 19, "wait " .. getGlobalStorageValue(cid, config.storage) - os.time() .. " seconds to use this alavanca again.") 
        return true
    end 
    setGlobalStorageValue(config.storage, os.time() + config.time * 60)
    doSummonCreature(config.monster, config.posmonster)
    return true
end

 


Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 10/01/2019 em 21:54, Storm disse:

@YanRenat 


local config = {
    
    posmonster = {x= 510, y= 293, z= 10},
    monster = "Arena Goblin",
    storage = 15666, -- Storage
    time = 1 -- Minutos de exhaust
    
}

function onUse(cid, item, fromPosition, item2, toPosition)
    
    if getGlobalStorageValue(config.storage) >= os.time() then
        doPlayerSendTextMessage(cid, 19, "wait " .. getGlobalStorageValue(cid, config.storage) - os.time() .. " seconds to use this alavanca again.") 
        return true
    end 
    setGlobalStorageValue(config.storage, os.time() + config.time * 60)
    doSummonCreature(config.monster, config.posmonster)
    return true
end

 

 

@Storm agora sim, tá funfando certim.

obrigado.png


Editado por YanRenat (veja o histórico de edições)

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Storm Só uma correção, geralmente as funções 'get'  'set' começam com letras minusculas, por exemplo

 

 

setGlobalStorageValue

getGlobalStorageValue

getTileThingByPos

getTileInfo

getPlayerStorageValue

getPlayerLevel

setPlayerStorageValue

 

 



vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Vodkart Muito obrigado pela dica :)


Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×