Ir para conteúdo
  • Cadastre-se

(Resolvido)Outfit por vocação


Ir para solução Resolvido por Cazuza,

Posts Recomendados

Bom dia!

 

 

*Nunca postei aqui no fórum, então me perdoem se eu estiver o fazendo na área errada.

 

 

Meu problema é o seguinte:

Estou precisando de um script que separe os outfits por vocação.

Exemplo:

 

Sorcerer = Mage

Druid = Citizen

Paladin = Archer

Knight = Warrior

 

 

Eu uso o OT "FoxWorld" e também gostaria de saber onde consigo mudar os dados do player criado pelo ACCOUNT MANAGER.

 

 

Desde já agradeço a atenção!

Link para o post
Compartilhar em outros sites

Não testei.

local cfg = {
[1] = 138,
[2] = 136,
[3] = 137,
[4] = 139,
--[VocationID] = OutfitID
}
 
function onThink(cid, interval)
for i = 1, #cfg do
if getPlayerVocation(cid) == i and getCreatureOutfit(cid) ~= cfg then
doCreatureChangeOutfit(cid, cfg)
end
end
end

A tag é essa:

 

<event name="VocationChange" interval="1000" script="others/vocationchange.lua"/>

 

Assim ele iria executar o script a cada segundo, impedindo que os players troquem o outfit denovo.

Caso não funcione use ao invés de onThink(cid, interval) o onLogin(cid). Dai a tag seria essa:

 

<event type="login" name="VocationChange" script="others/vocationchange.lua"/>

 

Edit:

Eu coloquei que se o player não estiver usando a outfit que era da vocation dele então trocar, para não causar lag. Caso não funcione é só tirar a parte "and getCreatureOutfit(cid) ~= cfg" que vai funcionar.

Editado por mateusak (veja o histórico de edições)

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites

Opa, desculpa cara, meu erro mesmo. Em creaturescripts.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites

Muito obrigado, meu amigo!

 

Não estou em casa agora, mas assim que chegar já testarei o script e te digo como ficou!

 

E sobre o OT Fox World Account Manager, você sabe como faço para mudar os dados padrões dos players criados por ele?

 

 

Um abraço!

Editado por Strongalo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Pera ai cara, não ponha no seu server ainda, tava testando e deu um bug loko aqui. Já posto o funcional.

 

Aqui:

