Ir para conteúdo
  • 0

Item com script semelhantes à talkactions


Mazynho

Pergunta

Galera queria um script tipo a talkaction /r só que esse script fosse em um item.

Seria assim: ao clicar com o botão direito do mouse em um item X e depois clicar com o botão esquerdo em um determinado lugar do map remove os itens que nesse sqm se encontra, caso tenha um player nesse sqm ele será kikado, é a mesma função do comando /r

 

Uma obs. crucial apenas players com group ID X podem usar esse item para essa função, se um player de group ID diferente do group ID X for usar esse item não acontece nada.

 

Queria um outro script que seria o seguinte: Um player de group ID X ao dar use em um item com actionID ou uniqueID Y dará salve no server.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Bom, encontrei também o script para este seu problema, de autoria de MMS e do GM Volcano.

Vamos dar uma boa procurada antes de pedir, pois nós que estamos aprendendo scripts precisamos deste tempo para estudar.

Enfim, segue abaixo:

 

Pode criar um arquivo chamado deletador.lua na pasta actions/scripts e por o código abaixo dentro:

 

function onUse(cid, item, frompos, item2, topos)

itempos = {x=topos.x, y=topos.y, z=topos.z, stackpos=1}
item = getThingfromPos(itempos)
access = 3

if getPlayerAccess(cid) >= access then

doRemoveItem(item.uid,1)
doSendMagicEffect(itempos,2)
doPlayerSendTextMessage(cid,22,"O Item foi deletado.")
else
doPlayerSendTextMessage(cid,22,"Somente Players com acesso ' .. access .. ' Podem usa-la!")
end
return 1
end

 

Agora basta registrá-lo em actions.xml:

 

<action itemid="XXXX" script="deletador.lua" allowfaruse="1" blockwalls="0" />

Adicione a ID correspondente ao item que deseja ser o DELETADOR substituindo os XXXX.

 

Boa sorte.

Link para o comentário
Compartilhar em outros sites

  • 0

Adriano o script funcionou, mas tem como você incrementar isto:

se no sqm que foi usado o item estiver alguma criatura, NPC ou player irá ser removido como se fosse um item, no caso do player ele seria kikado.

 

Eu tinha feito um como esse só que não conseguia fazer ele remover de onde estava, ao clicar no local que queria remover o item o char vai em direção do lugar para remover e, ele não removia itens do map. rsrs

function onUse(cid, item, topos, toPosition, fromPosition)
	if (getPlayerGroupId(cid) == 6) then
		doCleanTile(fromPosition)
	end
return true
end

Tem como você fazer o save e o clean map por alavanca? esses script seriam igual aos comandos /save e /clean só que ele seria por alavanca.

 

Como que faço para um item ao ser clicado com o botão direito aparecer aquelas 4 setinhas (o use with), digo isso para qualquer item.

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

  • 0

Sobre remover NPCs, players e/ou monstros, tenta assim:

Primeira opção:

function onUse(cid, item, frompos, item2, topos)
 
itempos = {x=topos.x, y=topos.y, z=topos.z, stackpos=1}
item = getThingfromPos(itempos)
access = 3
 
    if getPlayerAccess(cid) >= access then
 
        if isPlayer(item.uid) or isMonster(item.uid) or isNpc(item.uid) then
            doRemoveCreature(item.uid)
        else
            doRemoveItem(item.uid, 1)
        end
        doSendMagicEffect(itempos, 2)
        doPlayerSendTextMessage(cid, 22, "O Item foi deletado.")
    else
        doPlayerSendTextMessage(cid,22,"Somente Players com acesso ' .. access .. ' Podem usa-la!")
    end
    return 1
end
Segunda opção:
function onUse(cid, item, frompos, item2, topos)
 
    function ehNPC(cid)   
        return isCreature(cid) and not isPlayer(cid) and not isSummon(cid) and not isMonster(cid)
    end
 
itempos = {x=topos.x, y=topos.y, z=topos.z, stackpos=1}
item = getThingfromPos(itempos)
access = 3
 
    if getPlayerAccess(cid) >= access then
 
        if isPlayer(item.uid) or isMonster(item.uid) or ehNPC(item.uid) then
            doRemoveCreature(item.uid)
        else
            doRemoveItem(item.uid, 1)
        end
        doSendMagicEffect(itempos, 2)
        doPlayerSendTextMessage(cid, 22, "O Item foi deletado.")
    else
        doPlayerSendTextMessage(cid,22,"Somente Players com acesso ' .. access .. ' Podem usa-la!")
    end
    return 1
end
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

  • 0

 

Sobre remover NPCs, players e/ou monstros, tenta assim:

Primeira opção:

function onUse(cid, item, frompos, item2, topos)
 
itempos = {x=topos.x, y=topos.y, z=topos.z, stackpos=1}
item = getThingfromPos(itempos)
access = 3
 
    if getPlayerAccess(cid) >= access then
 
        if isPlayer(item.uid) or isMonster(item.uid) or isNpc(item.uid) then
            doRemoveCreature(item.uid)
        else
            doRemoveItem(item.uid, 1)
        end
        doSendMagicEffect(itempos, 2)
        doPlayerSendTextMessage(cid, 22, "O Item foi deletado.")
    else
        doPlayerSendTextMessage(cid,22,"Somente Players com acesso ' .. access .. ' Podem usa-la!")
    end
    return 1
end
Segunda opção:
function onUse(cid, item, frompos, item2, topos)
 
    function ehNPC(cid)   
        return isCreature(cid) and not isPlayer(cid) and not isSummon(cid) and not isMonster(cid)
    end
 
itempos = {x=topos.x, y=topos.y, z=topos.z, stackpos=1}
item = getThingfromPos(itempos)
access = 3
 
    if getPlayerAccess(cid) >= access then
 
        if isPlayer(item.uid) or isMonster(item.uid) or ehNPC(item.uid) then
            doRemoveCreature(item.uid)
        else
            doRemoveItem(item.uid, 1)
        end
        doSendMagicEffect(itempos, 2)
        doPlayerSendTextMessage(cid, 22, "O Item foi deletado.")
    else
        doPlayerSendTextMessage(cid,22,"Somente Players com acesso ' .. access .. ' Podem usa-la!")
    end
    return 1
end

 

 

Ficou quase zipter, testei os dois, todos os dois estão removendo itens, criaturas e players, porém ambos não removem NPC's e aparece um erro ao tentar remover NPC:

[10/12/2013 17:42:35] [Error - Action Interface]
[10/12/2013 17:42:35] data/actions/scripts/deletador.lua:onUse
[10/12/2013 17:42:35] Description:
[10/12/2013 17:42:35] (luaDoRemoveItem) Item not found
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...