Ir para conteúdo
  • Cadastre-se

(Resolvido)Atualização de script


Ir para solução Resolvido por KotZletY,

Posts Recomendados

Fala e Tibiakinguianos :D, estou com um script de quests desatualizado e queria atualiza-los para tfs 3.6.

 

 

Esse script, quando clica no corpo, você pega uma chave e no segundo clique o corpo desperta e entra na porrada.

 

function onUse(cid, item, frompos, item2, topos)

wall1 = {x=191, y=371, z=8, stackpos=1}
wall2 = {x=192, y=371, z=8, stackpos=1}

getwall1 = getThingfromPos(wall1)
getwall2 = getThingfromPos(wall2)

if item.uid == 15000 then
queststatus = getPlayerStorageValue(cid,15000)
if queststatus == -1 then
key_uid = doPlayerAddItem(cid,2088,1)
doSetItemActionId(key_uid,133)
doSendMagicEffect(topos,CONST_ME_MAGIC_BLUE)
doSendAnimatedText(topos, "Cleck!", TEXTCOLOR_ORANGE)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
doPlayerSendTextMessage(cid,22,"Você encontrou uma chave escondida.")
setPlayerStorageValue(cid,15000,1)
else
doTransformItem(getwall1.uid,1756)
doTransformItem(getwall2.uid,1757)
doRemoveItem(item.uid,1)
doPlayerSendTextMessage(cid,22,"Voce despertou a witch.")
doSummonCreature("witch", {x=191, y=370, z=8})
end
end
end

 

 

Obrigado desde já

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

@martimtiburcio qual o problema dele, não está funcionando ? Deveria funcionar. Huahsuhas

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

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

@martimtiburcio qual o problema dele, não está funcionando ? Deveria funcionar. Huahsuhas

ele funciona, mas o único problema dele é que ele não esta removendo o item, por tanto o outro item esta sendo criado em cima do outro.

não consigo descobrir porque a função doRemoveItem não esta removendo o item.

 

O SCRIPT ATUALIZADO ESTA ASSIM.

 

function onUse(cid, item, frompos, item2, topos)
wall1 = {x=191, y=371, z=8, stackpos=1}
wall2 = {x=192, y=371, z=8, stackpos=1}
getwall1 = getThingfromPos(wall1)
getwall2 = getThingfromPos(wall2)
if item.uid == 15000 then
queststatus = getPlayerStorageValue(cid,15000)
if queststatus == -1 then
doPlayerSendTextMessage(cid,25,".")
key_uid = doPlayerAddItem(cid,2088,1)
doItemSetAttribute(key_uid, 'aid', 133)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
setPlayerStorageValue(cid,15000,1)
else
doTransformItem(getwall1.uid,1756)
doTransformItem(getwall2.uid,1757)
doRemoveItem(getwall1.uid,1) -- QUERO QUE REMOVA ISSO!!
doRemoveItem(getwall2.uid,1) -- QUERO QUE REMOVA ISSO!!
doRemoveItem(item.uid,1)
doPlayerSendTextMessage(cid,22,".")
doSummonCreature("", {x=191, y=370, z=8})
end
end
end

 

Link para o post
Compartilhar em outros sites

KotZletY boa tarde, eu entendi a logica, mas não é isso que eu estou querendo, o que eu quero é:

Tenho um cara dormindo nela, quando eu clico nele, ele me da uma chave, depois disso se eu clicar novamente, ele tem que acordar e a cama que estava com ele dormindo tem que se transformar para uma cama vazia, dando a entender que ele se levantou dela para levar porrada. kkkkkkkkk

Link para o post
Compartilhar em outros sites

@martimtiburcio desconsidere o que eu disse, na verdade estou 100% certo, porém nessa situação, estou errado.

Agora me diz, oquê o script faz, pra que server, então eu re-faço ele.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

@KotZletY , obrigado por se dispor a refazer o script.

 

Vamos la! Eu gostaria de colocar uma cama com a imagem de um personagem dormindo, ai ou clicar na parte superior da cama ( onde fica a cabeça do personagem) irá ganhar uma chave, Clicando novamente na cama com personagem ainda dormindo ele irá sumir da cama e ser invocado, já a cama vai se transformar em uma cama sem o personagem dormindo.

 

Eu consegui fazer quase tudo funcionar, mas o único problema era em fazer a cama com personagem dormido sumir para que a outra cama ficasse no lugar, entretanto a cama sem o personagem dormindo e criada em cima da cama com ele dormindo fazendo paracer uma beliche. kkkkk

 

OBS: A cama tem dois ID a parte superior e a parte inferior.

 

Espero que consiga entender. :) 

Editado por martimtiburcio
esqueci de citar o amigo ali. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 2017-6-20 ás 04:26, KotZletY disse:

@martimtiburcio desconsidere o que eu disse, na verdade estou 100% certo, porém nessa situação, estou errado.

Agora me diz, oquê o script faz, pra que server, então eu re-faço ele.

@KotZletY alguma novidade?

Link para o post
Compartilhar em outros sites
  • Solução

@martimtiburcio estava ocupado, resolvendo uns problemas pendentes, entrei no tk somente para mover tópicos em áreas incorretas e aprovar os pendentes, alguns para ser aprovados, não pude mover, estava com pressa no momento, então deixei para quê um dos meus colegas da equipe avaliassem os tópicos com mais calma e então aprovassem o mesmo.

 

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
local z = {
wall1 = {x=1022, y=920, z=7, stackpos=1}, -- Pos da wall 1.
wall2 = {x=1022, y=921, z=7, stackpos=1}, -- Pos da wall 2.
npcName = "Manjo dos Teleporte", -- Nome do Npc que sera sumonado.
npcPos = {x=1027, y=916, z=7}, -- Pos onde o NPC será sumonado.
storage = 15004, -- Storage da quest ou sla o quê.
cama1 = 1758, -- Id da nova cama, parte de superior(parte com a cabeça).
cama2 = 1759 -- Id da nova cama, parte inferior(parte dos pés).
}

getwall1 = getThingfromPos(z.wall1)
getwall2 = getThingfromPos(z.wall2)
queststatus = getPlayerStorageValue(cid,z.storage)
if queststatus == -1 then
doPlayerSendTextMessage(cid,25,".")
key_uid = doPlayerAddItem(cid,2160,1)
doItemSetAttribute(key_uid, 'aid', 133)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
setPlayerStorageValue(cid,z.storage,1)
else
doRemoveItem(getwall2.uid)
doRemoveItem(getwall1.uid)
doCreateItem(z.cama1, z.wall1)
doCreateItem(z.cama2, z.wall2)
doPlayerSendTextMessage(cid,22,".")
doSummonCreature(z.NpcName, z.npcPos)
end
return true
end

 

 

 

actions.xml

<action itemid="11510" event="script" value="NomeDoArquivo.lua"/> 

11510 é o ido da cama, parte superior(onde está a cabeça), clicando nela o script é executado como desejado! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

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

@martimtiburcio estava ocupado, resolvendo uns problemas pendentes, entrei no tk somente para mover tópicos em áreas incorretas e aprovar os pendentes, alguns para ser aprovados, não pude mover, estava com pressa no momento, então deixei para quê um dos meus colegas da equipe avaliassem os tópicos com mais calma e então aprovassem o mesmo.

 

  Mostrar conteúdo oculto


function onUse(cid, item, fromPosition, itemEx, toPosition)
local z = {
wall1 = {x=1022, y=920, z=7, stackpos=1}, -- Pos da wall 1.
wall2 = {x=1022, y=921, z=7, stackpos=1}, -- Pos da wall 2.
npcName = "Manjo dos Teleporte", -- Nome do Npc que sera sumonado.
npcPos = {x=1027, y=916, z=7}, -- Pos onde o NPC será sumonado.
storage = 15004, -- Storage da quest ou sla o quê.
cama1 = 1758, -- Id da nova cama, parte de superior(parte com a cabeça).
cama2 = 1759 -- Id da nova cama, parte inferior(parte dos pés).
}

getwall1 = getThingfromPos(z.wall1)
getwall2 = getThingfromPos(z.wall2)
queststatus = getPlayerStorageValue(cid,z.storage)
if queststatus == -1 then
doPlayerSendTextMessage(cid,25,".")
key_uid = doPlayerAddItem(cid,2160,1)
doItemSetAttribute(key_uid, 'aid', 133)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
setPlayerStorageValue(cid,z.storage,1)
else
doRemoveItem(getwall2.uid)
doRemoveItem(getwall1.uid)
doCreateItem(z.cama1, z.wall1)
doCreateItem(z.cama2, z.wall2)
doPlayerSendTextMessage(cid,22,".")
doSummonCreature(z.NpcName, z.npcPos)
end
return true
end

 

 

 

actions.xml


<action itemid="11510" event="script" value="NomeDoArquivo.lua"/> 

11510 é o ido da cama, parte superior(onde está a cabeça), clicando nela o script é executado como desejado! 

@KotZletY muito obrigado pelo script, mas ele esta com mesmo problema.

 

o script executa tudo certinho menos a parte doRemoveItem(getwall2.uid) e doRemoveItem(getwall1.uid), sendo assim a parte que remove o item antigo não funciona e o item novo a ser criado é criado e em cima do item antigo fazendo parecer uma beliche. srsrsr

Link para o post
Compartilhar em outros sites

@martimtiburcio aqui só não funcionou em 101% porque o limite é 100%, haushuas.

O script está perfeito.

 

wall1 = {x=1022, y=920, z=7, stackpos=1}, -- Pos da wall 1.
wall2 = {x=1022, y=921, z=7, stackpos=1}, -- Pos da wall 2.

 

wall1 é a pos da primeira cama, a parte de cima, a quê fica com a cabeça, a segunda é a parte de baixo! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
1 hora atrás, KotZletY disse:

@martimtiburcio aqui só não funcionou em 101% porque o limite é 100%, haushuas.

O script está perfeito.

 


wall1 = {x=1022, y=920, z=7, stackpos=1}, -- Pos da wall 1.
wall2 = {x=1022, y=921, z=7, stackpos=1}, -- Pos da wall 2.

 

wall1 é a pos da primeira cama, a parte de cima, a quê fica com a cabeça, a segunda é a parte de baixo! 

@KotZletY cara sinceramente, eu não faço ideia do que possa ser esse problema que impedi, o doRemoveItem(getwall2.uid) e doRemoveItem(getwall1.uid) de executarem suas funções.

 

Como você mesmo testou o script e disse que esta funcionando 100%, eu não faço ideia do que possa ser o meu problema, mas muito obrigado pela sua ajuda. :) 

Link para o post
Compartilhar em outros sites

@KotZletY Mano, de inicio quero me desculpar, eu me expressei errado algumas vezes, fiz algumas pequenas alterações aqui.

OBS: Aqui a cama não estava sendo removida a parte de cima por causa de uma borda no chão, :S

 

mas o real problema estava na função que não era doRemoveItem e sim doTransformItem. srsrsr

 

Então, agora o script esta 100%, mas pra ficar 101% rsss, eu só precisava de um pequeno detalhe, que após toda a quest ser realizada, a cama fica vazia. Eu queria que o action id da cama fosse removido, porque não faz sentido pegar uma chave e sumonar uma criatura de uma cama vazia.

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
local z = {
wall1 = {x=191, y=371, z=8, stackpos=1}, -- Pos da wall 1.
wall2 = {x=192, y=371, z=8, stackpos=1}, -- Pos da wall 2.
npcName = "lord", -- Nome do Npc que sera sumonado.
npcPos = {x=191, y=370, z=8}, -- Pos onde o NPC será sumonado.
storage = 15000, -- Storage da quest ou sla o quê.
cama1 = 1756, -- Id da nova cama, parte de superior(parte com a cabeça).
cama2 = 1757 -- Id da nova cama, parte inferior(parte dos pés).
}

getwall1 = getThingfromPos(z.wall1)
getwall2 = getThingfromPos(z.wall2)
queststatus = getPlayerStorageValue(cid,z.storage)
if queststatus == -1 then
doPlayerSendTextMessage(cid,25,"Você encontrou uma chave escondida.")
key_uid = doPlayerAddItem(cid,2160,1)
doItemSetAttribute(key_uid, 'aid', 133)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
setPlayerStorageValue(cid,z.storage,1)
else
quest = getPlayerStorageValue(cid,1530)
if quest == -1 then
doTransformItem(getwall1.uid,1756)
doTransformItem(getwall2.uid,1757)
doPlayerSendTextMessage(cid,22,"Voce despertou o lord.")
doSummonCreature(z.npcName, z.npcPos)
setPlayerStorageValue(cid,1530,1)
end
end
return true
end

Atenciosamente,

Martim Tiburcio.

 

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

@KotZletY Mano, de inicio quero me desculpar, eu me expressei errado algumas vezes, fiz algumas pequenas alterações aqui.

OBS: Aqui a cama não estava sendo removida a parte de cima por causa de uma borda no chão, :S

 

mas o real problema estava na função que não era doRemoveItem e sim doTransformItem. srsrsr

 

Então, agora o script esta 100%, mas pra ficar 101% rsss, eu só precisava de um pequeno detalhe, que após toda a quest ser realizada, a cama fica vazia. Eu queria que o action id da cama fosse removido, porque não faz sentido pegar uma chave e sumonar uma criatura de uma cama vazia.

  Ocultar conteúdo


function onUse(cid, item, fromPosition, itemEx, toPosition)
local z = {
wall1 = {x=191, y=371, z=8, stackpos=1}, -- Pos da wall 1.
wall2 = {x=192, y=371, z=8, stackpos=1}, -- Pos da wall 2.
npcName = "lord", -- Nome do Npc que sera sumonado.
npcPos = {x=191, y=370, z=8}, -- Pos onde o NPC será sumonado.
storage = 15000, -- Storage da quest ou sla o quê.
cama1 = 1756, -- Id da nova cama, parte de superior(parte com a cabeça).
cama2 = 1757 -- Id da nova cama, parte inferior(parte dos pés).
}