local cfg = {
[1] = {male = {lookType = 130, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},
female = {lookType = 138, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},
[2] = {male = {lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},
female = {lookType = 136, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},
[3] = {male = {lookType = 129, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},
female = {lookType = 137, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},
[4] = {male = {lookType = 131, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},
female = {lookType = 139, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},
--[VocationID] = {bla, bla, bla}
}
 
function onLogin(cid)
for i = 1, #cfg do
if getPlayerVocation(cid) == i and getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, cfg.male, -1)
elseif getPlayerVocation(cid) == i and getPlayerSex(cid) == 0 then
doSetCreatureOutfit(cid, cfg.female, -1)
end
end
return true
end

Assim ele setaria o outfit mas a cor seria branca, para mudar isso é só ir mudando o lookHead e tals. Para saber o numero é facil, a tabela de cores se conta assim:

 

0 = branca(a primeira contando na horizontal), 1 = bege(a segunda contando na horizontal), etc.

 

Lembrando que nos testes vi que precisa ser onLogin(cid), mas não se preocupe, não dá para trocar de outfit. Também tem que colocar a outfit do homem e da mulher, senão os homens vão nascer com outfits de mulher ou as mulher com as do homem, eu marquei em negrito onde que é o do homem e o da mulher. O lookAddons é o seguinte: 1 = O primeiro addon, 2 = O segundo addon, 3 = Os dois addons.

Editado por mateusak (veja o histórico de edições)

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites

Muito bom, meu amigo!

Obrigadão!

No almoço eu havia testado rápido e não tinha funcionado.

Chegando em casa testarei este novo script, obrigado!

Boa noite!

Então, mateusak.

Incluí os scripts que você me passou, porém agora o char não está logando mais.

No log do servidor ele aperece apenas "Fulano logged in", "Fulando logged out" logo em seguida.

Sabe o que pode ser?

Segue como ficou o script:

creaturescripts.xml

<spoiler><?xml version="1.0" encoding="UTF-8"?>

<creaturescripts>

<event type="login" name="Conected" script="conected.lua"/>

<event type="login" name="Anti-MC" event="script" value="Anti-MC.lua"/>

<event type="login" name="PlayerLogin" script="login.lua"/>

<event type="login" name="FirstSet" script="firstset.lua"/>

<event type="death" name="onPlayerDeath" script="playerdeath.lua"/>

<event type="death" name="PlayerDeath" script="playerdeath.lua"/>

<event type="joinchannel" name="GuildMotd" script="guildmotd.lua"/>

               <event type="kill" name="boss" script="boss.lua" />

               <event type="kill" name="owned" script="owned.lua"/>

  <event type="login" name="VocationChange" script="vocationchange.lua"/>

</creaturescripts>

</spoiler>

vocationchange.lua

<spoiler>

local cfg = {

[1] = {male = {lookType = 130, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 138, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[2] = {male = {lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 136, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[3] = {male = {lookType = 159, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 159, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[4] = {male = {lookType = 160, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 160, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[5] = {male = {lookType = 130, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 138, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[6] = {male = {lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 136, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[7] = {male = {lookType = 159, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 159, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[8] = {male = {lookType = 160, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 160, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[9] = {male = {lookType = 130, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 138, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[10] = {male = {lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 136, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[11] = {male = {lookType = 159, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 159, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}},

[12] = {male = {lookType = 160, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0},

female = {lookType = 160, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0}}

--[VocationID] = {bla, bla, bla}

}

function onLogin(cid)

for i = 1, #cfg do

if getPlayerVocation(cid) == i and getPlayerSex(cid) == 1 then

doSetCreatureOutfit(cid, cfg.male, -1)

elseif getPlayerVocation(cid) == i and getPlayerSex(cid) == 0 then

doSetCreatureOutfit(cid, cfg.female, -1)

end

end

return true

end

</spoiler>

Editado por Strongalo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Ae Mano , esse script funcionou aqui direitinho , mais o ruim é que aparece a opção pra mudar de outfit , nao da pra mudar a outfit mais gostaria de tirar as outras outfits que não irei usar em cada vocação da opção SET OUTFIT. se puder ajudar , ja tem seu REP + vlw <3

 

 

Strongalo // renomeia o nome da pasta apenas para vocationchange ao invés de vocationchange.lua.

Editado por Jean Junior (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Que pasta?

 

Ele está direto na pasta "scripts", ele encontra o arquivo, e é quando encontra que ele não deixa mais o char logar.

 

Me manda como ficou o seu, fazendo favor.

 

 

Valeu pela ajuda, abraço!

Link para o post
Compartilhar em outros sites

@Strongale Que versão é seu TFS/OT?

@Jean Junior não creio que seja possível atualmente. O que dá para fazer é o seguinte: Excluir o arquivo outfit.xml localizado em Data/XML/outfits.xml. Assim não teria nenhuma opção lá.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites

Não entendo o porquê, no meu funcionou perfeitamente. O que permite ou não o player de logar é o return true(se for false dai não loga). Tente ir trocando ele de lugar dentro do script, vai saber... Só não apague ele, vai ferrar tudo se o fizer, heuheuhue.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites

É, meu amigo... Não funcionou mesmo... Mas muito obrigado pela atenção.

 

 

E sabe onde eu configuro os dados padrões dos players criados pelo Account Manager?

 

Exemplo: Quero que quando o player criar um sorcerer ele venha com a seguinte outfit...

 

Sabe?

 

 

Obrigado!

Link para o post
Compartilhar em outros sites

Ka zuza,

 

Testei o script, e agora quando clico para logar no char, dá um APPCRASH no executável do servidor e fecha.

 

Segue o APPCRASH:

 

 Nome do Evento de Problema: APPCRASH
  Nome do Aplicativo: Slayer Yurots v11 (TFS 0.3.1).exe
  Versão do Aplicativo: 0.3.1.1231
  Carimbo de Data/Hora do Aplicativo: 4991db24
  Nome do Módulo de Falhas: Slayer Yurots v11 (TFS 0.3.1).exe
  Versão do Módulo de Falhas: 0.3.1.1231
  Carimbo de Data/Hora do Módulo de Falhas: 4991db24
  Código de Exceção: c0000005
  Deslocamento de Exceção: 00389126
  Versão do sistema operacional: 6.1.7600.2.0.0.256.1
  Identificação da Localidade: 1046
  Informações Adicionais 1: 0a9e
  Informações Adicionais 2: 0a9e372d3b4ad19135b953a78882e789
  Informações Adicionais 3: 0a9e
  Informações Adicionais 4: 0a9e372d3b4ad19135b953a78882e789
 
Leia nossa declaração de privacidade online:
 
Se a declaração de privacidade online não estiver disponível, leia nossa declaração de privacidade offline:
  C:\Windows\system32\pt-BR\erofflps.txt
 
 
 
 
 
Sabe me indicar um servidor que você tenha para me passar onde o script funciona perfeitamente? De preferência 8.54 para baixo, pois o único DAT editor com o qual me dei bem até hoje foi o Noxitu.
 
 
Muito obrigado e um abraço!
Link para o post
Compartilhar em outros sites

Qualquer OT baseado em TFS(The Forgotten Server) deve funcionar. Tanto o meu script quanto o do Ka Zuza, o que deve estar ocorrendo é que seu servidor usa uma Lib diferente do TFS. Dai é só procurar um TFS a gosto, na versão desejada.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites

http://www.tibiaking.com/forum/topic/41424-creaturescripts-outfit-por-voca%C3%A7%C3%A3o/

 

 

 

ae mano , segue ai um cara que me ajudou com esse script , créditos todo a ele @Ka zuza

 

tomara que te ajude também, aqui funcionou. =D

Editado por Jean Junior (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo