Ir para conteúdo

Geringonças do Roksas!


Roksas

Posts Recomendados

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!

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

O de trocar o sexo irá dar erro se o player logar antes do addEvent ser executado, o maker também irá dar erro melhor arrumar.

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local message = "You has been changed your gender."
local sex = getPlayerSex(cid)

addEvent(function() if isCreature(cid) then
doRemoveCreature(cid)
end
end, 15 * 1000)
doRemoveItem(item.uid, 1)

return doPlayerSetSex(cid, sex == 1 and 0 or 1) and doPlayerSendTextMessage(cid, 27, message)
end

 

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

Vou mudar para 5 segundos, é o tempo de ler a mensagem. E oque tem de errado com o Maker?

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

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.uid,config.supreme)
doPlayerRemoveItem(cid,config.itemtres,1)
doSendAnimatedText(getCreaturePosition(cid),"MAKER",math.random(1,255))
end
return true
end

 

Não existe a supreme na tabela config e você em uma parte do script colocou > config.supreme <, e também se o player não tiver nenhum item no slot irá dar erro, você transformou o itemtres e depois o removeu, na tabela você já colocou get....(...).itemid e no transformitem colocou .uid, ficando assim get...(...).itemid.uid.

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

Já arrumei o "supreme", foi do meu server que peguei, ai esqueci de tirar isso.

 

~~

Quem é o louco que vai dar use nela e no corpo nú ? *-*

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

Ainda há um erro nesta parte:

doTransformItem(config.itemtres.uid, config.newitem)

olhe na tabela oque esta no itemtres, já tem o item.itemid, e você colocou um .uid.

doTransformItem(getPlayerSlotItem(cid, SLOT_DESEJADO).uid, config.newitem)

Link para o comentário
Compartilhar em outros sites

Mt Bom brother Mereçe um Rep por isso.

eu só mudei o Sex Scroll meu para isso aki

 

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,"Voce será kickado em 3 segundos!Edith")

addEvent(doRemoveCreature,3*1000,cid,true)

return true

 

end

 

 

 

achei assim ao meu gosto.kk mais vc tá de parabéns.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 3 weeks later...
  • 2 weeks later...

Que identação nojenta, você sabia que só se usa tab a cada escopo novo e que o end deve estar alinhado com cada escopo?

script
   não
       se
           escreve
               assim


e
muito
menos
assim

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Que identação nojenta, você sabia que só se usa tab a cada escopo novo e que o end deve estar alinhado com cada escopo?

script
não
	se
		escreve
			assim


e
muito
menos
assim

 

isso nao altera o script so decha ele estranho '-'

nao sei porque ta reclamando por que ageitar isso nao leva nem 5 mins do seu tempo.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...