Guest User

Buy Skill

a guest
Mar 12th, 2013
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.05 KB | None | 0 0
  1. function onSay(cid, words, param, channel)
  2.  
  3. local SKILLS = {
  4. ["sword"] = {skillId = 2, onlyVocs = {4, 8}, needItem = 2160, max = 350},
  5. ["club"] = {skillId = 1, onlyVocs = {4, 8}, needItem = 2160, max = 350},
  6. ["axe"] = {skillId = 3, onlyVocs = {4, 8}, needItem = 2160, max = 350},
  7. ["distance"] = {skillId = 4, onlyVocs = {3, 7}, needItem = 2160, max = 350},
  8. ["shield"] = {skillId = 5, onlyVocs = {3, 4, 7, 8}, needItem = 2160, max = 300},
  9. ["magic"] = {skillId = 7, onlyVocs = {1, 2, 5, 6}, needItem = 2160, max = 250},
  10. }
  11.  
  12. local s = string.explode(param, ",")
  13. local a = SKILLS[s[1]]
  14. local str = "Items necessários para comprar o skill " .. param .. "/n/n"
  15. local str2 = "Skill's existentes/n/n"
  16.  
  17. if a then
  18. if isPremium(cid) then
  19. if getTilePzInfo(getThingPos(cid)) == 1 then
  20. if isInArray(a.onlyVocs, getPlayerVocation(cid)) then
  21. if getPlayerItemCount(cid, a.needItem) >= s[2] then
  22. if getPlayerSkillLevel(cid, a.skillId) <= a.max then
  23. db.query("UPDATE `player_skills` SET `value` = " .. (getPlayerSkillLevel(cid, a.skillId, true) + s[2]) .. ", `count` = 0 WHERE `skillid` = " .. a.skillId .. " and `player_id` = " .. getPlayerGUID(cid) .. ";")
  24. doPlayerSendTextMessage(cid, 25, "Você comprou 1(um) skill level(" .. param .. ") por " .. s[2] .. "x " .. getItemNameById(a.needItem) .. ".")
  25. doSendMagicEffect(getThingPos(cid), math.random(28, 30))
  26. doSendAnimatedText(getThingPos(cid), param, math.random(1, 255))
  27. addEvent(doRemoveCreature, 2 * 1000, cid)
  28. doRemoveItem(cid, a.needItem, s[2])
  29. else
  30. doPlayerSendTextMessage(cid, 27, "Você já está com o skill no máximo.")
  31. end
  32. else
  33. str = str .. s[2]"x - " .. getItemNameById(a.needItem)
  34. doShowTextDialog(cid, 2170, str)
  35. end
  36. else
  37. doPlayerSendTextMessage(cid, 27, "A sua vocação não pode comprar esse skill.")
  38. end
  39. else
  40. doPlayerSendTextMessage(cid, 27, "Só pode ser usado em protection zone.")
  41. end
  42. else
  43. doPlayerSendTextMessage(cid, 27, "Somente premium players podem comprar.")
  44. end
  45. else
  46. for a, b in pairs(SKILLS) do
  47. str2 = str2 .. "" .. a .. "/n"
  48. end
  49. doShowTextDialog(cid, 2160, str2)
  50. end
  51. return true
  52. end
Advertisement
Add Comment
Please, Sign In to add comment