OT
pedido

Item Não Pode Ser Desequipado!

Por othereality, 30 de jun. de 2012 em Scripts

script
10
1.8k
otherealityO
30 de junho de 2012 às 21:50

Eu passei o dia tentando fazer um item que quando é equipado não pode ser tirado.

É um shield.

Mas eu não consegui de jeito nenhum e não vi nenhum script que fizesse isso, então estou pedindo.

Será que é possível fazer?

 

Agradeço desde já quem tentar me ajudar (:

eduardosm14E
03 de julho de 2012 às 10:28

Hmmm.......

 

Esse Script e Meio Dificil Eu Tambem Nunca Vih Desse Geito

 

Eu tambem Tava Atraz De Um

 

Mais Ai Se Morrer Red, ou Black Tem Que Ver Se Nao Vai Bugar Neh.....

otherealityO
03 de julho de 2012 às 21:33

Eu tentei de vários modos aqui e nada...

Acho que só com edição na source mesmo =/

OneshotO
03 de julho de 2012 às 22:06

Talvez fazendo como um moveevent.

 

function onDeEquip(cid, item, slot)
  return false
end

 

Ou então fazendo isso

 

function onDeEquip(cid, item, slot)
  local temp = doCreateItemEx(item.itemid)
  doRemoveItem(item.uid, 1)
  doPlayerAddItemEx(cid, temp, false, slot)
  return true
end

Editado Julho 3 por Oneshot

otherealityO
06 de julho de 2012 às 13:01

Testando e já edito.

 

Editado Julho 6 por OtheReality

VincV
06 de julho de 2012 às 14:03

one shot n seria melhor usar doCopyItem(item, attributes) para copiar os atributos?que vai que o item tenha upgrade e tals(tipo como seu script de forge).

otherealityO
06 de julho de 2012 às 15:07

Nenhum deu certo =/

 

eu já tinha tentando igual o primeiro..

e no segundo, o item simplesmente some! =/

shadowzimS
06 de julho de 2012 às 17:31

pelo que eu sei, o que vc ta kerendo fazer so da pra fazer de 2 jeitos, ou pelo OnMove (nesse caso presisa de edição de source) ou fazendo um action com onEquip o item vira um que seja imovable (tipo, vc tem q editar um item no datEditor 2 item's com a mesma sprite mas um deles coloca imovable, depois fazer os 2 item's iguais, mesmo atributo, tudo ), mas ahe o item nao vai sair de la de jeito nenhum, e se dropa-lo, ele vai fikar presso no corpse no chao ou na bag dentro do corpse.

 

Obs: tutorial para adicionar onMove nas sources >> ( Tsf 0.3.6 e 0.4 ) http://otland.net/f35/creatureevent-onmove-very-advanced-134016/

otherealityO
08 de julho de 2012 às 13:21

AAAAAhh ótima ideia essa de fazer dois itens.. vou fazer assim.

 

Mas tem uma coisa, será que tem como eu fazer esse item não cair mesmo que o player esteja pk red ou black?

Quero que o item nunca mais seja desequipa mesmo.

LeoxtibiaL
09 de julho de 2012 às 09:08

Em creaturescripts/scripts crie um arquivo.lua e cole isto dentro:

 

local item = getPlayerSlotItem(cid, ID_SLOT).itemid == ID_DO_ITEM

function onDeath(cid, lastHitKiller, mostDamageKiller)
if getPlayerSkullType(cid) >= 4 then
doCreatureSetDropLoot(item, false)
else
doCreatureSetDropLoot(item, false)
end
return true
end

 

Em creaturescripts/scripts/login.lua cole, antes do return true: registerCreatureEvent(cid, "noDrop")

Em creaturescripts.xml, cole a tag: <event type="death" name="noDrop" event="script" value="NOMEDOSEUARQUIVO.lua"/>

 

É só editar o ID_SLOT e o ID_DO_ITEM. Em alguns servers, a depender do distro, não funciona com red skull... deve ser algum problema no distro mesmo. Vlw, espero ter ajudado aí.