Ir para conteúdo

Featured Replies

Postado

Não sei se estou no local correto (caso não esteja, por favor, mudem). Estou com um problema: estava criando um mapa e usei os tiles do Sea, aqueles que se usam para mapas submersos. Quando testei o mapa, estava tudo ok, porém (obviamente) o jogador perdia oxigênio (O²) enquanto está nesse tipo de tile. Como configurar para que ele não perca O² nesse piso e, por favor, senão for pedir demais, como evitar que os jogadores usem Fly enquanto estiverem embaixo d'água? Fica Com Deus <3

  • Respostas 5
  • Visualizações 307
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Já tentou colocar todos os ids do piso de SEA em local del?   local del = {'460', '1022', '1023'}  

  • Boa observação! Vou tentar agora mesmo. Subyth, mesmo que não dê certo, vou te dar REP. Da forma como você me ajuda e tenho certeza que ajuda os outros do fórum não é normal :D Obrigado de novo, amigo

Postado

Posta teu script de fly..

 

Para eles não tomarem dano nos pisos de SEA vai em movements e apaga a tag:

 

(TFS 0.4)

<!-- Underwater drown -->
	<movevent type="StepIn" itemid="5405-5410" event="script" value="drown.lua"/>
	<movevent type="StepOut" itemid="5405-5410" event="script" value="drown.lua"/>

 

(TFS 1.0+)

<movevent event="StepIn" fromid="5405" toid="5410" script="drowning.lua" />
<movevent event="StepOut" fromid="5405" toid="5410" script="drowning.lua" />

 

Postado
  • Autor

Graças A Deus <3 Subyth, obrigado mais uma vez. Deu certo. Eu acho que meu script de Fly é esse:

 

Spoiler

local del = {'460', '1022', '1023'}
local updown = {'1', '3'}

function onStepIn(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 17000) <= 0 then
doTeleportThing(cid, topos, false)
doRemoveItem(getTileThingByPos(frompos).uid, 1)
if isPlayer(cid) then
doPlayerSendCancel(cid, "You can't fly.")
end
return true
end
if getPlayerStorageValue(cid, 17000) >= 1 then
if topos.z == frompos.z then
if getCreatureOutfit(cid).lookType == 316 then
effect = 136
else
effect = 2
end
doSendMagicEffect(topos, effect)
end
end
for x=-1,1 do
        for y=-1,1 do
            posa = {x=topos.x+x,y=topos.y+y,z=topos.z}
            if isInArray(del, getTileThingByPos(posa).itemid) then
            doRemoveItem(getTileThingByPos(posa).uid, 1)
            end
end
end
for x=-1,1 do
        for y=-1,1 do
            pose = {x=frompos.x+x,y=frompos.y+y,z=frompos.z}
            if getTileThingByPos(pose).itemid == 0 then
            doCombatAreaHealth(cid, 0, pose, 0, 0, 0, CONST_ME_NONE)
            doCreateItem(460, 1, pose)
end
end
end
doCombatAreaHealth(cid, 0, topos, 0, 0, 0, CONST_ME_NONE)
doCreateItem(460, 1, frompos)
            if topos.z > frompos.z then
            doCreateItem(1023, 1, frompos)
            doTransformItem(getTileThingByPos(frompos).uid, 1023)
            elseif topos.z < frompos.z then
            doCreateItem(1022, 1, frompos)
            doTransformItem(getTileThingByPos(frompos).uid, 1022)
            end
return true
end    

 

 

 

Postado
  • Autor

Subyth?

Em 18/12/2016 ás 13:48, Subyth disse:

Posta teu script de fly..

 

Para eles não tomarem dano nos pisos de SEA vai em movements e apaga a tag:

 

(TFS 0.4)


<!-- Underwater drown -->
	<movevent type="StepIn" itemid="5405-5410" event="script" value="drown.lua"/>
	<movevent type="StepOut" itemid="5405-5410" event="script" value="drown.lua"/>

 

(TFS 1.0+)


<movevent event="StepIn" fromid="5405" toid="5410" script="drowning.lua" />
<movevent event="StepOut" fromid="5405" toid="5410" script="drowning.lua" />

 

 Postei o script, Subyth. Aquele é o script de Fly. Eu vi que dar pra dar Fly dentro da água, mas queria tirar isso. Agradeceria muito se pudesse resolver * -- * Fica Com Deus <3

 

Spoiler

local del = {'460', '1022', '1023'}
local updown = {'1', '3'}

function onStepIn(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 17000) <= 0 then
doTeleportThing(cid, topos, false)
doRemoveItem(getTileThingByPos(frompos).uid, 1)
if isPlayer(cid) then
doPlayerSendCancel(cid, "You can't fly.")
end
return true
end
if getPlayerStorageValue(cid, 17000) >= 1 then
if topos.z == frompos.z then
if getCreatureOutfit(cid).lookType == 316 then
effect = 136
else
effect = 2
end
doSendMagicEffect(topos, effect)
end
end
for x=-1,1 do
        for y=-1,1 do
            posa = {x=topos.x+x,y=topos.y+y,z=topos.z}
            if isInArray(del, getTileThingByPos(posa).itemid) then
            doRemoveItem(getTileThingByPos(posa).uid, 1)
            end
end
end
for x=-1,1 do
        for y=-1,1 do
            pose = {x=frompos.x+x,y=frompos.y+y,z=frompos.z}
            if getTileThingByPos(pose).itemid == 0 then
            doCombatAreaHealth(cid, 0, pose, 0, 0, 0, CONST_ME_NONE)
            doCreateItem(460, 1, pose)
end
end
end
doCombatAreaHealth(cid, 0, topos, 0, 0, 0, CONST_ME_NONE)
doCreateItem(460, 1, frompos)
            if topos.z > frompos.z then
            doCreateItem(1023, 1, frompos)
            doTransformItem(getTileThingByPos(frompos).uid, 1023)
            elseif topos.z < frompos.z then
            doCreateItem(1022, 1, frompos)
            doTransformItem(getTileThingByPos(frompos).uid, 1022)
            end
return true
end    

 

 

Editado por Link10
Mudanças (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo