Iaaae galera, suaves na nave? Hoje irei postar minhas geringonças hehe. Baseadas em actions, vou apresentar-lhes:
-
House Teleport
-
Maker
-
Sex Scroll
-
Temple Teleport
Vamos começar então! Primeiramente inciaremos de acordo com a lista acima
House Teleport ~
House Teleporter é um item que ao dar use, vai teleportar o player para a house dele, e em seguida remover o item. Caso esteja com battle não poderá teleportar!
Vá em data/actions/scripts, copie algum arquivo dessa pasta e cole. Renomeio-o para housetp, agora abra ele com o bloco de notas, apague exatamente TUDO que estiver dentro e coloque isso:
function onUse(cid, item, frompos, item2, topos) if getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then if getHouseByPlayerGUID(getPlayerGUID(cid)) then doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doRemoveItem(item.uid,1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid,22,"You have been teleported to your house, 1x house teleporter removed!") else doPlayerSendTextMessage(cid,22,"You still do not have a house, buy a talking '!buyhouse' front of her.") end end if getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid,22,"Please wait for your Battle/PZ for using house teleporter!") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end end
Volte uma pasta (data/actions) e procure pelo arquivo actions.xml, abra ele com algum editor de texto (bloco de notas, MS WORD) e cole essa tag:
<action itemid="Item ID" event="script" value="housetp.lua"/>
Aonde está Item ID, você coloca o ID do seu House Teleporter, não pode ser um item que tenha a opção (Use With...).
Muito bem, House Teleporter instalado. Agora dê reload em actions ou reinicie o servidor. Só testar
Maker ~
Bom galera, o Maker funciona da seguinte maneira: É um item que ao dar Use em qualquer armor/legs/boots/doll, oque quiser, está a sua preferência, ele vira outro item, a ideia de usá-lo, seria vendê-lo para transformar items comuns em Itens VIPS.
Digamos que nós temos uma "Demon Armor" ao usar o Maker nela, ela se transforma em "VIP Demon Armor" por exemplo! (OBS: No caso cada código de Maker é usado para 1 tipo de item (armor,legs, seja oque for)).
~~
Vamos lá, em data/actions/scripts, copie algum arquivo de lá e cole na mesma pasta, renomeie para maker, agora cole isso dentro:
function onUse(cid, item, frompos, item2, topos) local config = { itemtres = getPlayerSlotItem(cid,CONST_SLOT_ARMOR).itemid, -- CONST_SLOT_HEAD/NECKLACE/BACKPACK/ARMOR/RIGHT/LEFT/LEGS/FEET/RING e AMMO. newitem = 2494 -- ID do Novo ITEM que vai SURGIR } if item2.itemid == config.itemtres then doTransformItem(config.itemtres,config.newitem) doPlayerRemoveItem(cid,config.itemtres,1) doSendAnimatedText(getCreaturePosition(cid),"MAKER",math.random(1,255)) else doPlayerSendCancel(cid,"Item not found.") end return true end
Para configurar, nessa linha:
itemtres = getPlayerSlotItem(cid,CONST_SLOT_ARMOR).itemid
No caso o Maker vai servir apenas para armors. Para mudar a funcionalidade dele, mude de CONST_SLOT_ARMOR para:
CONST_SLOT_HEAD (CAPACETES) CONST_SLOT_NECKLACE (COLARES) CONST_SLOT_RIGHT (MÃO DIREITA) CONST_SLOT_LEFT (MÃO ESQUERDA) CONST_SLOT_LEGS (LEGS) CONST_SLOT_FEET (BOOTS) CONST_SLOT_RING (ANÉIS) CONST_SLOT_AMMO (MUNIÇÃO, COMO STARTS/ARROWS,ETC)
E nessa linha:
newitem = 2494
Vai ser o novo item que vai surgir, ou seja o "VIP ITEM" no caso. Ou oque prefirir!
Agora basta ir em data/actions, abrir com um editor de texto o arquivo actions.xml e colar essa tag:
<action itemid="ITEMID" event="script" value="maker.lua"/>
Aonde está "ITEMID" coloque o ID do Maker, o item que você quer que sirva de "Transformador".
É isso galera, para testar é só reiniciar o seu servidor.
Sex Scroll ~
Bom galera, disso não tenho muito oque falar. No caso é um item (configurável) que ao dar Use ele é removido, o player troca de sexo e é kikado em 5 segundos, vamos lá!
Vá em data/actions/scripts, copie algum arquivo e cole, renomeie para changesex, abra com um editor de texto e cole isso dentro:
local sex = { [0] = 1, [1] = 0 } function onUse(cid, item, frompos, item2, topos) doPlayerSetSex(cid,sex[getPlayerSex(cid)]) doRemoveItem(item.uid,1) doSendAnimatedText(getCreaturePosition(cid),"GENDER!",math.random(1,255)) doPlayerSendTextMessage(cid,22,"You has been changed your gender, gonna kicked in 5 seconds!") addEvent(doRemoveCreature,5*1000,cid,true) return true end
Em actions.xml, adicione essa tag:
<action itemid="ITEM ID" event="script" value="changesex.lua"/>
Aonde está "ITEM ID" você coloca o ID do item que no caso irá trocar o sexo do player (OBS: NÃO USE ITEMS QUE DÊ PARA DAR (USE WITH...))
Temple Teleport ~
Vamos agora ao nosso Temple Teleport, que no caso é um item que é removido ao dar use, e teleporta o player para o templo da sua cidade natal. Não pode usar com battle.
Vá em data/actions/scripts, crie um arquivo chamado templetp.lua e adicione isso dentro:
function onUse(cid, item, frompos, item2, topos) if getCreatureCondition(cid,CONDITION_INFIGHT) == FALSE then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerSendTextMessage(cid,22,"Sucessfully teleported!") doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid,27,"Wait your battle for be teleport to your temple!") end return true end
Agora em actions.xml adicione essa tag:
<action itemid="ITEMID" event="script" value="templetp.lua"/>
Aonde está ITEMID você coloca o ID do item que vai servir para teleportar para o templo da cidade natal, recomendo usar orbs que ficam bem legal
Bom galera, por enquanto é isso, conforme o tempo poderei adicionar mais "geringonças" rsrs. Qualquer dúvida/sugestão ou até mesmo críticas, pode postar aqui no tópico, bjs!