Ir para conteúdo

[Talk] Comprar Skill


guixap

Posts Recomendados

skill.lua



function onSay(cid, words, param)

local amount = 1 -- qnto de skill vai ser dado
local skill = {
["first"] = {id = 0,limit = 200,price = 2000,vocations = {1,2,3,4,5,6,7,8}}
["club"] = {id = 1,limit = 200,price = 2000,vocations = {1,2,3,4,5,6,7,8}}
["sword"] = {id = 2,limit = 160,price = 7000,vocations = {4,8}}
["axe"] = {id = 3,limit = 160,price = 7000,vocations = {4,8}}
["distance"] = {id = 4,limit = 170,price = 8000,vocations = {3,7}}
["shield"] = {id = 5,limit = 180,price = 10000,vocations = {1,2,3,4,5,6,7,8}}
}
local magic = {limit = 200,price = 8000,vocations = {1,2,5,6}}

if (param == "magic") then
if getTilePzInfo(getCreaturePosition(cid)) == FALSE then
return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone.")
elseif getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler.")
elseif not isInArray(magic.vocations, getPlayerVocation(cid)) then 
return doPlayerSendCancel(cid, "Você não pode comprar essa skill.") 
elseif getPlayerMagLevel(cid) >= magic.limit then
return doPlayerSendCancel(cid, "Você já atingiu o número máxido de magic !.")
elseif doPlayerRemoveMoney(cid, magic.price) == FALSE then
return doPlayerSendCancel(cid, "Você precisa de "..magic.price.." gps para comprar essa skill!.")
end
return doPlayerSetMagic(cid, getPlayerMagLevel(cid)+amount)
end
if not skill[param] then
return doPlayerSendCancel(cid,"Você precisa digitar ex: !comando Nome_da_skill.")
elseif getTilePzInfo(getCreaturePosition(cid)) == FALSE then
return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone.")
elseif getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler.")
elseif not isInArray(skill[param].vocations, getPlayerVocation(cid)) then 
return doPlayerSendCancel(cid, "Você não pode comprar essa skill.") 
elseif getPlayerSkillLevel(cid,skill[param]) >= skill[param].limit then
return doPlayerSendCancel(cid, "Você já atingiu o número máxido de skills!.")
elseif doPlayerRemoveMoney(cid, skill[param].price) == FALSE then
return doPlayerSendCancel(cid, "Você precisa de "..skill[param].price.." gps para comprar essa skill!.")
end
return doPlayerSetSkill(cid, skill[param].id, getPlayerSkillLevel(cid, skill[param].id)+amount)
end

 

!skill NOME

 

exemplo:

 

!skill first

!skill magic

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

Por gentileza teria como você fazer de modo que não desse para usar com as espadas do battle? Ou seja, se o cara usar utito tempo, ou utito tempo san sua skill levantará okay? quando aumentar e ele comprar skill vai acumular.

 

Preciso que faça com que a talkaction não funcione em battle.

 

Obrigado

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...