Item Que Avança Skill

Addict
Por Addict
em Actions e Talkactions

Addict

Ex-Diretor de Equipe
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 12/10/05Posts: 568Gênero: MasculinoChar no Tibia: Homao Dapoha

Essa Action funciona da seguinte forma, você ao clicar na pedra ou papel ou qualquer coisa que você quiser, imediatamente você irá ganhar 1 Shield Up.

Ou seja, você irá avançar 1 de Shield ou de Distance ou qualquer Skill que você quiser, chega de enrolar e vamos ao que interessa:

 

Primeiro de tudo abra a pasta actions e depois o arquivo actions.Xml e adicione a Tag abaixo:

 

 

<action itemid="4869" script="skill_shield.lua" />

 

Logo depois abra a pasta Scripts que fica dentro da pasta actions, copie qualquer

Arquivo renomei para skill_shield.lua e depois adicione o Code abaixo:

 

--Action de skill by Armageddom--

function onUse(cid, item, frompos, item2, topos)

 

if item.itemid == 4869 then

 

rand = math.random(1,1)

 

if rand == 1 then

doPlayerAddSkillTry(cid,5,1000)

doRemoveItem(item.uid,1)

doSendMagicEffect(frompos, 28)

doSendAnimatedText(getPlayerPosition(cid), "Shield Up", TEXTCOLOR_BLUE)

 

end

end

return 1

end

 

Explicando:

 

Na parte vermelha é o id do item que será usado para clikar, mude para

qualquer um que vc quiser.

Na parte azul é o número do id de cada barra de Skill, (0=first, 1=club) e assim vai.

Na parte preta é o efeito que irá fazer ao usar o objeto.

Na parte verde é a mensagem que irá sair junto com o efeito ao usar o objeto.

 

Créditos: Armageddom

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Olá! Modifiquei o script para deixá-lo melhor, esse math.random é desnecessário, portanto tirei ele.

 

Esse math.random ele vai de 1 para 1, ou seja, é totalmente sem nexo e pode gerar leaks...

 

Aqui vai a minha versão do mesmo script:

 

--Action de skill by Armageddom modified by Nostradamus--

-- Configuração---
id_skill = 5
item_skill = 4869
num_skill = 2
-------------------

function onUse(cid, item, frompos, item2, topos)

  if item.itemid == item_skill  then

  doPlayerAddSkillTry(cid,id_skill,num_skill * 1000)
  doRemoveItem(item.uid,1)
  doSendMagicEffect(frompos, 28)
  doSendAnimatedText(getPlayerPosition(cid), "Skill Up", TEXTCOLOR_BLUE)

  end
end

 

Explicando:

 

id_skill -> É a ID do skill (0=first, 1=club, ...)

item_skill -> É o item que você dará USE

num_skill -> São quantos de skill que irá subir

[twitter]ThomazYuji[/twitter]

Addict

Ex-Diretor de Equipe
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 12/10/05Posts: 568Gênero: MasculinoChar no Tibia: Homao Dapoha

Ótimo rapaz :-)

hopugop

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 08/01/06Posts: 154

Ótima dica, Addict, e perfeita adaptação, Nostradamus!!

 

Só uma pergunta:

 

Não seria melhor 'item.itemuid' no lugar de 'item.itemid'?

Eu costumo trabalhar apenas com as UIDs, porque com as IDs normais fica muito generalisado.

Una-se à minha cruzada: Alternativas ao RapidShare!!

Conde Sapo

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/08/07Posts: 322Char no Tibia: Conde Sapo (Secura)
Não seria melhor 'item.itemuid' no lugar de 'item.itemid'?

Eu costumo trabalhar apenas com as UIDs, porque com as IDs normais fica muito generalisado.

item.uid (você se atrapalhou) é ÓTIMO quando o item é FIXO.

(Porta, pedra, parede, etc)

 

 

Mas se o item é ESPECIFICO pra uma única função, a melhor forma é item.itemid

(que é o caso deste tutorial)

 

 

Ps.:

FIRST = primeiro

FIST = soco

-----------------------
-------------------------------


Encontro de Quake na minha Ex-LAN

odeio rapidshare

"Criticas enriquecem o trabalho dos inteligentes.
Os negligentes simplesmente as ignoram." - Conde Sapo

"A melhor recompensa do Mestre ,
é ver o Aluno superar as espectativas." - Conde Sapo



(finalmente me convenceram a fazer a Fan Bar)

Meus trabalhos :
\/------- Clicar

01 - Porta com chave numérica
02 - Efeito de MAR em movimento
03 - Fruta na Árvore (acrescentei arvore)
04 - NPC Messager
05 - Monstros Morrem Mas Nao Somem Do Mapa
06 - Simulando UnderWater
07 - SpellBook (Book 2175)
08 - CommandsSpellBook (Book 6120)
09 - Fixo: Tudo Sobre A Linguagem Lua
10 - Dice (Rolando os dados)
11 - Voodoo Skull (previsão da sorte do dia)
12 - Caça Niqueis
13 - Mapa-spawn.xml (Como funciona)
14 - Pendurando objetos na parede
15 - Santa Doll (Papai Noel)
16 - EuTeAmoVoce [Instant Spell]
17 - doSendAnimatedText (Todas as cores)
18 - NPC Banqueiro
19 - 8 Bichos (Massive Summon)
20 - Transformando Barril Simples em Barril de Mana Fluid
21 - Quebrando Itens Com Arma (Tirando BUG)
22 - Padre Marcelo (Totalmente REFEITO)
23 - Npc De Backpack ( Back Picka )
24 - Npc De Dolls ( Baby Doll )
25 - Fonte Da Juventude (Mana e Life)
26 - NPC que troca itens
27 - Removendo paredes com PAUSA, (efeito visual lindo)
28 - Halloween - Fazendo o PumpkinHead
29 - Halloween - Criando o monstro Halloween Hare
30 - Mapa pra fazer Testes (Sapo.otbm)
31 - Fishing Rod (Qualquer versão)
32 - Jungle Maw (planta que morde)
33 - Npc Stan (fantasias de Carnaval)
Clicar -------/\

bruxo

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/12/05Posts: 45

O melhor seria item.itemAID, ou item.itemactionid não lembro agora como que é, pq dae pode ser item de quest isso, ou que o GM dar para o player, etc...

 

E não torna o item escolhido "inutilizável" para outras coisas.

~~Mundo de Mirage, online

Para mais informações: www.mundodemirage.com

alexmatheus12

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/09/08Posts: 13

Eu fico com ado Addict.. essa funfo melhor ake :D

helinholima

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 15/02/09Posts: 203Char no Tibia: Dom Diego De La Vega

AlexanderMatheus, só reviva tópico se tiver alguma dúvida sobre o mesmo, caso contrário é considerado flood.

Desta vez passa, se acontecer novamente você será punido.

dorgasmanolo.gif

 

 

 

 

 

 

 

 

 

Moderador Xtibia.com

Helio@xtibia.com

gabrielamorim

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/07/11Posts: 28Char no Tibia: Gara Davin

tem como coloca para aumenta todos os skill

eduardo190696

Força de vontade ensina até os mortos
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 474

bom percebi que ele n da 1 skill inteiro e sim só alguns porcentos

 

sim gabrielnardi

 

--Action de skill by Armageddom modified by Nostradamus And Eduardobean --

-- Configuração---
id_skill = 0
id_skill1 = 1
id_skill2 = 2
id_skill3 = 3
id_skill4 = 4
id_skill5 = 5
id_skill6 = 6
item_skill = 4869
-------------------

function onUse(cid, item, frompos, item2, topos)

  if item.itemid == item_skill  then

         doPlayerAddSkillTry(cid,id_skill,2 * 1000)
         doPlayerAddSkillTry(cid,id_skill1,2 * 1000)
         doPlayerAddSkillTry(cid,id_skill2,2 * 1000)
         doPlayerAddSkillTry(cid,id_skill3,2 * 1000)
         doPlayerAddSkillTry(cid,id_skill4,2 * 1000)
         doPlayerAddSkillTry(cid,id_skill5,2 * 1000)
         doPlayerAddSkillTry(cid,id_skill6,2* 1000)
         doRemoveItem(item.uid,1)
         doSendMagicEffect(frompos, 28)
         doSendAnimatedText(getPlayerPosition(cid), "Skill Up", TEXTCOLOR_BLUE)

  end
end

 

cortei o num_skill = 2 pois era uma coisa desnecessária

mayerkf

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/08/10Posts: 2

Oi, algum de vcs sabe usar o :

doPlayerAddSkillTry(cid,X,Y)

de modo que almente 1 ponto inteiro de skill

pq o max q consegui foi almentar alguma porcentagem, ou almentar 3,6 pontos... eu preciso q seja exato, que nem acontece na funçao /addskill dos adm , uso OT 8.6 Alissow Server 4.11

eduardo190696

Força de vontade ensina até os mortos
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 474

Agora sim ele da um skill inteiro

Script Editado Por mim

 

function onUse(cid, item, frompos, item2, topos)

  if item.itemid == item.itemid then

         doPlayerAddSkillTry(cid,0,doPlayerAddSkill(cid, 0))
         doPlayerAddSkillTry(cid,1,doPlayerAddSkill(cid, 1))
         doPlayerAddSkillTry(cid,2,doPlayerAddSkill(cid, 2))
         doPlayerAddSkillTry(cid,3,doPlayerAddSkill(cid, 3))
         doPlayerAddSkillTry(cid,4,doPlayerAddSkill(cid, 4))
         doPlayerAddSkillTry(cid,5,doPlayerAddSkill(cid, 5))
         doPlayerAddSkillTry(cid,6,doPlayerAddSkill(cid, 6))
         doRemoveItem(item.uid,1)
         doSendMagicEffect(frompos, 28)
         doSendAnimatedText(getPlayerPosition(cid), "Skill Up", TEXTCOLOR_BLUE)
  end
end

 

Creditos ao dono do Tópico e a mim por arrumar o script