Ir para conteúdo

magera

Posts Recomendados

Peço a todos os scripters do xtibia que participe deste desafio.

 

Estava hoje pela manhã pensando e me veio uma certa ideia:

 

-Ao usar um certo addon full o player recebe atributos Ex:Mana + 100 Magiclevel + 2 e tal porém isso já existe

Então pensei assim.

-Humm bem que podia requerer uma certa vocação para usar o addon e ganhar atributos:

 

Ex:

Mage Addon (pode ser usado por Sorcerer e Druid = voc-id 5 e voc-id 6 Mana + 100 Magiclevel =2)
Knight Addon (pode ser usado apenas por Knight = voc-id 8 Sword +3 Axe +3 Club +3)

 

Participe deste desafio:

Adquira mais conhecimento ajudando o seu semelhante

 

 

Quem ajudar ganha meu: REP +

De todos que utilizar: REP +

De todos que gostar: REP +

Link para o comentário
Compartilhar em outros sites

Olá, tudo bem?

- Então man, foi foda *assumo* adaptar esse script, espero que seja o que você está procurando.

 

Eu fiz o seguinte:

- Apenas sorcerers podem usar á outfit "Mage" que obtem: 100 de mana e 3 de ML (Magic Level)

- Apenas druids podem usar á outfit de mesmo nome, que obtem: 100 de mana e 3 de ML (Magic level)

- Apenas knights podem usar á outfit de mesmo nome, que obtem: 3 de Sword, 3 de Axe, e 3 de Club.

- Paladinos eu não modifiquei nada, apenas segui a orientação descrita por você.

 

Bom, então vamos ao assunto:

 

PARTE 1

 

Primeiramente entre na pasta "\data\creaturescripts\scripts" e crie um arquivo chamado "vocation_outfit.lua"

Dentro do arquivo coloque isso:

--[[ By Sylar & Vodkart ]]--
local config={
{outfit={138,130},voc={1,5},storage=40850}, -- sorcerer
{outfit={148,144},voc={2,6},storage=40851}, -- druids
{outfit={},voc={3,7},storage=40852}, -- paladinos
{outfit={139,131},voc={4,8},storage=40853}  -- knight
}

function onLogin(cid)

for a =1,#config do
if isInArray(config[a].voc, getPlayerVocation(cid)) and getPlayerStorageValue(cid, config[a].storage) == -1 then
setPlayerStorageValue(cid, config[a].storage, 1)
for i = 1, #config[a].outfit do
doPlayerAddOutfit(cid, config[a].outfit[i], 3)  
end  
break
end
end
return TRUE
end

 

Entenda o código:

 

Essa parte do código, trata-se da storage do Sorcerer por exemplo.

storage=40850}, -- sorcerer

 

Essa outra parte do código, possui o número '3' depois da palavra 'outfit,' isso indica que será usada as três addons, se você não quer usar as três addons, troque este valor por '0'.

doPlayerAddOutfit(cid, config[a].outfit[i], 3)  

 

Continuando:

Logo após inserir todo o código no arquivo "vocation_outfit.lua" insira essa tag abaixo, no arquivo "creaturescripts.xml" que encontra-se na pasta de mesmo nome.

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

 

PARTE 2:

 

Agora entre na pasta "\data\XML", Atenção! faça backup/cópia do arquivo "outfits.xml" antes de realizar o procedimento á seguir.

 

- baixe o arquivo "outfits.xml" que está anexado no final do tutorial e substitua pelo outros.

por algum motivo, não consegui colocar o script em code, então decidi anexa-lo.

 

Prontinho, agora execute o servidor e teste, qualquer dúvida post aqui no fórum lembrando que criei, e adaptei todos os scripts, sem intervenção de terceiro, exceto a base simples de storage feita por Vodkart.

 

Espero que te ajude, até mais.

outfits.xml

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

Muito obrigado sylar07 você irá ajudar muita gente com isso.O desafio foi concluído e como prometido já dei REP +

Peço a todos que visualizar este tópico e achar interessante da REP + por maluko ae que dispôs de seu tempo a ajudar-nos.

 

De todos que utilizar: REP +

De todos que gostar: REP +

 

Você já ajudou bastante,mas eu estou com dificuldade no storage,então eu editei os atributos de todos os outfit e preciso que você monte o script com todos.

 

Desta vês que você use as vocations ID= (9 ,10 ,11 ,12) em que eu uso para players VIP porém não limitar a vocação, dei char aberto para qualquer dessas voc poder usar.

 

Aqui está meu outifit.xml

 

<?xml version="1.0"?>
<outfits>
   <outfit id="1">
       <list gender="0" lookType="136" name="Citizen">
       <attribute speed="5"/>
       <stats maxHealth="100"/>
           </list>
       <list gender="1" lookType="128" name="Citizen">
       <attribute speed="5"/>
       <stats maxHealth="100"/>
           </list>
   </outfit>

   <outfit id="2">
       <list gender="0" lookType="137" name="Hunter">
       <skills dist="3"/>
       </list>
       <list gender="1" lookType="129" name="Hunter">
       <skills dist="3"/>
       </list>
   </outfit>

   <outfit id="3">
       <list gender="0" lookType="138" name="Mage">
       <stats magLevel="2"/>
       <stats maxMana="200"/>
       </list>
       <list gender="1" lookType="130" name="Mage">
       <stats magLevel="2"/>
       <stats maxMana="200"/>
       </list>
   </outfit>

   <outfit id="4">
       <list gender="0" lookType="139" name="Knight">
       <skills sword="3"/>
       </list>
       <list gender="1" lookType="131" name="Knight">
       <skills sword="3"/>
       </list>
   </outfit>

   <outfit id="5" premium="no"> 
       <list gender="0" lookType="140" name="Noblewoman">
       <skills club="3"/>
       </list>
       <list gender="1" lookType="132" name="Nobleman">
       <skills club="3"/>
       </list>
   </outfit>

   <outfit id="6" premium="no">
       <list gender="0" lookType="141" name="Summoner">
       <stats magLevel="2"/>
       <stats maxMana="100"/>
       </list>
       <list gender="1" lookType="133" name="Summoner">
       <stats magLevel="2"/>
       <stats maxMana="100"/>
       </list>
   </outfit>

   <outfit id="7" premium="no">
       <list gender="0" lookType="142" name="Warrior">
       <skills sword="3"/>
       </list>
       <list gender="1" lookType="134" name="Warrior">
       <skills sword="3"/>
       </list>
   </outfit>

   <outfit id="8" premium="no">
       <list gender="0" lookType="147" name="Barbarian">
       <skills axe="3"/>
       </list>
       <list gender="1" lookType="143" name="Barbarian">
       <skills axe="3"/>
       </list>
   </outfit>

   <outfit id="9" premium="no">
       <list gender="0" lookType="148" name="Druid">
       <stats magLevel="2"/>
       </list>
       <list gender="1" lookType="144" name="Druid">
       <stats magLevel="2"/>
       </list>
   </outfit>

   <outfit id="10" premium="no">
       <list gender="0" lookType="149" name="Wizard">
       <stats magLevel="1"/>
       <stats maxMana="100"/>
       </list>
       <list gender="1" lookType="145" name="Wizard">
       <stats magLevel="1"/>
       <stats maxMana="100"/>
       </list>
   </outfit>

   <outfit id="11" premium="no">
       <list gender="0" lookType="150" name="Oriental">
       <attribute speed="5"/>
       <stats maxHealth="200"/>
       <stats maxMana="200"/>
           </list>
       <list gender="1" lookType="146" name="Oriental">
       <attribute speed="5"/>
       <stats maxHealth="200"/>
       <stats maxMana="200"/>
           </list>
   </outfit>

   <outfit id="12" premium="no">
       <list gender="0" lookType="155" name="Pirate">
       <stats maxHealth="100"/>
       <skills club="3"/>
       </list>
       <list gender="1" lookType="151" name="Pirate">
       <stats maxHealth="100"/>
       <skills club="3"/>
       </list>
   </outfit>

   <outfit id="13" premium="no">
       <list gender="0" lookType="156" name="Assassin">
       <attribute speed="5"/>
       <skills dist="2"/>
           </list>
       <list gender="1" lookType="152" name="Assassin">
       <attribute speed="5"/>
       <skills dist="2"/>
           </list>
   </outfit>

   <outfit id="14" premium="no">
       <list gender="0" lookType="157" name="Beggar">
       <stats maxHealth="200"/>
       </list>
       <list gender="1" lookType="153" name="Beggar">
       <stats maxHealth="200"/>
       </list>
   </outfit>

   <outfit id="15" premium="no">
       <list gender="0" lookType="158" name="Shaman">
       <stats magLevel="2"/>
       </list>
       <list gender="1" lookType="154" name="Shaman">
       <stats magLevel="2"/>
       </list>
   </outfit>

   <outfit id="16" premium="no">
       <list gender="0" lookType="252" name="Norsewoman">
       <skills shielding="2"/>
       <stats maxHealth="200"/>
       </list>
       <list gender="1" lookType="251" name="Norseman">
       <skills shielding="2"/>
       <stats maxHealth="200"/>
       </list>
   </outfit>

   <outfit id="17" premium="no">
       <list gender="0" lookType="269" name="Nightmare">
       <skills shielding="3"/>
       </list>
       <list gender="1" lookType="268" name="Nightmare">
       <skills shielding="3"/>
       </list>
   </outfit>

   <outfit id="18" premium="no">
       <list gender="0" lookType="270" name="Jester">
       <stats maxMana="100"/>
       <attribute speed="5"/>
       <stats maxHealth="100"/>
       </list>
       <list gender="1" lookType="273" name="Jester">
       <stats maxMana="100"/>
       <attribute speed="5"/>
       <stats maxHealth="100"/>
       </list>
   </outfit>

   <outfit id="19" premium="no">
       <list gender="0" lookType="279" name="Brotherhood">
       <reflect percentAll="20"/>
       <stats magLevel="2"/>
       <stats maxHealth="100"/>
       </list>
       <list gender="1" lookType="278" name="Brotherhood">
       <stats magLevel="2"/>
       <stats maxHealth="100"/>
       </list>
   </outfit>

   <outfit id="20" premium="no">
       <list gender="0" lookType="288" name="Demonhunter">
       <attribute speed="10"/>
       <stats maxHealth="200"/>
       </list>
       <list gender="1" lookType="289" name="Demonhunter">
       <attribute speed="10"/>
       <stats maxHealth="200"/>
       </list>
   </outfit>

   <outfit id="21" premium="no">
       <list gender="0" lookType="324" name="Yalaharian">
       <attribute speed="5"/>
       <stats magLevel="2"/>
       </list>
       <list gender="1" lookType="325" name="Yalaharian">
       <attribute speed="5"/>
       <stats magLevel="2"/>
       </list>
   </outfit>

   <outfit id="22" premium="no">
       <list gender="0" lookType="336" name="Warmaster">
       <stats maxMana="100"/>
       <attribute speed="15"/>
       <stats maxHealth="100"/>
       <stats magLevel="2"/>
       </list>
       <list gender="1" lookType="335" name="Warmaster">
       <stats maxMana="100"/>
       <attribute speed="15"/>
       <stats maxHealth="100"/>
       <stats magLevel="2"/>
       </list>
   </outfit>

   <outfit id="23" premium="no">
   <list gender="0" lookType="366" name="Wayfarer"/>
   <list gender="1" lookType="367" name="Wayfarer"/>
   </outfit>

   <outfit id="24" premium="no">
       <list gender="0" lookType="329" name="Wedding"/>
       <list gender="1" lookType="328" name="Wedding"/>
   </outfit>

   <outfit id="34" access="3" premium="yes">
       <list gender="0-3" lookType="75" name="Gamemaster"/>
   </outfit>

   <outfit id="35" access="4" premium="no">
       <list gender="0-3" lookType="266" name="Community Manager"/>
   </outfit>

   <outfit id="36" access="5" premium="yes">
       <list gender="0-3" lookType="302" name="God"/>
   </outfit>
</outfits>

Link para o comentário
Compartilhar em outros sites

Olá, Fico feliz por te-lo ajudado.

 

- Também montei o script conforme você pediu, deixei que apenas as vocações (9 ,10 ,11 ,12) podem usar as outfits 'especiais'

que você editou.

 

- Para inserir o novo script, faça o seguinte:

 

Acesse a pasta "\data\creaturescripts\scripts" abra o arquivo "vocation_outfit.lua" e coloque isso:

 

--[[ By Sylar & Vodkart ]]--
local config={
{outfit={136,128,137,129,138,130,139,131,140,132,141,133,142,134,147,143,148,144,149,145,150,146,155,151,156,152,157,153,158,154,252,251,269,268,270,273,279,278,288,289,324,325,336,335,329,328,366,367},voc={9},storage=40850}, -- VIP sorcerer
{outfit={136,128,137,129,138,130,139,131,140,132,141,133,142,134,147,143,148,144,149,145,150,146,155,151,156,152,157,153,158,154,252,251,269,268,270,273,279,278,288,289,324,325,336,335,329,328,366,367},voc={10},storage=40851}, -- VIP druids
{outfit={136,128,137,129,138,130,139,131,140,132,141,133,142,134,147,143,148,144,149,145,150,146,155,151,156,152,157,153,158,154,252,251,269,268,270,273,279,278,288,289,324,325,336,335,329,328,366,367},voc={11},storage=40852}, -- VIP paladin
{outfit={136,128,137,129,138,130,139,131,140,132,141,133,142,134,147,143,148,144,149,145,150,146,155,151,156,152,157,153,158,154,252,251,269,268,270,273,279,278,288,289,324,325,336,335,329,328,366,367},voc={12},storage=40853}  -- VIP knight
}

