Ir para conteúdo

Trocar Outifit Da Guild (!guildoutifit)


1579091

Posts Recomendados

Função: Troca o outifit de todos os membros da guild (comando !guildoutifit)

Créditos: GuizitoG

 

Crie um arquivo em data/talkactions chamado guildoutifit.lua

Nele, coloque isso:

 

local config = {

exhaustionInSeconds = 30,

storage = 34534

}

 

function onSay(cid, words, param)

if(exhaustion.check(cid, config.storage) == TRUE) then

doPlayerSendCancel(cid, "Voce pode trocar o outifit a cada " .. config.exhaustionInSeconds .. " segundos.")

return TRUE

end

 

local playerGuild = getPlayerGuildId(cid)

if(playerGuild == FALSE) then

doPlayerSendCancel(cid, "Desculpe, voce nao tem guild.")

return TRUE

end

 

local playerGuildLevel = getPlayerGuildLevel(cid)

if(playerGuildLevel < GUILDLEVEL_LEADER) then

doPlayerSendCancel(cid, "Voce precisa ser lider da guild pra fazer a troca de outifit.")

return TRUE

end

 

local players = getPlayersOnline()

local outfit = getCreatureOutfit(cid)

local message = "Seu outifit foi trocado. O mesmo se deu para todos os membros da guild. (Trocado pelo jogador: " .. getCreatureName(cid) .. ")"

local members = 0

local tmp = {}

for i, tid in ipairs(players) do

if(getPlayerGuildId(tid) == playerGuild and cid ~= tid) then

tmp = outfit

if(canPlayerWearOutfit(tid, outfit.lookType, outfit.lookAddons) ~= TRUE) then

local tidOutfit = getCreatureOutfit(tid)

tmp.lookType = tidOutfit.lookType

tmp.lookAddons = tidOutfit.lookAddons

end

 

doSendMagicEffect(getCreaturePosition(tid), 66)

doCreatureChangeOutfit(tid, tmp)

doPlayerSendTextMessage(tid, MESSAGE_INFO_DESCR, message)

members = members + 1

end

end

 

exhaustion.set(cid, config.storage, config.exhaustionInSeconds)

doPlayerSendCancel(cid, "Voce trocou o outifit dos membros onlines da guild. (Total: " .. members .. " membros foram trocados.)")

return TRUE

end

 

As tags em vermelho, são os dialogos que serao efetuados no jogo!

O numero 30 logo no começo do script, é o delay de quanto em quanto tempo player podera alterar o outifit da guild (em segundos)

 

Agora em data/talkactions/talkactions.xml coloque a seguinte tag:

 

<talkaction words="!guildoutifit" event="script" value="guildoutfit.lua"/>

 

*!guildoutifit* Essa é a tag que voce usa no jogo, pode ser alterada também (ex.: /guildchange; !outifit. etc...)

 

Esta quase no fim, agora va em: Data/lib/ e abra o arquivo "200-data.lua" também pode ser só "data.lua" (caso não exista o arquivo, você também pode cria-lo.)

 

Abra o data.lua e dentro coloque a seguinte tag: dofile(getDataDir() .. "lib/exhaustion.lua")

Pronto, agora é só reabrir seu server e ja estara funcionando.

 

Ps.: O script só vai trocar a cor dos outifits e não a roupa toda.

Editado por GuizitoG
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...