CA

[pedido] Runa Q Teletranporta

Por cagaio, 12 de set. de 2009 em Archived

13
1.7k
cagaioC
12 de setembro de 2009 às 00:00

Tipo eu keria Uma Runa q se uzasse ela teletransportavaa pra algum lugar q eu configurasse :S se alguem suber fazer ajuda ae please

rockstar96R
12 de setembro de 2009 às 19:29

--Posição que teleporta
Pos = {x=1, y=1, z=1}

--Remove a runa? "yes" ou "no"
Remove = "yes"

function onUse(cid, item, item2)
if Remove == "yes" then
	doRemoveItem(item.uid)
end
return doTeleportThing(item2.uid, Pos)
end

 

Coloque em data/actions/scripts.

 

Em data/actions/actions.xml coloque:

<action itemid="ID_DA_RUNA" event="script" value="NOME_DO_ARQUIVO.lua"/>

KhostK
13 de setembro de 2009 às 09:08

iRockStar eu sujeriria , que você adcionasse essa tag , pois se não as pessoas iriam usar essa talkaction em qualquer lugar e muitas vezes quando estivessem pk, isso acabaria com o Pvp e com o ot......

cagaio isso foi só uma sujestão, caso sua dúvida esteje Sanada e você não esteja afim de me ouvir, fexe o tópico mudando o nome do tópico para Dúvida Sanada ....

 

Tag :

local player = getCreaturePosition(cid)

if getTilePzInfo(player) == TRUE then

 

Pronto...

 

 

Obrigado!

rockstar96R
13 de setembro de 2009 às 13:01

Aqui está o script como o Khost pediu(modifiquei para batalha):

--Posição que teleporta
Pos = {x=1, y=1, z=1}

--Remove a runa? "yes" ou "no"
Remove = "yes"

function onUse(cid, item, item2)
if Remove == "yes" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doRemoveItem(item.uid)
elseif Remove == "no" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doTeleportThing(item2.uid, Pos)
else
	doPlayerSendCancel(cid, "Você não pode estar com status de batalha.")
return true
end

KhostK
13 de setembro de 2009 às 15:17

Boa !

eu não preciso dele mas, pro membro que pediu dei como sujestão ...

 

Obrigado!

faelzinho21F
15 de setembro de 2009 às 17:02

Gente seguinte, fiz tudo isso quando carrega o server da a seguinte msg

 

[15/09/2009 16:54:09] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/runecarlin.lua)

[15/09/2009 16:54:09] data/actions/scripts/runecarlin.lua:15: 'end' expected (to close 'function' at line 7) near '<eof>'

 

alguem pode ver pra mim?

 

no caso eu to usando o item 2270

 

poderia alguem tambem ver quais os atributos deste id?

 

obrigado

rockstar96R
15 de setembro de 2009 às 19:18

Foi mal, esqueci de um end.

 

--Posição que teleporta
Pos = {x=1, y=1, z=1}

--Remove a runa? "yes" ou "no"
Remove = "yes"

function onUse(cid, item, item2)
if Remove == "yes" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doRemoveItem(item.uid)
elseif Remove == "no" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doTeleportThing(item2.uid, Pos)
else
	doPlayerSendCancel(cid, "Você não pode estar com status de batalha.")
end
return true
end

faelzinho21F
16 de setembro de 2009 às 09:26

boaa man, agora naum ta dando mais erro, e assim, ele ta removendo o item, porém não ta teleportando pra lugar nenhum, o char fika no mesmo lugar sem nenhuma ação, e no servidor não mostra erro nenhum, apenas remove o item mesmo.

 

Será que tem a ver com os atributos do item, ta assim:

 

<item id="2270" article="a" name="Rune of teleport to Carlin Temple">

<attribute key="weight" value="120"/>

<attribute key="charges" value="1"/>

</item>

 

 

 

fico no aguardo,

 

vlw.

rockstar96R
16 de setembro de 2009 às 13:46

--Posição que teleporta
Pos = {x=1, y=1, z=1}

--Remove a runa? "yes" ou "no"
Remove = "yes"

function onUse(cid, item, item2)
if Remove == "yes" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doRemoveItem(item.uid)
	doTeleportThing(item2.uid, Pos)
elseif Remove == "no" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doTeleportThing(item2.uid, Pos)
else
	doPlayerSendCancel(cid, "Você não pode estar com status de batalha.")
end
return true
end

 

Eu deveria ter bebido pra cometer tantos erros .__.

faelzinho21F
16 de setembro de 2009 às 19:10

uashuauhhuushashuas

 

 

ow man ainda não ta funcionando, continua removendo a runa mas da a seguinte mensagem no servidor:

 

[16/09/2009 19:10:02] Lua Script Error: [Action Interface]

[16/09/2009 19:10:02] data/actions/scripts/runecarlin.lua:onUse

 

[16/09/2009 19:10:02] luaDoTeleportThing(). Thing not found

 

sei la viu pq ta acontecendo....

 

 

 

o.O

 

abraxx

rockstar96R
19 de setembro de 2009 às 14:15
--Posição que teleporta
Pos = {x=1, y=1, z=1}

--Remove a runa? "yes" ou "no"
Remove = "yes"

function onUse(cid, item, frompos, item2, topos)
if Remove == "yes" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doRemoveItem(item.uid)
	doTeleportThing(item2.uid, Pos)
elseif Remove == "no" and getCreatureCondition(cid, CONDITION_INFIGHT) == false then
	doTeleportThing(item2.uid, Pos)
else
	doPlayerSendCancel(cid, "Você não pode estar com status de batalha.")
end
return true
end

 

Testa aí agora, eu estava tirando umas arrays da function, acho que era por isso.

satan666S
19 de setembro de 2009 às 14:54

não tem forma melhor de ganhar post do que postando script com erros.

 

local config =

{

ret = "yes",

pos = {x=X,y=Y,z=Z}

}

 

function onUse(cid, item)

if(getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE)then

if(config.ret == "yes")then

doRemoveItem(item.uid)

end

else

doPlayerSendCancel(cid, "you can not be with the status of battle.")

return TRUE

end

return doTeleportThing(cid,config.pos)

end

 

 

doTeleportThing(item2.uid, Pos) <<= kool

:withstupidsmiley:

rockstar96R
19 de setembro de 2009 às 18:18

Esse cara aí já foi ajudado no MSN, é, eu notei o erro, e já foi resolvido.

 

Se algum moderador fizer o favor de fechar o tópico...

 

doPlayerSendCancel(cid, "you can not be with the status of battle.")

return TRUE

Encheção de linguiça esses returns desnecessários.

Editado Setembro 19 por iRockStar