Ir para conteúdo
  • Cadastre-se

[Ajuda] Script pra não tirar helmet em area escolhida


Posts Recomendados

Bom dia, estou precisando de um scrip simples que não permita que o player tire o helmet of the deep em determinada área "fromz/toz". Ajudem plz

Link para o post
Compartilhar em outros sites

É apenas você entrar no mapa pelo Map editor e colocar uma ActionId qualquer no item que ele vai ficar impossiel de ser movido e ainda sim vao poder dar look nele.

Link para o post
Compartilhar em outros sites

É apenas você entrar no mapa pelo Map editor e colocar uma ActionId qualquer no item que ele vai ficar impossiel de ser movido e ainda sim vao poder dar look nele.

Desculpa esqueci de dizer que não é do chão, o player não pode tirar da cabeça. vlw

Link para o post
Compartilhar em outros sites
nome do arquivo.lua
local under_areas ={
{from = {x=1014,y=1016,z=7},to = {x=1017,y=1019,z=7}},
{from = {x=1008,y=1018,z=7},to = {x=1011,y=1021,z=7}}
}
function onDeEquip(cid, item, slot)
for _, var in ipairs(under_areas) do
if isInRange(getCreaturePosition(cid), var.from, var.to) then
return false
end
end
return true
end
 
 
tag
<movevent event="DeEquip" itemid="ID DO ITEM" slot="head" function="onDeEquipItem" script="nome do arquivo.lua"/>
Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

editei ali em cima, pode adc mais areas se quiseer

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart, meu amigo, não aparece nenhuma mensagem de erro, mas não funciona, o player pode entrar na agua com o helmet of the deep, e em seguida tirar ele da cabeça e por um helm que aumente ml por exemplo. =(

Link para o post
Compartilhar em outros sites

Certa vez vi que retornar falso em onEquip e onDeEquip não alterava a funcionalidade. Talvez seja este o motivo pelo qual o código não funcionou.

Se você tiver as sources do seu servidor, você pode instalar este creatureevent e usar o seguinte código:

data/creaturescripts/scripts:

local config = {
    helmetId = xxx,                                          --ID do helmet.
    pos = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},    --{{fromPos}, {toPos}}
}
function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos)
    local headItem = getPlayerSlotItem(cid, CONST_SLOT_HEAD)
    if headItem.uid > 0 then
        if isInRange(getThingPos(cid), config.pos[1], config.pos[2]) and headItem.itemid == config.helmetId and headItem.uid == item.uid then
            return false
        end
    end
    return true
end
Tag:
<event type="moveitem" name="moveHelmet" event="script" value="nome_do_arquivo.lua"/>
E não se esqueça de registrar o evento em login.lua.
Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

Link para o post
Compartilhar em outros sites

 

Certa vez vi que retornar falso em onEquip e onDeEquip não alterava a funcionalidade. Talvez seja este o motivo pelo qual o código não funcionou.

Se você tiver as sources do seu servidor, você pode instalar este creatureevent e usar o seguinte código:

data/creaturescripts/scripts:

local config = {
    helmetId = xxx,                                          --ID do helmet.
    pos = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},    --{{fromPos}, {toPos}}
}
function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos)
    local headItem = getPlayerSlotItem(cid, CONST_SLOT_HEAD)
    if headItem.uid > 0 then
        if isInRange(getThingPos(cid), config.pos[1], config.pos[2]) and headItem.itemid == config.helmetId and headItem.uid == item.uid then
            return false
        end
    end
    return true
end
Tag:
<event type="moveitem" name="moveHelmet" event="script" value="nome_do_arquivo.lua"/>
E não se esqueça de registrar o evento em login.lua.

 

 

é mesmo, esqueci que funcionava até a versão 8.54, depois disso não funcionava mais!

melhor maneira do seu jeito

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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