Change Your Color!

Roksas
Por Roksas
em Actions e Talkactions

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Change Your Outfit Color!

 

Como anda pessoal? Tudo bão? Hoje venho trazer-lhes um comando que inventei, oque ele faz?

 

Você pode mudar a cor da sua roupa sem mudar o outfit, apenas falando um simples comando

 

!color cor

 

No lugar de cor você coloca o número da cor, bem legal né? Vamos á instalação...

 

Vá em data/talkactions/scripts, copie algum arquivo da pasta e cole, renomeie para change_color.lua e adicione dentro:

 

 

 

function onSay(cid, words, param)

local t = string.explode(param, " ")
local out = {
lookType = getCreatureOutfit(cid).lookType,
lookHead = t[1],
lookLegs = t[1],
lookFeet = t[1],
lookBody = t[1],
}

if not t[1] then
doPlayerSendTextMessage(cid, 20, "Insert a color in command!")
return true
end

if tonumber(t[1]) > 900 then return doPlayerSendTextMessage(cid, 20, "Colors limit is 900.") end

doSetCreatureOutfit(cid, out, -1)
doSendAnimatedText(getCreaturePosition(cid), "COLOR!", math.random(1, 255))
return true
end

 

 

 

Muito bem, agora siga para data/talkactions, abra com o bloco de notas o arquivo talkactions.xml e adicione essa tag:

 

<talkaction log="yes" words="!color;/color" event="script" value="change_color.lua"/>

 

É isso pessoal, sistema instalado! É bem simples, mas acho que pode ser útil em servers de War, ou um passa-tempo em qualquer servidor ^^

 

Thanks for see!


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

elrico

hm.. sei lá
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/04/13Posts: 49

Vai ser util sim REP +

Mapper: 100%

Spriter: 100%

Scripter: 50%

Client Maker: 10%

 

 

 

 

 

REP +

Kyou

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/04/13Posts: 11

Olá.

 

Explique, por gentileza, porque utilizar string.explode, se você só usa um parâmetro em todo o script. E também porque 900 cores se só existem 132.

 

Abraços.

One shot, One kill

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Favor me explicar então como você declararia o parâmetro na table e no restante?


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

Kyou

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/04/13Posts: 11

A função string.explode cria uma tabela, de uma string, onde os elementos são partes da string separados pelo segundo parâmetro da função.

 

Ou seja, se tivéssemos a string:

 

local tmp = "Roksas é bastante leigo"

 

E usássemos a string.explode do jeito que você usou.

 

local t = string.explode(tmp, " ")

 

Teríamos isso:

 

local t = {"Roksas", "é", "bastante", "leigo"}

 

Se você só utiliza um primeiro elemento da tabela, porque, diabos, gerou ela? Não era mais fácil simplesmente chamar param nas funções?

 

function onSay(cid, words, param, channel)
	if not param then
			doPlayerSendTextMessage(cid, 20, "You need to insert at least one color number.")
			return true
	end

	param = tonumber(param)
			param = math.min(param, 132)

	local outfit = getCreatureOutfit(cid)
	outfit.lookHead = param
	outfit.lookBody = param
	outfit.lookLegs = param
	outfit.lookFeet = param

	return doSetCreatureOutfit(cid, outfit, -1)
end

 

Segue abaixo um script que explora string.explode de fato

 

function onSay(cid, words, param, channel)
       if not param then
               doPlayerSendTextMessage(cid, 20, "You need to insert the desired color.")
               return true
       end

       param = tonumber(param)

       local outfit = getCreatureOutfit(cid)
       outfit.lookHead = math.min(param, 132)
       outfit.lookBody = math.min(param, 132)
       outfit.lookLegs = math.min(param, 132)
       outfit.lookFeet = math.min(param, 132)

       return doSetCreatureOutfit(cid, outfit, -1)
end

One shot, One kill

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Sim, eu pensei em fazer desta meneira, se der uma olhada no Meu Conteúdo, verá que minhas Talkactions estão sempre assim, acabei acustumando, mas obrigado pela dica :)


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

Alexclusive

Um bom Veterano...
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/12Posts: 2399Gênero: MasculinoChar no Tibia: Nuncative

Sempre criando em Roksas! Parabéns!

 

CURTA O FACEBOOK DO Ekz.

graphic_design.png  Seja um incentivador de pessoas. O mundo já tem críticos demais.  hardware_19.png