Jump to content
  • 0
Pepeco

Scripting Change outfit onEquip/onDeEquip

Question

Pepeco    4
Pepeco

Base:  TFS 1.2

Qual a sua pergunta?

Quando eu equipo o "Capacete", ele muda normalmente o outfit (se alguem souber algum modo de deixar infinito), mas quando eu tiro o "Capacete" ele não volta para a outfit normal, fiz vários testes e não consegui. (Não manjo do TFS 1.2)

 

 

Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo:

Spoiler

local _config = {
	["Capacete"] = {id = 7901, looktype_J = 101, looktype_R = 101}
}
function onEquip(player, item)
	local condition = Condition(CONDITION_OUTFIT)
	local lookType_J = _config[item:getName()].looktype_J
	local lookType_R = _config[item:getName()].looktype_R
	local playerOutfit = player:getOutfit()

	if player:getVocation():getId() == 3 then
		playerOutfit.lookType = lookType_J
	elseif player:getVocation():getId() == 1 then
		playerOutfit.lookType = lookType_R
	else
		player:sendTextMessage(MESSAGE_STATUS_WARNING, "Ocorreu um erro, contate a Staff. Error: MVOnEquipMOTO.")
		return false
	end

	condition:setTicks(5000 * 5000 * 5000)
	condition:setOutfit(playerOutfit)
	player:addCondition(condition)
	return true
end

function onDeEquip(player)
	local condition = Condition(CONDITION_OUTFIT)
	player:removeCondition(condition)
	return true
end 

 

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 1
Pepeco    4
Pepeco

@Erondino exatamente isso

Mas quando eu tiro essa linha, ele fica com a outfit e sai logo em seguida
 

Spoiler

<movevent event="DeEquip" itemid="7901" slot="head" function="onDeEquipItem" script="motos.lua" />

<movevent event="Equip" itemid="7901" slot="head" function="onEquipItem" script="motos.lua" />

 

Obs: Eu consegui fazer, para quem está com a mesma duvida, irei postar o script. Eu apenas mudei para 

Spoiler

doSetCreatureOutfit(player, playerOutfit, -1)

Script inteiro

Spoiler

local _config = {
    ["Capacete"] = {id = 7901, looktype_J = 101, looktype_R = 101}
}
function onEquip(player, item)
    local lookType_J = _config[item:getName()].looktype_J
    local lookType_R = _config[item:getName()].looktype_R
    local playerOutfit = player:getOutfit()

    if player:getVocation():getId() == 3 then
        playerOutfit.lookType = lookType_J
    elseif player:getVocation():getId() == 1 then
        playerOutfit.lookType = lookType_R
    else
        player:sendTextMessage(MESSAGE_STATUS_WARNING, "Ocorreu um erro, contate a Staff. Error: MVOnEquipMOTO.")
        return false
    end

    doSetCreatureOutfit(player, playerOutfit, -1)
    return true
end

function onDeEquip(player)
    player:removeCondition(CONDITION_OUTFIT)
    return true
end

 

Edited by Pepeco

Share this post


Link to post
Share on other sites
  • 0
Erondino    17
Erondino

1-Para deixar infinito remova essa linha:

condition:setTicks(5000 * 5000 * 5000)

2-Você quer que ao remover o capacete volta para a outfit antiga? Poste a tag desse script no seu movements.xml

Share this post


Link to post
Share on other sites
  • 0
Majesty    1,755
Majesty

O autor do tópico resolveu a questão por conta própria e postou a solução. Este tópico está fechado agora. Se você tiver outras perguntas, crie um novo tópico.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×