Ir para conteúdo
  • Cadastre-se

[Resolvido]Erro time event


Posts Recomendados

To usando esse script pra fazer um portao, que quando o player puxe a alavanca, ele fique aberto apenas por 10 segundos e depois feche sozinho

Script: /actions/gate.lua


function onUse(cid, item, toPosition)

rock1pos = {x=1352, y=1666, z=5, stackpos=1} -- Posição da Pedra

getrock1 = getThingfromPos(rock1pos)

UniID = 15231 -- UniqueID que vai ser adicionado na alavanca

rockID = 9485 -- ID da pedra

if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then

doRemoveItem(getrock1.uid, 1)

doTransformItem(item.uid, item.itemid+1)

doSendMagicEffect(rock1pos, 2)

setPlayerStorageValue(cid, 4005, 2)

setPlayerStorageValue(cid, 4006, 1)

elseif item.uid == UniID and item.itemid == 1946 then

doCreateItem(rockID, 1, rock1pos)

doTransformItem(item.uid,item.itemid-1)

doSendMagicEffect(rock1pos, 2)

return TRUE

end

addEvent(doCreateItem, rockID, 1, rock1pos, 10*1000)

doPlayerSendTextMessage(cid,22,"O Portao fechara daki 10 segundos")

return true

end

Mas ta dando esse erro:

In a timer event called from

data/gate.lua:OnUse

description:

Attempt to index a number vallue

Stack traceback:

[C]: ?

Link para o post
Compartilhar em outros sites

Testa esse

local function backStone(cid)

return doCreateItem(rockID,1,rock1pos)

end

function onUse(cid, item, toPosition)

time = 10 -- Tempo que irá voltar

rock1pos = {x=1352, y=1666, z=5, stackpos=1} -- Posição da Pedra

getrock1 = getThingfromPos(rock1pos)

UniID = 15231 -- UniqueID que vai ser adicionado na alavanca

rockID = 9485 -- ID da pedra

if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then

doRemoveItem(getrock1.uid, 1)

doTransformItem(item.uid, item.itemid+1)

doSendMagicEffect(rock1pos, 2)

setPlayerStorageValue(cid, 4005, 2)

setPlayerStorageValue(cid, 4006, 1)

elseif item.uid == UniID and item.itemid == 1946 then

doCreateItem(rockID, 1, rock1pos)

doTransformItem(item.uid,item.itemid-1)

doSendMagicEffect(rock1pos, 2)

return true

end

addEvent(function() backStone(cid) end,time*1000)

doPlayerSendTextMessage(cid,22,"O Portao fechara daki "..time.." segundos")

return true

end

sign1z.png

Clique na imagem e veja nosso TOPICO OFFICIAL

Link para o post
Compartilhar em outros sites

@UP.

Eim? praque CID em um script de item lol?.

@Tópico.

Troque

addEvent(doCreateItem, rockID, 1, rock1pos, 10*1000)
por
addEvent(doCreateItem, 10 * 1000, rockID, 1, rock1pos)

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

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

Testa esse

local function backStone(cid)

return doCreateItem(rockID,1,rock1pos)

end

function onUse(cid, item, toPosition)

time = 10 -- Tempo que irá voltar

rock1pos = {x=1352, y=1666, z=5, stackpos=1} -- Posição da Pedra

getrock1 = getThingfromPos(rock1pos)

UniID = 15231 -- UniqueID que vai ser adicionado na alavanca

rockID = 9485 -- ID da pedra

if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then

doRemoveItem(getrock1.uid, 1)

doTransformItem(item.uid, item.itemid+1)

doSendMagicEffect(rock1pos, 2)

setPlayerStorageValue(cid, 4005, 2)

setPlayerStorageValue(cid, 4006, 1)

elseif item.uid == UniID and item.itemid == 1946 then

doCreateItem(rockID, 1, rock1pos)

doTransformItem(item.uid,item.itemid-1)

doSendMagicEffect(rock1pos, 2)

return true

end

addEvent(function() backStone(cid) end,time*1000)

doPlayerSendTextMessage(cid,22,"O Portao fechara daki "..time.." segundos")

return true

end

Quando uso esse script, a alavanca trava e não da pra abrir o portão, mas sai o o texto "O Portao fechara daki "..time.." segundos"

não da nenhum erro no console

@UP.

Eim? praque CID em um script de item lol?.

@Tópico.

Troque

addEvent(doCreateItem, rockID, 1, rock1pos, 10*1000)
por
addEvent(doCreateItem, 10 * 1000, rockID, 1, rock1pos)

Com seu script a mesma coisa

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

nome do seu script.lua

function onUse(cid,item,fromPosition,itemEx,toPosition)

local config = {

pos = {x=1352, y=1666, z=5}, -- Posição da Pedra

id = 9485 -- id da pedra

}

local parede = getTileItemById(config.pos, config.id)

if parede.uid > 0 then

doSendMagicEffect(config.pos, 2)

doRemoveItem(parede.uid)

addEvent(doCreateItem, 10000, config.id, 1, config.pos)

