Ir para conteúdo
  • Cadastre-se

(Resolvido)Swimming


Ir para solução Resolvido por Caronte,

Posts Recomendados

Olá, gostaria de pedir que colocassem uma função que não retirasse o pz do player, pois tipo, ao player nada lá na prainha, ao "mergulhar" na água, o pz do mesmo é retirado.

 

Swimming.lua

local outfit = {lookType = 267, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}



local BORDERS = {
[7943] = {x = 0, y = -2, back = SOUTH},
[7944] = {x = -2, y = 0, back = EAST},
[7945] = {x = 0, y = 2, back = NORTH},
[7946] = {x = 2, y = 0, back = WEST},
[7947] = {x = 2, y = 1, back = WEST},
[7948] = {x = -2, y = 1, back = NORTH},
[7949] = {x = 2, y = -1, back = WEST},
[7950] = {x = -2, y = -1, back = EAST},
[7951] = {x = 2, y = 2, back = WEST},
[7952] = {x = -2, y = 2, back = NORTH},
[7953] = {x = 2, y = -2, back = WEST},
[7954] = {x = -2, y = -2, back = SOUTH}
}

BORDERS[4828] = BORDERS[7943]
BORDERS[4829] = BORDERS[7946]
BORDERS[4830] = BORDERS[7945]
BORDERS[4831] = BORDERS[7944]

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if(not isPlayer(cid)) then
return true
end

local border = BORDERS[item.itemid]
if(not border) then
return false
end

local pos, newPos = getCreaturePosition(cid), {}
newPos = pos
newPos.x = pos.x + border.x
newPos.y = pos.y + border.y

if(hasCondition(cid, CONDITION_OUTFIT) and getCreatureOutfit(cid).lookType == outfit.lookType) then
doMoveCreature(cid, border.back)
doRemoveCondition(cid, CONDITION_OUTFIT)
else
if(doTileQueryAdd(cid, pos, 4) ~= RETURNVALUE_NOERROR) then
return false
end

local tmp = getCreaturePosition(cid)
doTeleportThing(cid, newPos)

if(not isPlayerGhost(cid)) then
doSendMagicEffect(tmp, CONST_ME_POFF)
doSendMagicEffect(newPos, CONST_ME_WATERSPLASH)
end

doRemoveConditions(cid, true)
doSetCreatureOutfit(cid, outfit, -1)
end

return true
end

 

Obrigado, REP+

Link para o post
Compartilhar em outros sites

 

Nessa parte: 

if(not isPlayer(cid)) then
return true
end

mude para: 

if(not isPlayer(cid)) or isPlayerPzLocked(cid) then
	return true
end

Em tese funcionou, porém o player com pz, agora anda sobre a borda e a água, ele não mais "mergulha".

Link para o post
Compartilhar em outros sites
  • Solução

Em vez de return false, coloca:

return doTeleportThing(cid, fromPosition)
Estou via celular...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo