Ir para conteúdo

[ Duvida Sanada ]


Khost

Posts Recomendados

po eu to procurando um movement que pra passar do tile precisa ter um determinado item, tipo um anel ,se precisa ter um anel pra passar do tile ,e se você não tiver ele te teleporta pro lugar escolhido...

Servfull 8.40

 

Obrigado!

Editado por Khost
Link para o comentário
Compartilhar em outros sites

fiz esse script mas nao testei qualquer erro poste ae que eu arrumo.

 

function onStepIn(cid,item,position,fromposition)

 

pos = {x = xxx, y = xxx, z = xx} -- Coordenadas do destino

 

if getPlayerItem(cid,id do item) then

else

doCreatureSay(cid, "msg.", TALKTYPE_ORANGE_1)

doSendMagicEffect(pos,10)

doTeleportThing(cid,pos)

end

return TRUE

end

 

e no movements.xml vc poe isso.

 

<movevent type="StepIn" uniqueid="xxxx" event="script" value="nome do script" />

 

acredito que vc saiba editar tudo entao nao entrarei em detalhes.

Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

fiz esse script mas nao testei qualquer erro poste ae que eu arrumo.

function onStepIn(cid,item,position,fromposition)

pos = {x = xxx, y = xxx, z = xx} -- Coordenadas do destino

if getPlayerItem(cid,id do item) == 1 then
else
doCreatureSay(cid, "msg.", TALKTYPE_ORANGE_1)
doSendMagicEffect(pos,10)
doTeleportThing(cid,pos)
end
return TRUE
end

 

 

e no movements.xml vc poe isso.

 

 

 

acredito que vc saiba editar tudo entao nao entrarei em detalhes.

 

 

perfeitinho... só uma sugestão... troque getPlayerItem(cid,id do item) == 1 por apenas getPlayerItem(cid,id)

 

assim ele não dará erro se o player estiver levando mais de um

Link para o comentário
Compartilhar em outros sites

ta dando esse erro olha ::

 

 

 

[25/05/2009 13:56:28] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 13:56:28] stack traceback:

[25/05/2009 13:56:28] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

[25/05/2009 13:56:29] Lua Script Error: [MoveEvents Interface]

[25/05/2009 13:56:29] data/movements/scripts/ring.lua:onStepIn

 

[25/05/2009 13:56:29] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 13:56:29] stack traceback:

[25/05/2009 13:56:29] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

 

Obrigado!

 

fica dando isso

 

 

[25/05/2009 14:03:12] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 14:03:12] stack traceback:

[25/05/2009 14:03:12] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

Link para o comentário
Compartilhar em outros sites

perfeitinho... só uma sugestão... troque getPlayerItem(cid,id do item) == 1 por apenas getPlayerItem(cid,id)

 

assim ele não dará erro se o player estiver levando mais de um

 

 

obg pela dica nao tinha prestado atençao nisso fiz esse script numa pressa e sem paciencia alguma.

 

ta dando esse erro olha ::

 

 

 

[25/05/2009 13:56:28] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 13:56:28] stack traceback:

[25/05/2009 13:56:28] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

[25/05/2009 13:56:29] Lua Script Error: [MoveEvents Interface]

[25/05/2009 13:56:29] data/movements/scripts/ring.lua:onStepIn

 

[25/05/2009 13:56:29] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 13:56:29] stack traceback:

[25/05/2009 13:56:29] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

 

Obrigado!

 

fica dando isso

 

 

[25/05/2009 14:03:12] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 14:03:12] stack traceback:

[25/05/2009 14:03:12] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

 

vc nao auterou nada do script ne?

 

vo testa agora pra verificar o erro e te falo depois. (que tiver tempo e paciencia)

Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

kra alterei sim ,aonde ta id do item eu botei o id que eu quero aonde ta cordenadas eu mudei aonde ta msg eu tbm mudei + AONDE se quer que eu mude??

 

kra se n for pedir muito tem como n sei uniqid , pq aí eu só vo poder usar uma vez num sqm eu quero botar pra vários sqm...

 

Muito Obrigado Marcryzius esse ja é o tercei ro script que vc anda me ajudando mto obrigado!

Link para o comentário
Compartilhar em outros sites

dentro do script nao a necessidade de uso de actionids ou uids voce so modificar aki

 

pos = {x = xxx, y = xxx, z = xx} -- Coordenadas do destino

 

