Ir para conteúdo
  • 0

NPC que muda de outfit


SamueLGuedes

Pergunta

Bem meu pedido eo seguinte, eu pensei em um npc que fique mudando de Outfit, ele so servira de amostra, igual a da PxG, aqueles addons que fica no Trade Center, pelo oque eu sei eles sao NPCS, que nao fazem nada mas ficam mudando de LookType. e +- isso.

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Tipo eles nao fazem nada, nao pode dar HI nem nada, a unica coisa que eles fazem e eles ficarem mudando de outfit. os NPCS ficam mudando nao os Players. e so pra exposição.

@edit

 

 

nada?

Achei interessante também, estarei acompnhando o topico :] Bom pedido Bolz : ]

Link para o comentário
Compartilhar em outros sites

  • 0

Muhaha O Povo Fala Gostei do Pedido e Não Ajuda Shsuhsuahs

Bolz e o Sequinte Para Isso Teria Que Mudar o Scripter de Algum Npc e Mudar o Nome ou Criar um Novo Mais isso e mais Complicado.

 

A Script Eu Tinha To Procurando Aqui Qualquer Coisa eu Posto.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, depois de um tempo querendo fazer, pensei num jeito e acho que deu certo:

 

 

local outfits = {
	{lookType = 328, lookAddons = 0, lookHead = 20, lookLegs = 40, lookFeet = 50, lookBody = 30},
	{lookType = 153, lookHead = 0, lookBody = 76, lookLegs = 96, lookFeet = 114, lookAddons = 3},
}

local time = 5 -- segundos
	
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end

local function swapOutfits(cid)
	doCreatureSay(cid, "Ooops I'm changing.", 1)
	local stg = getGlobalStorageValue(89019)
	local next_outfit = {}
	if stg == -1 then
		next_outfit = outfits[1]
		setGlobalStorageValue(89019, 2)
	elseif stg > #outfits then
		next_outfit = outfits[1]
		setGlobalStorageValue(89019, 2)
	elseif outfits[stg] then
		next_outfit = outfits[stg]
		setGlobalStorageValue(89019, stg + 1)
	else
		local rand = math.random(#outfits)
		next_outfit = outfits[rand]
		setGlobalStorageValue(89019, rand + 1)
	end
	doCreatureChangeOutfit(cid, next_outfit)
	addEvent(swapOutfits, time * 1000, cid)
	return true
end

function onThink()
	if getGlobalStorageValue(89019) == -1 then
		swapOutfits(getNpcCid())
	end
	return true
end	

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

 

Salve como npcs/scripts/outfitmodel.lua. Edite o tempo entre as mudanças e as roupas que ele vai usar lá em cima. Basta seguir o padrão.

 

Pode usar esse xml (salve na pasta npcs como outfitmodel.lua)

<?xml version="1.0" encoding="UTF-8"?> 
<npc name="Outfit Model" script="data/npc/scripts/outfitmodel.lua" walkinterval="1000" floorchange="0"> 
    <health now="100" max="100"/> 
    <look type="153" head="0" body="76" legs="96" feet="114" addons="3"/> 
    <parameters> 
        <parameter key="message_greet" value="Do you like my outfits?" />
	<parameter key="message_farewell" value="See ya!" />
	<parameter key="message_walkaway" value="Bye bye!"/>
    </parameters> 
</npc> 

Também vai precisar desse globalevent: salve como outfitmodelreset.lua em globalevents/scripts:

function onStartup()
	setGlobalStorageValue(89019, -1)
	return true
end

E a tag em globalevents.xml:

<globalevent name="outfit reset" type="start" event="script" value="outfitmodelreset.lua"/>
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...