Ir para conteúdo
  • 0

Teleport que muda outfit


Elias Palermo

Pergunta

Bom dia.

Procurei pelo fórum mas não achei nada do tipo.

Estou precisando de um sistema de teleport que mude a outifit do player e outro que remova e volte como estava antes sendo male e female. Alguém tem um sistema desse ai?

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Uma alternativa que fiz aqui é assim.

 

 

 

function onStepIn(cid, item, frompos, item2, topos)if isPlayer(cid) thenlocal NewOutfit = {lookType=14,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0} -- Aqui Altera pra qual outfit você quiserOutfitTime = 6200*1000 -- O tempo que dura o outfit. Após acabar o tempo o outfit retorna ao que estava antes.doSetCreatureOutfit(cid, NewOutfit,OutfitTime)doSendMagicEffect(getThingPos(cid), 2)endreturn TRUEend

 

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, rollend disse:

Não entendi, mude a outfit pra qual outfit? aleatório?

Não não guri, uma outfit X mesmo.

Eu to com a minha outfit orginal, ai entro nesse tp e muda pra X outfit, e quando entro em outro tp que no caso seria a saida volta a outfit original. entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Em movements.xml, adicione:

 

<movevent event="StepIn" actionid="43211" script="outfitmagic.lua"/>

 

Em movements/scripts/, crie um arquivo de nome outfitmagic.lua e adicione:

 

function onStepIn(cid, fromPosition, toPosition)

 

local pos = {x = xxx, y = xxx, z = xxx}

local outfitfemale = 136

local outfitmale = 128

 

if getPlayerGender(cid) == 0 then

doTeleportThing(cid, pos)

doCreatureChangeOutfit(cid, outfitfemale)

doSendMagicEffect(getPlayerPosition(cid), 12)

else

doTeleportThing(cid, pos)

doCreatureChangeOutfit(cid, outfitmale)

doSendMagicEffect(getPlayerPosition(cid), 12)

end

 

return true

end

 

Coloque actionid = 43211 no seu teleport.

Link para o comentário
Compartilhar em outros sites

  • 0
21 horas atrás, miguel223 disse:

Em movements.xml, adicione:

 

<movevent event="StepIn" actionid="43211" script="outfitmagic.lua"/>

 

Em movements/scripts/, crie um arquivo de nome outfitmagic.lua e adicione:

 

function onStepIn(cid, fromPosition, toPosition)

 

local pos = {x = xxx, y = xxx, z = xxx}

local outfitfemale = 136

local outfitmale = 128

 

if getPlayerGender(cid) == 0 then

doTeleportThing(cid, pos)

doCreatureChangeOutfit(cid, outfitfemale)

doSendMagicEffect(getPlayerPosition(cid), 12)

else

doTeleportThing(cid, pos)

doCreatureChangeOutfit(cid, outfitmale)

doSendMagicEffect(getPlayerPosition(cid), 12)

end

 

return true

end

 

Coloque actionid = 43211 no seu teleport.

Mano passo por cima do tp e nada acontece, e também não da nenhum erro na distro.

Link para o comentário
Compartilhar em outros sites

  • 0

Em movements/scripts/

 

Spoiler

function onStepIn(cid, fromPosition, toPosition)
doSetCreatureOutfit(cid, {lookType = 1723}, -1) -- aonde esta 1723 alterá para roupa QUER VAI ganhar
return true
end

 

agora botar no portal

 

<movevent event="StepIn" actionid="55555" script="portal.lua"/>

 

vc botar storage no portal e testar

 

55555 < storage

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

  • 0

@Elias Palermo, não testei, vê se dá certo:

local posEntrada = {x = 69691, y= 73731, z= 7} --posicao para onde o player será levado ao entrar no 1 portallocal posSaida = {x = 69691, y= 73731, z= 7} --posicao para onde o player será levado ao sair pelo 2 portallocal outfitfemale = 136 --outfit que o player recebera ao entrar no portal, se for femealocal outfitmale = 128 --outfit que o player recebera ao entrar no portal, se for macholocal info = {} --deixe isso da forma como estalocal str = "dentroDoTp" --deixe da forma que estafunction onStepIn(cid, position)	if getPlayerStorageValue(cid, str) < 1 then	setPlayerStorageValue(cid, str, 1)	doTeleportThing(cid, posEntrada)	table.insert(info, getCreatureOutfit(cid), cid)		if getPlayerSex(cid) == 0 then		doCreatureChangeOutfit(cid, outfitfemale)		doSendMagicEffect(getPlayerPosition(cid), 12)		else		doCreatureChangeOutfit(cid, outfitmale)		doSendMagicEffect(getPlayerPosition(cid), 12)		end	else	setPlayerStorageValue(cid, str, 0)	doTeleportThing(cid, posSaida)	doSendMagicEffect(getPlayerPosition(cid), 12)	outfitOld = info[cid]	doCreatureChangeOutfit(cid, outfitOld)	table.remove(info, cid)	endreturn trueend

 

 

edit: vc vai ter que botar o MESMO ACTION ID pros 2 PORTAIS!  De entrada e de saída.

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, danihcv disse:

@Elias Palermo, não testei, vê se dá certo:

local posEntrada = {x = 69691, y= 73731, z= 7}local posSaida = {x = 69691, y= 73731, z= 7}local outfitfemale = 136local outfitmale = 128local info = {}local str = "dentroDoTp"function onStepIn(cid, position)	if getPlayerStorageValue(cid, str) < 1 then	setPlayerStorageValue(cid, str, 1)	doTeleportThing(cid, posEntrada)	table.insert(info, getCreatureOutfit(cid), cid)		if getPlayerSex(cid) == 0 then		doCreatureChangeOutfit(cid, outfitfemale)		doSendMagicEffect(getPlayerPosition(cid), 12)		else		doCreatureChangeOutfit(cid, outfitmale)		doSendMagicEffect(getPlayerPosition(cid), 12)		end	else	setPlayerStorageValue(cid, str, 0)	doTeleportThing(cid, posSaida)	doSendMagicEffect(getPlayerPosition(cid), 12)	outfitOld = info[cid]	doCreatureChangeOutfit(cid, outfitOld)	table.remove(info, cid)	endreturn trueend

 

O que seria essa função?

local str = "dentrodotp"

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, Elias Palermo disse:

O que seria essa função?

local str = "dentrodotp"

Isso é a storage que checará se o player está "dentro" ou "fora" do ambiente que o 1° tp o levará.

EDIT: Eu editei o script, adicionei anotações.

Link para o comentário
Compartilhar em outros sites

  • 0
8 minutos atrás, danihcv disse:

Isso é a storage que checará se o player está "dentro" ou "fora" do ambiente que o 1° tp o levará.

EDIT: Eu editei o script, adicionei anotações.

Nada houve mano, nem teleportou e nem erro na distro.

Link para o comentário
Compartilhar em outros sites

  • 0

Acredito que vc precise adicionar, pelo editor de mapa, um tile que tenha a msm sprite de portal, mas ñ seja um portal em si por padrão, entende?

Link para o comentário
Compartilhar em outros sites

  • 0
19 horas atrás, danihcv disse:

Acredito que vc precise adicionar, pelo editor de mapa, um tile que tenha a msm sprite de portal, mas ñ seja um portal em si por padrão, entende?

E como seria a configuração dele?

Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Elias Palermo disse:

E como seria a configuração dele?

 

Pelo script q eu mandei aí... sahsahuahus

Olha, se não tiver um tile já pronto assim no seu map editor, utilize um editor .dat pra criar um novo item walkable. E aí, utilizando um .spr editor, vc coloca a(s) sprite(s) de tp neste novo item. E aí utilizando um map editor, vc adiciona uma action id qualquer, q ñ esteja sendo usado por mais nenhum item, a ele.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...