ae voce poe praonde sera teleportado o player caso ele nao tenha o item.

 

if getPlayerItem(cid,id do item) then
aonde esta id do item voce poe o id do item que quer utilizar. tipo uma sov voce poe ae assim.

 

if getPlayerItem(cid,2400) then
ae sera necessario o player ter uma sov pra poder passar pelo sqm.

 

me diz se ainda esta com o problema.

to testando aqui ainda pq nao tenho o server to baixando ainda.

Link para o comentário
Compartilhar em outros sites

[25/05/2009 17:26:35] Lua Script Error: [MoveEvents Interface]

[25/05/2009 17:26:35] data/movements/scripts/ring.lua:onStepIn

 

[25/05/2009 17:26:35] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 17:26:35] stack traceback:

[25/05/2009 17:26:35] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

[25/05/2009 17:28:46] Lua Script Error: [MoveEvents Interface]

[25/05/2009 17:28:46] data/movements/scripts/ring.lua:onStepIn

 

[25/05/2009 17:28:46] data/movements/scripts/ring.lua:5: attempt to call global 'getPlayerItem' (a nil value)

[25/05/2009 17:28:46] stack traceback:

[25/05/2009 17:28:46] data/movements/scripts/ring.lua:5: in function <data/movements/scripts/ring.lua:1>

 

continua o msm erro vo t manda o meu script:

 

 

function onStepIn(cid,item,position,fromposition)

 

pos = {x =647, y =675, z =7} -- Coordenadas do destino

 

if getPlayerItem(cid,7410) then

else

doCreatureSay(cid, "Voce precisa ter ring xp non.", TALKTYPE_ORANGE_1)

doSendMagicEffect(pos,10)

doTeleportThing(cid,pos)

end

return TRUE

end

Link para o comentário
Compartilhar em outros sites

pronto depois de muito tempo agora eu terminei o script desculpe a demora to cheio de problema e num tenho paciencia pra isso. =p

 

function onStepOut(cid,item,position,fromposition)

 

pos = {x = xxx, y = xxx, z = x} -- Coordenadas do destino

player = getPlayerPosition(cid)

local item = getPlayerItemById(cid, TRUE, xxxx)

 

 

if(getPlayerItemCount(cid, xxxx) >= 1) then

else

doCreatureSay(cid, "msg.", TALKTYPE_ORANGE_1)

doSendMagicEffect(pos,10)

doTeleportThing(cid,pos)

end

return TRUE

end

 

ja testei funciona sem erro algum.

 

so modifique onde esta em negrito.

Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

quando eu subo no piso ele n me teleporta o piso fica mudando ,e n acontece nada ,o executavel n aponta nenhum erro ,

o squarement muda pra vario ,um de deserto,dps vira uma escada ,depois vira um de madeira,fica trocando .

Obrigado!

Link para o comentário
Compartilhar em outros sites

cara testei em tfs crying damson 0.3.3 ja que vc usar serverfull eu nao faço a menor ideia do porque esta acontecendo isso...

 

verifica aqui nas ss.

 

72329362.png

essa e da passagem com a sov na bp vc verifica que o gm passa e nao modifica o chao.

 

e aqui e da passagem do gm pelo mesmo sqm so que sem a sov na bp aparece a msg e ele e teleportado.

 

ssmsg.png

 

entao nao sei te informa qual seria o problema acho que so testando em serverfull mesmo mas eu nao tenho ele e nem pretendo ter.

Link para o comentário
Compartilhar em outros sites

local pos = {x=200,y=200,z=7} -- posição para voltar, caso não tenha o item

local msg = "mensagem de erro."

local itemid = 2354 -- itemid do item necessário

 

function onStepIn(cid,item,position,fromposition)

if getPlayerItemCount(cid,itemid) < 1 then

doTeleportThing(cid,pos)

doPlayerSendTextMessage(cid,20,msg)

end

end

 

quando o player passar, se ele não tiver o itemid vai ser teletransportado para a posição pos e vai aparecer a mensagem msg na tela.

Link para o comentário
Compartilhar em outros sites

o que importa é ter persistência, há 2 anos atrás eu era um mero iniciante também... :)

 

não fiz nenhum curso até hoje, só comecei o técnico esse ano pra pegar o papel e na faculdade de análise de sistemas provavelmente também vai ser só pra pegar o papel, eu já estou trabalhando só por conhecimento ganhando uma boa grana ai sem nem ter certificado ainda.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...