Script De Skill Rep ++ !

lefsty
Por lefsty
em Scripts

lefsty

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/02/11Posts: 18Char no Tibia: Latininhoo

Boa tarde Galerinha do xtibia !

venho pedir um script de compra de skill por comando ! Para ot serve 0.4.1 8.60

 

exemplo:

 

!comprar magiclevel

 

!comprar axe

e etc

 

Só que por barras id [9971]

 

 

 

e que seja facil de editar !

 

 

REP ++ PRA QUEM CONSEGUIR !

1579091

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 06/11/11Posts: 1088Char no Tibia: Stroked

tittle-2.png

Olá galerinha (:, hoje irei postar meu primeiro script, na verdade não é nem 100% meu, alguns Scripters me ajudaram, mas o que mais

me ajudou foi O Marcelin (Marcello Mkez), meu professor :). Espero que o script agrade a todos e fiz mesmo para treinar e praticar

e espero publicar muito mais scripts para vocês.

 

Bom essa talkaction possibilita ao player de terminada vocação, com uma certa quantidade de um certo item

adquirir o skill que você determinar e com um limite de compra, si o player uma quantidade máxima

considerada skill full no seu server ele não poderá usar mais. Sem mais explicações vamos ao script:

 

rsrs.png

 

Function: (By Vodkart)

Nota: É importante a instalação da function para que funcione, pois ela permite que o skill seja adicionado sem erros e diretamente na DB.

 

Em data/lib/050-function...

 

Spoiler

 

 

function doPlayerSetSkill(cid, skill, amount)

local pid = getPlayerGUID(cid)

doRemoveCreature(cid,true)

db.executeQuery("UPDATE `player_skills` SET `value` = ".. amount .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. skill ..";")

return TRUE

end

 

function doPlayerSetMagic(cid, amount)

local pid = getPlayerGUID(cid)

doRemoveCreature(cid,true)

db.executeQuery("UPDATE `players` SET `maglevel` = " .. amount .. " WHERE `id` = "..pid)

return TRUE

end

 

divisoria.png

 

Talkactions:

(By, Vodkart Função Principal, Xapinhal Condições, Marcello Mkez Mensagens e Org. do script e DemonBH por um pequeno erro na condição getItem).

 

Em data/talkactions/talkactions.xml ...Adicione:

 

Spoiler

 

 

<talkaction words="!comprar" event="script" value="skill.lua"/>

 

divisoria.png

 

Em data/talkactions/scripts ... Crie um script chamado skill.lua E adicione o seguinte:

 

Spoiler

 

 

function onSay(cid, words, param)

if getPlayerVocation(cid) == IDVOC then

if getPlayerItemCount(cid,IDITEM) >= QNTITEM then

if getPlayerSkill(cid, IDSKILL) <= LIMITESKILL then

doPlayerRemoveItem(cid,IDITEM,QNTITEM)

doPlayerSetSkill(cid, SKILL_NOMESKILL, getPlayerSkillLevel(cid, SKILL_NOMESKILL)+QNTSKILL)

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você tem o skill full.")

return true

end

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você não tem gold ignot suficiente.")

return true

end

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você não é knight.")

return true

end

 

end

 

Configuração: Infelizmente não aprendi variável ainda, então teremos que configurar assim :x.

 

Spoiler

 

IDVOC = Id da vocação que poderá usar o comando, si tiver mais de uma adicione and.

IDITEM = ID do item requerido.

QNTITEM = Quantidade do item requerido

QNTSKILL = Quantidade de skill que irá adicionar

IDSKILL = Id do skill que irá adicionar

LIMITESKILL = Número do máximo de skill que pode comprar. Exemplo: Si 350 de skill axe o player não poderá usar mais o comando.

 

divisoria.png

 

Magic Level: Para comprar ml, você precisa mudar algumas funções então para facilitar:

 

Spoiler

 

 

function onSay(cid, words, param)

if getPlayerVocation(cid) == IDVOC then

if getPlayerItemCount(cid,IDITEM) >= QNTITEM then

if getPlayerMagLevel(cid) <= LIMITESKILL then

doPlayerRemoveItem(cid,IDITEM,QNTITEM)

doPlayerSetMagic(cid, getPlayerMagLevel(cid)+QNTSKILL)

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você tem o magic level full.")

return true

end

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você não tem barras suficiente.")

return true

end

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Somente druid e sorcerer podem comprar esse skill.")

return true

end

 

end

 

 

guiirsrs.png

 

 

Diretório original: http://www.xtibia.co...-comprar-skill/

lefsty

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/02/11Posts: 18Char no Tibia: Latininhoo

ESSE EU JA TESTEI NAUM PEGO LEK ! MUITO OBRIGADO.

lefsty

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/02/11Posts: 18Char no Tibia: Latininhoo

Olhe a script e vc se ta errado !

 

 

 

function onSay(cid, words, param)

if getPlayerVocation(cid) == 2 then

if getPlayerItemCount(cid,9971) >= 20 then

if getPlayerSkill(cid, 3) <= 200 then

doPlayerRemoveItem(cid,9971,20)

doPlayerSetSkill(cid, SKILL_AXE, getPlayerSkillLevel(cid, SKILL_AXE)+10)

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você tem o skill full.")

return true

end

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você não tem gold ignot suficiente.")

return true

end

else

doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, "Você não é knight.")

return true

end

 

end

PostadorHunter

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 10/12/11Posts: 962Gênero: Masculino

Você postou na area errada

reportado para um moderador mover

a area certa seria a de scripting essa e a de spriting

looktovask

Wanderer
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/10/06Posts: 919Gênero: Masculino

tópico movido.