Vai ser util sim REP +
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Change Your Color!
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Obrigado, faça bom uso!
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.
Editado Abril 21 por Kyou
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Favor me explicar então como você declararia o parâmetro na table e no restante?
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
Editado Abril 21 por Kyou
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gê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 ![]()
info
Grupo: Herói
Registrado: 25/10/12
Posts: 2.4k
Reputação: +687
Gênero: Masculino
Char no Tibia: Nuncative

Sempre criando em Roksas! Parabéns!




info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino
Change Your Outfit Color!
Como anda pessoal? Tudo bão? Hoje venho trazer-lhes um comando que inventei, oque ele faz?
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 endMuito bem, agora siga para data/talkactions, abra com o bloco de notas o arquivo talkactions.xml e adicione essa tag:
É 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!
Editado Maio 12 por Roksas