Postado Dezembro 18, 2016 8 anos 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
Postado Dezembro 18, 2016 8 anos 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 Dezembro 18, 2016 8 anos Autor Graças A Deus 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 Dezembro 19, 2016 8 anos 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 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 Dezembro 19, 2016 8 anos por Link10 Mudanças (veja o histórico de edições)
Postado Dezembro 19, 2016 8 anos Já tentou colocar todos os ids do piso de SEA em local del? local del = {'460', '1022', '1023'}
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.