Ir para conteúdo

Resolvendo O Problema Com Pianos E Outros.


Alikarbam

Posts Recomendados

Bom se algum dia vc jha teve seu server invadido por milhoes de pianos, os monks treiner foram morteos e tudo isso...

Entao essa action faz com que os Kites de decoração de casa, so possam ser abertos em PZ.

 

Bom vamos começão. Vou ensinar como arrumar de uma foram geral, pra todas as verçoes de OT 7.6-7.8-7.9.

 

Bom va na pasta de action, e abra o Actions.xml, agora procure pela ID do Kit do Piano(so comprar um e olhar com seu GM, ou va pelo map editor), ATENÇÃO é a ID da "caixinha de parcel que vira piano" Não Do Piano em Si.

 

Bom na minha verção eu achei:

 

<action itemid="3909" script="construction_kits.lua" />

 

Bom já sabemos que ele pertence ao construction_kits.lua.

 

Então agora vamos até ele, abra o construction_kits.lua porque vamos editar umas coisinhas =p

 

Bom no meu ta +- isso:

 

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

if frompos.x == 65535 then

doPlayerSendCancel(cid, "Put the construction kit on the ground first.")

return 1

end

if item.itemid == 3901 then

doTransformItem(item.uid,1652)

elseif item.itemid == 3902 then

doTransformItem(item.uid,1658)

elseif item.itemid == 3903 then

doTransformItem(item.uid,1666)

elseif item.itemid == 3904 then

doTransformItem(item.uid,1670)

elseif item.itemid == 3905 then

doTransformItem(item.uid,3813)

elseif item.itemid == 3906 then

doTransformItem(item.uid,3817)

 

//e assim por diante, tem mais codigo mas é repetição, vou usar essa parte so pra ilustrar.

 

 

Bom agora que vem a jogada:

 

Adicione as seguintes linhas

 

 

if getTilePzInfo(topos) == 1 then

doSendMagicEffect(topos,2)

 

 

 

depois de :

return 1

end

 

e antes de:

 

if item.itemid == 3901 then

 

 

Ficando assim:

 

 

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

if frompos.x == 65535 then

doPlayerSendCancel(cid, "Put the construction kit on the ground first.")

return 1

end

if getTilePzInfo(topos) == 1 then

doSendMagicEffect(topos,2)

if item.itemid == 3901 then

doTransformItem(item.uid,1652)

elseif item.itemid == 3902 then

doTransformItem(item.uid,1658)

elseif item.itemid == 3903 then

doTransformItem(item.uid,1666)

elseif item.itemid == 3904 then

doTransformItem(item.uid,1670)

elseif item.itemid == 3905 then

doTransformItem(item.uid,3813)

elseif item.itemid == 3906 then

doTransformItem(item.uid,3817)

 

Nao se esquecendo de Adicionar mais um "end" no Final da action.

 

Basicamente esses comandos sao iguais en todas as verções de OT, caso ano seja tenho certeza que existe algum semelhante.

 

Este foi feito baseado em CVS 0.5.0 Em Evolution Server 0.6.3

 

Qualquer duvida so Postar ai :p ou mandar PM.

Link para o comentário
Compartilhar em outros sites

Cara

Acho que vinha com isso

Mas de qualquer modo

Eh mais sipmles falar

depois de:

function onUse(cid, item, frompos, item2, topos)
if frompos.x == 65535 then
	doPlayerSendCancel(cid, "Put the construction kit on the ground first.")
	return 1
end
if getTilePzInfo(topos) == 0 then
if item.itemid == 3901 then
	doTransformItem(item.uid,1652)
elseif item.itemid == 3902 then
	doTransformItem(item.uid,1658)
elseif item.itemid == 3903 then
	doTransformItem(item.uid,1666)
elseif item.itemid == 3904 then
	doTransformItem(item.uid,1670)
elseif item.itemid == 3905 then
	doTransformItem(item.uid,3813)
elseif item.itemid == 3906 then
	doTransformItem(item.uid,3817)
elseif item.itemid == 3908 then
	doTransformItem(item.uid,2602)
elseif item.itemid == 3909 then
	doTransformItem(item.uid,1614)
elseif item.itemid == 3910 then
	doTransformItem(item.uid,1615)
elseif item.itemid == 3911 then
	doTransformItem(item.uid,1616)
elseif item.itemid == 3912 then
	doTransformItem(item.uid,1619)
elseif item.itemid == 3913 then
	doTransformItem(item.uid,3805)
elseif item.itemid == 3914 then
	doTransformItem(item.uid,3807)
elseif item.itemid == 3917 then
	doTransformItem(item.uid,2084)
elseif item.itemid == 3918 then
	doTransformItem(item.uid,2095)
elseif item.itemid == 3919 then
	doTransformItem(item.uid,3809)
elseif item.itemid == 3926 then
	doTransformItem(item.uid,2080)
elseif item.itemid == 3927 then
	doTransformItem(item.uid,2098)
elseif item.itemid == 3928 then
	doTransformItem(item.uid,2104)
elseif item.itemid == 3929 then
	doTransformItem(item.uid,2101)
elseif item.itemid == 3931 then
	doTransformItem(item.uid,2105)
elseif item.itemid == 3932 then
	doTransformItem(item.uid,1724)
elseif item.itemid == 3933 then
	doTransformItem(item.uid,1728)
elseif item.itemid == 3935 then
	doTransformItem(item.uid,1775)
elseif item.itemid == 3937 then
	doTransformItem(item.uid,2064)
elseif item.itemid == 3907 then
	doTransformItem(item.uid,3821)
elseif item.itemid == 3915 then
	doTransformItem(item.uid,1738)
elseif item.itemid == 3920 then
	doTransformItem(item.uid,3811)
elseif item.itemid == 3921 then
	doTransformItem(item.uid,1716)
elseif item.itemid == 3923 then
	doTransformItem(item.uid,1774)
elseif item.itemid == 3934 then
	doTransformItem(item.uid,1732)
elseif item.itemid == 3936 then
	doTransformItem(item.uid,3832)
elseif item.itemid == 3938 then
	doTransformItem(item.uid,1750)
end
doSendMagicEffect(frompos, NM_ME_PUFF)

else
doSendMagicEffect(topos,2)
end
return 1
end

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

Kara vlw muito,

em um ot que eu era GM o problema do ot era isso (causou wars pq colocavam piano e matavam o cara.)

isso vai resover mt o problema,

se eu n me engano o ot q tem issu o darkonia e no evolutions como vc disse

Lgl tuto flw

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

Fico Feliz em ver que ajudou. =)

 

 

@Rento:

Vlw por deixar mais organizado ^^.

E quanto a vir com isso jha implantado nas Action, creio que em todas as veroces de 7.6-7.8-.79 que eu baixei, nao tinha.

 

 

@Rento:

Muitos dos OTs 7.6-7.9 tem esse problema, e muitas pessoas nao sabem que é possivel limitar a abertura destes "Kits" para PZ.

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

  • 4 years later...

não teria como mudar em Pz onde esta red para House ? ou algo assim que so possa ser aberto dentro da house por que os player pode trapa o templo e player nem um poder sair de dentro do templo

 

if getTilePzInfo(topos) == 1 then

doSendMagicEffect(topos,2)

 

#EDIT

 

respondi e depodis fui testar e não funcionou no servidor darkonia 7.8 rc2

fiz tudo certin

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

×
×
  • Criar Novo...