function onLogin(cid)

for a =1,#config do
if isInArray(config[a].voc, getPlayerVocation(cid)) and getPlayerStorageValue(cid, config[a].storage) == -1 then
setPlayerStorageValue(cid, config[a].storage, 1)
for i = 1, #config[a].outfit do
doPlayerAddOutfit(cid, config[a].outfit[i], 3)  
end  
break
end
end
return TRUE
end

vocation_outfit.zip

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

Pra que eu use apenas um storage no outfit.xml poderia ser?

 

 

 

--[[ By Sylar & Vodkart ]]--
local config={
{outfit={136,128,137,129,138,130,139,131,140,132,141,133,142,134,147,143,148,144,149,145,150,146,155,151,156,152,157,153,158,154,252,251,269,268,270,273,279,278,288,289,324,325,336,335,329,328,366,367},voc={9, 10, 11, 12},storage=40850}, -- VIP Vocations
}

function onLogin(cid)

for a =1,#config do
if isInArray(config[a].voc, getPlayerVocation(cid)) and getPlayerStorageValue(cid, config[a].storage) == -1 then
setPlayerStorageValue(cid, config[a].storage, 1)
for i = 1, #config[a].outfit do
doPlayerAddOutfit(cid, config[a].outfit[i], 3)  
end  
break
end
end
return TRUE
end

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

Pra que eu use apenas um storage no outfit.xml poderia ser?

 

 

 

--[[ By Sylar & Vodkart ]]--
local config={
{outfit={136,128,137,129,138,130,139,131,140,132,141,133,142,134,147,143,148,144,149,145,150,146,155,151,156,152,157,153,158,154,252,251,269,268,270,273,279,278,288,289,324,325,336,335,329,328,366,367},voc={9, 10, 11, 12},storage=40850}, -- VIP Vocations
}

function onLogin(cid)

for a =1,#config do
if isInArray(config[a].voc, getPlayerVocation(cid)) and getPlayerStorageValue(cid, config[a].storage) == -1 then
setPlayerStorageValue(cid, config[a].storage, 1)
for i = 1, #config[a].outfit do
doPlayerAddOutfit(cid, config[a].outfit[i], 3)  
end  
break
end
end
return TRUE
end

 

- Sim, também funciona.

 

- Porém futuramente se você decidir destinguir qual 'outfit' tal 'Vocação' vai usar,

esse método não irá funcionar, mas apenas para as quatro vocações, dá certo sim.

 

Tive que testar, re-testar e esqueci de simplificar as storage mdr.gif

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

×
×
  • Criar Novo...