doPlayerSendTextMessage(cid,22,"O Portao fechara daki 10 segundos")

end

doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)

return true

end
tag
<action actionid="7780" script="nome do seu script.lua"/>

no ACTIONID da sua alavanca coloque: 7780

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

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 NewAge
      O script não distribui pontos em magic com o comando !points add, magic, 1, tentei adicionar magic no local skillids, só que não sei o número que aumenta o magic level. Se alguém puder ajudar, rep +
       
       
    • Por NewAge
      Sempre que o player entra em pvp com alguém magias e potes de healar param de funcionar, descobri que o arquivo 101-compat tava bugando, pq substitui os arquivos da pasta lib pelo de outro server, até chegar no arquivo que tava dando problema. Só que quando eu deleto esse arquivo da um monte de erro em vários scripts no console. Alguém consegue resolver ou pode me passar um 101-combat que não esteja bugado?
      101-compat.lua
      100-compat.lua
    • Por NewAge
      Eu queria que esse script fizesse o NPC vender itens no shop e tb dar quests pros players, só que quando ligo o servidor da um erro no console, < unknown script file > e o NPC não responde. Alguém sabe resolver?


      local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler)[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]-- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end local shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addBuyableItem({'lemonade', 'lemondrink', 'limonada'}, 2006, 2, 5, 'lemonade') shopModule:addBuyableItem({'beer', 'cerveja'}, 2006, 3, 3, 'beer') shopModule:addBuyableItem({'milk', 'leite'}, 2006, 2, 6, 'milk') shopModule:addBuyableItem({'rum'}, 2006, 3, 27, 'rum') shopModule:addBuyableItem({'bread'}, 2689, 3) shopModule:addBuyableItem({'ham'}, 2671, 5) shopModule:addBuyableItem({'meat'}, 2666, 5) shopModule:addBuyableItem({'grapes'}, 2681, 3) shopModule:addBuyableItem({'red apple'}, 2674, 3) npcHandler:addModule(FocusModule:new()) [/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local boromir = 6000 local boromir2 = 6001 local boromir3 = 61254 text = "5 Meat 5 Bread 10 Blueberries" -- Texto do papel lid = 1954 -- ID do Papel[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if msgcontains(msg, 'ajudar') and (getPlayerStorageValue(cid, 61254) == 1) then npcHandler:say("Você pode conseguir um pouco de comida para mim? Estou muito ocupado e não tenho tempo para ir procurar.", cid) talkState[talkUser] = 0 elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then setPlayerStorageValue(cid, boromir, 1) setPlayerStorageValue(cid, boromir3, 2) setPlayerStorageValue(cid, boromir2, 1) letter = doPlayerAddItem(cid, lid) doSetItemText(letter, text) doPlayerPopupFYI(cid, "Nova quest iniciada! Quest Log atualizado: Ajudando Zio") npcHandler:say("Tudo que preciso está escrito neste papel.", cid) talkState[talkUser] = 0 elseif msgcontains(msg, 'ajudar') and (getPlayerStorageValue(cid, 61254) == 2) then npcHandler:say("Você conseguiu todos os itens da lista?", cid) talkState[talkUser] = 0 elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and (getPlayerStorageValue(cid, 61254) == 2) then npcHandler:say("Muito obrigado, aqui está sua recompensa.", cid) talkState[talkUser] = 0 setPlayerStorageValue(cid, boromir2, 2) setPlayerStorageValue(cid, boromir3, 3) elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and (getPlayerStorageValue(cid, 61254) == 3) then npcHandler:say("Você já me ajudou, por enquanto não preciso da sua ajuda.", cid) talkState[talkUser] = 0 elseif msgcontains(msg, 'ajudar') and (getPlayerStorageValue(cid, 61254) == 3) then npcHandler:say("Você já me ajudou, por enquanto não preciso da sua ajuda.", cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]
    • Por NewAge
      Preciso de um script que de ao player um storage x quando evoluir para o nivel 8
      REp +
    • Por NewAge
      Eu quero um script em que apareça tiles de swamp no local indicado na imagem e depois de 10 segundos os tiles de swamp sumam e apareçam tiles de terra id 354.





      Esse primeiro script criava apenas bordas do swamp e no meio aparecia terra (id 354), quando deveria aparecer tiles de swamp e apenas depois de 10 segundos serem removidos e substituídos por tiles de terra.


      function wall()[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local wallTab = { {4693, {x = 710, y = 544, z = 7}}, {4714, {x = 710, y = 543, z = 7}}, {4714, {x = 709, y = 544, z = 7}}, {4714, {x = 710, y = 542, z = 7}}, {4693, {x = 710, y = 543, z = 7}}, {4719, {x = 712, y = 542, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4693, {x = 710, y = 542, z = 7}}, {4693, {x = 711, y = 544, z = 7}}, {4693, {x = 711, y = 543, z = 7}}, {4693, {x = 711, y = 542, z = 7}}, {4693, {x = 711, y = 541, z = 7}}, {4693, {x = 710, y = 541, z = 7}}, {4693, {x = 709, y = 542, z = 7}}, {4713, {x = 709, y = 543, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4716, {x = 712, y = 542, z = 7}}, {4719, {x = 712, y = 540, z = 7}}, {4718, {x = 708, y = 543, z = 7}} }[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]for i = 1, #wallTab do if getTileItemById(wallTab[i][2], wallTab[i][1]).uid > 0 then doRemoveItem(getTileItemById(wallTab[i][2], wallTab[i][1]).uid) doCreateItem(354, 1, wallTab[i][2]) else doCreateItem(wallTab[i][1], 1, wallTab[i][2]) doCreateItem(354, 1, wallTab[i][2]) end end end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]function onUse(cid, item, fromPosition, itemEx, toPosition)[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getGlobalStorageValue(8273) > 0 then doPlayerSendTextMessage(cid, 27, "Já estão usando a armadilha.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getPlayerStorageValue(cid, 8274) > 0 then doPlayerSendCancel(cid, "Você já ativou uma vez.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if item.uid == 1509 and itemEx.uid == 1510 then wall() addEvent(wall, 10 * 1000) doPlayerSendTextMessage(cid, 27, "Armadilha ativa.") setPlayerStorageValue(cid, 8274, 1) doSendMagicEffect(toPosition, 14) setGlobalStorageValue(8273, 1) addEvent(setGlobalStorageValue, 10 * 1000, 8273, 0) end return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif] Ai depois tentei com esse script. Ele cria os tiles de swamp certinho, mas depois de 10 segundos apenas as bordas do swamp desaparecem e não é criado terra por cima dos tiles de swamp. function terra()[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local terraTab = { {354, {x = 710, y = 544, z = 7}}, {354, {x = 710, y = 543, z = 7}}, {354, {x = 709, y = 544, z = 7}}, {354, {x = 710, y = 542, z = 7}}, {354, {x = 710, y = 543, z = 7}}, {354, {x = 712, y = 542, z = 7}}, {354, {x = 712, y = 541, z = 7}}, {354, {x = 710, y = 542, z = 7}}, {354, {x = 711, y = 544, z = 7}}, {354, {x = 711, y = 543, z = 7}}, {354, {x = 711, y = 542, z = 7}}, {354, {x = 711, y = 541, z = 7}}, {354, {x = 710, y = 541, z = 7}}, {354, {x = 709, y = 542, z = 7}}, {354, {x = 709, y = 543, z = 7}}, {354, {x = 712, y = 541, z = 7}}, {354, {x = 712, y = 542, z = 7}}, {354, {x = 712, y = 540, z = 7}}, {354, {x = 708, y = 543, z = 7}} }[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]for w = 1, #terraTab do addEvent(doCreateItem, 10 * 1000, terraTab[w][1], 1, terraTab[w][2]) end end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]function wall()[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]local wallTab = { {4693, {x = 710, y = 544, z = 7}}, {4714, {x = 710, y = 543, z = 7}}, {4714, {x = 709, y = 544, z = 7}}, {4714, {x = 710, y = 542, z = 7}}, {4693, {x = 710, y = 543, z = 7}}, {4719, {x = 712, y = 542, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4693, {x = 710, y = 542, z = 7}}, {4693, {x = 711, y = 544, z = 7}}, {4693, {x = 711, y = 543, z = 7}}, {4693, {x = 711, y = 542, z = 7}}, {4693, {x = 711, y = 541, z = 7}}, {4693, {x = 710, y = 541, z = 7}}, {4693, {x = 709, y = 542, z = 7}}, {4713, {x = 709, y = 543, z = 7}}, {4716, {x = 712, y = 541, z = 7}}, {4716, {x = 712, y = 542, z = 7}}, {4719, {x = 712, y = 540, z = 7}}, {4718, {x = 708, y = 543, z = 7}} }[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]for i = 1, #wallTab do if getTileItemById(wallTab[i][2], wallTab[i][1]).uid > 0 then doRemoveItem(getTileItemById(wallTab[i][2], wallTab[i][1]).uid) else doCreateItem(wallTab[i][1], 1, wallTab[i][2]) end end end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]function onUse(cid, item, fromPosition, itemEx, toPosition)[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getGlobalStorageValue(8273) > 0 then doPlayerSendTextMessage(cid, 27, "Já estão usando a armadilha.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if getPlayerStorageValue(cid, 8274) > 0 then doPlayerSendCancel(cid, "Você já ativou uma vez.") return true end[/font][/color] [color=#282828][font=helvetica, arial, sans-serif]if item.uid == 1509 and itemEx.uid == 1510 then wall() terra() addEvent(wall, 10 * 1000) doPlayerSendTextMessage(cid, 27, "Armadilha ativa.") setPlayerStorageValue(cid, 8274, 1) doSendMagicEffect(toPosition, 14) setGlobalStorageValue(8273, 1) addEvent(setGlobalStorageValue, 10 * 1000, 8273, 0) end return true end

      Se alguém conseguir me ajudar a consertar esse script, dou REP.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo