Ir para conteúdo
  • 0

Change Outifit (Sem Mudar A Cor)


1579091

Pergunta

Bom, gostaria de um script, em que quando o player pisasse no tile, o outifit dele se tornasse tal (configuravel), mas gostaria q n mudasse a cor do outifit, gostaria q continuasse com a mesma cor da ropinha q ele entro. E que quando ele saisse do tile, ele voltasse ao seu outifit normal. E se puder adicionar tipo uns 10 tiles em um script só (sem precisar criar varios scripts, ia se bom.

 

E se puder tipo ganhar o tile ao subir e tipo qndo sair na hora voltar ao outifit normal, mas que não precisasse adicionar nada no rme, no tiles (tipo tileout) gostaria q ao sair ele ja perdesse o outifit nem que o tile da volta n tenha nenhuma action/unique...

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Script:

 

local newOutfit = 127 -- apenas looktype

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)

if isPlayer(cid) then
	local outfit = getCreatureOutfit(cid)
	outfit.lookType = newOutfit
	doSetCreatureOutfit(cid, outfit, -1)
end
return true
end

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)

if isPlayer(cid) and getCreatureCondition(cid, CONDITION_OUTFIT) then
	doRemoveCondition(cid, CONDITION_OUTFIT)
end

return true
end

 

O melhor jeito a se fazer isso é usando action id cara, ai coloca essas tag no movements.xml:

 

<movevent type="StepIn" actionid="XXXx" event="script" value="script.lua"/>
<movevent type="StepOut" actionid="XXXX" event="script" value="script.lua"/>

 

Unique id é chato porque não pode repetir unique id, mas action id pode, aí você muda a tag ali e coloca o nome certinho da script e uma action id, aí só configurar os tiles no map editor com action id.

 

Se não quiser actionid/uniqueid, o único jeito de fazer é por itemid, e aí teria que fazer checagem de posição no script pra que não acontecer de um tile que não tem nada a ver com a script, mas com o mesmo id executar as ações

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

  • 0

Mas brun123, caso ele queira fazer muitos, não precisa adicionar vários arquivos, é só fazer assim:

 

local t = {
[3500] = {looktype=127},
[3501] = {looktype=128},
[3502] = {looktype=129}
}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)

    if isPlayer(cid) then
		    local outfit = getCreatureOutfit(cid)
		    outfit.lookType = t[item.actionid].looktype
		    doSetCreatureOutfit(cid, outfit, -1)
    end
return true
end

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)

    if isPlayer(cid) and getCreatureCondition(cid, CONDITION_OUTFIT) then
		    doRemoveCondition(cid, CONDITION_OUTFIT)
    end

return true
end

 

É só editar aqui:

 

local t = {

[ACTION_ID_DO_PISO] = {looktype=LOOKTYPE_DO_OUTFIT},

[3501] = {looktype=128},

[3502] = {looktype=129}

}

 

Na tag, em movements.xml coloque assim:

 

<movevent type="StepIn" fromaid="3500" toaid="3502" event="script" value="NOMEDOSEUARQUIVO.lua"/>

<movevent type="StepOut" fromaid="3500" toaid="3502" event="script" value="NOMEDOSEUARQUIVO.lua"/>

 

Aqui em fromaid (do actionid) você coloca a primeira actionid do script que você pos lá emcima, e toaid (para o actionid) você coloca a última. Simples assim.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...