getwall1 = getThingfromPos(z.wall1)
getwall2 = getThingfromPos(z.wall2)
queststatus = getPlayerStorageValue(cid,z.storage)
if queststatus == -1 then
doPlayerSendTextMessage(cid,25,"Você encontrou uma chave escondida.")
key_uid = doPlayerAddItem(cid,2160,1)
doItemSetAttribute(key_uid, 'aid', 133)
doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
setPlayerStorageValue(cid,z.storage,1)
else
quest = getPlayerStorageValue(cid,1530)
if quest == -1 then
doTransformItem(getwall1.uid,1756)
doTransformItem(getwall2.uid,1757)
doPlayerSendTextMessage(cid,22,"Voce despertou o lord.")
doSummonCreature(z.npcName, z.npcPos)
setPlayerStorageValue(cid,1530,1)
end
end
return true
end

Atenciosamente,

Martim Tiburcio.

 

 

Tenta ae

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local z = {
wall1 = {x=191, y=371, z=8, stackpos=1}, -- Pos da wall 1.
wall2 = {x=192, y=371, z=8, stackpos=1}, -- Pos da wall 2.
npcName = "lord", -- Nome do Npc que sera sumonado.
npcPos = {x=191, y=370, z=8}, -- Pos onde o NPC será sumonado.
storage = 15000, -- Storage da quest ou sla o quê.
cama1 = 1756, -- Id da nova cama, parte de superior(parte com a cabeça).
cama2 = 1757 -- Id da nova cama, parte inferior(parte dos pés).
}
getwall1 = getThingfromPos(z.wall1)
getwall2 = getThingfromPos(z.wall2)
queststatus = getPlayerStorageValue(cid,z.storage)

if queststatus == -1 then
	doPlayerSendTextMessage(cid,25,"Você encontrou uma chave escondida.")
	key_uid = doPlayerAddItem(cid,2160,1)
	doItemSetAttribute(key_uid, 'aid', 133)
	doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
	setPlayerStorageValue(cid,z.storage,1)
else
	quest = getPlayerStorageValue(cid,1530)
	
if quest == -1 then
local camaa1 = doTransformItem(getwall1.uid,1756)
local camaa2 = doTransformItem(getwall2.uid,1757)
	doItemSetAttribute(camaa1, "aid", 0)
	doItemSetAttribute(camaa2, "aid", 0)
	doPlayerSendTextMessage(cid,22,"Voce despertou o lord.")
	doSummonCreature(z.npcName, z.npcPos)
	setPlayerStorageValue(cid,1530,1)
end
end
return true
end

 

Link para o post
Compartilhar em outros sites
2 horas atrás, Weslley Kiyo disse:

 

Tenta ae

 


function onUse(cid, item, fromPosition, itemEx, toPosition)
local z = {
wall1 = {x=191, y=371, z=8, stackpos=1}, -- Pos da wall 1.
wall2 = {x=192, y=371, z=8, stackpos=1}, -- Pos da wall 2.
npcName = "lord", -- Nome do Npc que sera sumonado.
npcPos = {x=191, y=370, z=8}, -- Pos onde o NPC será sumonado.
storage = 15000, -- Storage da quest ou sla o quê.
cama1 = 1756, -- Id da nova cama, parte de superior(parte com a cabeça).
cama2 = 1757 -- Id da nova cama, parte inferior(parte dos pés).
}
getwall1 = getThingfromPos(z.wall1)
getwall2 = getThingfromPos(z.wall2)
queststatus = getPlayerStorageValue(cid,z.storage)

if queststatus == -1 then
	doPlayerSendTextMessage(cid,25,"Você encontrou uma chave escondida.")
	key_uid = doPlayerAddItem(cid,2160,1)
	doItemSetAttribute(key_uid, 'aid', 133)
	doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE)
	setPlayerStorageValue(cid,z.storage,1)
else
	quest = getPlayerStorageValue(cid,1530)
	
if quest == -1 then
local camaa1 = doTransformItem(getwall1.uid,1756)
local camaa2 = doTransformItem(getwall2.uid,1757)
	doItemSetAttribute(camaa1, "aid", 0)
	doItemSetAttribute(camaa2, "aid", 0)
	doPlayerSendTextMessage(cid,22,"Voce despertou o lord.")
	doSummonCreature(z.npcName, z.npcPos)
	setPlayerStorageValue(cid,1530,1)
end
end
return true
end

 

não deu certo amigo, a cama depois de ficar vazia ainda está executando o script, caso outro player clique nela.

 

também correu esse erro na distro:

 

Description:

(luaDoItemSetAttribute) Item not found

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo