15
pedido

Change Outifit (Sem Mudar A Cor)

Por 1579091, 12 de set. de 2012 em Scripts

script
8
1.1k
15790911
12 de setembro de 2012 às 12:38

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...

NewtonnotwenN
12 de setembro de 2012 às 12:46

Aquele meu script ele muda a cor só quando fica em cima do tile, quando sai volta a cor normal.

15790911
12 de setembro de 2012 às 13:00

Mas tem que adicionar as uniques de tile out... Bom, caso ninguem consiga responder, até la vou usar seu script!

NewtonnotwenN
12 de setembro de 2012 às 13:04

Não, apenas siga o tutorial.

 

http://www.xtibia.com/forum/topic/191692-change-outfit-especial/

 

No tile do RME só adiciona isso:

 

Só este actionid: 1233

brun123B
12 de setembro de 2012 às 13:37

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 Setembro 12 por brun123

LeoxtibiaL
12 de setembro de 2012 às 13:55

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.

caoticC
16 de setembro de 2012 às 21:54

Tópico Movido a Pedidos e Duvidas Resolvidas

Editado Setembro 16 por caotic

15790911
16 de setembro de 2012 às 23:25

Leoxtibia, perfect, n testei ainda, mas você entendeu a ideia da coisa... qlqr coisa se funfa rep+