Ir para conteúdo
  • Cadastre-se

(Resolvido)YurOTS 0.9.4d 7.6 - Lever - Switch


Ir para solução Resolvido por FearWar,

Posts Recomendados

Olá,

 

Estou com esse código aqui 

function onUse(cid, item, frompos, item2, topos)
    stone_pos = {x=1027, y=1015, z=6}
    stone = getThingfromPos(stone_pos)
    if item.actionid == 1234 and item.itemid == 1945 then
        doCreateItem(1304, 1, stone_pos)
    elseif item.actionid == 1234 and item.itemid == 1946 and stone.itemid > 0 then
        doRemoveItem(stone.uid, stone.type)
    end
    return 1
end

Ele funciona até a parte "doCreateItem" após isso a lever não vai para 1946.

 

Alguém pode me ajudar?

Link para o post
Compartilhar em outros sites
function onUse(cid, item, frompos, item2, topos)
local stone_pos = {x=1027, y=1015, z=6}
local stone = getThingfromPos(stone_pos)
	if stone.itemid > 0 then
		doRemoveItem(stone.uid, stone.type)
	else
		doCreateItem(1304, 1, stone_pos)
	end
return doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
end

 

Editado por Vodkart
faltou um then kk (veja o histórico de edições)

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
12 minutos atrás, Vodkart disse:

function onUse(cid, item, frompos, item2, topos)
local stone_pos = {x=1027, y=1015, z=6}
local stone = getThingfromPos(stone_pos)
	if stone.itemid > 0
		doRemoveItem(stone.uid, stone.type)
	else
		doCreateItem(1304, 1, stone_pos)
	end
return doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
end

 

 

Opa,

 

Aconteceu esse erro na distro

1.thumb.png.856e486dc07adcba1494f8b865325a71.png

 

Link para o post
Compartilhar em outros sites
1 minuto atrás, FearWar disse:

Opa,

 

Aconteceu esse erro na distro

1.thumb.png.856e486dc07adcba1494f8b865325a71.png

 

 

 

erro meu!

 

tava falando no celular e esqueci o then, ja arrumei la.

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
function onUse(cid, item, frompos, item2, topos)
local pos = {x=1027, y=1015, z=6}
local t = getTileItemById(pos, 1304).uid
	if t > 0 then
		doRemoveItem(t)
		doSendMagicEffect(pos, CONST_ME_POFF)
	else
		doCreateItem(1304, 1, pos)
	end
return doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
end

 

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
4 minutos atrás, Vodkart disse:

function onUse(cid, item, frompos, item2, topos)
local pos = {x=1027, y=1015, z=6}
local t = getTileItemById(pos, 1304).uid
	if t > 0 then
		doRemoveItem(t)
		doSendMagicEffect(pos, CONST_ME_POFF)
	else
		doCreateItem(1304, 1, pos)
	end
return doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
end

 

 

 

2.png

 

Erro na distro!

Link para o post
Compartilhar em outros sites

isso ai é erro no CODE do fórum que buga alguns codigos, copia direto daqui:

 

https://pastebin.com/raw/nrvkqzva

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

Não sei o que acontece, a alavanca nem se move agora...

 

E também não da nenhum erro na distro!

 

Ela tem que primeiro criar a Stone pra depois remover não sei se você entendeu... É tipo eu vou entrar dentro da sala usar a alavanca pra me "trancar" dentro, ai a hora que eu quiser sair eu vou abrir a passagem novamente!

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

Não sei o que acontece, a alavanca nem se move agora...

 

E também não da nenhum erro na distro!

 

Ela tem que primeiro criar a Stone pra depois remover não sei se você entendeu... É tipo eu vou entrar dentro da sala usar a alavanca pra me "trancar" dentro, ai a hora que eu quiser sair eu vou abrir a passagem novamente!

 

 

sim eu entendi. 

 

Testei aqui e funcionou sem problemas... a pos está correta? o ID da pedra tbm?

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
1 minuto atrás, Vodkart disse:

 

sim eu entendi. 

 

Testei aqui e funcionou sem problemas... a pos está correta? o ID da pedra tbm?

 

Sim, os dois estão correto...

 

Está aqui "funciona", porém ela não meche a alavanca e também não remove a pedra... mas ela cria a pedra quando usa a alavanca

 

function onUse(cid, item, frompos, item2, topos)
    stone_pos = {x=1027, y=1015, z=6}
    stone = getThingfromPos(stone_pos)
    if item.actionid == 5000 and item.itemid == 1945 then
        doCreateItem(1304, 1, stone_pos)
    elseif item.actionid == 5000 and item.itemid == 1946 and stone.itemid > 0 then
        doRemoveItem(stone.uid, stone.type)
    end
    return 1
end

 

 

Link para o post
Compartilhar em outros sites
function onUse(cid, item, frompos, item2, topos)
    local stone_pos = {x=1027, y=1015, z=6, stackpos=1} 
    local stone = getThingfromPos(stone_pos)
    local ID = 3404
    if stone.itemid == ID then
		doRemoveItem(stone.uid, 1)
    else
        doCreateItem(1304, 1, stone_pos)
    end
   doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
    return 1
end

 

 

tenta usar stackpos =1 

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

Tenta esse aqui:

 

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

local pospedra = {x = 1027, y = 1015, z = 6, stackpos = 1}
local new_alavanca = item.itemid == 1945 and 1946 or 1945
local pedra = getTileItemById(pospedra, 1304).uid

	if (item.itemid  == 1946) then
		doPlayerSendTextMessage(cid, 27, "Passage closed.")
		doTransformItem(item.uid, new_alavanca)
		if pedra < 1 then
			doCreateItem(1304, 1, pospedra)
		end
	elseif (item.itemid  == 1945) then
		doPlayerSendTextMessage(cid, 27, "Pasage Open.")
		doTransformItem(item.uid, new_alavanca)
		if pedra > 0 then
			doRemoveItem(pedra, 1)
		end
	end
    return true
end

 

OBS: Não esquece, ID 1304 é o ID da pedra.

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

 

Link para o post
Compartilhar em outros sites
  • Solução
15 minutos atrás, Vodkart disse:

function onUse(cid, item, frompos, item2, topos)
    local stone_pos = {x=1027, y=1015, z=6, stackpos=1} 
    local stone = getThingfromPos(stone_pos)
    local ID = 3404
    if stone.itemid == ID then
		doRemoveItem(stone.uid, 1)
    else
        doCreateItem(1304, 1, stone_pos)
    end
   doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
    return 1
end

 

 

tenta usar stackpos =1 

 

vodkart.thumb.png.75600ec807fd41d602d2404abf2fb8e1.png

 

não sei também o end ta ficando "fora" da script

10 minutos atrás, KOLISAO disse:

Tenta esse aqui:

 


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

local pospedra = {x = 894, y = 2010, z = 13, stackpos = 1}
local new_alavanca = item.itemid == 1945 and 1946 or 1945
local pedra = getTileItemById(pospedra, 1304).uid

	if (item.itemid  == 1946) then
		doPlayerSendTextMessage(cid, 27, "Passage closed.")
		doTransformItem(item.uid, new_alavanca)
		if pedra < 1 then
			doCreateItem(1304, 1, pospedra)
		end
	elseif (item.itemid  == 1945) then
		doPlayerSendTextMessage(cid, 27, "Pasage Open.")
		doTransformItem(item.uid, new_alavanca)
		if pedra > 0 then
			doRemoveItem(pedra, 1)
		end
	end
    return true
end

 

OBS: Não esquece, ID 1304 é o ID da pedra.

 

outro.thumb.png.5a85dbf60f3f872973c60d69ad5ead45.png

 

Deu esse erro também... to muito chateado velho... será que é minha distro?

Consegui @Vodkart e @KOLISAO

 

Segue o código:

 

function onUse(cid, item, frompos, item2, topos)
piece1pos = {x=1027, y=1015, z=6, stackpos=1}
rockpos = {x=1027, y=1015, z=6, stackpos=1}
getpiece1 = getThingfromPos(piece1pos)
if item.uid == 7050 and item.itemid == 1945 then
doCreateItem(1355,1,rockpos)
doPlayerSendTextMessage(cid,22,"You add stone.")
doTransformItem(item.uid,item.itemid+1)
elseif item.uid == 7050 and item.itemid == 1946 then
doPlayerSendTextMessage(cid,22,"You remove stone.")
doSendMagicEffect(piece1pos,2)
doRemoveItem(getpiece1.uid,1)
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendTextMessage(cid,22,"Sorry, not possible.")
end
return 1
end

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo