Ir para conteúdo
  • Cadastre-se

Posts Recomendados

12 horas atrás, dominus disse:

 

Se cada item tiver uma actionid diferente ele não pode mudar outro item.

 

Existe no config lua algo sobre salvestoragevalue, coloque true para salvar o valor.

sim tinha e tava false, mudei pra true e oque aconteceu foi o seguinte

mesmo fechando o serve continua contando o tempo, porem  se eu tiver 5 itens diferentes eu posso escolher um dos 5 e abrir.

ou seja se eu usar o item 1 quando o tempo acabar eu posso abrir o 1, ou o 2 ou o 3, ou o 4 ou o 5
após eu abrir um deles se eu tentar abrir outro a contagem deste outro começa e acontece a mesma coisa posso escolher qual abrir


lembrando também que fiz um script para cada item


o anterior tem algo que diferencia cada item e este tem algo que mantém mesmo com serve fechado
globall storage no caso sera q da pra implementar ela no outro script sem alterar oque ele ja ë??






editt
eu coloquei storage pra poder impidir que transforme varios itens ao mesmo tempo mas ainda espero uma solucão pois seria mais de 30 storages

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

Não entendi a questão de ter criado um script para cada item. Esse script foi feito para todos os itens.

 

Vamos para a lógica:

O item tem uma aid que diferencia ele dos demais.

Essa aid é usada como index para guarda uma informação. 

Essa informação é guardada com uso da função globalstore.

Essa chave é referente ao actionid do item, somente ele tem esse valor, por isso, só ele tem acesso aos dados contidos nessa chave.

Link para o post
Compartilhar em outros sites
11 horas atrás, dominus disse:

Não entendi a questão de ter criado um script para cada item. Esse script foi feito para todos os itens.

 

Vamos para a lógica:

O item tem uma aid que diferencia ele dos demais.

Essa aid é usada como index para guarda uma informação. 

Essa informação é guardada com uso da função globalstore.

Essa chave é referente ao actionid do item, somente ele tem esse valor, por isso, só ele tem acesso aos dados contidos nessa chave.

como eu vou por este script pra todos??
o item 1 se transforma no item 10
o item 2 no item 9
o 3 no 8
o 4 no 7
e o 5 no 6

eu tenho que criar um arquivo lua e colocar este script para cada um deles neh não? foi isso que eu fiz!!
item 1pro10.lua
2pro9.lua
3pro8.lua
4pro7.lua
5pro6.lua

e dentro de cada um eles eu alterei apenas esta parte
doTransformItem(item.uid,15143)   ou seja o id que qual vai transformar

ai aconteceu o seguinte
se eu usar o  item 1 vai ativar o 1pro10.lua e vai marcar o tempo exemplo pra daki 2h digamos 20h 30m 30s ate ai ta ok e sem erro

mas se eu ou ate mesmo outro jogador tentar ativar o item 2pro9.lua não vai conseguir ativar e vai dizer o item vai se transformar as 20h 30m 30s  ou seja se eu ativar primeiro vai contar para todos os jogadores ate mesmo os que não possui o item
e tem mais, quando der as 20h 30m 30s  o primeiro a clicar no item 1,2,3,4 ou 5 vai transformar ele mesmo que que não tenha sido quem o ativou e o segundo a usar um dos itens novamente recomeça as contagens

as storages tb n deu certo ja retirei

 

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

como eu vou por este script pra todos??
o item 1 se transforma no item 10
o item 2 no item 9
o 3 no 8
o 4 no 7
e o 5 no 6

eu tenho que criar um arquivo lua e colocar este script para cada um deles neh não? foi isso que eu fiz!!
item 1pro10.lua
2pro9.lua
3pro8.lua
4pro7.lua
5pro6.lua

e dentro de cada um eles eu alterei apenas esta parte
doTransformItem(item.uid,15143)   ou seja o id que qual vai transformar

ai aconteceu o seguinte
se eu usar o  item 1 vai ativar o 1pro10.lua e vai marcar o tempo exemplo pra daki 2h digamos 20h 30m 30s ate ai ta ok e sem erro

mas se eu ou ate mesmo outro jogador tentar ativar o item 2pro9.lua não vai conseguir ativar e vai dizer o item vai se transformar as 20h 30m 30s  ou seja se eu ativar primeiro vai contar para todos os jogadores ate mesmo os que não possui o item
e tem mais, quando der as 20h 30m 30s  o primeiro a clicar no item 1,2,3,4 ou 5 vai transformar ele mesmo que que não tenha sido quem o ativou e o segundo a usar um dos itens novamente recomeça as contagens

as storages tb n deu certo ja retirei

 

 

Use tabelas {}

Citar

local itens = { [item1]= itemid, [item2] = itemid2, etccc.....}

 

 

Não retire as storages.

Link para o post
Compartilhar em outros sites
5 horas atrás, dominus disse:

 

Use tabelas {}

 

 

Não retire as storages.

não entendi esta tabela
e outra coisa as storage que eu coloquei apenas impede de outra pessoa que não seja quem ativou o tempo de transformar o item, não muda mais nada
sobre esta tavela poderia explicar melhor? n entendi

Link para o post
Compartilhar em outros sites
Em 01/04/2016 at 09:05, dominus disse:

 

Use tabelas {}

 

 

Não retire as storages.

você não esta entendendo o erro
oque ta acontecendo é que se eu usar qualquer um dos itens a globall storage é ativada para todos os jogadores online ou offline

é como se todos os jogadores estivessem usado todos os itens ao mesmo tempo que eu, a contagem do tempo esta indo pra todos os jogadores
e quando a contagem termina qualquer jogador pode transformar o item 1, 2, 3 e etc....
 

Link para o post
Compartilhar em outros sites
11 horas atrás, wevertonvrb disse:

você não esta entendendo o erro
oque ta acontecendo é que se eu usar qualquer um dos itens a globall storage é ativada para todos os jogadores online ou offline

é como se todos os jogadores estivessem usado todos os itens ao mesmo tempo que eu, a contagem do tempo esta indo pra todos os jogadores
e quando a contagem termina qualquer jogador pode transformar o item 1, 2, 3 e etc....
 

 

Fez as mudanças devidas?

 

Segue a lógica do sistema:

Existe um item.

Esse item tem uma aid que diferencia ele dos demais.

Essa aid é usada como index para sapvar informações. 

Essa informação é salva na função globalstore.

Somente o item que tem a aid certa pode acessar essa informação. 

Link para o post
Compartilhar em outros sites
15 horas atrás, dominus disse:

 

Fez as mudanças devidas?

 

Segue a lógica do sistema:

Existe um item.

Esse item tem uma aid que diferencia ele dos demais.

Essa aid é usada como index para sapvar informações. 

Essa informação é salva na função globalstore.

Somente o item que tem a aid certa pode acessar essa informação. 

sim fiz as mudanças e o erro continua o mesmo
se 1 jogador usar qualquer um dos 15 itens q ativa o script  é como se todos os jogadores do jogo tivessem usado todos os 15 itens ao mesmo tempo
após o tempo acabar apenas 1 jogador pode transformar o item ( o primeiro a usar o item novamente )

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

sim fiz as mudanças e o erro continua o mesmo
se 1 jogador usar qualquer um dos 15 itens q ativa o script  é como se todos os jogadores do jogo tivessem usado todos os 15 itens ao mesmo tempo
após o tempo acabar apenas 1 jogador pode transformar o item ( o primeiro a usar o item novamente )

 

Nesses 15 items, toda copia dele tem que ter uma aid diferente dos demais para não aver conflito.

 

Conseguiu criqr as tabelas? Mostra-me o script que tu estás usando. 

Editado por dominus (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 06/04/2016 at 12:47, dominus disse:

 

Nesses 15 items, toda copia dele tem que ter uma aid diferente dos demais para não aver conflito.

 

Conseguiu criqr as tabelas? Mostra-me o script que tu estás usando. 

ta assim o script

script

Spoiler

function  onUse(cid,item,pos)
local agora,tempo,get = os.time(),20,getGlobalStorageValue (item.actionid)
if not(get > 0)then  
setGlobalStorageValue (item.actionid, agora+tempo)
doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
elseif(get <= agora)then
doTransformItem(item.uid,item.itemid+1)
doSendMagicEffect(pos, CONST_ME_MAGIC_RED)
setGlobalStorageValue (item.actionid,-1)
else
doPlayerSendCancel(cid,  "Este item vai demorar 2 dias para ficar pronto "..(os.date("%D:%H:%M:%S", get > 0 and get or 0)).." apos passar os 2 dias podera transforma-lo .")
end
return  true
end  

 

e esta é a tag
<action itemid="15142;15144;15146;15148;15150;15152;15154;15156;15158;15160;15162;15164;15166;15168;15170" event="script" value="estatuas/estatuas.lua"/>

@dominus

Editado por wevertonvrb (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Citar

local IT = { 
-- [id do item] = id do item que podera ser transformado. 
   [9971] = 2030, -- esse item (9971) declarado no index da tabela podera ser transformado no id do item declarado nessa variavel: 2030 
   [9972] = 2031, -- esse item (9972) declarado no index da tabela podera ser transformado no id do item declarado nessa variavel: 2031 

function onUse(cid,item,pos) 
local agora,tempo,get = os.time(),10,getGlobalStorageValue(item.actionid) 
   if not(get > 0)then 
      setGlobalStorageValue(item.actionid,agora+tempo) 
      doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) 
   elseif(get > 0  and get <= agora)then 
      doTransformItem(item.uid,IT[item.itemid]) 
      doSendMagicEffect(pos, CONST_ME_MAGIC_RED) 
      setGlobalStorageValue(item.actionid,0) 
   else 
      doPlayerSendCancel(cid, "O item podera ser transformado as: "..(os.date("%H:%M:%S", get))..".") 
   end 
   return true 
end 
 

 

Link para o post
Compartilhar em outros sites
Em 16/04/2016 at 10:13, dominus disse:

 

não mudou nada.

essa storage esta sendo ativada para todos os jogadores mesmo que apenas 1 tenha ativado essa storage tem q ser única para o jogador que usou o item,
no momento são 15 itens e o script antigo esta funcionando + corretamente tirando o fato de que se reiniciar o serve zera a ação ativada

sera que não tem como fazer algo tipo assim não?
nessa area
setGlobalStorageValue
mudar por algo tipo assim
setPlayerGlobalStorageValue
@dominus

olha tenho um script aqui que o tempo dele continua contando mesmo que o serve seja fechado vou deixar ele aqui talvez voce consiga adptar ele

script

Spoiler

function onSay(cid, words, param)


local storage = 23564
local tempo = 180
local cidade = getPlayerTown(cid)
local pos = getTownTemplePosition(cidade)
if exhaustion.check(cid, storage) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " minutos para usar novamente.")
return true
end

if getPlayerStorageValue(cid, 6598754) >= 1 then         
       return doPlayerSendCancel(cid, "voce nao pode fazer isso!")
    end
    if getPlayerStorageValue(cid, 6598755) >= 1 then         
       return doPlayerSendCancel(cid, "voce nao pode fazer isso!")
    end
setPlayerStorageValue(cid, 52480, -1)
setPlayerStorageValue(cid, 45479, 0)
doSendMagicEffect(getPlayerPosition(cid),53)
doPlayerSendCancel(cid,"Desbugado :D!")
doTeleportThing(cid, pos)
exhaustion.set(cid, storage, tempo*60)
end

 

 

Editado por wevertonvrb (veja o histórico de edições)
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